BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
NeutralDReconstruction.h
Go to the documentation of this file.
1#ifndef Reconstruction_NeutralDReconstruction_H
2#define Reconstruction_NeutralDReconstruction_H
3
4#include "GaudiKernel/Algorithm.h"
5
6#include "EvtRecEvent/EvtRecDTag.h"
7#include "ReadBeamInfFromDb.h"
8
9#include "BesDChain/CDChargedKaonList.h"
10#include "BesDChain/CDChargedPionList.h"
11#include "BesDChain/CDDecayList.h"
12#include "BesDChain/CDEta.h"
13#include "BesDChain/CDKs.h"
14#include "BesDChain/CDPhoton.h"
15#include "BesDChain/CDPi0.h"
16
17#include "VertexDbSvc/IVertexDbSvc.h"
18
19#include <string>
20
21#include "ITools.h"
22
23class NeutralDReconstruction : public Algorithm {
24
25public:
26 NeutralDReconstruction( const std::string& name, ISvcLocator* pSvcLocator );
27 StatusCode initialize();
28 StatusCode execute();
29 StatusCode finalize();
30
31 void saveD0Info( CDDecayList::iterator, double, int, int, EvtRecDTag* );
32 void updateKsInfo( CDDecayList::iterator, double, int, int, EvtRecDTag*, vector<int>,
33 IVertexDbSvc*, bool );
34 void savetrack( vector<int>, vector<int>, EvtRecTrackIterator, EvtRecTrackIterator,
36 void pidtag( vector<int>, vector<int>, CDChargedKaonList&, CDChargedPionList&, EvtRecDTag* );
37 // HepLorentzVector vfit(string channel, vector<int> kaonid, vector<int> pionid, HepPoint3D
38 // vx, EvtRecTrackIterator charged_begin);
39 vector<string> getlist( string& filename );
40
41private:
42 StatusCode registerEvtRecDTagCol( EvtRecDTagCol* dtagCol, MsgStream& log );
43
44private:
45 IPiKPSelector<CDChargedPion>* m_pionSelector{ nullptr };
46 IPiKPSelector<CDChargedKaon>* m_kaonSelector{ nullptr };
47 ISelectorTool<CDPhoton>* m_photonSelector{ nullptr };
48 ISelectorTool<CDKs>* m_ksSelector{ nullptr };
49 ISelectorTool<CDPi0>* m_pi0Selector{ nullptr };
50 ISelectorTool<CDEta>* m_etatoGGSelector{ nullptr };
51 IEbeamBetaSelector* m_neutralDSelector{ nullptr };
52 ISelectorTool<CDDecay>* m_eptoPiPiEtaSelector{ nullptr };
53 ISelectorTool<CDDecay>* m_rhotoPiPiSelector{ nullptr };
54 ISelectorTool<CDDecay>* m_eptoRhoGamSelector{ nullptr };
55
56 bool m_debug;
57
58 int m_irun;
59 int m_ievt;
60 int m_nChrg;
61 int m_nNeu;
62 int m_nPion;
63 int m_nKaon;
64 int m_nPi0;
65 int m_nKs;
66
67 string m_decaylist;
68 vector<string> chanlist;
69
70 double m_beamE;
71 Hep3Vector m_beta;
72 bool m_ReadBeamEFromDB;
73 bool m_usecalibBeamE;
74 bool m_usevertexfit;
75 ReadBeamInfFromDb m_readDb;
76
77 bool m_useVFrefine;
78 bool m_useBFC;
79};
80#endif
DCFillableChargedList< CDChargedKaon > CDChargedKaonList
DCFillableChargedList< CDChargedPion > CDChargedPionList
ObjectVector< EvtRecDTag > EvtRecDTagCol
EvtRecTrackCol::iterator EvtRecTrackIterator
void updateKsInfo(CDDecayList::iterator, double, int, int, EvtRecDTag *, vector< int >, IVertexDbSvc *, bool)
NeutralDReconstruction(const std::string &name, ISvcLocator *pSvcLocator)
void savetrack(vector< int >, vector< int >, EvtRecTrackIterator, EvtRecTrackIterator, EvtRecTrackIterator, EvtRecTrackIterator, EvtRecDTag *)
vector< string > getlist(string &filename)
void pidtag(vector< int >, vector< int >, CDChargedKaonList &, CDChargedPionList &, EvtRecDTag *)
void saveD0Info(CDDecayList::iterator, double, int, int, EvtRecDTag *)
dchain::MuteWholeCandidateItr< CandidateClass > iterator