154 {
155 using namespace Monitored;
156
157 auto lbNProbeCandidates = Monitored::Scalar<u_int16_t>("LBEvoN",0);
158
160
161 if (isleading) {
162 auto EtaZ = Monitored::Scalar<Float_t>("EtaZ",0.0);
163 auto PhiZ = Monitored::Scalar<Float_t>("PhiZ",0.0);
166 fill(
"MonitorTnP",EtaZ,PhiZ);
167 }
168
169 auto is_TightID = Monitored::Scalar<bool>("is_Tight",false);
170
171 bool lead_isLHTight = false;
172 if ( !
el->passSelection(lead_isLHTight,
"LHTight") )
return StatusCode::FAILURE;
173 is_TightID = lead_isLHTight;
174
175 auto is_Iso = Monitored::Scalar<bool>("is_Iso",false);
176 auto is_IsoandTight = Monitored::Scalar<bool>("is_IsoandTight",false);
177
178 Float_t myet =
el->pt();
179 Float_t myptcone20 = -999.;
180 Float_t mytopoetcone40 = -999.;
181
182 bool isIsolated = false;
184
185 if (myet>0) {
187 if ( myptcone20/myet < 0.15 ) isIsolated = true;
188 }
189
190 is_Iso = isIsolated;
191 is_IsoandTight = isIsolated && lead_isLHTight;
192
193 auto et = Monitored::Scalar<Float_t>(
"Etprobe",0.0);
194 auto eta = Monitored::Scalar<Float_t>(
"Etaprobe",0.0);
195 auto phi = Monitored::Scalar<Float_t>(
"Phiprobe",0.0);
196 auto time = Monitored::Scalar<Float_t>(
"Timeprobe",0.0);
197 auto topoetcone40 = Monitored::Scalar<Float_t>(
"TopoEtCone40probe",0.0);
198 auto ptcone20 = Monitored::Scalar<Float_t>(
"PtCone20probe",0.0);
199
200
201
202
203
204 auto et_barrel = Monitored::Scalar<Float_t>("EtProbeinBARREL",0.0);
205 auto eta_barrel = Monitored::Scalar<Float_t>("EtaProbeinBARREL",0.0);
206 auto phi_barrel = Monitored::Scalar<Float_t>("PhiProbeinBARREL",0.0);
207 auto time_barrel = Monitored::Scalar<Float_t>("TimeProbeinBARREL",0.0);
208 auto ehad1_barrel = Monitored::Scalar<Float_t>("Ehad1ProbeinBARREL",0.0);
209 auto eoverp_barrel = Monitored::Scalar<Float_t>("EoverPProbeinBARREL",0.0);
210 auto coreem_barrel = Monitored::Scalar<Float_t>("CoreEMProbeinBARREL",0.0);
211 auto f0_barrel = Monitored::Scalar<Float_t>("F0ProbeinBARREL",0.0);
212 auto f1_barrel = Monitored::Scalar<Float_t>("F1ProbeinBARREL",0.0);
213 auto f2_barrel = Monitored::Scalar<Float_t>("F2ProbeinBARREL",0.0);
214 auto f3_barrel = Monitored::Scalar<Float_t>("F3ProbeinBARREL",0.0);
215 auto re233e237_barrel = Monitored::Scalar<Float_t>("Re233e237ProbeinBARREL",0.0);
216 auto re237e277_barrel = Monitored::Scalar<Float_t>("Re237e277ProbeinBARREL",0.0);
217 auto nofblayerhits_barrel = Monitored::Scalar<u_int8_t>("NOfBLayerHitsProbeinBARREL",0);
218 auto nofpixelhits_barrel = Monitored::Scalar<u_int8_t>("NOfPixelHitsProbeinBARREL",0);
219 auto nofscthits_barrel = Monitored::Scalar<u_int8_t>("NOfSCTHitsProbeinBARREL",0);
220 auto noftrthits_barrel = Monitored::Scalar<u_int8_t>("NOfTRTHitsProbeinBARREL",0);
221 auto noftrthighthresholdhits_barrel = Monitored::Scalar<u_int8_t>("NOfTRTHighThresholdHitsProbeinBARREL",0);
222 auto deltaeta1_barrel = Monitored::Scalar<Float_t>("DeltaEta1ProbeinBARREL",0.0);
223 auto deltaphi2_barrel = Monitored::Scalar<Float_t>("DeltaPhi2ProbeinBARREL",0.0);
224 auto trackd0_barrel = Monitored::Scalar<Float_t>("Trackd0ProbeinBARREL",0.0);
225
226
227
228 auto et_endcap = Monitored::Scalar<Float_t>("EtProbeinENDCAP",0.0);
229 auto eta_endcap = Monitored::Scalar<Float_t>("EtaProbeinENDCAP",0.0);
230 auto phi_endcap = Monitored::Scalar<Float_t>("PhiProbeinENDCAP",0.0);
231 auto time_endcap = Monitored::Scalar<Float_t>("TimeProbeinENDCAP",0.0);
232 auto ehad1_endcap = Monitored::Scalar<Float_t>("Ehad1ProbeinENDCAP",0.0);
233 auto eoverp_endcap = Monitored::Scalar<Float_t>("EoverPProbeinENDCAP",0.0);
234 auto coreem_endcap = Monitored::Scalar<Float_t>("CoreEMProbeinENDCAP",0.0);
235 auto f0_endcap = Monitored::Scalar<Float_t>("F0ProbeinENDCAP",0.0);
236 auto f1_endcap = Monitored::Scalar<Float_t>("F1ProbeinENDCAP",0.0);
237 auto f2_endcap = Monitored::Scalar<Float_t>("F2ProbeinENDCAP",0.0);
238 auto f3_endcap = Monitored::Scalar<Float_t>("F3ProbeinENDCAP",0.0);
239 auto re233e237_endcap = Monitored::Scalar<Float_t>("Re233e237ProbeinENDCAP",0.0);
240 auto re237e277_endcap = Monitored::Scalar<Float_t>("Re237e277ProbeinENDCAP",0.0);
241 auto nofblayerhits_endcap = Monitored::Scalar<u_int8_t>("NOfBLayerHitsProbeinENDCAP",0);
242 auto nofpixelhits_endcap = Monitored::Scalar<u_int8_t>("NOfPixelHitsProbeinENDCAP",0);
243 auto nofscthits_endcap = Monitored::Scalar<u_int8_t>("NOfSCTHitsProbeinENDCAP",0);
244 auto noftrthits_endcap = Monitored::Scalar<u_int8_t>("NOfTRTHitsProbeinENDCAP",0);
245 auto noftrthighthresholdhits_endcap = Monitored::Scalar<u_int8_t>("NOfTRTHighThresholdHitsProbeinENDCAP",0);
246 auto deltaeta1_endcap = Monitored::Scalar<Float_t>("DeltaEta1ProbeinENDCAP",0.0);
247 auto deltaphi2_endcap = Monitored::Scalar<Float_t>("DeltaPhi2ProbeinENDCAP",0.0);
248 auto trackd0_endcap = Monitored::Scalar<Float_t>("Trackd0ProbeinENDCAP",0.0);
249
250
251
252 auto et_crack = Monitored::Scalar<Float_t>("EtProbeinCRACK",0.0);
253 auto eta_crack = Monitored::Scalar<Float_t>("EtaProbeinCRACK",0.0);
254 auto phi_crack = Monitored::Scalar<Float_t>("PhiProbeinCRACK",0.0);
255 auto time_crack = Monitored::Scalar<Float_t>("TimeProbeinCRACK",0.0);
256 auto ehad1_crack = Monitored::Scalar<Float_t>("Ehad1ProbeinCRACK",0.0);
257 auto eoverp_crack = Monitored::Scalar<Float_t>("EoverPProbeinCRACK",0.0);
258 auto coreem_crack = Monitored::Scalar<Float_t>("CoreEMProbeinCRACK",0.0);
259 auto f0_crack = Monitored::Scalar<Float_t>("F0ProbeinCRACK",0.0);
260 auto f1_crack = Monitored::Scalar<Float_t>("F1ProbeinCRACK",0.0);
261 auto f2_crack = Monitored::Scalar<Float_t>("F2ProbeinCRACK",0.0);
262 auto f3_crack = Monitored::Scalar<Float_t>("F3ProbeinCRACK",0.0);
263 auto re233e237_crack = Monitored::Scalar<Float_t>("Re233e237ProbeinCRACK",0.0);
264 auto re237e277_crack = Monitored::Scalar<Float_t>("Re237e277ProbeinCRACK",0.0);
265 auto nofblayerhits_crack = Monitored::Scalar<u_int8_t>("NOfBLayerHitsProbeinCRACK",0);
266 auto nofpixelhits_crack = Monitored::Scalar<u_int8_t>("NOfPixelHitsProbeinCRACK",0);
267 auto nofscthits_crack = Monitored::Scalar<u_int8_t>("NOfSCTHitsProbeinCRACK",0);
268 auto noftrthits_crack = Monitored::Scalar<u_int8_t>("NOfTRTHitsProbeinCRACK",0);
269 auto noftrthighthresholdhits_crack = Monitored::Scalar<u_int8_t>("NOfTRTHighThresholdHitsProbeinCRACK",0);
270 auto deltaeta1_crack = Monitored::Scalar<Float_t>("DeltaEta1ProbeinCRACK",0.0);
271 auto deltaphi2_crack = Monitored::Scalar<Float_t>("DeltaPhi2ProbeinCRACK",0.0);
272 auto trackd0_crack = Monitored::Scalar<Float_t>("Trackd0ProbeinCRACK",0.0);
273
274
275 Float_t myeta =
el->eta();
276 Float_t myphi =
el->phi();
277
278 auto is_pt_gt_4gev = Monitored::Scalar<bool>("is_pt_gt_4gev",false);
279 is_pt_gt_4gev = myet > 4000. ;
280
281 auto is_pt_gt_4gev_barrel = Monitored::Scalar<bool>("is_pt_gt_4gevBARREL",false);
282 is_pt_gt_4gev_barrel = myet > 4000. ;
283
284 auto is_pt_gt_4gev_endcap = Monitored::Scalar<bool>("is_pt_gt_4gevENDCAP",false);
285 is_pt_gt_4gev_endcap = myet > 4000. ;
286
287 auto is_pt_gt_4gev_crack = Monitored::Scalar<bool>("is_pt_gt_4gevCRACK",false);
288 is_pt_gt_4gev_crack = myet > 4000. ;
289
290
291
294
295
296 Float_t myehad1 = 0.0;
297 Float_t myecore = 0.0;
298 Float_t myf0 = 0.0;
299 Float_t myf1 = 0.0;
300 Float_t myf2 = 0.0;
301 Float_t myf3 = 0.0;
305 Float_t myre233e237 = 0.0;
306 Float_t myre237e277 = 0.0;
307
310
314
315 if (e237!=0) myre233e237 =
e233 /
e237;
316 if (e277!=0) myre237e277 =
e237 /
e277;
317
318
319 Float_t mydeltaeta1 = -999.0;
321 Float_t mydeltaphi2 = -999.0;
323
324 Float_t myeoverp = -999.0;
325 Float_t mytrackd0 = -999.0;
326
327
329 double trackp = 0;
330 u_int8_t mynofblayerhits=-1;
331 u_int8_t mynofpixelhits=-1;
332 u_int8_t mynofscthits=-1;
333 u_int8_t mynoftrthits=-1;
334 u_int8_t mynoftrthighthresholdhits=-1;
335
336 if (t) {
337 trackp =
t->pt()*cosh(
t->eta());
338
345 }
346 else
347 ATH_MSG_DEBUG(
"Error attempting to retrieve associated track");
348
349
350
351 Float_t mytime=0.;
353 if (aCluster) {
354 mytime = aCluster->
time();
356
357 double ec = aCluster->
et()*cosh(aCluster->
eta());
358 if (ec!=0) myf0 = aCluster->
energyBE(0)/ec;
359 if (ec!=0) myf1 = aCluster->
energyBE(1)/ec;
360 if (ec!=0) myf2 = aCluster->
energyBE(2)/ec;
361 if (ec!=0) myf3 = aCluster->
energyBE(3)/ec;
362
363 if(trackp !=0) myeoverp = aCluster->
e()/trackp;
364
365
366 }
367
368
370 switch(region){
372
373 nofblayerhits_barrel = mynofblayerhits ; nofpixelhits_barrel = mynofpixelhits ; nofscthits_barrel = mynofscthits ;
374 noftrthits_barrel = mynoftrthits ; noftrthighthresholdhits_barrel = mynoftrthighthresholdhits;
375 deltaeta1_barrel = mydeltaeta1; deltaphi2_barrel = mydeltaphi2; trackd0_barrel = mytrackd0;
376 eoverp_barrel = myeoverp;
377 et_barrel = myet ; eta_barrel = myeta ; phi_barrel = myphi ;
378 time_barrel = mytime; ehad1_barrel = myehad1; coreem_barrel = myecore;
379 f0_barrel = myf0; f1_barrel = myf1; f2_barrel = myf2; f3_barrel = myf3; re233e237_barrel = myre233e237; re237e277_barrel = myre237e277;
380 fill(
"MonitorTnP",nofblayerhits_barrel, nofpixelhits_barrel, nofscthits_barrel, noftrthits_barrel, noftrthighthresholdhits_barrel,
381 deltaeta1_barrel, deltaphi2_barrel,trackd0_barrel,eoverp_barrel,
382 et_barrel,eta_barrel,phi_barrel, time_barrel, ehad1_barrel,coreem_barrel, f0_barrel,f1_barrel,f2_barrel, f3_barrel,
383 re233e237_barrel,re237e277_barrel,is_pt_gt_4gev_barrel);
384 break;
385
387
388 nofblayerhits_endcap = mynofblayerhits; nofpixelhits_endcap = mynofpixelhits ; nofscthits_endcap = mynofscthits ;
389 noftrthits_endcap = mynoftrthits ; noftrthighthresholdhits_endcap = mynoftrthighthresholdhits;
390 deltaeta1_endcap = mydeltaeta1; deltaphi2_endcap = mydeltaphi2; trackd0_endcap = mytrackd0;
391 eoverp_endcap = myeoverp;
392 et_endcap = myet ; eta_endcap = myeta ; phi_endcap = myphi ;
393 time_endcap = mytime; ehad1_endcap = myehad1; coreem_endcap = myecore;
394 f0_endcap = myf0; f1_endcap = myf1; f2_endcap = myf2; f3_endcap = myf3; re233e237_endcap = myre233e237; re237e277_endcap = myre237e277;
395 fill(
"MonitorTnP",nofblayerhits_endcap,nofpixelhits_endcap,nofscthits_endcap,noftrthits_endcap,noftrthighthresholdhits_endcap,
396 deltaeta1_endcap, deltaphi2_endcap,trackd0_endcap,eoverp_endcap,et_endcap,eta_endcap,phi_endcap,
397 time_endcap, ehad1_endcap,coreem_endcap,
398 f0_endcap,f1_endcap,f2_endcap,f3_endcap,re233e237_endcap,re237e277_endcap,is_pt_gt_4gev_endcap);
399 break;
400
402 nofblayerhits_crack = mynofblayerhits; nofpixelhits_crack = mynofpixelhits ; nofscthits_crack = mynofscthits ;
403 noftrthits_crack = mynoftrthits ; noftrthighthresholdhits_crack = mynoftrthighthresholdhits;
404 deltaeta1_crack = mydeltaeta1; deltaphi2_crack = mydeltaphi2; trackd0_crack = mytrackd0;
405 eoverp_crack = myeoverp;
406 et_crack = myet ; eta_crack = myeta ; phi_crack = myphi ;
407 time_crack = mytime; ehad1_crack = myehad1; coreem_crack = myecore;
408 f0_crack = myf0; f1_crack = myf1; f2_crack = myf2; f3_crack = myf3; re233e237_crack = myre233e237; re237e277_crack = myre237e277;
409 fill(
"MonitorTnP",nofblayerhits_crack, nofpixelhits_crack,nofscthits_crack,noftrthits_crack,noftrthighthresholdhits_crack,
410 deltaeta1_crack, deltaphi2_crack,trackd0_crack,eoverp_crack,et_crack,eta_crack,phi_crack,
411 time_crack, ehad1_crack,coreem_crack,f0_crack,f1_crack,f2_crack,f3_crack,re233e237_crack,re237e277_crack,is_pt_gt_4gev_crack);
412 break;
414
415 break;
416 }
417
421 ptcone20,topoetcone40,lbNProbeCandidates,is_TightID,is_Iso,is_IsoandTight);
422
423 return StatusCode::SUCCESS;
424}
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
float et(const xAOD::jFexSRJetRoI *j)
SG::ReadHandle< xAOD::EventInfo > GetEventInfo(const EventContext &) const
Return a ReadHandle for an EventInfo object (get run/event numbers, etc.)
Regions GetRegion(Float_t eta) const
flt_t time() const
Access cluster time.
virtual double eta() const
The pseudorapidity ( ) of the particle.
virtual double e() const
The total energy of the particle.
float energyBE(const unsigned layer) const
Get the energy in one layer of the EM Calo.
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.
time(flags, cells_name, *args, **kw)
@ deltaPhi2
difference between the cluster phi (second sampling) and the phi of the track extrapolated to the sec...
@ deltaEta1
difference between the cluster eta (first sampling) and the eta of the track extrapolated to the firs...
@ e277
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
@ e237
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x7
@ ecore
core energy in em calo E(core) = E0(3x3) + E1(15x2) + E2(5x5) + E3(3x5)
@ ehad1
E leakage into 1st sampling of had calo (CaloSampling::HEC0 + CaloSampling::TileBar0 + CaloSampling::...
@ e233
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x3 (in cell units e...
@ ptcone20
Track isolation.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
@ numberOfTRTHits
number of TRT hits [unit8_t].
@ numberOfSCTHits
number of hits in SCT [unit8_t].
@ numberOfInnermostPixelLayerHits
these are the hits in the 0th pixel barrel layer
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
@ numberOfTRTHighThresholdHits
number of TRT hits which pass the high threshold (only xenon counted) [unit8_t].