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