43#include "GaudiKernel/GaudiException.h"
70 for (
unsigned int i = 0; i <
EtaExtrap.size(); ++i)
72 for (
unsigned int i = 0; i <
PhiExtrap.size(); ++i)
74 for (
unsigned int i = 0; i <
deltaEta.size(); ++i)
76 for (
unsigned int i = 0; i <
deltaPhi.size(); ++i)
116 using elParams = std::pair<egammaParameters::ParamDef, double>;
119 std::vector<elParams>::const_iterator p =
m_parameters.begin();
122 if ( (*p).first == key ){
143 using elParams = std::pair<egammaParameters::ParamDef, double>;
145 std::vector<elParams>::iterator p =
m_parameters.begin();
148 if ( (*p).first == key )
break;
159 throw GaudiException(
"parameter not saved",
"EMTrackMatch::set_parameter(...)", StatusCode::FAILURE);
168 using elParams = std::pair<egammaParameters::ParamDef, bool>;
173 if ( (*p).first == key )
break;
184 throw GaudiException(
"parameter not saved",
"EMTrackMatch::set_boolparameter(...)", StatusCode::FAILURE);
192 using elParams = std::pair<egammaParameters::ParamDef, bool>;
198 if ( (*p).first == key ) {
342 const std::vector<double>&
deltaEta,
343 const std::vector<double>&
deltaPhi,
352 for (
unsigned int i = 0; i <
EtaExtrap.size(); ++i)
354 for (
unsigned int i = 0; i <
PhiExtrap.size(); ++i)
356 for (
unsigned int i = 0; i <
deltaEta.size(); ++i)
358 for (
unsigned int i = 0; i <
deltaPhi.size(); ++i)
367 const std::vector<double>&
deltaPhi,
396 for (
unsigned int i = 0; i <
EtaExtrap.size(); ++i)
398 for (
unsigned int i = 0; i <
PhiExtrap.size(); ++i)
406 const std::vector<double>&
deltaPhi)
An interface for getting the name of a class as a string.
Provide an interface for finding inheritance information at run time.
#define SG_ADD_BASE(D, B)
Add a new base class B to class D.
static std::string name()
Return the name of class T as a string.
Track match property data class.
double PhiExtrap(int) const
Phi of track extrapolated at pre sampler(0) -> 3rd sampling(3)
EMTrackMatch()=default
Default constructor.
double trackd0sigma_physics() const
return track transverse impact parameter wrt beam spot
virtual bool hasBoolParameter(egammaParameters::ParamDef) const override final
TrkExtrapDef extrapMethod() const
enum to indicate which track extrapolation method was used for track match.
TrkExtrapDef
Enum for track extrapolation to calo.
std::vector< std::pair< egammaParameters::ParamDef, double > > m_parameters
bool expectHitInBLayer() const
boolean to know if b-layer hit is expected
virtual double parameter(egammaParameters::ParamDef) const override
double trackd0_pv() const
return track transverse impact parameter wrt primary vertex
double etaSampling1() const
eta at sampling 1 for extrapolation from the last hit - allows recalcultion of deltaEta
virtual bool boolParameter(egammaParameters::ParamDef) const override
virtual const std::string & className() const override
interface methods
void fillEtaPhiExtrap(const std::vector< double > &EtaExtrap, const std::vector< double > &PhiExtrap)
set method (EtaExtrap and PhiExtrap)
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)
int tracksInBroadWindow() const
number of tracks in isolation window (taken at sampling 2): (# primary tracks if matched track is pri...
double EtaExtrap(int) const
Eta of track extrapolated at pre sampler(0) -> 3rd sampling(3)
void setDeltaPhiLast(double value, bool overwrite=false)
void setEtaExtrap(int sampl, double value, bool overwrite=false)
double deltaPhiRot() const
deltaPhi between the direction of the momentum of the track at its perigee and the phi of the POSITIO...
virtual void set_linkIndex(int value) override
double PhiRescaled(int) const
PhiRescaled at pre sampler(0) -> 3rd sampling(3)
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)
virtual bool hasParameter(egammaParameters::ParamDef) const override
double trackd0_physics() const
return track transverse impact parameter wrt beam spot
void setextrapMethod(TrkExtrapDef value, bool overwrite=false)
double trackd0sigma_pv() const
return track transverse impact parameter wrt primary vertex
void setDeltaPhiRot(double value, bool overwrite=false)
void setDeltaPhi(int sampl, double value, bool overwrite=false)
void set_parameter(egammaParameters::ParamDef, double, bool overwrite=false)
void setPhiExtrap(int sampl, double value, bool overwrite=false)
double deltaPhi(int) const
deltaPhi at pre sampler(0) -> 3rd sampling(3)
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 setEtaSampling1(double value, bool overwrite=false)
double deltaEta(int) const
deltaEta at pre sampler(0) -> 3rd sampling(3)
double deltaPhiRescaled() const
deltaPhi at sampling 2 for rescaled momentum extrapolation from the perigee.
std::vector< std::pair< egammaParameters::ParamDef, bool > > m_parametersBool
void setPhiRescaled(int sampl, double value, bool overwrite=false)
double deltaPhiLast() const
deltaPhi from the last Point
void setDeltaPhiRescaled(double value, bool overwrite=false)
void setDeltaEta(int sampl, double value, bool overwrite=false)
Base class for detailed egamma information.
egDetail()=default
Default constructor.
@ deltaPhi2
difference between the cluster phi (second sampling) and the phi of the track extrapolated to the sec...
@ 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
@ deltaEta3
difference between the cluster eta (3rd sampling) and the eta of the track extrapolated to the 3rd sa...
@ EtaExtraps3
eta of the track extrapolated to the 3rd sampling
@ EtaExtraps2
eta of the track extrapolated to the 2nd sampling
@ PhiExtraps3
phi of the track extrapolated to the 3rd sampling
@ PhiRescaled3
PhiRescaled to the 3rd sampling.
@ expectHitInBLayer
expectHitInBLayer (set to 1 if true)
@ deltaEta1
difference between the cluster eta (first sampling) and the eta of the track extrapolated to the firs...
@ PhiExtraps1
phi of the track extrapolated to the 1st sampling
@ etaSampling1
eta position at sampling 1 for track extrapolated from the last hit.
@ deltaPhiRescaled
difference between the cluster phi (sampling 2) and the phi of the track extrapolated from the perige...
@ trackRefit
true if track was refitted to account for brem effects
@ PhiRescaled2
PhiRescaled to the 2nd sampling.
@ trackd0sigma_physics
transverse impact parameter with respect beam spot
@ EtaExtraps0
eta of the track extrapolated to the presampler
@ tracksInBroadWindow
number of tracks in isolation window (taken at sampling 2): (# primary tracks if matched track is pri...
@ trackd0_physics
transverse impact parameter with respect beam spot
@ PhiExtraps0
phi of the track extrapolated to the presampler
@ isPrimary
true if matched track has a hit in first or second pixel layer
@ deltaPhi0
difference between the cluster phi (presampler) and the eta of the track extrapolated to the presampl...
@ deltaEta0
difference between the cluster eta (presampler) and the eta of the track extrapolated to the presampl...
@ trackNumber
index number in TrackContainer (counting starts at 1 for sake of CBNT)
@ linkIndex
link index for multiple track and vertex matches
@ deltaPhiRot
rotation of the track in the magnetic field: difference between the phi direction of the track at the...
@ deltaPhi1
difference between the cluster eta (1st sampling) and the eta of the track extrapolated to the 1st sa...
@ deltaPhiLast
deltaPhi from the las point
@ trackd0_pv
transverse impact parameter with respect to primary vertex
@ deltaEta2
difference between the cluster eta (second sampling) and the eta of the track extrapolated to the sec...
@ extrapMethod
enum to indicate which track extrapolation method was used for track match
@ EtaExtraps1
eta of the track extrapolated to the 1st sampling
@ PhiRescaled0
PhiRescaled to the presampler.
@ deltaPhi3
difference between the cluster eta (3rd sampling) and the eta of the track extrapolated to the 3rd sa...
const double EgParamUndefined