ATLAS Offline Software
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
EMTrackMatch Class Reference

#include <EMTrackMatch.h>

Inheritance diagram for EMTrackMatch:
Collaboration diagram for EMTrackMatch:

Public Types

enum  TrkExtrapDef { fromLastMeasurement, fromPerigee, fromPerigeeRescaled, fromCaloToPerigee }
 Enum for track extrapolation to calo. More...
 

Public Member Functions

 EMTrackMatch ()=default
 Default constructor. More...
 
 EMTrackMatch (const std::vector< double > &deltaEta, const std::vector< double > &deltaPhi, bool isPrimary, int trackNumber, bool trackRefit, int linkIndex=0)
 constructor with data More...
 
 EMTrackMatch (const std::vector< double > &EtaExtrap, const std::vector< double > &PhiExtrap, const std::vector< double > &deltaEta, const std::vector< double > &deltaPhi, bool isPrimary, int trackNumber, bool trackRefit, int linkIndex=0)
 constructor with data More...
 
virtual ~EMTrackMatch ()=default
 Destructor. More...
 
virtual const std::string & className () const override
 interface methods More...
 
virtual double parameter (egammaParameters::ParamDef) const override
 
virtual bool hasParameter (egammaParameters::ParamDef) const override
 
virtual bool hasBoolParameter (egammaParameters::ParamDef) const override final
 
void set_parameter (egammaParameters::ParamDef, double, bool overwrite=false)
 
void set_boolParameter (egammaParameters::ParamDef, bool, bool overwrite=false)
 
double deltaEta (int) const
 deltaEta at pre sampler(0) -> 3rd sampling(3) More...
 
double deltaPhi (int) const
 deltaPhi at pre sampler(0) -> 3rd sampling(3) More...
 
double EtaExtrap (int) const
 Eta of track extrapolated at pre sampler(0) -> 3rd sampling(3) More...
 
double PhiExtrap (int) const
 Phi of track extrapolated at pre sampler(0) -> 3rd sampling(3) More...
 
double PhiRescaled (int) const
 PhiRescaled at pre sampler(0) -> 3rd sampling(3) More...
 
double etaSampling1 () const
 eta at sampling 1 for extrapolation from the last hit - allows recalcultion of deltaEta More...
 
double deltaPhiRescaled () const
 deltaPhi at sampling 2 for rescaled momentum extrapolation from the perigee. More...
 
TrkExtrapDef extrapMethod () const
 enum to indicate which track extrapolation method was used for track match. More...
 
double deltaPhiRot () const
 deltaPhi between the direction of the momentum of the track at its perigee and the phi of the POSITION of the "center of gravity" of the electron as seen from the POSITION of the vertex of the track. More...
 
double deltaPhiLast () const
 deltaPhi from the last Point More...
 
double trackd0_physics () const
 return track transverse impact parameter wrt beam spot More...
 
double trackd0_pv () const
 return track transverse impact parameter wrt primary vertex More...
 
double trackd0sigma_physics () const
 return track transverse impact parameter wrt beam spot More...
 
double trackd0sigma_pv () const
 return track transverse impact parameter wrt primary vertex More...
 
bool expectHitInBLayer () const
 boolean to know if b-layer hit is expected More...
 
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) More...
 
void fill (const std::vector< double > &EtaExtrap, const std::vector< double > &PhiExtrap, 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) More...
 
void fill (int trackNumber)
 set method (only E/p - which is obsolete BTW !) More...
 
void fillEtaPhiExtrap (const std::vector< double > &EtaExtrap, const std::vector< double > &PhiExtrap)
 set method (EtaExtrap and PhiExtrap) More...
 
void fill (const std::vector< double > &deltaEta, const std::vector< double > &deltaPhi)
 set method (DeltaEta and Phi) More...
 
bool isPrimary () const
 true if matched track has a hit in first or second pixel layer More...
 
bool trackRefit () const
 true if track was refitted to account for brem effects More...
 
void print () const
 
int trackNumber () const
 index number in TrackContainer (counting starts at 1 for sake of CBNT) More...
 
virtual int linkIndex () const override
 index number among TrackParticle links of the egamma object (counting starts at 0) More...
 
virtual void set_linkIndex (int value) override
 
int tracksInBroadWindow () const
 number of tracks in isolation window (taken at sampling 2): (# primary tracks if matched track is primary; otherwise all tracks) note: overload used to distinguish get/set method More...
 
void tracksInBroadWindow (int value, bool overwrite=true)
 
void setEtaExtrap (int sampl, double value, bool overwrite=false)
 
void setPhiExtrap (int sampl, double value, bool overwrite=false)
 
void setPhiRescaled (int sampl, double value, bool overwrite=false)
 
void setDeltaEta (int sampl, double value, bool overwrite=false)
 
void setDeltaPhi (int sampl, double value, bool overwrite=false)
 
void setEtaSampling1 (double value, bool overwrite=false)
 
void setDeltaPhiRescaled (double value, bool overwrite=false)
 
void setextrapMethod (TrkExtrapDef value, bool overwrite=false)
 
void setDeltaPhiRot (double value, bool overwrite=false)
 
void setDeltaPhiLast (double value, bool overwrite=false)
 
virtual int intParameter (egammaParameters::ParamDef) const
 
virtual bool hasIntParameter (egammaParameters::ParamDef) const
 

Private Member Functions

virtual bool boolParameter (egammaParameters::ParamDef) const override
 

Private Attributes

std::vector< std::pair< egammaParameters::ParamDef, double > > m_parameters
 
std::vector< std::pair< egammaParameters::ParamDef, bool > > m_parametersBool
 

Detailed Description

Track match property data class. It is made by EMTrackMatchBuilder, which is an algorithm responsible for the match of a calo cluster with the best matched track in front of the shower.

Author
H. Ma, S. Rajagopalan

Definition at line 19 of file EMTrackMatch.h.

Member Enumeration Documentation

◆ TrkExtrapDef

Enum for track extrapolation to calo.

Enumerator
fromLastMeasurement 

from the last measurement of TrackParticle

fromPerigee 

from the perigee of TrackParticle

fromPerigeeRescaled 

from the perigee of TrackParticle rescaled by Ecluster

fromCaloToPerigee 

from the calo to the perigee - fast extrapolation

Definition at line 24 of file EMTrackMatch.h.

Constructor & Destructor Documentation

◆ EMTrackMatch() [1/3]

EMTrackMatch::EMTrackMatch ( )
default

Default constructor.

◆ EMTrackMatch() [2/3]

EMTrackMatch::EMTrackMatch ( const std::vector< double > &  deltaEta,
const std::vector< double > &  deltaPhi,
bool  isPrimary,
int  trackNumber,
bool  trackRefit,
int  linkIndex = 0 
)

constructor with data

Definition at line 83 of file EMTrackMatch.cxx.

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 }

◆ EMTrackMatch() [3/3]

EMTrackMatch::EMTrackMatch ( const std::vector< double > &  EtaExtrap,
const std::vector< double > &  PhiExtrap,
const std::vector< double > &  deltaEta,
const std::vector< double > &  deltaPhi,
bool  isPrimary,
int  trackNumber,
bool  trackRefit,
int  linkIndex = 0 
)

constructor with data

Definition at line 55 of file EMTrackMatch.cxx.

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 }

◆ ~EMTrackMatch()

virtual EMTrackMatch::~EMTrackMatch ( )
virtualdefault

Destructor.

Member Function Documentation

◆ boolParameter()

bool EMTrackMatch::boolParameter ( egammaParameters::ParamDef  key) const
overrideprivatevirtual

Reimplemented from egDetail.

Definition at line 190 of file EMTrackMatch.cxx.

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 }

◆ className()

const std::string & EMTrackMatch::className ( ) const
overridevirtual

interface methods

Reimplemented from egDetail.

Definition at line 102 of file EMTrackMatch.cxx.

103 {
104  static const std::string className = ClassName<EMTrackMatch>::name();
105  return className;
106 }

◆ deltaEta()

double EMTrackMatch::deltaEta ( int  sampl) const

deltaEta at pre sampler(0) -> 3rd sampling(3)

Definition at line 543 of file EMTrackMatch.cxx.

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 }

◆ deltaPhi()

double EMTrackMatch::deltaPhi ( int  sampl) const

deltaPhi at pre sampler(0) -> 3rd sampling(3)

Definition at line 558 of file EMTrackMatch.cxx.

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 }

◆ deltaPhiLast()

double EMTrackMatch::deltaPhiLast ( ) const

deltaPhi from the last Point

Definition at line 615 of file EMTrackMatch.cxx.

616 {
617  //
618  //deltaPhi from the last measurement
619  //
621 }

◆ deltaPhiRescaled()

double EMTrackMatch::deltaPhiRescaled ( ) const

deltaPhi at sampling 2 for rescaled momentum extrapolation from the perigee.

Only available if not in deltaPhi, i.e. default.

Definition at line 592 of file EMTrackMatch.cxx.

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 }

◆ deltaPhiRot()

double EMTrackMatch::deltaPhiRot ( ) const

deltaPhi between the direction of the momentum of the track at its perigee and the phi of the POSITION of the "center of gravity" of the electron as seen from the POSITION of the vertex of the track.

(And not the PHI DIRECTION of the momentum of the track at its center of gravity in the calo. There's a factor of 2 if one uses the phi direction of the momentum.)

Definition at line 604 of file EMTrackMatch.cxx.

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 }

◆ EtaExtrap()

double EMTrackMatch::EtaExtrap ( int  sampl) const

Eta of track extrapolated at pre sampler(0) -> 3rd sampling(3)

Definition at line 500 of file EMTrackMatch.cxx.

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 }

◆ etaSampling1()

double EMTrackMatch::etaSampling1 ( ) const

eta at sampling 1 for extrapolation from the last hit - allows recalcultion of deltaEta

Definition at line 572 of file EMTrackMatch.cxx.

573 {
574  //
575  // eta at sampling 1 for extrapolation from the last hit -
576  // allows recalcultion of deltaEta
577  //
579 }

◆ expectHitInBLayer()

bool EMTrackMatch::expectHitInBLayer ( ) const

boolean to know if b-layer hit is expected

Definition at line 716 of file EMTrackMatch.cxx.

717 {
718  //
719  // true if expected hit in b-layer
720  //
722 }

◆ extrapMethod()

EMTrackMatch::TrkExtrapDef EMTrackMatch::extrapMethod ( ) const

enum to indicate which track extrapolation method was used for track match.

Definition at line 582 of file EMTrackMatch.cxx.

583 {
584  //
585  // enum to indicate which track extrapolation method was used for
586  // track match
587  //
589 }

◆ fill() [1/4]

void EMTrackMatch::fill ( const std::vector< double > &  deltaEta,
const std::vector< double > &  deltaPhi 
)

set method (DeltaEta and Phi)

Definition at line 405 of file EMTrackMatch.cxx.

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 }

◆ fill() [2/4]

void EMTrackMatch::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 at line 366 of file EMTrackMatch.cxx.

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 }

◆ fill() [3/4]

void EMTrackMatch::fill ( const std::vector< double > &  EtaExtrap,
const std::vector< double > &  PhiExtrap,
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 at line 340 of file EMTrackMatch.cxx.

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 }

◆ fill() [4/4]

void EMTrackMatch::fill ( int  trackNumber)

set method (only E/p - which is obsolete BTW !)

Definition at line 385 of file EMTrackMatch.cxx.

386 {
388 }

◆ fillEtaPhiExtrap()

void EMTrackMatch::fillEtaPhiExtrap ( const std::vector< double > &  EtaExtrap,
const std::vector< double > &  PhiExtrap 
)

set method (EtaExtrap and PhiExtrap)

Definition at line 393 of file EMTrackMatch.cxx.

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 }

◆ hasBoolParameter()

bool EMTrackMatch::hasBoolParameter ( egammaParameters::ParamDef  key) const
finaloverridevirtual

Reimplemented from egDetail.

Definition at line 491 of file EMTrackMatch.cxx.

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 }

◆ hasIntParameter()

bool egDetail::hasIntParameter ( egammaParameters::ParamDef  ) const
virtualinherited

Reimplemented in EMConvert, EMTrackFit, EMBremFit, and EMErrorDetail.

Definition at line 29 of file egDetail.cxx.

30 {
31  return false;
32 }

◆ hasParameter()

bool EMTrackMatch::hasParameter ( egammaParameters::ParamDef  key) const
overridevirtual

Reimplemented from egDetail.

Definition at line 445 of file EMTrackMatch.cxx.

445  {
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 }

◆ intParameter()

int egDetail::intParameter ( egammaParameters::ParamDef  ) const
virtualinherited

Reimplemented in EMConvert, EMTrackFit, EMBremFit, and EMErrorDetail.

Definition at line 14 of file egDetail.cxx.

15 {
17 }

◆ isPrimary()

bool EMTrackMatch::isPrimary ( ) const

true if matched track has a hit in first or second pixel layer

Definition at line 624 of file EMTrackMatch.cxx.

625 {
626  //
627  // true if matched track has a hit in first or second pixel layer
628  //
630 }

◆ linkIndex()

int EMTrackMatch::linkIndex ( ) const
overridevirtual

index number among TrackParticle links of the egamma object (counting starts at 0)

Reimplemented from egDetail.

Definition at line 642 of file EMTrackMatch.cxx.

643 {
644  //
645  // index number among TrackParticle links of egamma object
646  // (counting starts at 0)
647  //
648  return (int) parameter(egammaParameters::linkIndex) ;
649 }

◆ parameter()

double EMTrackMatch::parameter ( egammaParameters::ParamDef  key) const
overridevirtual

Reimplemented from egDetail.

Definition at line 109 of file EMTrackMatch.cxx.

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 }

◆ PhiExtrap()

double EMTrackMatch::PhiExtrap ( int  sampl) const

Phi of track extrapolated at pre sampler(0) -> 3rd sampling(3)

Definition at line 515 of file EMTrackMatch.cxx.

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 }

◆ PhiRescaled()

double EMTrackMatch::PhiRescaled ( int  sampl) const

PhiRescaled at pre sampler(0) -> 3rd sampling(3)

Definition at line 529 of file EMTrackMatch.cxx.

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 }

◆ print()

void EMTrackMatch::print ( ) const

Definition at line 414 of file EMTrackMatch.cxx.

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 }

◆ set_boolParameter()

void EMTrackMatch::set_boolParameter ( egammaParameters::ParamDef  key,
bool  value,
bool  overwrite = false 
)

Definition at line 166 of file EMTrackMatch.cxx.

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 }

◆ set_linkIndex()

void EMTrackMatch::set_linkIndex ( int  value)
overridevirtual

Reimplemented from egDetail.

Definition at line 652 of file EMTrackMatch.cxx.

653 {
655 }

◆ set_parameter()

void EMTrackMatch::set_parameter ( egammaParameters::ParamDef  key,
double  value,
bool  overwrite = false 
)

Definition at line 132 of file EMTrackMatch.cxx.

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 }

◆ setDeltaEta()

void EMTrackMatch::setDeltaEta ( int  sampl,
double  value,
bool  overwrite = false 
)

Definition at line 250 of file EMTrackMatch.cxx.

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 }

◆ setDeltaPhi()

void EMTrackMatch::setDeltaPhi ( int  sampl,
double  value,
bool  overwrite = false 
)

Definition at line 264 of file EMTrackMatch.cxx.

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 }

◆ setDeltaPhiLast()

void EMTrackMatch::setDeltaPhiLast ( double  value,
bool  overwrite = false 
)

Definition at line 319 of file EMTrackMatch.cxx.

320 {
321  //
322  // deltaPhi at sampling 2 from the last measurement
323  //
325 }

◆ setDeltaPhiRescaled()

void EMTrackMatch::setDeltaPhiRescaled ( double  value,
bool  overwrite = false 
)

Definition at line 288 of file EMTrackMatch.cxx.

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 }

◆ setDeltaPhiRot()

void EMTrackMatch::setDeltaPhiRot ( double  value,
bool  overwrite = false 
)

Definition at line 308 of file EMTrackMatch.cxx.

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 }

◆ setEtaExtrap()

void EMTrackMatch::setEtaExtrap ( int  sampl,
double  value,
bool  overwrite = false 
)

Definition at line 208 of file EMTrackMatch.cxx.

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 }

◆ setEtaSampling1()

void EMTrackMatch::setEtaSampling1 ( double  value,
bool  overwrite = false 
)

Definition at line 278 of file EMTrackMatch.cxx.

279 {
280  //
281  // eta at sampling 1 for extrapolation from the last hit -
282  // allows recalcultion of deltaEta
283  //
285 }

◆ setextrapMethod()

void EMTrackMatch::setextrapMethod ( TrkExtrapDef  value,
bool  overwrite = false 
)

Definition at line 299 of file EMTrackMatch.cxx.

300 {
301  //
302  // extrapolation method used for track match
303  //
304  return set_parameter(egammaParameters::extrapMethod, (double) value, overwrite);
305 }

◆ setPhiExtrap()

void EMTrackMatch::setPhiExtrap ( int  sampl,
double  value,
bool  overwrite = false 
)

Definition at line 222 of file EMTrackMatch.cxx.

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 }

◆ setPhiRescaled()

void EMTrackMatch::setPhiRescaled ( int  sampl,
double  value,
bool  overwrite = false 
)

Definition at line 236 of file EMTrackMatch.cxx.

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 }

◆ trackd0_physics()

double EMTrackMatch::trackd0_physics ( ) const

return track transverse impact parameter wrt beam spot

Definition at line 680 of file EMTrackMatch.cxx.

681 {
682  //
683  // return track transverse impact parameter wrt beam spot
684  //
686 }

◆ trackd0_pv()

double EMTrackMatch::trackd0_pv ( ) const

return track transverse impact parameter wrt primary vertex

Definition at line 689 of file EMTrackMatch.cxx.

690 {
691  //
692  // return track transverse impact parameter wrt primary vertex
693  //
695 }

◆ trackd0sigma_physics()

double EMTrackMatch::trackd0sigma_physics ( ) const

return track transverse impact parameter wrt beam spot

Definition at line 698 of file EMTrackMatch.cxx.

699 {
700  //
701  // return track transverse impact parameter wrt beam spot
702  //
704 }

◆ trackd0sigma_pv()

double EMTrackMatch::trackd0sigma_pv ( ) const

return track transverse impact parameter wrt primary vertex

Definition at line 707 of file EMTrackMatch.cxx.

708 {
709  //
710  // return track transverse impact parameter wrt primary vertex
711  //
713 }

◆ trackNumber()

int EMTrackMatch::trackNumber ( ) const

index number in TrackContainer (counting starts at 1 for sake of CBNT)

Definition at line 633 of file EMTrackMatch.cxx.

634 {
635  //
636  // index number in TrackContainer (counting starts at 1 for CBNT)
637  //
639 }

◆ trackRefit()

bool EMTrackMatch::trackRefit ( ) const

true if track was refitted to account for brem effects

Definition at line 658 of file EMTrackMatch.cxx.

659 {
661 }

◆ tracksInBroadWindow() [1/2]

int EMTrackMatch::tracksInBroadWindow ( ) const

number of tracks in isolation window (taken at sampling 2): (# primary tracks if matched track is primary; otherwise all tracks) note: overload used to distinguish get/set method

Definition at line 664 of file EMTrackMatch.cxx.

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 }

◆ tracksInBroadWindow() [2/2]

void EMTrackMatch::tracksInBroadWindow ( int  value,
bool  overwrite = true 
)

Definition at line 674 of file EMTrackMatch.cxx.

675 {
677 }

Member Data Documentation

◆ m_parameters

std::vector< std::pair<egammaParameters::ParamDef , double > > EMTrackMatch::m_parameters
private

Definition at line 179 of file EMTrackMatch.h.

◆ m_parametersBool

std::vector< std::pair<egammaParameters::ParamDef, bool> > EMTrackMatch::m_parametersBool
private

Definition at line 180 of file EMTrackMatch.h.


The documentation for this class was generated from the following files:
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
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::setPhiExtrap
void setPhiExtrap(int sampl, double value, bool overwrite=false)
Definition: EMTrackMatch.cxx:222
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
egammaParameters::ParamDef
ParamDef
Definition: egammaParamDefs.h:99
athena.value
value
Definition: athena.py:122
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
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
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
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::trackNumber
int trackNumber() const
index number in TrackContainer (counting starts at 1 for sake of CBNT)
Definition: EMTrackMatch.cxx:633
egammaParameters::PhiRescaled1
@ PhiRescaled1
PhiRescaled to the 1st sampling (strips)
Definition: egammaParamDefs.h:688
lumiFormat.i
int i
Definition: lumiFormat.py:92
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::fromCaloToPerigee
@ fromCaloToPerigee
from the calo to the perigee - fast extrapolation
Definition: EMTrackMatch.h:32
EMTrackMatch::trackRefit
bool trackRefit() const
true if track was refitted to account for brem effects
Definition: EMTrackMatch.cxx:658
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::fromPerigeeRescaled
@ fromPerigeeRescaled
from the perigee of TrackParticle rescaled by Ecluster
Definition: EMTrackMatch.h:30
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
egammaParameters::PhiExtraps1
@ PhiExtraps1
phi of the track extrapolated to the 1st sampling
Definition: egammaParamDefs.h:664
EMTrackMatch::boolParameter
virtual bool boolParameter(egammaParameters::ParamDef) const override
Definition: EMTrackMatch.cxx:190
EMTrackMatch::fromPerigee
@ fromPerigee
from the perigee of TrackParticle
Definition: EMTrackMatch.h:28
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::fromLastMeasurement
@ fromLastMeasurement
from the last measurement of TrackParticle
Definition: EMTrackMatch.h:26
EMTrackMatch::className
virtual const std::string & className() const override
interface methods
Definition: EMTrackMatch.cxx:102
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
egammaParameters::expectHitInBLayer
@ expectHitInBLayer
expectHitInBLayer (set to 1 if true)
Definition: egammaParamDefs.h:683
egDetail::egDetail
egDetail()=default
Default constructor.
egammaParameters::deltaPhi2
@ deltaPhi2
difference between the cluster phi (second sampling) and the phi of the track extrapolated to the sec...
Definition: egammaParamDefs.h:220
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