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