ATLAS Offline Software
EMTrackMatch.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /********************************************************************
6 
7 NAME: EMTrackMatch.cxx
8 PACKAGE: offline/Reconstruction/egammaEvent
9 
10 AUTHORS: H. Ma, S. Rajagopalan
11 CREATED: Dec. 5, 2000
12 
13 PURPOSE: object containing information about the match of a calo cluster
14  with the best matched track in front of the shower. Information
15  about the different variables can be found in EMTrackMatch.h
16 
17 Updated: Mar 2003 (AP)
18  change data member definitions
19  Jan 13, 2001 (MW)
20  add some more comments
21  Nov 24, 2003 (MW)
22  add parameter for the track refittingoption
23  Dec 10, 2003 (DR)
24  add SimpleTrack pointer
25 Updated: Jan, 2004 (FD+AK)
26  add deltaEta, deltaPhi for all samplings
27  Jan 23, 2004 (FD) add initialisation of all deltaEta, deltaPhi
28  Apr 28, 2004 (FD) add eta of track corrected for magnetic field
29  May 06, 2009 (FD) add track isolation variable
30  May 06, 2009 (FD) remove track isolation variable !
31  May 31, 2009 (FD/RD) add three variables for track extrapolation
32  Feb 01, 2010 (FD) add transverse impact parameter values wrt beam spot
33  Mar 03, 2010 (FD) add transverse impact parameter values
34  wrt primary vertex and deltaPhiRot
35  Mar 05, 2010 (FD) add EtaExtrap, PhiExtrap and methods
36  Mar 16, 2010 (FD) add PhiRescaled in each sampling
37 ********************************************************************/
38 
39 // INCLUDE HEADER FILES:
41 #include "AthenaKernel/BaseInfo.h"
42 #include "AthenaKernel/ClassName.h"
43 #include "GaudiKernel/GaudiException.h"
44 #include <cmath>
45 
46 // END OF HEADER FILES INCLUDE
47 
48 // ----------------------------
49 // Constructor
50 // ----------------------------
51 
52 
53 // =================================================================
54 // constructor with data
55 EMTrackMatch::EMTrackMatch(const std::vector<double>& EtaExtrap,
56  const std::vector<double>& PhiExtrap,
57  const std::vector<double>& deltaEta,
58  const std::vector<double>& deltaPhi,
59  bool isPrimary,
60  int trackNumber,
61  bool trackRefit,
62  int linkIndex)
63  : egDetail()
64 {
70  for (unsigned int i = 0; i < EtaExtrap.size(); ++i)
71  setEtaExtrap (i, EtaExtrap[i], true);
72  for (unsigned int i = 0; i < PhiExtrap.size(); ++i)
73  setPhiExtrap (i, PhiExtrap[i], true);
74  for (unsigned int i = 0; i < deltaEta.size(); ++i)
75  setDeltaEta (i, deltaEta[i], true);
76  for (unsigned int i = 0; i < deltaPhi.size(); ++i)
77  setDeltaPhi (i, deltaPhi[i], true);
78 
79 }
80 
81 // =================================================================
82 // constructor with data
83 EMTrackMatch::EMTrackMatch(const std::vector<double>& deltaEta,
84  const std::vector<double>& deltaPhi,
85  bool isPrimary,
86  int trackNumber,
87  bool trackRefit,
88  int linkIndex)
89  : egDetail()
90 {
96  for (unsigned int i = 0; i < deltaEta.size(); ++i) setDeltaEta (i, deltaEta[i], true);
97  for (unsigned int i = 0; i < deltaPhi.size(); ++i) setDeltaPhi (i, deltaPhi[i], true);
98 
99 }
100 
102 const std::string& EMTrackMatch::className() const
103 {
104  static const std::string className = ClassName<EMTrackMatch>::name();
105  return className;
106 }
107 
108 // ===============================================================
110 {
111  if ( hasBoolParameter(key) ) {
112  if ( boolParameter(key) ) return 1.;
113  return 0;
114  }
115 
116  using elParams = std::pair<egammaParameters::ParamDef, double>;
117 
119  std::vector<elParams>::const_iterator p = m_parameters.begin();
120 
121  for (;p !=m_parameters.end(); ++p) {
122  if ( (*p).first == key ){
123  result = (*p).second;
124  break;
125  }
126  }
127 
128  return result;
129 }
130 
131 // ==============================================================
133 {
134  if ( hasBoolParameter(key) ) {
135  if (value != 0.)
136  set_boolParameter(key, true, overwrite);
137  else
138  set_boolParameter(key, false, overwrite);
139 
140  return;
141  }
142 
143  using elParams = std::pair<egammaParameters::ParamDef, double>;
144 
146 
147  for (;p !=m_parameters.end(); ++p) {
148  if ( (*p).first == key ) break;
149  }
150 
151  if ( p == m_parameters.end() ) {
152  m_parameters.emplace_back(key,value );
153  }
154  else {
155  if ( overwrite ) {
156  (*p).second = value;
157  }
158  else {
159  throw GaudiException("parameter not saved", "EMTrackMatch::set_parameter(...)", StatusCode::FAILURE);
160  }
161  }
162 
163 }
164 
165 // ====================================================================
167 {
168  using elParams = std::pair<egammaParameters::ParamDef, bool>;
169 
171 
172  for (;p !=m_parametersBool.end(); ++p) {
173  if ( (*p).first == key ) break;
174  }
175 
176  if ( p == m_parametersBool.end() ) {
177  m_parametersBool.emplace_back(key,value );
178  }
179  else {
180  if ( overwrite ) {
181  (*p).second = value;
182  }
183  else {
184  throw GaudiException("parameter not saved", "EMTrackMatch::set_boolparameter(...)", StatusCode::FAILURE);
185  }
186  }
187 }
188 
189 // ====================================================================
191 {
192  using elParams = std::pair<egammaParameters::ParamDef, bool>;
193 
194  double result = false;
195  std::vector<elParams>::const_iterator p = m_parametersBool.begin();
196 
197  for (;p !=m_parametersBool.end(); ++p) {
198  if ( (*p).first == key ) {
199  result = (*p).second;
200  break;
201  }
202  }
203 
204  return result;
205 }
206 
207 // ===================================================================
208 void EMTrackMatch::setEtaExtrap (int sampl, double value, bool overwrite)
209 {
210  //
211  // Eta extrapolated at presampler(0) -> 3rd sampling (3)
212  //
214  if ( sampl == 0) key = egammaParameters::EtaExtraps0;
215  else if ( sampl == 1) key = egammaParameters::EtaExtraps1;
216  else if ( sampl == 2) key = egammaParameters::EtaExtraps2;
217  else if ( sampl == 3) key = egammaParameters::EtaExtraps3;
218  return set_parameter(key, value, overwrite);
219 }
220 
221 // ===================================================================
222 void EMTrackMatch::setPhiExtrap (int sampl, double value, bool overwrite)
223 {
224  //
225  // Phi extrapolated at presampler (0) -> 3rd sampling (3)
226  //
228  if ( sampl == 0) key = egammaParameters::PhiExtraps0;
229  else if ( sampl == 1) key = egammaParameters::PhiExtraps1;
230  else if ( sampl == 2) key = egammaParameters::PhiExtraps2;
231  else if ( sampl == 3) key = egammaParameters::PhiExtraps3;
232  return set_parameter(key, value, overwrite);
233 }
234 
235 // ===================================================================
236 void EMTrackMatch::setPhiRescaled (int sampl, double value, bool overwrite)
237 {
238  //
239  // Phi rescaled at presampler (0) -> 3rd sampling (3)
240  //
242  if ( sampl == 0) key = egammaParameters::PhiRescaled0;
243  else if ( sampl == 1) key = egammaParameters::PhiRescaled1;
244  else if ( sampl == 2) key = egammaParameters::PhiRescaled2;
245  else if ( sampl == 3) key = egammaParameters::PhiRescaled3;
246  return set_parameter(key, value, overwrite);
247 }
248 
249 // ===================================================================
250 void EMTrackMatch::setDeltaEta (int sampl, double value, bool overwrite)
251 {
252  //
253  // deltaEta at presampler(0) -> 3rd sampling (3)
254  //
256  if ( sampl == 0) key = egammaParameters::deltaEta0;
257  else if ( sampl == 1) key = egammaParameters::deltaEta1;
258  else if ( sampl == 2) key = egammaParameters::deltaEta2;
259  else if ( sampl == 3) key = egammaParameters::deltaEta3;
260  return set_parameter(key, value, overwrite);
261 }
262 
263 // ===================================================================
264 void EMTrackMatch::setDeltaPhi (int sampl, double value, bool overwrite)
265 {
266  //
267  // deltaPhi at presampler (0) -> 3rd sampling (3)
268  //
270  if ( sampl == 0) key = egammaParameters::deltaPhi0;
271  else if ( sampl == 1) key = egammaParameters::deltaPhi1;
272  else if ( sampl == 2) key = egammaParameters::deltaPhi2;
273  else if ( sampl == 3) key = egammaParameters::deltaPhi3;
274  return set_parameter(key, value, overwrite);
275 }
276 
277 // =============================================================
278 void EMTrackMatch::setEtaSampling1 (double value, bool overwrite)
279 {
280  //
281  // eta at sampling 1 for extrapolation from the last hit -
282  // allows recalcultion of deltaEta
283  //
285 }
286 
287 // ===========================================================
288 void EMTrackMatch::setDeltaPhiRescaled (double value, bool overwrite)
289 {
290  //
291  // deltaPhi at sampling 2 for rescaled momentum extrapolation
292  // from the perigee
293  // Only available if not in deltaPhi, i.e. default
294  //
296 }
297 
298 // ===========================================================
300 {
301  //
302  // extrapolation method used for track match
303  //
304  return set_parameter(egammaParameters::extrapMethod, (double) value, overwrite);
305 }
306 
307 // ===========================================================
308 void EMTrackMatch::setDeltaPhiRot (double value, bool overwrite)
309 {
310  //
311  // deltaPhi at sampling 2 for rescaled momentum extrapolation
312  // from the perigee
313  // Only available if not in deltaPhi, i.e. default
314  //
316 }
317 
318 // ===========================================================
319 void EMTrackMatch::setDeltaPhiLast (double value, bool overwrite)
320 {
321  //
322  // deltaPhi at sampling 2 from the last measurement
323  //
325 }
326 
327 
328 /*// ===========================================================
329 void EMTrackMatch::setexpectHitInBLayer (bool value, bool overwrite)
330 {
331  //
332  // boolean to see if hit was expected in b-layer
333  //
334  return set_boolParameter(egammaParameters::expectHitInBLayer, value, overwrite);
335 }
336 */
337 
338 // =================================================================
339 // general reset:
340 void EMTrackMatch::fill(const std::vector<double>& EtaExtrap,
341  const std::vector<double>& PhiExtrap,
342  const std::vector<double>& deltaEta,
343  const std::vector<double>& deltaPhi,
344  bool isPrimary,
345  int trackNumber,
346  bool trackRefit,
347  int linkIndex)
348 {
352  for (unsigned int i = 0; i < EtaExtrap.size(); ++i)
353  setDeltaEta (i, EtaExtrap[i], true);
354  for (unsigned int i = 0; i < PhiExtrap.size(); ++i)
355  setDeltaPhi (i, PhiExtrap[i], true);
356  for (unsigned int i = 0; i < deltaEta.size(); ++i)
357  setDeltaEta (i, deltaEta[i], true);
358  for (unsigned int i = 0; i < deltaPhi.size(); ++i)
359  setDeltaPhi (i, deltaPhi[i], true);
362 }
363 
364 // =================================================================
365 // general reset:
366 void EMTrackMatch::fill(const std::vector<double>& deltaEta,
367  const std::vector<double>& deltaPhi,
368  bool isPrimary,
369  int trackNumber,
370  bool trackRefit,
371  int linkIndex)
372 {
376  for (unsigned int i = 0; i < deltaEta.size(); ++i) setDeltaEta (i, deltaEta[i], true);
377  for (unsigned int i = 0; i < deltaPhi.size(); ++i) setDeltaPhi (i, deltaPhi[i], true);
380 }
381 
382 // ========================================================================
383 // only E/p
384 void
386 {
388 }
389 
390 // ======================================================================
391 // only EtaExtrap, PhiExtrap
392 void
393 EMTrackMatch::fillEtaPhiExtrap(const std::vector<double>& EtaExtrap,
394  const std::vector<double>& PhiExtrap)
395 {
396  for (unsigned int i = 0; i < EtaExtrap.size(); ++i)
397  setEtaExtrap (i, EtaExtrap[i], true);
398  for (unsigned int i = 0; i < PhiExtrap.size(); ++i)
399  setPhiExtrap (i, PhiExtrap[i], true);
400 }
401 
402 // ======================================================================
403 // only deltaEta, deltaPhi
404 void
405 EMTrackMatch::fill(const std::vector<double>& deltaEta,
406  const std::vector<double>& deltaPhi)
407 {
408  for (unsigned int i = 0; i < deltaEta.size(); ++i) setDeltaEta (i, deltaEta[i], true);
409  for (unsigned int i = 0; i < deltaPhi.size(); ++i) setDeltaPhi (i, deltaPhi[i], true);
410 }
411 
412 // ========================================================================
413 // print track match quantities
415 {
416 
417 // std::cout << "Params: " << std::endl;
418 
419 // typedef std::vector < std::pair<egammaParameters::ParamDef , double > >::const_iterator it_type;
420 // it_type it = m_parameters.begin();
421 // it_type itend = m_parameters.end();
422 // for (; it != itend; ++it) {
423 // std::cout << "n,value " << it->first << " " << it->second << std::endl;
424 // }
425 
426 // std::cout <<
427 
428 // std::cout << "egammaParameters::deltaEta1 " << egammaParameters::deltaEta1 << std::endl;
429 // std::cout << "egammaParameters::deltaPhi2 " << egammaParameters::deltaPhi2 << std::endl;
430 // std::cout << "egammaParameters::trackNumber " << egammaParameters::trackNumber << std::endl;
431 // std::cout << "egammaParameters::linkIndex " << egammaParameters::linkIndex << std::endl;
432 // std::cout << "egammaParameters::tracksInBroadWindow " << egammaParameters::tracksInBroadWindow << std::endl;
433 // std::cout << "egammaParameters::etaSampling1 " << egammaParameters::etaSampling1 << std::endl;
434 // std::cout << "egammaParameters::deltaPhiRescaled " << egammaParameters::deltaPhiRescaled << std::endl;
435 // std::cout << "egammaParameters::extrapMethod " << egammaParameters::extrapMethod << std::endl;
436 // std::cout << "egammaParameters::deltaEta0 " << egammaParameters::deltaEta0 << std::endl;
437 // std::cout << "egammaParameters::deltaEta2 " << egammaParameters::deltaEta2 << std::endl;
438 // std::cout << "egammaParameters::deltaEta3 " << egammaParameters::deltaEta3 << std::endl;
439 // std::cout << "egammaParameters::deltaPhi0 " << egammaParameters::deltaPhi0 << std::endl;
440 // std::cout << "egammaParameters::deltaPhi1 " << egammaParameters::deltaPhi1 << std::endl;
441 // std::cout << "egammaParameters::deltaPhi3 " << egammaParameters::deltaPhi3 << std::endl;
442 }
443 
444 // ==============================================================
446  if ( hasBoolParameter(key) ) return true;
447  if (key == egammaParameters::deltaEta1) return true;
448  if (key == egammaParameters::deltaPhi2) return true;
449  if (key == egammaParameters::trackNumber) return true;
450  if (key == egammaParameters::linkIndex) return true;
451  if (key == egammaParameters::tracksInBroadWindow) return true;
452  if (key == egammaParameters::etaSampling1) return true;
453  if (key == egammaParameters::deltaPhiRescaled) return true;
454  if (key == egammaParameters::extrapMethod) return true;
455 
456  // The following are less often used, so we leave them at the end - RDS
457  if (key == egammaParameters::EtaExtraps0) return true;
458  if (key == egammaParameters::EtaExtraps1) return true;
459  if (key == egammaParameters::EtaExtraps2) return true;
460  if (key == egammaParameters::EtaExtraps3) return true;
461 
462  if (key == egammaParameters::PhiExtraps0) return true;
463  if (key == egammaParameters::PhiExtraps1) return true;
464  if (key == egammaParameters::PhiExtraps2) return true;
465  if (key == egammaParameters::PhiExtraps3) return true;
466 
467  if (key == egammaParameters::PhiRescaled0) return true;
468  if (key == egammaParameters::PhiRescaled1) return true;
469  if (key == egammaParameters::PhiRescaled2) return true;
470  if (key == egammaParameters::PhiRescaled3) return true;
471 
472  if (key == egammaParameters::deltaEta0) return true;
473  if (key == egammaParameters::deltaEta2) return true;
474  if (key == egammaParameters::deltaEta3) return true;
475  if (key == egammaParameters::deltaPhi0) return true;
476  if (key == egammaParameters::deltaPhi1) return true;
477  if (key == egammaParameters::deltaPhi3) return true;
478 
479  if (key == egammaParameters::deltaPhiRot) return true;
480  if (key == egammaParameters::deltaPhiLast) return true;
481 
482  if (key == egammaParameters::trackd0_physics) return true;
483  if (key == egammaParameters::trackd0_pv) return true;
484  if (key == egammaParameters::trackd0sigma_physics) return true;
485  if (key == egammaParameters::trackd0sigma_pv) return true;
486 
487  return false;
488 }
489 
490 // =================================================================
492 {
493  if (key == egammaParameters::isPrimary) return true;
494  if (key == egammaParameters::trackRefit) return true;
495  if (key == egammaParameters::expectHitInBLayer) return true;
496  return false;
497 }
498 
499 // ===============================================================
500 double EMTrackMatch::EtaExtrap (int sampl) const
501 {
502  //
503  // Eta extrapolated at presampler(0) -> 3rd sampling (3)
504  //
505 
507  if ( sampl == 0) key = egammaParameters::EtaExtraps0;
508  else if ( sampl == 1) key = egammaParameters::EtaExtraps1;
509  else if ( sampl == 2) key = egammaParameters::EtaExtraps2;
510  else if ( sampl == 3) key = egammaParameters::EtaExtraps3;
511  return parameter(key);
512 }
513 
514 // ===============================================================
515 double EMTrackMatch::PhiExtrap (int sampl) const
516 {
517  //
518  // Phi extrapolated at presampler (0) -> 3rd sampling (3)
519  //
521  if ( sampl == 0) key = egammaParameters::PhiExtraps0;
522  else if ( sampl == 1) key = egammaParameters::PhiExtraps1;
523  else if ( sampl == 2) key = egammaParameters::PhiExtraps2;
524  else if ( sampl == 3) key = egammaParameters::PhiExtraps3;
525  return parameter(key);
526 }
527 
528 // ===============================================================
529 double EMTrackMatch::PhiRescaled (int sampl) const
530 {
531  //
532  // Phi rescaled at presampler (0) -> 3rd sampling (3)
533  //
535  if ( sampl == 0) key = egammaParameters::PhiRescaled0;
536  else if ( sampl == 1) key = egammaParameters::PhiRescaled1;
537  else if ( sampl == 2) key = egammaParameters::PhiRescaled2;
538  else if ( sampl == 3) key = egammaParameters::PhiRescaled3;
539  return parameter(key);
540 }
541 
542 // ===============================================================
543 double EMTrackMatch::deltaEta (int sampl) const
544 {
545  //
546  // deltaEta at presampler(0) -> 3rd sampling (3)
547  //
548 
550  if ( sampl == 0) key = egammaParameters::deltaEta0;
551  else if ( sampl == 1) key = egammaParameters::deltaEta1;
552  else if ( sampl == 2) key = egammaParameters::deltaEta2;
553  else if ( sampl == 3) key = egammaParameters::deltaEta3;
554  return parameter(key);
555 }
556 
557 // ===============================================================
558 double EMTrackMatch::deltaPhi (int sampl) const
559 {
560  //
561  // deltaPhi at presampler (0) -> 3rd sampling (3)
562  //
564  if ( sampl == 0) key = egammaParameters::deltaPhi0;
565  else if ( sampl == 1) key = egammaParameters::deltaPhi1;
566  else if ( sampl == 2) key = egammaParameters::deltaPhi2;
567  else if ( sampl == 3) key = egammaParameters::deltaPhi3;
568  return parameter(key);
569 }
570 
571 // =============================================================
573 {
574  //
575  // eta at sampling 1 for extrapolation from the last hit -
576  // allows recalcultion of deltaEta
577  //
579 }
580 
581 // ==============================================================
583 {
584  //
585  // enum to indicate which track extrapolation method was used for
586  // track match
587  //
589 }
590 
591 // ==============================================================
593 {
594  //
595  //deltaPhi at sampling 2 for rescaled momentum extrapolation
596  // from the perigee
597  // Only available if not in deltaPhi, i.e. default.
598  //
600 }
601 
602 
603 // ==============================================================
605 {
606  //
607  //deltaPhi at sampling 2 for rescaled momentum extrapolation
608  // from the perigee
609  // Only available if not in deltaPhi, i.e. default.
610  //
612 }
613 
614 // ==============================================================
616 {
617  //
618  //deltaPhi from the last measurement
619  //
621 }
622 
623 // =================================================================
625 {
626  //
627  // true if matched track has a hit in first or second pixel layer
628  //
630 }
631 
632 // ================================================================
634 {
635  //
636  // index number in TrackContainer (counting starts at 1 for CBNT)
637  //
639 }
640 
641 // ================================================================
643 {
644  //
645  // index number among TrackParticle links of egamma object
646  // (counting starts at 0)
647  //
648  return (int) parameter(egammaParameters::linkIndex) ;
649 }
650 
651 // ===============================================================
653 {
655 }
656 
657 // ===============================================================
659 {
661 }
662 
663 // ===============================================================
665 {
666  //
667  // number of tracks in isolation window (taken at sampling 2):
668  // (# primary tracks if matched track is primary; otherwise all tracks)
669  //
671 }
672 
673 // ==================================================================
674 void EMTrackMatch::tracksInBroadWindow (int value, bool overwrite)
675 {
677 }
678 
679 // ==============================================================
681 {
682  //
683  // return track transverse impact parameter wrt beam spot
684  //
686 }
687 
688 // ==============================================================
689 double EMTrackMatch::trackd0_pv () const
690 {
691  //
692  // return track transverse impact parameter wrt primary vertex
693  //
695 }
696 
697 // ==============================================================
699 {
700  //
701  // return track transverse impact parameter wrt beam spot
702  //
704 }
705 
706 // ==============================================================
708 {
709  //
710  // return track transverse impact parameter wrt primary vertex
711  //
713 }
714 
715 // =================================================================
717 {
718  //
719  // true if expected hit in b-layer
720  //
722 }
723 
724 
EMTrackMatch::set_boolParameter
void set_boolParameter(egammaParameters::ParamDef, bool, bool overwrite=false)
Definition: EMTrackMatch.cxx:166
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
EMTrackMatch::deltaPhi
double deltaPhi(int) const
deltaPhi at pre sampler(0) -> 3rd sampling(3)
Definition: EMTrackMatch.cxx:558
egammaParameters::PhiRescaled0
@ PhiRescaled0
PhiRescaled to the presampler.
Definition: egammaParamDefs.h:686
EMTrackMatch::setDeltaPhi
void setDeltaPhi(int sampl, double value, bool overwrite=false)
Definition: EMTrackMatch.cxx:264
egammaParameters::trackd0sigma_pv
@ trackd0sigma_pv
transverse impact parameter with respect to primary vertex
Definition: egammaParamDefs.h:804
egammaParameters::deltaPhiRescaled
@ deltaPhiRescaled
difference between the cluster phi (sampling 2) and the phi of the track extrapolated from the perige...
Definition: egammaParamDefs.h:595
EMTrackMatch::linkIndex
virtual int linkIndex() const override
index number among TrackParticle links of the egamma object (counting starts at 0)
Definition: EMTrackMatch.cxx:642
EMTrackMatch
Definition: EMTrackMatch.h:20
get_generator_info.result
result
Definition: get_generator_info.py:21
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
EMTrackMatch::parameter
virtual double parameter(egammaParameters::ParamDef) const override
Definition: EMTrackMatch.cxx:109
egammaParameters::PhiRescaled3
@ PhiRescaled3
PhiRescaled to the 3rd sampling.
Definition: egammaParamDefs.h:692
EMTrackMatch::TrkExtrapDef
TrkExtrapDef
Enum for track extrapolation to calo.
Definition: EMTrackMatch.h:24
EMTrackMatch::hasBoolParameter
virtual bool hasBoolParameter(egammaParameters::ParamDef) const override final
Definition: EMTrackMatch.cxx:491
EMTrackMatch::trackd0sigma_pv
double trackd0sigma_pv() const
return track transverse impact parameter wrt primary vertex
Definition: EMTrackMatch.cxx:707
EMTrackMatch::setPhiExtrap
void setPhiExtrap(int sampl, double value, bool overwrite=false)
Definition: EMTrackMatch.cxx:222
xAOD::deltaPhi
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap setEtaBin setIsTgcFailure setDeltaPt deltaPhi
Definition: L2StandAloneMuon_v1.cxx:160
EMTrackMatch::setextrapMethod
void setextrapMethod(TrkExtrapDef value, bool overwrite=false)
Definition: EMTrackMatch.cxx:299
egammaParameters::PhiExtraps0
@ PhiExtraps0
phi of the track extrapolated to the presampler
Definition: egammaParamDefs.h:662
EMTrackMatch::deltaEta
double deltaEta(int) const
deltaEta at pre sampler(0) -> 3rd sampling(3)
Definition: EMTrackMatch.cxx:543
EMTrackMatch::PhiRescaled
double PhiRescaled(int) const
PhiRescaled at pre sampler(0) -> 3rd sampling(3)
Definition: EMTrackMatch.cxx:529
egammaParameters::ParamDef
ParamDef
Definition: egammaParamDefs.h:99
athena.value
value
Definition: athena.py:122
EMTrackMatch::hasParameter
virtual bool hasParameter(egammaParameters::ParamDef) const override
Definition: EMTrackMatch.cxx:445
EMTrackMatch::fillEtaPhiExtrap
void fillEtaPhiExtrap(const std::vector< double > &EtaExtrap, const std::vector< double > &PhiExtrap)
set method (EtaExtrap and PhiExtrap)
Definition: EMTrackMatch.cxx:393
egammaParameters::PhiRescaled2
@ PhiRescaled2
PhiRescaled to the 2nd sampling.
Definition: egammaParamDefs.h:690
egammaParameters::deltaEta2
@ deltaEta2
difference between the cluster eta (second sampling) and the eta of the track extrapolated to the sec...
Definition: egammaParamDefs.h:206
EMTrackMatch::deltaPhiLast
double deltaPhiLast() const
deltaPhi from the last Point
Definition: EMTrackMatch.cxx:615
egammaParameters::EgParamUndefined
const double EgParamUndefined
Definition: egammaParamDefs.h:78
EMTrackMatch::PhiExtrap
double PhiExtrap(int) const
Phi of track extrapolated at pre sampler(0) -> 3rd sampling(3)
Definition: EMTrackMatch.cxx:515
egammaParameters::deltaPhiRot
@ deltaPhiRot
rotation of the track in the magnetic field: difference between the phi direction of the track at the...
Definition: egammaParamDefs.h:673
egammaParameters::extrapMethod
@ extrapMethod
enum to indicate which track extrapolation method was used for track match
Definition: egammaParamDefs.h:603
EMTrackMatch::trackd0_physics
double trackd0_physics() const
return track transverse impact parameter wrt beam spot
Definition: EMTrackMatch.cxx:680
egammaParameters::deltaPhi3
@ deltaPhi3
difference between the cluster eta (3rd sampling) and the eta of the track extrapolated to the 3rd sa...
Definition: egammaParamDefs.h:223
egammaParameters::deltaPhi1
@ deltaPhi1
difference between the cluster eta (1st sampling) and the eta of the track extrapolated to the 1st sa...
Definition: egammaParamDefs.h:215
egammaParameters::deltaEta3
@ deltaEta3
difference between the cluster eta (3rd sampling) and the eta of the track extrapolated to the 3rd sa...
Definition: egammaParamDefs.h:209
egammaParameters::trackd0_pv
@ trackd0_pv
transverse impact parameter with respect to primary vertex
Definition: egammaParamDefs.h:651
EMTrackMatch::setPhiRescaled
void setPhiRescaled(int sampl, double value, bool overwrite=false)
Definition: EMTrackMatch.cxx:236
egammaParameters::trackNumber
@ trackNumber
index number in TrackContainer (counting starts at 1 for sake of CBNT)
Definition: egammaParamDefs.h:227
egammaParameters::EtaExtraps3
@ EtaExtraps3
eta of the track extrapolated to the 3rd sampling
Definition: egammaParamDefs.h:660
EMTrackMatch::expectHitInBLayer
bool expectHitInBLayer() const
boolean to know if b-layer hit is expected
Definition: EMTrackMatch.cxx:716
EMTrackMatch::extrapMethod
TrkExtrapDef extrapMethod() const
enum to indicate which track extrapolation method was used for track match.
Definition: EMTrackMatch.cxx:582
EMTrackMatch::trackNumber
int trackNumber() const
index number in TrackContainer (counting starts at 1 for sake of CBNT)
Definition: EMTrackMatch.cxx:633
ClassName.h
An interface for getting the name of a class as a string.
P4Helpers::deltaEta
double deltaEta(const I4Momentum &p1, const I4Momentum &p2)
Computes efficiently .
Definition: P4Helpers.h:53
egammaParameters::PhiRescaled1
@ PhiRescaled1
PhiRescaled to the 1st sampling (strips)
Definition: egammaParamDefs.h:688
lumiFormat.i
int i
Definition: lumiFormat.py:92
SG_ADD_BASE
SG_ADD_BASE(EMTrackMatch, egDetail)
BaseInfo.h
Provide an interface for finding inheritance information at run time.
egammaParameters::trackd0_physics
@ trackd0_physics
transverse impact parameter with respect beam spot
Definition: egammaParamDefs.h:649
ClassName::name
static std::string name()
Return the name of class T as a string.
egammaParameters::tracksInBroadWindow
@ tracksInBroadWindow
number of tracks in isolation window (taken at sampling 2): (# primary tracks if matched track is pri...
Definition: egammaParamDefs.h:231
EMTrackMatch::m_parameters
std::vector< std::pair< egammaParameters::ParamDef, double > > m_parameters
Definition: EMTrackMatch.h:179
EMTrackMatch::EMTrackMatch
EMTrackMatch()=default
Default constructor.
EMTrackMatch::trackRefit
bool trackRefit() const
true if track was refitted to account for brem effects
Definition: EMTrackMatch.cxx:658
EMTrackMatch::trackd0sigma_physics
double trackd0sigma_physics() const
return track transverse impact parameter wrt beam spot
Definition: EMTrackMatch.cxx:698
EMTrackMatch::setDeltaPhiLast
void setDeltaPhiLast(double value, bool overwrite=false)
Definition: EMTrackMatch.cxx:319
egammaParameters::trackd0sigma_physics
@ trackd0sigma_physics
transverse impact parameter with respect beam spot
Definition: egammaParamDefs.h:802
egammaParameters::EtaExtraps0
@ EtaExtraps0
eta of the track extrapolated to the presampler
Definition: egammaParamDefs.h:654
EMTrackMatch::set_parameter
void set_parameter(egammaParameters::ParamDef, double, bool overwrite=false)
Definition: EMTrackMatch.cxx:132
EMTrackMatch::print
void print() const
Definition: EMTrackMatch.cxx:414
egammaParameters::deltaPhiLast
@ deltaPhiLast
deltaPhi from the las point
Definition: egammaParamDefs.h:724
egammaParameters::PhiExtraps3
@ PhiExtraps3
phi of the track extrapolated to the 3rd sampling
Definition: egammaParamDefs.h:668
egammaParameters::trackRefit
@ trackRefit
true if track was refitted to account for brem effects
Definition: egammaParamDefs.h:233
egammaParameters::EtaExtraps1
@ EtaExtraps1
eta of the track extrapolated to the 1st sampling
Definition: egammaParamDefs.h:656
EMTrackMatch::setDeltaEta
void setDeltaEta(int sampl, double value, bool overwrite=false)
Definition: EMTrackMatch.cxx:250
egammaParameters::deltaEta1
@ deltaEta1
difference between the cluster eta (first sampling) and the eta of the track extrapolated to the firs...
Definition: egammaParamDefs.h:204
EMTrackMatch::isPrimary
bool isPrimary() const
true if matched track has a hit in first or second pixel layer
Definition: EMTrackMatch.cxx:624
EMTrackMatch::m_parametersBool
std::vector< std::pair< egammaParameters::ParamDef, bool > > m_parametersBool
Definition: EMTrackMatch.h:180
egammaParameters::EtaExtraps2
@ EtaExtraps2
eta of the track extrapolated to the 2nd sampling
Definition: egammaParamDefs.h:658
EMTrackMatch::setDeltaPhiRot
void setDeltaPhiRot(double value, bool overwrite=false)
Definition: EMTrackMatch.cxx:308
EMTrackMatch::etaSampling1
double etaSampling1() const
eta at sampling 1 for extrapolation from the last hit - allows recalcultion of deltaEta
Definition: EMTrackMatch.cxx:572
egammaParameters::PhiExtraps1
@ PhiExtraps1
phi of the track extrapolated to the 1st sampling
Definition: egammaParamDefs.h:664
EMTrackMatch::tracksInBroadWindow
int tracksInBroadWindow() const
number of tracks in isolation window (taken at sampling 2): (# primary tracks if matched track is pri...
Definition: EMTrackMatch.cxx:664
EMTrackMatch::deltaPhiRescaled
double deltaPhiRescaled() const
deltaPhi at sampling 2 for rescaled momentum extrapolation from the perigee.
Definition: EMTrackMatch.cxx:592
EMTrackMatch::boolParameter
virtual bool boolParameter(egammaParameters::ParamDef) const override
Definition: EMTrackMatch.cxx:190
TRT::Track::trackNumber
@ trackNumber
Definition: InnerDetector/InDetCalibEvent/TRT_CalibData/TRT_CalibData/TrackInfo.h:75
EMTrackMatch::set_linkIndex
virtual void set_linkIndex(int value) override
Definition: EMTrackMatch.cxx:652
egammaParameters::deltaEta0
@ deltaEta0
difference between the cluster eta (presampler) and the eta of the track extrapolated to the presampl...
Definition: egammaParamDefs.h:202
EMTrackMatch::EtaExtrap
double EtaExtrap(int) const
Eta of track extrapolated at pre sampler(0) -> 3rd sampling(3)
Definition: EMTrackMatch.cxx:500
EMTrackMatch::className
virtual const std::string & className() const override
interface methods
Definition: EMTrackMatch.cxx:102
EMTrackMatch::deltaPhiRot
double deltaPhiRot() const
deltaPhi between the direction of the momentum of the track at its perigee and the phi of the POSITIO...
Definition: EMTrackMatch.cxx:604
egammaParameters::linkIndex
@ linkIndex
link index for multiple track and vertex matches
Definition: egammaParamDefs.h:574
EMTrackMatch::setEtaExtrap
void setEtaExtrap(int sampl, double value, bool overwrite=false)
Definition: EMTrackMatch.cxx:208
egammaParameters::etaSampling1
@ etaSampling1
eta position at sampling 1 for track extrapolated from the last hit.
Definition: egammaParamDefs.h:599
egammaParameters::deltaPhi0
@ deltaPhi0
difference between the cluster phi (presampler) and the eta of the track extrapolated to the presampl...
Definition: egammaParamDefs.h:212
egammaParameters::PhiExtraps2
@ PhiExtraps2
phi of the track extrapolated to the 2nd sampling
Definition: egammaParamDefs.h:666
EMTrackMatch::fill
void fill(const std::vector< double > &deltaEta, const std::vector< double > &deltaPhi, bool isPrimary, int trackNumber, bool trackRefit, int linkIndex=0)
general set method (arguments as constructor)
Definition: EMTrackMatch.cxx:366
egDetail
Definition: egDetail.h:29
egammaParameters::expectHitInBLayer
@ expectHitInBLayer
expectHitInBLayer (set to 1 if true)
Definition: egammaParamDefs.h:683
EMTrackMatch.h
EMTrackMatch::trackd0_pv
double trackd0_pv() const
return track transverse impact parameter wrt primary vertex
Definition: EMTrackMatch.cxx:689
egammaParameters::deltaPhi2
@ deltaPhi2
difference between the cluster phi (second sampling) and the phi of the track extrapolated to the sec...
Definition: egammaParamDefs.h:220
EMTrackMatch::setEtaSampling1
void setEtaSampling1(double value, bool overwrite=false)
Definition: EMTrackMatch.cxx:278
egammaParameters::isPrimary
@ isPrimary
true if matched track has a hit in first or second pixel layer
Definition: egammaParamDefs.h:225
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
EMTrackMatch::setDeltaPhiRescaled
void setDeltaPhiRescaled(double value, bool overwrite=false)
Definition: EMTrackMatch.cxx:288