BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Pi0EtaToGGRecAlg.h
Go to the documentation of this file.
1#ifndef Physics_Analysis_Pi0EtaToGGRec_Alg_H
2#define Physics_Analysis_Pi0EtaToGGRec_Alg_H
3
4#include "CLHEP/Vector/LorentzVector.h"
5#include "GaudiKernel/Algorithm.h"
6#include "GaudiKernel/SmartDataPtr.h"
7
8#include "EventModel/EventHeader.h"
9#include "EvtRecEvent/EvtRecEvent.h"
10#include "EvtRecEvent/EvtRecTrack.h"
11
12// predeclaration
13class RecEmcShower;
14class EvtRecTrack;
15
16class Pi0EtaToGGRecAlg : public Algorithm {
17
18public:
19 Pi0EtaToGGRecAlg( const std::string& name, ISvcLocator* pSvcLocator );
20
21 StatusCode initialize();
22 StatusCode execute();
23 StatusCode finalize();
24
25private:
26 /// Functions
27 HepLorentzVector getP4( RecEmcShower* gTrk );
28
29 bool validPhoton( EvtRecTrack* recTrk, SmartDataPtr<EvtRecEvent> recEvt,
30 SmartDataPtr<EvtRecTrackCol> recTrkCol );
31
32 bool bothInEndcap( HepLorentzVector g1_P4, HepLorentzVector g2_P4 );
33
34 /////////////////////////
35 //// declareProperty cuts
36
37 /// reject pi0/eta candidate if both photon children are in endcap
38 bool m_rejectEndEnd;
39
40 /// pi0 cuts
41 double m_pi0minmass_cut;
42 double m_pi0maxmass_cut;
43 double m_pi0chisq_cut;
44
45 /// eta cuts
46 double m_etaminmass_cut;
47 double m_etamaxmass_cut;
48 double m_etachisq_cut;
49
50 /// Individual photon cuts
51 double m_minEnergy;
52
53 bool m_useBarrelEndcap;
54 double m_maxCosThetaBarrel;
55 double m_minCosThetaEndcap;
56 double m_maxCosThetaEndcap;
57 double m_minEndcapEnergy;
58
59 bool m_applyTimeCut;
60 double m_minTime;
61 double m_maxTime;
62 double m_deltaTime;
63
64 bool m_applyDangCut;
65 double m_minDang;
66
67 int m_maxNGoodPhoton;
68 int m_maxNPi0;
69 // int m_maxNEta;
70
71 bool m_doClear;
72};
73#endif
Pi0EtaToGGRecAlg(const std::string &name, ISvcLocator *pSvcLocator)