ATLAS Offline Software
Loading...
Searching...
No Matches
egammaMonitorBaseAlgorithm.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7
8
9egammaMonitorBaseAlgorithm::egammaMonitorBaseAlgorithm( const std::string& name, ISvcLocator* pSvcLocator ):
10 AthReentrantAlgorithm(name,pSvcLocator)
11{}
12
14
15
17{
18
19
20 return StatusCode::SUCCESS;
21}
22
23
25#define GETTER(_name_) float egammaMonitorBaseAlgorithm::getShowerShape_##_name_(const xAOD::Egamma* eg) const \
26{ float val{-99}; \
27 eg->showerShapeValue(val,xAOD::EgammaParameters::_name_); \
28 return val; }
29 GETTER(e011)
30 GETTER(e132)
31 GETTER(e237)
32 GETTER(e277)
33 GETTER(ethad)
34 GETTER(ethad1)
35 GETTER(weta1)
36 GETTER(weta2)
37 GETTER(f1)
38 GETTER(e2tsts1)
39 GETTER(emins1)
40 GETTER(emaxs1)
41 GETTER(wtots1)
42 GETTER(fracs1)
43 GETTER(Reta)
44 GETTER(Rphi)
45 GETTER(f3)
46 GETTER(f3core)
47 GETTER(Eratio)
48 GETTER(Rhad)
49 GETTER(Rhad1)
50 GETTER(DeltaE)
51#undef GETTER
52
53
54// GETTER for Isolation monitoring
55#define GETTER(_name_) float egammaMonitorBaseAlgorithm::getIsolation_##_name_(const xAOD::Egamma* eg) const\
56{ float val{-99}; \
57 eg->isolationValue(val,xAOD::Iso::_name_); \
58 return val; }
59 GETTER(ptcone20)
60 GETTER(ptcone30)
61 GETTER(ptcone40)
62 GETTER(ptvarcone20)
63 GETTER(ptvarcone30)
64 GETTER(ptvarcone40)
65#undef GETTER
66
67
68#define GETTER(_name_) float egammaMonitorBaseAlgorithm::getIsolation_##_name_(const xAOD::Egamma* eg) const\
69{ float val{-99}; \
70 eg->isolationValue(val,xAOD::Iso::_name_); \
71 return val; }
72 GETTER(etcone20)
73 GETTER(etcone30)
74 GETTER(etcone40)
75 GETTER(topoetcone20)
76 GETTER(topoetcone30)
77 GETTER(topoetcone40)
78#undef GETTER
79
80
81// GETTERs for Track monitoring
82#define GETTER(_name_) float egammaMonitorBaseAlgorithm::getTrack_##_name_(const xAOD::Electron* eg) const\
83{ if(eg && eg->trackParticle()) \
84 return eg->trackParticle()->_name_(); \
85 else return -99.;}
86 GETTER(pt)
87 GETTER(phi)
88 GETTER(eta)
89 GETTER(d0)
90 GETTER(z0)
91#undef GETTER
92
93
94// GETTERs for Calo-Track monitoring
95#define GETTER(_name_) float egammaMonitorBaseAlgorithm::getCaloTrackMatch_##_name_(const xAOD::Electron* eg) const\
96{ float val={-99.}; \
97 if(eg){ \
98 eg->trackCaloMatchValue(val,xAOD::EgammaParameters::_name_);} \
99 return val; }
100 GETTER(deltaEta0)
101 GETTER(deltaPhi0)
102 GETTER(deltaPhiRescaled0)
103 GETTER(deltaEta1)
104 GETTER(deltaPhi1)
105 GETTER(deltaPhiRescaled1)
106 GETTER(deltaEta2)
107 GETTER(deltaPhi2)
108 GETTER(deltaPhiRescaled2)
109 GETTER(deltaEta3)
110 GETTER(deltaPhi3)
111 GETTER(deltaPhiRescaled3)
112 GETTER(deltaPhiFromLastMeasurement)
113#undef GETTER
114
115
116
117
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
An algorithm that can be simultaneously executed in multiple threads.
egammaMonitorBaseAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
virtual StatusCode initialize() override
#define GETTER(_name_)
Macros for plotting.