ATLAS Offline Software
MonitorPhotonAlgorithm.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 
4  Author : B. Laforge (laforge@lpnhe.in2p3.fr)
5  4 May 2020
6 */
7 
9 
10 MonitorPhotonAlgorithm::MonitorPhotonAlgorithm( const std::string& name, ISvcLocator* pSvcLocator )
11 :AthMonitorAlgorithm(name,pSvcLocator)
12 {
13 }
14 
16  using namespace Monitored;
18  ATH_CHECK( m_ParticleContainerKey.initialize() );
19  ATH_CHECK( m_PhotonIsolationKey.initialize() );
20  return StatusCode::SUCCESS;
21 }
22 
23 StatusCode MonitorPhotonAlgorithm::fillHistograms( const EventContext& ctx ) const {
24  using namespace Monitored;
25 
26  // Only monitor good LAr Events :
27 
29  if (error_state==xAOD::EventInfo::Error) {
30  ATH_MSG_DEBUG("LAr event data integrity error");
31  return StatusCode::SUCCESS;
32  }
33  //
34  // now, fill the Photon information
35  // get the Photon container
36 
38  ATH_CHECK(photons.isValid());
39 
40  // Specific Photon variables to be monitored
41 
42  u_int16_t mylb = GetEventInfo(ctx)->lumiBlock();
43 
44  // Event variables to be monitored
45  auto lbNCandidates = Monitored::Scalar<u_int16_t>("LBEvoN",0);
46 
47  // Particle variables to be monitored
48  auto np = Monitored::Scalar<int>("N",0.0);
49  auto et = Monitored::Scalar<Float_t>("Et",0.0);
50  auto eta = Monitored::Scalar<Float_t>("Eta",0.0);
51  auto phi = Monitored::Scalar<Float_t>("Phi",0.0);
52  auto is_pt_gt_2_5gev = Monitored::Scalar<bool>("is_pt_gt_2_5gev",false);
53  auto is_pt_gt_2_5gev_barrel = Monitored::Scalar<bool>("is_pt_gt_2_5gevBARREL",false);
54  auto is_pt_gt_2_5gev_endcap = Monitored::Scalar<bool>("is_pt_gt_2_5gevENDCAP",false);
55  auto is_pt_gt_2_5gev_crack = Monitored::Scalar<bool>("is_pt_gt_2_5gevCRACK",false);
56 
57  auto is_pt_gt_4gev = Monitored::Scalar<bool>("is_pt_gt_4gev",false);
58  auto is_pt_gt_4gev_barrel = Monitored::Scalar<bool>("is_pt_gt_4gevBARREL",false);
59  auto is_pt_gt_4gev_endcap = Monitored::Scalar<bool>("is_pt_gt_4gevENDCAP",false);
60  auto is_pt_gt_4gev_crack = Monitored::Scalar<bool>("is_pt_gt_4gevCRACK",false);
61 
62  auto is_pt_gt_20gev = Monitored::Scalar<bool>("is_pt_gt_20gev",false);
63  auto is_pt_gt_20gev_crack = Monitored::Scalar<bool>("is_pt_gt_20gevCRACK",false);
64  auto is_pt_gt_20gev_barrel = Monitored::Scalar<bool>("is_pt_gt_20gevBARREL",false);
65  auto is_pt_gt_20gev_endcap = Monitored::Scalar<bool>("is_pt_gt_20gevENDCAP",false);
66 
67  auto time = Monitored::Scalar<Float_t>("Time",0.0);
68  auto topoetcone40 = Monitored::Scalar<Float_t>("TopoEtCone40",0.0);
69  auto ptcone20 = Monitored::Scalar<Float_t>("PtCone20",0.0);
70 
71  // Particle variables per Region
72 
73  // BARREL
74  auto et_barrel = Monitored::Scalar<Float_t>("EtinBARREL",0.0);
75  auto eta_barrel = Monitored::Scalar<Float_t>("EtainBARREL",0.0);
76  auto phi_barrel = Monitored::Scalar<Float_t>("PhiinBARREL",0.0);
77  auto time_barrel = Monitored::Scalar<Float_t>("TimeinBARREL",0.0);
78  auto ehad1_barrel = Monitored::Scalar<Float_t>("Ehad1inBARREL",0.0);
79  auto eoverp_barrel = Monitored::Scalar<Float_t>("EoverPinBARREL",0.0);
80  auto coreem_barrel = Monitored::Scalar<Float_t>("CoreEMinBARREL",0.0);
81  auto f0_barrel = Monitored::Scalar<Float_t>("F0inBARREL",0.0);
82  auto f1_barrel = Monitored::Scalar<Float_t>("F1inBARREL",0.0);
83  auto f2_barrel = Monitored::Scalar<Float_t>("F2inBARREL",0.0);
84  auto f3_barrel = Monitored::Scalar<Float_t>("F3inBARREL",0.0);
85  auto re233e237_barrel = Monitored::Scalar<Float_t>("Re233e237inBARREL",0.0);
86  auto re237e277_barrel = Monitored::Scalar<Float_t>("Re237e277inBARREL",0.0);
87 
88  // ENDCAP
89  auto et_endcap = Monitored::Scalar<Float_t>("EtinENDCAP",0.0);
90  auto eta_endcap = Monitored::Scalar<Float_t>("EtainENDCAP",0.0);
91  auto phi_endcap = Monitored::Scalar<Float_t>("PhiinENDCAP",0.0);
92  auto time_endcap = Monitored::Scalar<Float_t>("TimeinENDCAP",0.0);
93  auto ehad1_endcap = Monitored::Scalar<Float_t>("Ehad1inENDCAP",0.0);
94  auto eoverp_endcap = Monitored::Scalar<Float_t>("EoverPinENDCAP",0.0);
95  auto coreem_endcap = Monitored::Scalar<Float_t>("CoreEMinENDCAP",0.0);
96  auto f0_endcap = Monitored::Scalar<Float_t>("F0inENDCAP",0.0);
97  auto f1_endcap = Monitored::Scalar<Float_t>("F1inENDCAP",0.0);
98  auto f2_endcap = Monitored::Scalar<Float_t>("F2inENDCAP",0.0);
99  auto f3_endcap = Monitored::Scalar<Float_t>("F3inENDCAP",0.0);
100  auto re233e237_endcap = Monitored::Scalar<Float_t>("Re233e237inENDCAP",0.0);
101  auto re237e277_endcap = Monitored::Scalar<Float_t>("Re237e277inENDCAP",0.0);
102 
103  // CRACK
104  auto np_crack = Monitored::Scalar<int>("NinCRACK",0.0);
105  auto et_crack = Monitored::Scalar<Float_t>("EtinCRACK",0.0);
106  auto eta_crack = Monitored::Scalar<Float_t>("EtainCRACK",0.0);
107  auto phi_crack = Monitored::Scalar<Float_t>("PhiinCRACK",0.0);
108  auto time_crack = Monitored::Scalar<Float_t>("TimeinCRACK",0.0);
109  auto ehad1_crack = Monitored::Scalar<Float_t>("Ehad1inCRACK",0.0);
110  auto eoverp_crack = Monitored::Scalar<Float_t>("EoverPinCRACK",0.0);
111  auto coreem_crack = Monitored::Scalar<Float_t>("CoreEMinCRACK",0.0);
112  auto f0_crack = Monitored::Scalar<Float_t>("F0inCRACK",0.0);
113  auto f1_crack = Monitored::Scalar<Float_t>("F1inCRACK",0.0);
114  auto f2_crack = Monitored::Scalar<Float_t>("F2inCRACK",0.0);
115  auto f3_crack = Monitored::Scalar<Float_t>("F3inCRACK",0.0);
116  auto re233e237_crack = Monitored::Scalar<Float_t>("Re233e237inCRACK",0.0);
117  auto re237e277_crack = Monitored::Scalar<Float_t>("Re237e277inCRACK",0.0);
118 
119  // Specific Photon variables
120 
121  auto npconv = Monitored::Scalar<int>("NConv",0.0);
122  auto etconv = Monitored::Scalar<Float_t>("EtConv",0.0);
123  auto etaconv = Monitored::Scalar<Float_t>("EtaConv",0.0);
124  auto phiconv = Monitored::Scalar<Float_t>("PhiConv",0.0);
125 
126  auto npunconv = Monitored::Scalar<int>("NUnconv",0.0);
127  auto etunconv = Monitored::Scalar<Float_t>("EtUnconv",0.0);
128  auto etaunconv = Monitored::Scalar<Float_t>("EtaUnconv",0.0);
129  auto phiunconv = Monitored::Scalar<Float_t>("PhiUnconv",0.0);
130 
131  auto lb = Monitored::Scalar<u_int16_t>("LB",0);
132 
133  auto is_pt_gt_2_5gevandconv = Monitored::Scalar<bool>("is_pt_gt_2_5gevandconv",false);
134  auto is_pt_gt_2_5gevandunconv = Monitored::Scalar<bool>("is_pt_gt_2_5gevandunconv",false);
135 
136  auto is_pt_gt_4gevandconv = Monitored::Scalar<bool>("is_pt_gt_4gevandconv",false);
137  auto is_pt_gt_4gevandunconv = Monitored::Scalar<bool>("is_pt_gt_4gevandunconv",false);
138 
139  auto is_pt_gt_20gevandconv = Monitored::Scalar<bool>("is_pt_gt_20gevandconv",false);
140  auto is_pt_gt_20gevandunconv = Monitored::Scalar<bool>("is_pt_gt_20gevandunconv",false);
141 
142  auto lbevonphotonsunconv = Monitored::Scalar<u_int16_t>("LBEvoNPhotonsUnconv",0);
143  auto lbevonphotonsconv = Monitored::Scalar<u_int16_t>("LBEvoNPhotonsConv",0);
144 
145  // Specific Photon variables per Region
146 
147  // BARREL
148 
149  auto rconv_barrel = Monitored::Scalar<Float_t>("RConvinBARREL",0.0);
150  auto convtype_barrel = Monitored::Scalar<xAOD::EgammaParameters::ConversionType>("ConvTypeinBARREL",nullptr);
151  auto contrkmatch1_barrel = Monitored::Scalar<u_int8_t>("ConvTrkMatch1inBARREL",0);
152  auto contrkmatch2_barrel = Monitored::Scalar<u_int8_t>("ConvTrkMatch2inBARREL",0);
153 
154  // ENDCAP
155  auto rconv_endcap = Monitored::Scalar<Float_t>("RConvinENDCAP",0.0);
156  auto convtype_endcap = Monitored::Scalar<xAOD::EgammaParameters::ConversionType>("ConvTypeinENDCAP",nullptr);
157  auto contrkmatch1_endcap = Monitored::Scalar<u_int8_t>("ConvTrkMatch1inENDCAP",0);
158  auto contrkmatch2_endcap = Monitored::Scalar<u_int8_t>("ConvTrkMatch2inENDCAP",0);
159 
160  // CRACK
161  auto rconv_crack = Monitored::Scalar<Float_t>("RConvinCRACK",0.0);
162  auto convtype_crack = Monitored::Scalar<xAOD::EgammaParameters::ConversionType>("ConvTypeinCRACK",nullptr);
163  auto contrkmatch1_crack = Monitored::Scalar<u_int8_t>("ConvTrkMatch1inCRACK",0);
164  auto contrkmatch2_crack = Monitored::Scalar<u_int8_t>("ConvTrkMatch2inCRACK",0);
165 
166  // Set the values of the monitored variables for the event
167 
168  u_int16_t mynp=0;
169  u_int16_t mynpconv = 0;
170  u_int16_t mynpunconv = 0;
171 
172  Float_t myet = 0.;
173  Float_t myeta = 0.;
174  Float_t myphi = 0.;
175 
176  for (const auto *const p_iter : *photons) {
177  // Check that the electron meets our requirements
178  bool isGood;
179  if (! p_iter->passSelection(isGood,m_RecoName)) {
180  ATH_MSG_WARNING("Misconfiguration: " << m_RecoName << " is not a valid working point for photons");
181  break; // no point in continuing
182  }
183 
184  if(isGood) {
185  mynp++;
186  Float_t myetaloc = p_iter->eta();
187  auto regionloc = GetRegion(myetaloc);
188  ATH_MSG_DEBUG("Test photon in region : " << regionloc);
189 
190  switch(regionloc){
191  case BARREL :
192  break;
193  case CRACK :
194  break;
195  case ENDCAP :
196  break;
197  default :
198  ATH_MSG_DEBUG("Found a photon out the acceptance region : " << regionloc);
199  break;
200  }
201  }
202  else continue;
203 
204  myet = p_iter->pt(); // in MeV (/Gaudi::Units::GeV; // in GeV)
205  myeta = p_iter->eta();
206  myphi = p_iter->phi();
207  et = myet ; eta = myeta ; phi = myphi ;
208 
209  bool myis_pt_gt_2_5gev = myet > 2500. ;
210  bool myis_pt_gt_4gev = myet > 4000. ;
211  bool myis_pt_gt_20gev = myet > 20000. ;
212 
213  is_pt_gt_2_5gev = myis_pt_gt_2_5gev ;
214  is_pt_gt_4gev = myis_pt_gt_4gev ;
215  is_pt_gt_20gev = myis_pt_gt_20gev ;
216 
217  is_pt_gt_4gev_barrel = myis_pt_gt_4gev ;
218  is_pt_gt_4gev_endcap = myis_pt_gt_4gev ;
219  is_pt_gt_4gev_crack = myis_pt_gt_4gev ;
220 
221  is_pt_gt_2_5gev_barrel = myis_pt_gt_2_5gev ;
222  is_pt_gt_2_5gev_endcap = myis_pt_gt_2_5gev ;
223  is_pt_gt_2_5gev_crack = myis_pt_gt_2_5gev ;
224 
225  is_pt_gt_20gev_barrel = myis_pt_gt_20gev ;
226  is_pt_gt_20gev_endcap = myis_pt_gt_20gev ;
227  is_pt_gt_20gev_crack = myis_pt_gt_20gev ;
228 
229  // Isolation Energy
230  Float_t mytopoetcone40 = -999.;
231  p_iter->isolationValue(mytopoetcone40,xAOD::Iso::topoetcone40);
232  topoetcone40 = mytopoetcone40;
233 
234  Float_t myptcone20 = -999.;
235  p_iter->isolationValue(myptcone20,xAOD::Iso::ptcone20);
236  ptcone20 = myptcone20;
237 
238  Float_t mytime=0.0;
239 
240  // Shower shape variable details
241  Float_t myehad1 = 0.0;
242  Float_t myecore = 0.0;
243  Float_t myf0 = 0.0;
244  Float_t myf1 = 0.0;
245  Float_t myf2 = 0.0;
246  Float_t myf3 = 0.0;
247  Float_t e233 = 0.0;
248  Float_t e237 = 0.0;
249  Float_t e277 = 0.0;
250  Float_t myre233e237 = 0.0;
251  Float_t myre237e277 = 0.0;
252 
253  p_iter->showerShapeValue(myehad1, xAOD::EgammaParameters::ehad1);
254  p_iter->showerShapeValue(myecore, xAOD::EgammaParameters::ecore);
255 
256  p_iter->showerShapeValue(e237, xAOD::EgammaParameters::e237);
257  p_iter->showerShapeValue(e233, xAOD::EgammaParameters::e233);
258  p_iter->showerShapeValue(e277, xAOD::EgammaParameters::e277);
259 
260  if (e237!=0) myre233e237 = e233 / e237;
261  if (e277!=0) myre237e277 = e237 / e277;
262 
263  // Associated cluster details
264  const xAOD::CaloCluster *aCluster = p_iter->caloCluster();
265  if (aCluster) {
266  mytime = aCluster->time();
267  time = mytime ;
268  // Shower shape variable details
269  double ec = aCluster->et()*cosh(aCluster->eta());
270  if (ec!=0) myf0 = aCluster->energyBE(0)/ec;
271  if (ec!=0) myf1 = aCluster->energyBE(1)/ec;
272  if (ec!=0) myf2 = aCluster->energyBE(2)/ec;
273  if (ec!=0) myf3 = aCluster->energyBE(3)/ec;
274 
275  }
276 
277  // do specific stuff with photons
278 
279  // Conversion details
281  bool isUnconverted = (myconvtype==xAOD::EgammaParameters::ConversionType::unconverted) ;
282 
283  if (isUnconverted) {
284  mynpunconv++;
285  etconv = -1.;
286  etaconv = -6.;
287  phiconv = -6.;
288  etunconv = myet;
289  etaunconv = myeta;
290  phiunconv = myphi;
291  }
292  else {
293  mynpconv++;
294  etunconv = -1.;
295  etaunconv = -6.;
296  phiunconv = -6.;
297  etconv = myet;
298  etaconv = myeta;
299  phiconv = myphi;
300  }
301 
302  is_pt_gt_2_5gevandconv = myis_pt_gt_2_5gev && !isUnconverted ;
303  is_pt_gt_2_5gevandunconv = myis_pt_gt_2_5gev && isUnconverted ;
304 
305  is_pt_gt_4gevandconv = myis_pt_gt_4gev && !isUnconverted ;
306  is_pt_gt_4gevandunconv = myis_pt_gt_4gev && isUnconverted ;
307 
308  is_pt_gt_20gevandconv = myis_pt_gt_20gev && !isUnconverted ;
309  is_pt_gt_20gevandunconv = myis_pt_gt_20gev && isUnconverted ;
310 
311  lb = mylb;
312  lbevonphotonsconv = mylb;
313  lbevonphotonsunconv = mylb;
314 
315  Float_t myrconv = 0.0;
316  myrconv = xAOD::EgammaHelpers::conversionRadius(p_iter);
317 
318  Float_t mycontrkmatch1 = 0.0;
319  (p_iter)->vertexCaloMatchValue(mycontrkmatch1, xAOD::EgammaParameters::convMatchDeltaPhi1);
320  Float_t mycontrkmatch2 = 0.0;
321  (p_iter)->vertexCaloMatchValue(mycontrkmatch2, xAOD::EgammaParameters::convMatchDeltaPhi2);
322 
323  // Fill per region histograms
324  auto region = GetRegion(myeta);
325  switch(region){
326  case BARREL :
327  et_barrel = myet ; eta_barrel = myeta ; phi_barrel = myphi ;
328  time_barrel = mytime; ehad1_barrel = myehad1; coreem_barrel = myecore;
329  f0_barrel = myf0; f1_barrel = myf1; f2_barrel = myf2; f3_barrel = myf3; re233e237_barrel = myre233e237; re237e277_barrel = myre237e277;
330  rconv_barrel = myrconv ; convtype_barrel = myconvtype ; contrkmatch1_barrel = mycontrkmatch1 ; contrkmatch2_barrel = mycontrkmatch2 ;
331  fill("MonitorPhoton", et_barrel,eta_barrel,phi_barrel, time_barrel, ehad1_barrel,coreem_barrel,
332  f0_barrel,f1_barrel,f2_barrel, f3_barrel,re233e237_barrel,re237e277_barrel,
333  rconv_barrel,convtype_barrel,contrkmatch1_barrel,contrkmatch2_barrel,is_pt_gt_4gev_barrel,is_pt_gt_2_5gev_barrel,is_pt_gt_20gev_barrel);
334  break;
335 
336  case ENDCAP :
337  et_endcap = myet ; eta_endcap = myeta ; phi_endcap = myphi ;
338  time_endcap = mytime; ehad1_endcap = myehad1; coreem_endcap = myecore;
339  f0_endcap = myf0; f1_endcap = myf1; f2_endcap = myf2; f3_endcap = myf3; re233e237_endcap = myre233e237; re237e277_endcap = myre237e277;
340  rconv_endcap = myrconv ; convtype_endcap = myconvtype ; contrkmatch1_endcap = mycontrkmatch1 ; contrkmatch2_endcap = mycontrkmatch2 ;
341  fill("MonitorPhoton",et_endcap,eta_endcap,phi_endcap,
342  time_endcap, ehad1_endcap,coreem_endcap,
343  f0_endcap,f1_endcap,f2_endcap,f3_endcap,re233e237_endcap,re237e277_endcap,
344  rconv_endcap,convtype_endcap,contrkmatch1_endcap,contrkmatch2_endcap,is_pt_gt_4gev_endcap,is_pt_gt_2_5gev_endcap,is_pt_gt_20gev_endcap);
345  break;
346 
347  case CRACK :
348  et_crack = myet ; eta_crack = myeta ; phi_crack = myphi ;
349  time_crack = mytime; ehad1_crack = myehad1; coreem_crack = myecore;
350  f0_crack = myf0; f1_crack = myf1; f2_crack = myf2; f3_crack = myf3; re233e237_crack = myre233e237; re237e277_crack = myre237e277;
351  rconv_crack = myrconv ; convtype_crack = myconvtype ; contrkmatch1_crack = mycontrkmatch1 ; contrkmatch2_crack = mycontrkmatch2 ;
352  fill("MonitorPhoton",et_crack,eta_crack,phi_crack,time_crack, ehad1_crack,coreem_crack,
353  f0_crack,f1_crack,f2_crack,f3_crack,re233e237_crack,re237e277_crack,
354  rconv_crack,convtype_crack,contrkmatch1_crack,contrkmatch2_crack,is_pt_gt_4gev_crack,is_pt_gt_2_5gev_crack,is_pt_gt_20gev_crack);
355  break;
356 
357  default :
358  ATH_MSG_DEBUG("found an photon outside the |eta| > 2.47 acceptance");
359  break;
360  }
361  // Fill. First argument is the tool name, all others are the variables to be histogramed
362 
363  lb = mylb; lbevonphotonsunconv = mylb ; lbevonphotonsconv = mylb; lbNCandidates = mylb;
364  fill("MonitorPhoton",
365  lbevonphotonsconv,lbevonphotonsunconv,lb,lbNCandidates,
367  etconv,etaconv,phiconv,
368  etunconv,etaunconv,phiunconv,
369  is_pt_gt_4gev,is_pt_gt_20gev,is_pt_gt_2_5gev,
370  is_pt_gt_2_5gevandconv,is_pt_gt_2_5gevandunconv,
371  is_pt_gt_4gevandconv,is_pt_gt_4gevandunconv,
372  is_pt_gt_20gevandconv,is_pt_gt_20gevandunconv);
373  }
374 
375  np = mynp;
376  npconv = mynpconv;
377  npunconv = mynpunconv;
378 
379  fill("MonitorPhoton",np,npconv,npunconv);
380 
381  return StatusCode::SUCCESS;
382 }
xAOD::EgammaParameters::unconverted
@ unconverted
unconverted photon
Definition: EgammaEnums.h:270
xAOD::EgammaParameters::convMatchDeltaPhi2
@ convMatchDeltaPhi2
difference between the cluster phi and the phi of the second track of the vertex extrapolated to the ...
Definition: EgammaEnums.h:258
xAOD::EgammaParameters::ehad1
@ ehad1
E leakage into 1st sampling of had calo (CaloSampling::HEC0 + CaloSampling::TileBar0 + CaloSampling::...
Definition: EgammaEnums.h:48
xAOD::EgammaParameters::e233
@ e233
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x3 (in cell units e...
Definition: EgammaEnums.h:68
xAOD::CaloCluster_v1::time
flt_t time() const
Access cluster time.
et
Extra patterns decribing particle interation process.
MonitorPhotonAlgorithm::fillHistograms
StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: MonitorPhotonAlgorithm.cxx:23
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
MonitorPhotonAlgorithm::MonitorPhotonAlgorithm
MonitorPhotonAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Definition: MonitorPhotonAlgorithm.cxx:10
MonitorPhotonAlgorithm::m_RecoName
Gaudi::Property< std::string > m_RecoName
Definition: MonitorPhotonAlgorithm.h:35
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
xAOD::EgammaParameters::ecore
@ ecore
core energy in em calo E(core) = E0(3x3) + E1(15x2) + E2(5x5) + E3(3x5)
Definition: EgammaEnums.h:152
xAOD::Iso::ptcone20
@ ptcone20
Track isolation.
Definition: IsolationType.h:40
xAOD::CaloCluster_v1::et
double et() const
Definition: CaloCluster_v1.h:856
MonitorPhotonAlgorithm::CRACK
@ CRACK
Definition: MonitorPhotonAlgorithm.h:29
xAOD::EgammaParameters::ConversionType
ConversionType
Definition: EgammaEnums.h:268
PlotPulseshapeFromCool.np
np
Definition: PlotPulseshapeFromCool.py:64
xAOD::EventInfo_v1::LAr
@ LAr
The LAr calorimeter.
Definition: EventInfo_v1.h:335
MonitorPhotonAlgorithm::ENDCAP
@ ENDCAP
Definition: MonitorPhotonAlgorithm.h:29
xAOD::EventInfo_v1::Error
@ Error
The sub-detector issued an error.
Definition: EventInfo_v1.h:349
AthMonitorAlgorithm
Base class for Athena Monitoring Algorithms.
Definition: AthMonitorAlgorithm.h:36
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:59
python.BunchSpacingUtils.lb
lb
Definition: BunchSpacingUtils.py:88
xAOD::CaloCluster_v1::eta
virtual double eta() const
The pseudorapidity ( ) of the particle.
Definition: CaloCluster_v1.cxx:251
Monitored
Generic monitoring tool for athena components.
Definition: GenericMonitoringTool.h:30
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
MonitorPhotonAlgorithm.h
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
AthMonitorAlgorithm::fill
void fill(const ToolHandle< GenericMonitoringTool > &groupHandle, std::vector< std::reference_wrapper< Monitored::IMonitoredVariable >> &&variables) const
Fills a vector of variables to a group by reference.
AthMonitorAlgorithm::GetEventInfo
SG::ReadHandle< xAOD::EventInfo > GetEventInfo(const EventContext &) const
Return a ReadHandle for an EventInfo object (get run/event numbers, etc.)
Definition: AthMonitorAlgorithm.cxx:107
xAOD::EgammaParameters::convMatchDeltaPhi1
@ convMatchDeltaPhi1
difference between the cluster phi and the phi of the first track of the vertex extrapolated to the s...
Definition: EgammaEnums.h:253
xAOD::EventInfo_v1::EventFlagErrorState
EventFlagErrorState
States that a given sub-detector could be in.
Definition: EventInfo_v1.h:346
SG::ReadHandle::isValid
virtual bool isValid() override final
Can the handle be successfully dereferenced?
MonitorPhotonAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: MonitorPhotonAlgorithm.cxx:15
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
MonitorPhotonAlgorithm::GetRegion
Regions GetRegion(Float_t eta) const
Definition: MonitorPhotonAlgorithm.h:38
xAOD::EgammaHelpers::conversionRadius
float conversionRadius(const xAOD::Vertex *vx)
return the conversion radius or 9999.
Definition: PhotonxAODHelpers.cxx:76
AthMonitorAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: AthMonitorAlgorithm.cxx:18
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
xAOD::CaloCluster_v1::energyBE
float energyBE(const unsigned layer) const
Get the energy in one layer of the EM Calo.
Definition: CaloCluster_v1.cxx:630
xAOD::EgammaHelpers::conversionType
xAOD::EgammaParameters::ConversionType conversionType(const xAOD::Photon *ph)
return the photon conversion type (see EgammaEnums)
Definition: PhotonxAODHelpers.cxx:26
MonitorPhotonAlgorithm::m_ParticleContainerKey
SG::ReadHandleKey< xAOD::PhotonContainer > m_ParticleContainerKey
Definition: MonitorPhotonAlgorithm.h:32
xAOD::EgammaParameters::e277
@ e277
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
Definition: EgammaEnums.h:80
xAOD::EgammaParameters::e237
@ e237
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x7
Definition: EgammaEnums.h:77
xAOD::Iso::topoetcone40
@ topoetcone40
Definition: IsolationType.h:50
python.CaloScaleNoiseConfig.default
default
Definition: CaloScaleNoiseConfig.py:79
Monitored::Scalar
Declare a monitored scalar variable.
Definition: MonitoredScalar.h:34
MonitorPhotonAlgorithm::m_PhotonIsolationKey
SG::ReadDecorHandleKeyArray< xAOD::PhotonContainer > m_PhotonIsolationKey
Definition: MonitorPhotonAlgorithm.h:33
MonitorPhotonAlgorithm::BARREL
@ BARREL
Definition: MonitorPhotonAlgorithm.h:29