ATLAS Offline Software
Loading...
Searching...
No Matches
EMTrackMatch Class Reference

Track match property data class. More...

#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.
 EMTrackMatch (const std::vector< double > &deltaEta, const std::vector< double > &deltaPhi, bool isPrimary, int trackNumber, bool trackRefit, int linkIndex=0)
 constructor with data
 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
virtual ~EMTrackMatch ()=default
 Destructor.
virtual const std::string & className () const override
 interface methods
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)
double deltaPhi (int) const
 deltaPhi at pre sampler(0) -> 3rd sampling(3)
double EtaExtrap (int) const
 Eta of track extrapolated at pre sampler(0) -> 3rd sampling(3)
double PhiExtrap (int) const
 Phi of track extrapolated at pre sampler(0) -> 3rd sampling(3)
double PhiRescaled (int) const
 PhiRescaled at pre sampler(0) -> 3rd sampling(3)
double etaSampling1 () const
 eta at sampling 1 for extrapolation from the last hit - allows recalcultion of deltaEta
double deltaPhiRescaled () const
 deltaPhi at sampling 2 for rescaled momentum extrapolation from the perigee.
TrkExtrapDef extrapMethod () const
 enum to indicate which track extrapolation method was used for track match.
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.
double deltaPhiLast () const
 deltaPhi from the last Point
double trackd0_physics () const
 return track transverse impact parameter wrt beam spot
double trackd0_pv () const
 return track transverse impact parameter wrt primary vertex
double trackd0sigma_physics () const
 return track transverse impact parameter wrt beam spot
double trackd0sigma_pv () const
 return track transverse impact parameter wrt primary vertex
bool expectHitInBLayer () const
 boolean to know if b-layer hit is expected
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)
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)
void fill (int trackNumber)
 set method (only E/p - which is obsolete BTW !)
void fillEtaPhiExtrap (const std::vector< double > &EtaExtrap, const std::vector< double > &PhiExtrap)
 set method (EtaExtrap and PhiExtrap)
void fill (const std::vector< double > &deltaEta, const std::vector< double > &deltaPhi)
 set method (DeltaEta and Phi)
bool isPrimary () const
 true if matched track has a hit in first or second pixel layer
bool trackRefit () const
 true if track was refitted to account for brem effects
void print () const
int trackNumber () const
 index number in TrackContainer (counting starts at 1 for sake of CBNT)
virtual int linkIndex () const override
 index number among TrackParticle links of the egamma object (counting starts at 0)
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
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.

24 {
33 };
@ fromPerigee
from the perigee of TrackParticle
@ fromCaloToPerigee
from the calo to the perigee - fast extrapolation
@ fromPerigeeRescaled
from the perigee of TrackParticle rescaled by Ecluster
@ fromLastMeasurement
from the last measurement of TrackParticle

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}
virtual int linkIndex() const override
index number among TrackParticle links of the egamma object (counting starts at 0)
int trackNumber() const
index number in TrackContainer (counting starts at 1 for sake of CBNT)
bool isPrimary() const
true if matched track has a hit in first or second pixel layer
bool trackRefit() const
true if track was refitted to account for brem effects
void set_boolParameter(egammaParameters::ParamDef, bool, bool overwrite=false)
void setDeltaPhi(int sampl, double value, bool overwrite=false)
void set_parameter(egammaParameters::ParamDef, double, bool overwrite=false)
double deltaPhi(int) const
deltaPhi at pre sampler(0) -> 3rd sampling(3)
double deltaEta(int) const
deltaEta at pre sampler(0) -> 3rd sampling(3)
void setDeltaEta(int sampl, double value, bool overwrite=false)
egDetail()=default
Default constructor.
@ trackRefit
true if track was refitted to account for brem effects
@ tracksInBroadWindow
number of tracks in isolation window (taken at sampling 2): (# primary tracks if matched track is pri...
@ isPrimary
true if matched track has a hit in first or second pixel layer
@ trackNumber
index number in TrackContainer (counting starts at 1 for sake of CBNT)
@ linkIndex
link index for multiple track and vertex matches

◆ 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}
double PhiExtrap(int) const
Phi of track extrapolated at pre sampler(0) -> 3rd sampling(3)
double EtaExtrap(int) const
Eta of track extrapolated at pre sampler(0) -> 3rd sampling(3)
void setEtaExtrap(int sampl, double value, bool overwrite=false)
void setPhiExtrap(int sampl, double value, bool overwrite=false)

◆ ~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}
std::vector< std::pair< egammaParameters::ParamDef, bool > > m_parametersBool

◆ 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}
static std::string name()
Return the name of class T as a string.
virtual const std::string & className() const override
interface methods

◆ 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}
virtual double parameter(egammaParameters::ParamDef) const override
@ deltaEta3
difference between the cluster eta (3rd sampling) and the eta of the track extrapolated to the 3rd sa...
@ deltaEta1
difference between the cluster eta (first sampling) and the eta of the track extrapolated to the firs...
@ deltaEta0
difference between the cluster eta (presampler) and the eta of the track extrapolated to the presampl...
@ deltaEta2
difference between the cluster eta (second sampling) and the eta of the track extrapolated to the sec...

◆ 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}
@ deltaPhi2
difference between the cluster phi (second sampling) and the phi of the track extrapolated to the sec...
@ deltaPhi0
difference between the cluster phi (presampler) and the eta of the track extrapolated to the presampl...
@ deltaPhi1
difference between the cluster eta (1st sampling) and the eta of the track extrapolated to the 1st sa...
@ deltaPhi3
difference between the cluster eta (3rd sampling) and the eta of the track extrapolated to the 3rd sa...

◆ 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}
@ deltaPhiLast
deltaPhi from the las point

◆ 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}
@ deltaPhiRescaled
difference between the cluster phi (sampling 2) and the phi of the track extrapolated from the perige...

◆ 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}
@ deltaPhiRot
rotation of the track in the magnetic field: difference between the phi direction of the track at the...

◆ 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}
@ EtaExtraps3
eta of the track extrapolated to the 3rd sampling
@ EtaExtraps2
eta of the track extrapolated to the 2nd sampling
@ EtaExtraps0
eta of the track extrapolated to the presampler
@ EtaExtraps1
eta of the track extrapolated to the 1st sampling

◆ 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}
@ etaSampling1
eta position at sampling 1 for track extrapolated from the last hit.

◆ 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}
virtual bool boolParameter(egammaParameters::ParamDef) const override
@ expectHitInBLayer
expectHitInBLayer (set to 1 if true)

◆ 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}
TrkExtrapDef
Enum for track extrapolation to calo.
@ extrapMethod
enum to indicate which track extrapolation method was used for track match

◆ 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 EMBremFit, EMConvert, EMErrorDetail, and EMTrackFit.

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}
virtual bool hasBoolParameter(egammaParameters::ParamDef) const override final
@ PhiRescaled1
PhiRescaled to the 1st sampling (strips)
@ PhiExtraps2
phi of the track extrapolated to the 2nd sampling
@ trackd0sigma_pv
transverse impact parameter with respect to primary vertex
@ PhiExtraps3
phi of the track extrapolated to the 3rd sampling
@ PhiRescaled3
PhiRescaled to the 3rd sampling.
@ PhiExtraps1
phi of the track extrapolated to the 1st sampling
@ PhiRescaled2
PhiRescaled to the 2nd sampling.
@ trackd0sigma_physics
transverse impact parameter with respect beam spot
@ trackd0_physics
transverse impact parameter with respect beam spot
@ PhiExtraps0
phi of the track extrapolated to the presampler
@ trackd0_pv
transverse impact parameter with respect to primary vertex
@ PhiRescaled0
PhiRescaled to the presampler.

◆ intParameter()

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

Reimplemented in EMBremFit, EMConvert, EMErrorDetail, and EMTrackFit.

Definition at line 14 of file egDetail.cxx.

15{
17}
const double EgParamUndefined

◆ 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 //
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}
std::vector< std::pair< egammaParameters::ParamDef, double > > m_parameters

◆ 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
170 std::vector<elParams>::iterator p = m_parametersBool.begin();
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
145 std::vector<elParams>::iterator p = m_parameters.begin();
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 //
324 return set_parameter(egammaParameters::deltaPhiLast, value, overwrite);
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 //
295 return set_parameter(egammaParameters::deltaPhiRescaled, value, overwrite);
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 //
315 return set_parameter(egammaParameters::deltaPhiRot, value, overwrite);
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 //
284 return set_parameter(egammaParameters::etaSampling1, value, overwrite);
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.

◆ 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: