ATLAS Offline Software
MonitorElectronAlgorithm.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 MonitorElectronAlgorithm::MonitorElectronAlgorithm( const std::string& name, ISvcLocator* pSvcLocator )
11 :AthMonitorAlgorithm(name,pSvcLocator)
12 {
13 }
14 
16  using namespace Monitored;
19  ATH_CHECK( m_ElectronIsolationKey.initialize() );
20 
21  return StatusCode::SUCCESS;
22 }
23 
24 StatusCode MonitorElectronAlgorithm::fillHistograms( const EventContext& ctx ) const {
25  using namespace Monitored;
26 
27  // Only monitor good LAr Events :
28 
30  if (error_state==xAOD::EventInfo::Error) {
31  ATH_MSG_DEBUG("LAr event data integrity error");
32  return StatusCode::SUCCESS;
33  }
34 
35  //
36  // now, fill the specific Electron information
37  //
38  // get the Electron container
39 
41  ATH_CHECK(electrons.isValid());
42 
43  // Event variables to be monitored
44  auto lbNCandidates = Monitored::Scalar<u_int16_t>("LBEvoN",0);
45 
46  // Particle variables to be monitored
47  auto np = Monitored::Scalar<int>("N",0.0);
48  auto et = Monitored::Scalar<Float_t>("Et",0.0);
49  // Check if small differences between old and new monitoring are related to rounding effects
50  // auto eta = Monitored::Scalar<Float_t>("Eta",0.0);
51  auto eta = Monitored::Scalar<Double_t>("Eta",0.0);
52  auto phi = Monitored::Scalar<Float_t>("Phi",0.0);
53  auto is_pt_gt_2_5gev = Monitored::Scalar<bool>("is_pt_gt_2_5gev",false);
54  auto is_pt_gt_4gev = Monitored::Scalar<bool>("is_pt_gt_4gev",false);
55  auto is_pt_gt_20gev = Monitored::Scalar<bool>("is_pt_gt_20gev",false);
56  auto time = Monitored::Scalar<Float_t>("Time",0.0);
57  auto topoetcone40 = Monitored::Scalar<Float_t>("TopoEtCone40",0.0);
58  auto ptcone20 = Monitored::Scalar<Float_t>("PtCone20",0.0);
59 
60  // Particle variables per Region
61 
62  // BARREL
63  auto np_barrel = Monitored::Scalar<int>("NinBARREL",0.0);
64  auto et_barrel = Monitored::Scalar<Float_t>("EtinBARREL",0.0);
65  auto eta_barrel = Monitored::Scalar<Float_t>("EtainBARREL",0.0);
66  auto phi_barrel = Monitored::Scalar<Float_t>("PhiinBARREL",0.0);
67  auto time_barrel = Monitored::Scalar<Float_t>("TimeinBARREL",0.0);
68  auto ehad1_barrel = Monitored::Scalar<Float_t>("Ehad1inBARREL",0.0);
69  auto eoverp_barrel = Monitored::Scalar<Float_t>("EoverPinBARREL",0.0);
70  auto coreem_barrel = Monitored::Scalar<Float_t>("CoreEMinBARREL",0.0);
71  auto f0_barrel = Monitored::Scalar<Float_t>("F0inBARREL",0.0);
72  auto f1_barrel = Monitored::Scalar<Float_t>("F1inBARREL",0.0);
73  auto f2_barrel = Monitored::Scalar<Float_t>("F2inBARREL",0.0);
74  auto f3_barrel = Monitored::Scalar<Float_t>("F3inBARREL",0.0);
75  auto re233e237_barrel = Monitored::Scalar<Float_t>("Re233e237inBARREL",0.0);
76  auto re237e277_barrel = Monitored::Scalar<Float_t>("Re237e277inBARREL",0.0);
77  auto nofblayerhits_barrel = Monitored::Scalar<u_int8_t>("NOfBLayerHitsinBARREL",0);
78  auto nofpixelhits_barrel = Monitored::Scalar<u_int8_t>("NOfPixelHitsinBARREL",0);
79  auto nofscthits_barrel = Monitored::Scalar<u_int8_t>("NOfSCTHitsinBARREL",0);
80  auto noftrthits_barrel = Monitored::Scalar<u_int8_t>("NOfTRTHitsinBARREL",0);
81  auto noftrthighthresholdhits_barrel = Monitored::Scalar<u_int8_t>("NOfTRTHighThresholdHitsinBARREL",0);
82  auto deltaeta1_barrel = Monitored::Scalar<Float_t>("DeltaEta1inBARREL",0.0);
83  auto deltaphi2_barrel = Monitored::Scalar<Float_t>("DeltaPhi2inBARREL",0.0);
84  auto trackd0_barrel = Monitored::Scalar<Float_t>("Trackd0inBARREL",0.0);
85 
86  // ENDCAP
87  auto np_endcap = Monitored::Scalar<int>("NinENDCAP",0.0);
88  auto et_endcap = Monitored::Scalar<Float_t>("EtinENDCAP",0.0);
89  auto eta_endcap = Monitored::Scalar<Float_t>("EtainENDCAP",0.0);
90  auto phi_endcap = Monitored::Scalar<Float_t>("PhiinENDCAP",0.0);
91  auto time_endcap = Monitored::Scalar<Float_t>("TimeinENDCAP",0.0);
92  auto ehad1_endcap = Monitored::Scalar<Float_t>("Ehad1inENDCAP",0.0);
93  auto eoverp_endcap = Monitored::Scalar<Float_t>("EoverPinENDCAP",0.0);
94  auto coreem_endcap = Monitored::Scalar<Float_t>("CoreEMinENDCAP",0.0);
95  auto f0_endcap = Monitored::Scalar<Float_t>("F0inENDCAP",0.0);
96  auto f1_endcap = Monitored::Scalar<Float_t>("F1inENDCAP",0.0);
97  auto f2_endcap = Monitored::Scalar<Float_t>("F2inENDCAP",0.0);
98  auto f3_endcap = Monitored::Scalar<Float_t>("F3inENDCAP",0.0);
99  auto re233e237_endcap = Monitored::Scalar<Float_t>("Re233e237inENDCAP",0.0);
100  auto re237e277_endcap = Monitored::Scalar<Float_t>("Re237e277inENDCAP",0.0);
101  auto nofblayerhits_endcap = Monitored::Scalar<u_int8_t>("NOfBLayerHitsinENDCAP",0);
102  auto nofpixelhits_endcap = Monitored::Scalar<u_int8_t>("NOfPixelHitsinENDCAP",0);
103  auto nofscthits_endcap = Monitored::Scalar<u_int8_t>("NOfSCTHitsinENDCAP",0);
104  auto noftrthits_endcap = Monitored::Scalar<u_int8_t>("NOfTRTHitsinENDCAP",0);
105  auto noftrthighthresholdhits_endcap = Monitored::Scalar<u_int8_t>("NOfTRTHighThresholdHitsinENDCAP",0);
106  auto deltaeta1_endcap = Monitored::Scalar<Float_t>("DeltaEta1inENDCAP",0.0);
107  auto deltaphi2_endcap = Monitored::Scalar<Float_t>("DeltaPhi2inENDCAP",0.0);
108  auto trackd0_endcap = Monitored::Scalar<Float_t>("Trackd0inENDCAP",0.0);
109 
110  // CRACK
111  auto np_crack = Monitored::Scalar<int>("NinCRACK",0.0);
112  auto et_crack = Monitored::Scalar<Float_t>("EtinCRACK",0.0);
113  auto eta_crack = Monitored::Scalar<Float_t>("EtainCRACK",0.0);
114  auto phi_crack = Monitored::Scalar<Float_t>("PhiinCRACK",0.0);
115  auto time_crack = Monitored::Scalar<Float_t>("TimeinCRACK",0.0);
116  auto ehad1_crack = Monitored::Scalar<Float_t>("Ehad1inCRACK",0.0);
117  auto eoverp_crack = Monitored::Scalar<Float_t>("EoverPinCRACK",0.0);
118  auto coreem_crack = Monitored::Scalar<Float_t>("CoreEMinCRACK",0.0);
119  auto f0_crack = Monitored::Scalar<Float_t>("F0inCRACK",0.0);
120  auto f1_crack = Monitored::Scalar<Float_t>("F1inCRACK",0.0);
121  auto f2_crack = Monitored::Scalar<Float_t>("F2inCRACK",0.0);
122  auto f3_crack = Monitored::Scalar<Float_t>("F3inCRACK",0.0);
123  auto re233e237_crack = Monitored::Scalar<Float_t>("Re233e237inCRACK",0.0);
124  auto re237e277_crack = Monitored::Scalar<Float_t>("Re237e277inCRACK",0.0);
125  auto nofblayerhits_crack = Monitored::Scalar<u_int8_t>("NOfBLayerHitsinCRACK",0);
126  auto nofpixelhits_crack = Monitored::Scalar<u_int8_t>("NOfPixelHitsinCRACK",0);
127  auto nofscthits_crack = Monitored::Scalar<u_int8_t>("NOfSCTHitsinCRACK",0);
128  auto noftrthits_crack = Monitored::Scalar<u_int8_t>("NOfTRTHitsinCRACK",0);
129  auto noftrthighthresholdhits_crack = Monitored::Scalar<u_int8_t>("NOfTRTHighThresholdHitsinCRACK",0);
130  auto deltaeta1_crack = Monitored::Scalar<Float_t>("DeltaEta1inCRACK",0.0);
131  auto deltaphi2_crack = Monitored::Scalar<Float_t>("DeltaPhi2inCRACK",0.0);
132  auto trackd0_crack = Monitored::Scalar<Float_t>("Trackd0inCRACK",0.0);
133 
134 
135  auto is_pt_gt_4gev_barrel = Monitored::Scalar<bool>("is_pt_gt_4gevBARREL",false);
136  auto is_pt_gt_4gev_endcap = Monitored::Scalar<bool>("is_pt_gt_4gevENDCAP",false);
137  auto is_pt_gt_4gev_crack = Monitored::Scalar<bool>("is_pt_gt_4gevCRACK",false);
138 
139  auto is_pt_gt_2_5gev_barrel = Monitored::Scalar<bool>("is_pt_gt_2_5gevBARREL",false);
140  auto is_pt_gt_2_5gev_endcap = Monitored::Scalar<bool>("is_pt_gt_2_5gevENDCAP",false);
141  auto is_pt_gt_2_5gev_crack = Monitored::Scalar<bool>("is_pt_gt_2_5gevCRACK",false);
142 
143  auto is_pt_gt_20gev_barrel = Monitored::Scalar<bool>("is_pt_gt_20gevBARREL",false);
144  auto is_pt_gt_20gev_endcap = Monitored::Scalar<bool>("is_pt_gt_20gevENDCAP",false);
145  auto is_pt_gt_20gev_crack = Monitored::Scalar<bool>("is_pt_gt_20gevCRACK",false);
146 
147  // Set the values of the monitored variables for the event
148 
149  u_int16_t mylb = GetEventInfo(ctx)->lumiBlock();
150  lbNCandidates = mylb;
151 
152  u_int16_t mynp = 0;
153  u_int16_t mynp_barrel = 0;
154  u_int16_t mynp_crack = 0;
155  u_int16_t mynp_endcap = 0;
156 
157  for (const auto *const e_iter : *electrons) {
158 
159  // Check that the electron meets our requirements
160  bool isGood;
161  if (! e_iter->passSelection(isGood,m_RecoName)) {
162  ATH_MSG_WARNING("Misconfiguration: " << m_RecoName << " is not a valid working point for electrons");
163  break; // no point in continuing
164  }
165  if(isGood) {
166  mynp++;
167  //Float_t myetaloc = e_iter->eta();
168  Double_t myetaloc = e_iter->eta();
169  auto regionloc = GetRegion(myetaloc);
170  ATH_MSG_DEBUG("Test electron in region : " << regionloc);
171  switch(regionloc){
172  case BARREL :
173  mynp_barrel++;
174  break;
175  case CRACK :
176  mynp_crack++;
177  break;
178  case ENDCAP :
179  mynp_endcap++;
180  break;
181  default :
182  ATH_MSG_DEBUG("Found an electron out the acceptance region : " << regionloc);
183  break;
184  }
185  }
186  else continue;
187 
188  // do specific stuff with electrons
189 
190  Float_t myet = e_iter->pt(); // in MeV (/Gaudi::Units::GeV; // in GeV)
191  //Float_t myeta = e_iter->eta();
192  Double_t myeta = e_iter->eta();
193  Float_t myphi = e_iter->phi();
194 
195  bool myis_pt_gt_2_5gev = myet > 2500. ;
196  bool myis_pt_gt_4gev = myet > 4000. ;
197  bool myis_pt_gt_20gev = myet > 20000. ;
198 
199  is_pt_gt_2_5gev = myis_pt_gt_2_5gev ;
200  is_pt_gt_4gev = myis_pt_gt_4gev ;
201  is_pt_gt_20gev = myis_pt_gt_20gev ;
202 
203  is_pt_gt_4gev_barrel = myis_pt_gt_4gev ;
204  is_pt_gt_4gev_endcap = myis_pt_gt_4gev ;
205  is_pt_gt_4gev_crack = myis_pt_gt_4gev ;
206 
207  is_pt_gt_2_5gev_barrel = myis_pt_gt_2_5gev ;
208  is_pt_gt_2_5gev_endcap = myis_pt_gt_2_5gev ;
209  is_pt_gt_2_5gev_crack = myis_pt_gt_2_5gev ;
210 
211  is_pt_gt_20gev_barrel = myis_pt_gt_20gev ;
212  is_pt_gt_20gev_endcap = myis_pt_gt_20gev ;
213  is_pt_gt_20gev_crack = myis_pt_gt_20gev ;
214 
215  // Isolation Energy
216  Float_t mytopoetcone40 = -999.;
217  e_iter->isolationValue(mytopoetcone40,xAOD::Iso::topoetcone40);
218  topoetcone40 = mytopoetcone40;
219 
220  Float_t myptcone20 = -999.;
221  e_iter->isolationValue(myptcone20,xAOD::Iso::ptcone20);
222  ptcone20 = myptcone20;
223 
224  Float_t mytime=0.0;
225 
226  // Shower shape variable details
227  Float_t myehad1 = 0.0;
228  Float_t myecore = 0.0;
229  Float_t myf0 = 0.0;
230  Float_t myf1 = 0.0;
231  Float_t myf2 = 0.0;
232  Float_t myf3 = 0.0;
233  Float_t e233 = 0.0;
234  Float_t e237 = 0.0;
235  Float_t e277 = 0.0;
236  Float_t myre233e237 = 0.0;
237  Float_t myre237e277 = 0.0;
238 
239  e_iter->showerShapeValue(myehad1, xAOD::EgammaParameters::ehad1);
240  e_iter->showerShapeValue(myecore, xAOD::EgammaParameters::ecore);
241 
242  e_iter->showerShapeValue(e237, xAOD::EgammaParameters::e237);
243  e_iter->showerShapeValue(e233, xAOD::EgammaParameters::e233);
244  e_iter->showerShapeValue(e277, xAOD::EgammaParameters::e277);
245 
246  if (e237!=0) myre233e237 = e233 / e237;
247  if (e277!=0) myre237e277 = e237 / e277;
248 
249 
250  // Cluster track match details
251  Float_t mydeltaeta1 = -999.0;
252  e_iter->trackCaloMatchValue(mydeltaeta1, xAOD::EgammaParameters::deltaEta1);
253  Float_t mydeltaphi2 = -999.0;
254  e_iter->trackCaloMatchValue(mydeltaphi2, xAOD::EgammaParameters::deltaPhi2);
255 
256  Float_t myeoverp = -999.0;
257  Float_t mytrackd0 = -999.0;
258 
259  // associated track details
260  const xAOD::TrackParticle *t = e_iter->trackParticle();
261  double trackp = 0;
262  u_int8_t mynofblayerhits=-1;
263  u_int8_t mynofpixelhits=-1;
264  u_int8_t mynofscthits=-1;
265  u_int8_t mynoftrthits=-1;
266  u_int8_t mynoftrthighthresholdhits=-1;
267 
268  if(t) {
269  trackp = t->pt()*cosh(t->eta());
270  // retrieve track summary information
271  t->summaryValue(mynofblayerhits,xAOD::numberOfInnermostPixelLayerHits);
272  t->summaryValue(mynofpixelhits,xAOD::numberOfPixelHits);
273  t->summaryValue(mynofscthits,xAOD::numberOfSCTHits);
274  t->summaryValue(mynoftrthits,xAOD::numberOfTRTHits);
275  t->summaryValue(mynoftrthighthresholdhits,xAOD::numberOfTRTHighThresholdHits);
276  mytrackd0 = t->d0();
277  }
278  else
279  ATH_MSG_DEBUG("Error attempting to retrieve associated track");
280 
281 
282  // Associated cluster details
283 
284  const xAOD::CaloCluster *aCluster = e_iter->caloCluster();
285  if (aCluster) {
286  mytime = aCluster->time();
287  time = mytime ;
288  // Shower shape variable details
289  double ec = aCluster->et()*cosh(aCluster->eta());
290  if (ec!=0) myf0 = aCluster->energyBE(0)/ec;
291  if (ec!=0) myf1 = aCluster->energyBE(1)/ec;
292  if (ec!=0) myf2 = aCluster->energyBE(2)/ec;
293  if (ec!=0) myf3 = aCluster->energyBE(3)/ec;
294 
295  if(trackp !=0) myeoverp = aCluster->e()/trackp;
296 
297  //ATH_MSG_WARNING("Test eoverp : " << myeoverp);
298  }
299 
300  // Fill per region histograms
301  auto region = GetRegion(myeta);
302 
303  //ATH_MSG_INFO("Test electron in region : " << region);
304 
305  switch(region){
306 
307  case BARREL :
308  nofblayerhits_barrel = mynofblayerhits ; nofpixelhits_barrel = mynofpixelhits ; nofscthits_barrel = mynofscthits ;
309  noftrthits_barrel = mynoftrthits ; noftrthighthresholdhits_barrel = mynoftrthighthresholdhits;
310  deltaeta1_barrel = mydeltaeta1; deltaphi2_barrel = mydeltaphi2; trackd0_barrel = mytrackd0;
311  eoverp_barrel = myeoverp;
312  et_barrel = myet ; eta_barrel = myeta ; phi_barrel = myphi ;
313  time_barrel = mytime; ehad1_barrel = myehad1; coreem_barrel = myecore;
314  f0_barrel = myf0; f1_barrel = myf1; f2_barrel = myf2; f3_barrel = myf3; re233e237_barrel = myre233e237; re237e277_barrel = myre237e277;
315  fill("MonitorElectron",np_barrel, nofblayerhits_barrel, nofpixelhits_barrel, nofscthits_barrel, noftrthits_barrel, noftrthighthresholdhits_barrel,
316  deltaeta1_barrel, deltaphi2_barrel,trackd0_barrel,eoverp_barrel,
317  et_barrel,eta_barrel,phi_barrel, time_barrel, ehad1_barrel,coreem_barrel, f0_barrel,f1_barrel,f2_barrel, f3_barrel,
318  re233e237_barrel,re237e277_barrel,is_pt_gt_4gev_barrel,is_pt_gt_2_5gev_barrel,is_pt_gt_20gev_barrel);
319  break;
320 
321  case ENDCAP :
322  nofblayerhits_endcap = mynofblayerhits; nofpixelhits_endcap = mynofpixelhits ; nofscthits_endcap = mynofscthits ;
323  noftrthits_endcap = mynoftrthits ; noftrthighthresholdhits_endcap = mynoftrthighthresholdhits;
324  deltaeta1_endcap = mydeltaeta1; deltaphi2_endcap = mydeltaphi2; trackd0_endcap = mytrackd0;
325  eoverp_endcap = myeoverp;
326  et_endcap = myet ; eta_endcap = myeta ; phi_endcap = myphi ;
327  time_endcap = mytime; ehad1_endcap = myehad1; coreem_endcap = myecore;
328  f0_endcap = myf0; f1_endcap = myf1; f2_endcap = myf2; f3_endcap = myf3; re233e237_endcap = myre233e237; re237e277_endcap = myre237e277;
329  fill("MonitorElectron",np_endcap,nofblayerhits_endcap,nofpixelhits_endcap,nofscthits_endcap,noftrthits_endcap,noftrthighthresholdhits_endcap,
330  deltaeta1_endcap, deltaphi2_endcap,trackd0_endcap,eoverp_endcap,et_endcap,eta_endcap,phi_endcap,
331  time_endcap, ehad1_endcap,coreem_endcap,
332  f0_endcap,f1_endcap,f2_endcap,f3_endcap,re233e237_endcap,re237e277_endcap,is_pt_gt_4gev_endcap,is_pt_gt_2_5gev_endcap,is_pt_gt_20gev_endcap);
333  break;
334 
335  case CRACK :
336  nofblayerhits_crack = mynofblayerhits; nofpixelhits_crack = mynofpixelhits ; nofscthits_crack = mynofscthits ;
337  noftrthits_crack = mynoftrthits ; noftrthighthresholdhits_crack = mynoftrthighthresholdhits;
338  deltaeta1_crack = mydeltaeta1; deltaphi2_crack = mydeltaphi2; trackd0_crack = mytrackd0;
339  eoverp_crack = myeoverp;
340  et_crack = myet ; eta_crack = myeta ; phi_crack = myphi ;
341  time_crack = mytime; ehad1_crack = myehad1; coreem_crack = myecore;
342  f0_crack = myf0; f1_crack = myf1; f2_crack = myf2; f3_crack = myf3; re233e237_crack = myre233e237; re237e277_crack = myre237e277;
343  fill("MonitorElectron",np_crack,nofblayerhits_crack, nofpixelhits_crack,nofscthits_crack,noftrthits_crack,noftrthighthresholdhits_crack,
344  deltaeta1_crack, deltaphi2_crack,trackd0_crack,eoverp_crack,et_crack,eta_crack,phi_crack,
345  time_crack, ehad1_crack,coreem_crack,f0_crack,f1_crack,f2_crack,f3_crack,re233e237_crack,re237e277_crack,is_pt_gt_4gev_crack,is_pt_gt_2_5gev_crack,is_pt_gt_20gev_crack);
346  break;
347 
348  default :
349  ATH_MSG_DEBUG("found an electron outside the |eta| > 2.47 acceptance");
350  break;
351  }
352 
353  et = myet ; eta = myeta ; phi = myphi ;
354  fill("MonitorElectron",et,eta,phi,time,ptcone20,topoetcone40,lbNCandidates,
355  is_pt_gt_2_5gev, is_pt_gt_4gev, is_pt_gt_20gev);
356 
357  // Fill. First argument is the tool name, all others are the variables to be histogramed
358  }
359 
360  np = mynp;
361  np_barrel = mynp_barrel;
362  np_endcap = mynp_endcap;
363  np_crack = mynp_crack;
364 
365  fill("MonitorElectron",np,np_barrel,np_endcap,np_crack);
366 
367  return StatusCode::SUCCESS;
368 }
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.
MonitorElectronAlgorithm::CRACK
@ CRACK
Definition: MonitorElectronAlgorithm.h:29
et
Extra patterns decribing particle interation process.
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
MonitorElectronAlgorithm::m_ParticleContainerKey
SG::ReadHandleKey< xAOD::ElectronContainer > m_ParticleContainerKey
Definition: MonitorElectronAlgorithm.h:33
MonitorElectronAlgorithm::fillHistograms
StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: MonitorElectronAlgorithm.cxx:24
MonitorElectronAlgorithm::ENDCAP
@ ENDCAP
Definition: MonitorElectronAlgorithm.h:29
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
xAOD::numberOfPixelHits
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
Definition: TrackingPrimitives.h:259
MonitorElectronAlgorithm::BARREL
@ BARREL
Definition: MonitorElectronAlgorithm.h:29
xAOD::numberOfTRTHits
@ numberOfTRTHits
number of TRT hits [unit8_t].
Definition: TrackingPrimitives.h:275
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
PlotPulseshapeFromCool.np
np
Definition: PlotPulseshapeFromCool.py:64
xAOD::EventInfo_v1::LAr
@ LAr
The LAr calorimeter.
Definition: EventInfo_v1.h:335
xAOD::numberOfTRTHighThresholdHits
@ numberOfTRTHighThresholdHits
number of TRT hits which pass the high threshold (only xenon counted) [unit8_t].
Definition: TrackingPrimitives.h:278
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
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
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.
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
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::EventInfo_v1::EventFlagErrorState
EventFlagErrorState
States that a given sub-detector could be in.
Definition: EventInfo_v1.h:346
MonitorElectronAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: MonitorElectronAlgorithm.cxx:15
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
xAOD::EgammaParameters::deltaPhi2
@ deltaPhi2
difference between the cluster phi (second sampling) and the phi of the track extrapolated to the sec...
Definition: EgammaEnums.h:204
AthMonitorAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: AthMonitorAlgorithm.cxx:18
MonitorElectronAlgorithm.h
MonitorElectronAlgorithm::m_RecoName
Gaudi::Property< std::string > m_RecoName
Definition: MonitorElectronAlgorithm.h:36
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
MonitorElectronAlgorithm::GetRegion
Regions GetRegion(Float_t eta) const
Definition: MonitorElectronAlgorithm.h:39
MonitorElectronAlgorithm::m_ElectronIsolationKey
SG::ReadDecorHandleKeyArray< xAOD::ElectronContainer > m_ElectronIsolationKey
Definition: MonitorElectronAlgorithm.h:34
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::numberOfSCTHits
@ numberOfSCTHits
number of hits in SCT [unit8_t].
Definition: TrackingPrimitives.h:268
xAOD::EgammaParameters::e277
@ e277
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
Definition: EgammaEnums.h:80
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
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
xAOD::EgammaParameters::deltaEta1
@ deltaEta1
difference between the cluster eta (first sampling) and the eta of the track extrapolated to the firs...
Definition: EgammaEnums.h:184
MonitorElectronAlgorithm::MonitorElectronAlgorithm
MonitorElectronAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Definition: MonitorElectronAlgorithm.cxx:10
xAOD::CaloCluster_v1::e
virtual double e() const
The total energy of the particle.
Definition: CaloCluster_v1.cxx:265
InDetDD::electrons
@ electrons
Definition: InDetDD_Defs.h:17
xAOD::numberOfInnermostPixelLayerHits
@ numberOfInnermostPixelLayerHits
these are the hits in the 0th pixel barrel layer
Definition: TrackingPrimitives.h:237