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