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

File: TrigElectron.h. More...

#include <TrigElectron.h>

Inheritance diagram for TrigElectron:
Collaboration diagram for TrigElectron:

Public Types

enum  Kind {
  P4EETAPHIM, P4IPTCOTTHPHIM, P4PTETAPHIM, P4PXPYPZE,
  UNKNOWN
}
 

Public Member Functions

 TrigElectron ()
 constructors; note: default constructor needed by POOL More...
 
 TrigElectron (unsigned int roi, float trkEtaAtCalo, float trkPhiAtCalo, float EToverPT, const TrigEMClusterContainer *cluster, unsigned int cl_index, const TrigInDetTrackCollection *track, unsigned int tr_index)
 constructor used to initialize TrigElectrons (there are no "set()" methods) More...
 
 TrigElectron (float pt, float eta, float phi, unsigned int roi, bool valid, float trkEtaAtCalo, float trkPhiAtCalo, float EToverPT, const ElementLink< TrigEMClusterContainer > &cluster, float caloEta, float caloPhi, float Rcore, float Eratio, float EThad, float F0, float F1, float F2, float F3, const ElementLink< TrigInDetTrackCollection > &track, TrigInDetTrack::AlgoId trackAlgo, float Zvtx, int nTRTHits, int nTRTHiThresholdHits)
 Initialize without accessing cluster/track objects. More...
 
 ~TrigElectron ()=default
 
int roiId () const
 accessor methods: More...
 
int roiWord () const
 OBSOLETE: should disappear in next iteration. More...
 
bool isValid () const
 accessor to get TrigElectron valid flag More...
 
TrigInDetTrack::AlgoId trackAlgo () const
 accessors to return the tracking quantities More...
 
float Zvtx () const
 
int nTRTHits () const
 
int nTRTHiThresholdHits () const
 
float nTRTHiTHitsRatio () const
 
int trackIndx () const
 accessor to return the track index in the collection and a reference to the TrigInDetTrackCollection itself More...
 
const TrigInDetTrackCollectiontrackColl () const
 
float trkPt () const
 accessor to get pT of electron candidate track More...
 
int charge () const
 accessor to return the track charge (sign of TrigInDetTrack pT) More...
 
float err_Pt () const
 accessors to get uncertainty in track parameters: Pt, eta, phi and Z of track perigee (Zvtx) More...
 
float err_trkPt () const
 
float err_eta () const
 
float err_phi () const
 
float err_Zvtx () const
 
float trkEtaAtCalo () const
 accessor to get eta and phi of electron candidate track extrapolated the calorimeter More...
 
float trkPhiAtCalo () const
 
float trkClusDeta () const
 accessors to get eta and phi difference between cluster and track extrapolated the calorimeter face (with -Pi,Pi limits) More...
 
float trkClusDphi () const
 
float DeltaEta1 () const
 
float DeltaPhi2 () const
 
float EtOverPt () const
 accessor to ratio of cluster Et to track Pt More...
 
float caloEta () const
 accessors to get cluster eta and phi (note baseclass eta and phi come from track) More...
 
float caloPhi () const
 
float Rcore () const
 accessors for shower shape quantities More...
 
float Reta () const
 
float Eratio () const
 
float EThad () const
 
float Ethad1 () const
 
float F0 () const
 accessors for calibrated energy fractions in each sampling - to reject noise More...
 
float F1 () const
 
float F2 () const
 
float F3 () const
 
const TrigEMClustercluster () const
 accessor to get pointer to cluster (TrigEMCluster) More...
 
const ElementLink< TrigEMClusterContainer > & clusterLink () const
 
const TrigInDetTracktrack () const
 accessor to get pointer to track (TrigInDetTrack) More...
 
const ElementLink< TrigInDetTrackCollection > & trackLink () const
 
virtual double pt () const
 get pt data member More...
 
virtual double eta () const
 get eta data member More...
 
virtual double phi () const
 get phi data member More...
 
virtual double m () const
 get mass data member More...
 
virtual void setPt (double thePt)
 set pt data member More...
 
virtual void setEta (double theEta)
 set eta data member More...
 
virtual void setPhi (double thePhi)
 set phi data member More...
 
virtual void setM (double theM)
 set mass data member More...
 
virtual void set4Mom (const I4Momentum &theI4Mom)
 set all 4-mom from another I4Momentum reference
More...
 
virtual void set4Mom (const I4Momentum *const theI4Mom)
 set all 4-mom from another I4Momentum pointer
More...
 
virtual void set4Mom (const CLHEP::HepLorentzVector &theHlv)
 set all 4-mom from a CLHEP HepLorentzVector More...
 
virtual const I4MomentumErrorerrors () const
 Access to errors, if available; returns 0 if no errors. More...
 
virtual double px () const
 x component of momentum More...
 
virtual double py () const
 y component of momentum More...
 
virtual double pz () const
 z component of momentum More...
 
virtual double e () const
 energy More...
 
virtual double p () const
 magnitude of 3-momentum. More...
 
virtual double p2 () const
 square of momentum magnitude More...
 
virtual double m2 () const
 mass squared More...
 
virtual double et () const
 transverse energy defined to be e*sin(theta) More...
 
virtual double iPt () const
 inverse of transverse momentum More...
 
virtual double rapidity () const
 rapidity More...
 
virtual double cosPhi () const
 cosinus phi More...
 
virtual double sinPhi () const
 sinus phi More...
 
virtual double cotTh () const
 cottan theta More...
 
virtual double cosTh () const
 cosinus theta More...
 
virtual double sinTh () const
 sinus theta More...
 
virtual double tanTh () const
 tan theta More...
 
virtual CLHEP::HepLorentzVector hlv () const
 HepLorentzVector Special implementation from Frank Paige : if negative energy, points in opposite direction but eta and phi still the same
More...
 
I4Momentum::Kind kind () const
 tells what kind of P4XYZT this is More...
 
virtual std::ostream & dump (std::ostream &out) const
 Print I4Momentum content. More...
 
virtual void fillToken (INavigationToken &) const
 
virtual void fillToken (INavigationToken &, const std::any &) const
 
virtual AthenaBarCode_t getAthenaBarCode () const
 
virtual void setAthenaBarCode (AthenaBarCode_t)
 
virtual bool hasSameAthenaBarCode (const IAthenaBarCode &) const
 
virtual bool hasSameAthenaBarCodeExceptVersion (const IAthenaBarCode &) const
 
virtual AthenaBarCodeVersion_t getVersion () const
 
virtual void newVersion ()
 
virtual void setVersion (AthenaBarCodeVersion_t)
 

Static Public Attributes

static const AthenaBarCode_t UNDEFINEDBARCODE = (AthenaBarCode_t)(-1)
 
static const AthenaBarCode_t UNDEFINEDVERSION = UNDEFINEDBARCODE
 

Protected Attributes

double m_pt
 
double m_eta
 
double m_phi
 
double m_m
 

Private Attributes

unsigned int m_roiWord
 roi word unique to L1 RoI (note: different from HLT RoI id) More...
 
bool m_valid
 To certify "good" TrigElectrons: used to be necessary for studies; now basically always true for electrons produced by TrigL2IDCaloFex if not in AcceptAll mode (in which case this variable is always false). More...
 
TrigInDetTrack::AlgoId m_tr_Algo
 Tracking quantities: ID of the tracking algorithm that produced the track in this electron. More...
 
float m_tr_Zvtx
 Z of the track at closest approach (perigee) to the Z axis (maybe later to the beam?) given by the track finder. More...
 
int m_tr_nr_trt_hits
 number of TRT hits and high-threshold hits More...
 
int m_tr_nr_trt_hithresh_hits
 
float m_tr_eta_at_calo
 Track/Cluster matching quantities: eta and phi of track extrapolated to the calorimeter face. More...
 
float m_tr_phi_at_calo
 
float m_etoverpt
 Ratio of cluster transverse energy to track transv.momentum. More...
 
float m_cl_eta
 Calorimeter quantities:
Cluster eta and phi
More...
 
float m_cl_phi
 
float m_cl_Rcore
 Energy ratio in 3x7 and 7x7 cells in 2nd LAr sampling; Rcore = e237/e277. More...
 
float m_cl_Eratio
 Energy ratio in highest and 2nd highest strip pairs in 1st LAr sampling; Eratio = EmaxS1-E2ndS1 / EmaxS1+E2ndS1. More...
 
float m_cl_EThad
 ET in first hadronic sampling: EThad=Ehad1/cosh(fabs(eta) More...
 
float m_cl_e_frac_S0
 Calibrated overall and per-sampling energy - to be used for cuts. More...
 
float m_cl_e_frac_S1
 
float m_cl_e_frac_S2
 
float m_cl_e_frac_S3
 
ElementLink< TrigEMClusterContainerm_cluster
 ElementLinks to the track and calorimeter cluster in electron candidate. More...
 
ElementLink< TrigInDetTrackCollectionm_track
 

Detailed Description

File: TrigElectron.h.

Description: To be created by FEX algorithms in Level 2 chains. Encodes electron candidate. Should contain parameters that are used for cuts in L2 and point to original objects (track and EM cluster) so that the latter can be separated off for EDM slimming.

Design: Must be light and easy to serialize AND to store in ESD/AOD; since pointers don't work (copied by POOL), use ElementLinks instead (now – May 08 – being made serializable)

The idea is that the variables used for cuts should be kept in the TrigElectron class for redundancy. The remaining quantities, not used for cuts, are accessible from the ElementLinks to TrigEMCluster and TrigInDetTrack. This allows for EDM slimming (or thinning, whatever, removing unnecessary information) by not storing the cluster and track.

In practice, some calorimeter variables would have to be recalculated from the actual variables stored in TrigEMCluster. To avoid the time overhead, the original variables are copied.

Authour: R.Goncalo - Tue Sep 20 22:02:43 BST 2005

Modified: RG Mar 8 2006: replaced EMShowerMinimal with TrigEMCluster RG Mar 20 2006: added bool m_valid for hypos to validate elec. RG Nov 7 2006: to inherit from INav4M and 4-mom base RG May 22 2008: ElementLinks to track and cluster; change data members RG Apr 07 2009: add comparison and << operators RG May 18 2009: add TRT variables; remove obsolete validate() accessor RG Jun 22 2009: add some calorimeter vars. changed TRT accessor names

Definition at line 61 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

Member Enumeration Documentation

◆ Kind

enum I4Momentum::Kind
inherited
Enumerator
P4EETAPHIM 
P4IPTCOTTHPHIM 
P4PTETAPHIM 
P4PXPYPZE 
UNKNOWN 

Definition at line 33 of file I4Momentum.h.

Constructor & Destructor Documentation

◆ TrigElectron() [1/3]

TrigElectron::TrigElectron ( )

constructors; note: default constructor needed by POOL

File: TrigElectron.cxx.

Description: To be created by FEX algorithms in Level 2 chains. Encodes electron candidate. Should contain parameters that are used for cuts in L2 and point to original objects (track and EM cluster) so that the latter can be separated off for EDM slimming.

Design: Must be light and easy to serialize AND to store in ESD/AOD; since pointers don't work (copied by POOL), use ElementLinks instead (now – May 08 – being made serializable)

The idea is that the variables used for cuts should be kept in the TrigElectron class for redundancy. The remaining quantities, not used for cuts, are accessible from the ElementLinks to TrigEMCluster and TrigInDetTrack. This allows for EDM slimming (or thinning, whatever, removing unnecessary information) by not storing the cluster and track.

In practice, some calorimeter variables would have to be recalculated from the actual variables stored in TrigEMCluster. To avoid the time overhead, the original variables are copied.

Authour: R.Goncalo - Tue Sep 20 22:02:43 BST 2005

Modified: RG Mar 8 2006: replaced EMShowerMinimal with TrigEMCluster RG Mar 20 2006: added bool m_valid for hypos to validate elec. RG Nov 7 2006: to inherit from INav4M and 4-mom base RG May 22 2008: ElementLinks to track and cluster;change data members RG May 18 2009: add TRT variables Default constructor

Definition at line 45 of file TrigElectron.cxx.

45  :
46  P4PtEtaPhiM(0, 0, 0, 0.511*CLHEP::MeV),
48  m_roiWord(0),
49  m_valid(false),
51  m_tr_Zvtx(0),
54  m_tr_eta_at_calo(0),
55  m_tr_phi_at_calo(0),
56  m_etoverpt(0),
57  m_cl_eta(0),
58  m_cl_phi(0),
59  m_cl_Rcore(0),
60  m_cl_Eratio(0),
61  m_cl_EThad(0),
62  // m_cl_energy(0),
63  m_cl_e_frac_S0(0),
64  m_cl_e_frac_S1(0),
65  m_cl_e_frac_S2(0),
67 {
68  m_cluster.reset();
69  m_track.reset();
70 }

◆ TrigElectron() [2/3]

TrigElectron::TrigElectron ( unsigned int  roi,
float  trkEtaAtCalo,
float  trkPhiAtCalo,
float  EToverPT,
const TrigEMClusterContainer cluster,
unsigned int  cl_index,
const TrigInDetTrackCollection track,
unsigned int  tr_index 
)

constructor used to initialize TrigElectrons (there are no "set()" methods)

Constructor: Faster to pass TrigEMClusterContainer and TrigInDetTrackCollection pointers and indices to track and cluster, so that ElementLinks to track and EM cluster can be initialized quickly
Design choice: pass data member values as constructor parameters, rather than providing accessors to update these values later; 4-momentum variables can still be updated through the P4PtEtaPhiM maseclass accessors.

Set data members from tracking and calorimeter quantities. The idea is that the variables used for cuts should be kept in the TrigElectron class for redundancy. The remaining quantities, not used for cuts, are accessible from the ElementLinks to TrigEMCluster and TrigInDetTrack. This allows for EDM slimming (or thinning, whatever, removing unnecessary information) by not storing the cluster and track. In practice, some calorimeter variables would have to be recalculated from the actual variables stored in TrigEMCluster. To avoid the time overhead, the original variables are copied.

Set ElementLinks to TrigEMCluster and TriginDetTrack: use fast method with reference to collection + index (O(1)), instead of reference to track (O(n) for n elements in collection). Notes:

  1. the cluster container is held by steering; track container is per RoI
  2. if e-links not valid, just set data member links to default value

set data members from track quantities

Initialize 4-momentum base-class angular quantities from track data: assume that track parameters at perigee give better estimates of angular quantities near vertex

Set ElementLinks to TrigEMCluster and TriginDetTrack: use fast method with reference to collection + index (O(1)), instead of reference to track (O(n) for n elements in collection). Notes:

  1. the cluster container is held by steering; track container is per RoI
  2. if e-links not valid, just set data member links to default value

set data members from cluster quantities

Initialize 4-momentum base-class ET from cluster data: assume cluster quantities give better estimate of transverse energy

set other cluster-type data members

Definition at line 82 of file TrigElectron.cxx.

86  : P4PtEtaPhiM(0,0,0,0.511*CLHEP::MeV),
88  m_roiWord(roi),
89  m_valid(true),
90  m_tr_Zvtx(0),
95  m_etoverpt(EToverPT),
96  m_cl_eta(0),
97  m_cl_phi(0),
98  m_cl_Rcore(0),
99  m_cl_Eratio(0),
100  m_cl_EThad(0),
101  // m_cl_energy(0),
102  m_cl_e_frac_S0(0),
103  m_cl_e_frac_S1(0),
104  m_cl_e_frac_S2(0),
105  m_cl_e_frac_S3(0)
106 {
107 
119  // track variables
120  if (tr_coll != NULL && tr_coll->size() > tr_index) {
121 
128  m_track.toIndexedElement(*tr_coll, tr_index);
129  if (!m_track.isValid()) {
130  m_track.reset();
131  m_valid = false;
132  }
133 
135  const TrigInDetTrack* tr_ptr = (*tr_coll)[tr_index];
136 
137  // get track author and nr. trt hits from track
138  m_tr_Algo = tr_ptr->algorithmId();
139  m_tr_nr_trt_hits = tr_ptr->NStrawHits();
140  m_tr_nr_trt_hithresh_hits = tr_ptr->NTRHits();
141 
145  if ( tr_ptr->param() != NULL ) {
146  m_tr_Zvtx = tr_ptr->param()->z0();
147  this->setEta(tr_ptr->param()->eta()); // set to track eta
148  this->setPhi(tr_ptr->param()->phi0()); // set to track phi
149  } else {
150  m_valid = false;
151  }
152 
153  } else {
155  m_tr_Zvtx = 0;
156  m_valid = false;
157  }
158 
159  // calorimeter variables
160  if (cl_coll != NULL && cl_coll->size() > cl_index) {
161 
168  m_cluster.toIndexedElement(*cl_coll, cl_index);
169  if (!m_cluster.isValid()) {
170  m_cluster.reset();
171  m_valid = false;
172  }
173 
175  const TrigEMCluster* cl_ptr = (*cl_coll)[cl_index];
176 
179  this->setPt(cl_ptr->et()); // set to cluster ET
180 
182  // eta-phi of cluster
183  m_cl_eta = cl_ptr->eta();
184  m_cl_phi = cl_ptr->phi();
185 
186  // EThad
187  if (m_cl_eta != 0) {
188  m_cl_EThad = cl_ptr->ehad1()/cosh(fabs(m_cl_eta)); // Ehad1/cosh(fabs(eta) */
189  } else {
190  m_cl_EThad = cl_ptr->ehad1(); // Ehad1 (=EThad1)
191  }
192 
193  // Rcore (test for positive energy to avoid zeros)
194  if (cl_ptr->e277() != 0) { // (VD) before it was '>'
195  m_cl_Rcore = cl_ptr->e237()/cl_ptr->e277();
196  } else {
197  m_cl_Rcore = 0;
198  m_valid = false;
199  }
200 
201  // Eratio (test for positive energy to avoid zeros)
202  if (cl_ptr->emaxs1()+cl_ptr->e2tsts1() > 0) {
203  m_cl_Eratio = (cl_ptr->emaxs1()-cl_ptr->e2tsts1()) / (cl_ptr->emaxs1()+cl_ptr->e2tsts1());
204  } else {
205  m_cl_Eratio = 0;
206  m_valid = false;
207  }
208 
209  // energy and energy fraction per sample
210  float tmp_cl_energy = cl_ptr->energy();
211  if (fabs(tmp_cl_energy) > 0.00001) { // avoid floating-point exceptions
212  m_cl_e_frac_S0 = ( cl_ptr->energy(CaloSampling::PreSamplerB) + cl_ptr->energy(CaloSampling::PreSamplerE)) / tmp_cl_energy;
213  m_cl_e_frac_S1 = ( cl_ptr->energy(CaloSampling::EMB1) + cl_ptr->energy(CaloSampling::EME1)) / tmp_cl_energy;
214  m_cl_e_frac_S2 = ( cl_ptr->energy(CaloSampling::EMB2) + cl_ptr->energy(CaloSampling::EME2)) / tmp_cl_energy;
215  m_cl_e_frac_S3 = ( cl_ptr->energy(CaloSampling::EMB3) + cl_ptr->energy(CaloSampling::EME3)) / tmp_cl_energy;
216  }
217 
218  } else {
219  m_cl_eta = 0;
220  m_cl_phi = 0;
221  m_cl_Rcore = 0;
222  m_cl_Eratio = 0;
223  m_cl_EThad = 0;
224  m_valid = false;
225  // m_cl_energy = 0;
226  m_cl_e_frac_S0 = 0;
227  m_cl_e_frac_S1 = 0;
228  m_cl_e_frac_S2 = 0;
229  m_cl_e_frac_S3 = 0;
230  }
231 }

◆ TrigElectron() [3/3]

TrigElectron::TrigElectron ( float  pt,
float  eta,
float  phi,
unsigned int  roi,
bool  valid,
float  trkEtaAtCalo,
float  trkPhiAtCalo,
float  EToverPT,
const ElementLink< TrigEMClusterContainer > &  cluster,
float  caloEta,
float  caloPhi,
float  Rcore,
float  Eratio,
float  EThad,
float  F0,
float  F1,
float  F2,
float  F3,
const ElementLink< TrigInDetTrackCollection > &  track,
TrigInDetTrack::AlgoId  trackAlgo,
float  Zvtx,
int  nTRTHits,
int  nTRTHiThresholdHits 
)

Initialize without accessing cluster/track objects.

Definition at line 235 of file TrigElectron.cxx.

◆ ~TrigElectron()

TrigElectron::~TrigElectron ( )
default

Member Function Documentation

◆ caloEta()

float TrigElectron::caloEta ( ) const
inline

accessors to get cluster eta and phi (note baseclass eta and phi come from track)

Definition at line 162 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

162 { return m_cl_eta; }

◆ caloPhi()

float TrigElectron::caloPhi ( ) const
inline

Definition at line 163 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

163 { return m_cl_phi; }

◆ charge()

int TrigElectron::charge ( ) const
inline

accessor to return the track charge (sign of TrigInDetTrack pT)

Definition at line 136 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

136 { return (m_track.isValid() ? (int)((*m_track)->param()->pT()/fabs((*m_track)->param()->pT())) : 0); }

◆ cluster()

const TrigEMCluster * TrigElectron::cluster ( ) const

accessor to get pointer to cluster (TrigEMCluster)

Definition at line 292 of file TrigElectron.cxx.

293 {
294  if (m_cluster.isValid()) {
295  return (*m_cluster);
296  } else {
297  return NULL;
298  }
299 }

◆ clusterLink()

const ElementLink< TrigEMClusterContainer >& TrigElectron::clusterLink ( ) const
inline

Definition at line 180 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

181  { return m_cluster; }

◆ cosPhi()

double P4PtEtaPhiMBase::cosPhi ( ) const
virtualinherited

cosinus phi

Implements I4Momentum.

Definition at line 55 of file P4PtEtaPhiMBase.cxx.

56 {
57  return std::cos(this->phi());
58 }

◆ cosTh()

double P4PtEtaPhiMBase::cosTh ( ) const
virtualinherited

cosinus theta

Implements I4Momentum.

Definition at line 70 of file P4PtEtaPhiMBase.cxx.

71 {
72  return std::tanh(this->eta());
73 }

◆ cotTh()

double P4PtEtaPhiMBase::cotTh ( ) const
virtualinherited

cottan theta

Implements I4Momentum.

Definition at line 65 of file P4PtEtaPhiMBase.cxx.

66 {
67  return std::sinh(this->eta());
68 }

◆ DeltaEta1()

float TrigElectron::DeltaEta1 ( ) const
inline

Definition at line 153 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

153 { return fabs(m_tr_eta_at_calo - m_cl_eta); }

◆ DeltaPhi2()

float TrigElectron::DeltaPhi2 ( ) const
inline

Definition at line 154 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

154  { return (fabs(m_tr_phi_at_calo-m_cl_phi)<M_PI ?
155  fabs(m_tr_phi_at_calo-m_cl_phi) :
156  2*M_PI - fabs(m_tr_phi_at_calo-m_cl_phi)); }

◆ dump()

std::ostream & P4PtEtaPhiMBase::dump ( std::ostream &  out) const
virtualinherited

Print I4Momentum content.

Implements I4Momentum.

Definition at line 147 of file P4PtEtaPhiMBase.cxx.

148 {
149  std::stringstream outx;
150  outx << "[pt,eta,phi,m] ="
151  << std::right << std::scientific << std::setprecision(8)
152  << std::setw(16) << this->pt()
153  << std::setw(16) << this->eta()
154  << std::setw(16) << this->phi()
155  << std::setw(16) << this->m();
156  out<<outx.str();
157 
158  return out;
159 
160 }

◆ e()

double P4PtEtaPhiMBase::e ( ) const
virtualinherited

energy

Implements I4Momentum.

Definition at line 13 of file P4PtEtaPhiMBase.cxx.

14 {
15  const double theMass = this->m();
16  const double thePt = this->pt();
17  const double thePz = this->pz();
18 
19  //DR from Frank Paige
20  // if negative pt point in the opposite direction
21  // BUT eta and phi still the same !!!
22 
23  double eSign = (thePt >= 0.) ? +1. : -1.;
24  return eSign*std::sqrt(thePt*thePt + thePz*thePz + theMass*theMass);
25 }

◆ Eratio()

float TrigElectron::Eratio ( ) const
inline

Definition at line 168 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

168 { return m_cl_Eratio; }

◆ err_eta()

float TrigElectron::err_eta ( ) const
inline

Definition at line 141 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

141 { return (m_track.isValid() ? (*m_track)->param()->eeta() : -1); }

◆ err_phi()

float TrigElectron::err_phi ( ) const
inline

Definition at line 142 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

142 { return (m_track.isValid() ? (*m_track)->param()->ephi0() : -1); }

◆ err_Pt()

float TrigElectron::err_Pt ( ) const
inline

accessors to get uncertainty in track parameters: Pt, eta, phi and Z of track perigee (Zvtx)

Definition at line 139 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

139 { return err_trkPt(); } // OBSOLETE: to be removed in next iteration

◆ err_trkPt()

float TrigElectron::err_trkPt ( ) const
inline

Definition at line 140 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

140 { return (m_track.isValid() ? (*m_track)->param()->epT() : -1); }

◆ err_Zvtx()

float TrigElectron::err_Zvtx ( ) const
inline

Definition at line 143 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

143 { return (m_track.isValid() ? (*m_track)->param()->ez0() : -1); }

◆ errors()

const I4MomentumError * P4PtEtaPhiM::errors ( ) const
virtualinherited

Access to errors, if available; returns 0 if no errors.

Reimplemented from P4PtEtaPhiMBase.

Definition at line 7 of file P4PtEtaPhiM.cxx.

8 {
9  return 0;
10 }

◆ et()

double P4PtEtaPhiMBase::et ( ) const
virtualinherited

transverse energy defined to be e*sin(theta)

Implements I4Momentum.

Definition at line 101 of file P4PtEtaPhiMBase.cxx.

102  {
103  return this->e()*this->sinTh();
104  }

◆ eta()

double P4PtEtaPhiM::eta ( ) const
inlinevirtualinherited

get eta data member

Implements I4Momentum.

Definition at line 106 of file P4PtEtaPhiM.h.

107 { return m_eta;}

◆ EThad()

float TrigElectron::EThad ( ) const
inline

Definition at line 169 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

169 { return m_cl_EThad; } // OBSOLETE name; to be removed in next iteration

◆ Ethad1()

float TrigElectron::Ethad1 ( ) const
inline

Definition at line 170 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

170 { return m_cl_EThad; }

◆ EtOverPt()

float TrigElectron::EtOverPt ( ) const
inline

accessor to ratio of cluster Et to track Pt

Definition at line 159 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

159 { return m_etoverpt; }

◆ F0()

float TrigElectron::F0 ( ) const
inline

accessors for calibrated energy fractions in each sampling - to reject noise

Definition at line 173 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

173 { return m_cl_e_frac_S0; } // sampling 0

◆ F1()

float TrigElectron::F1 ( ) const
inline

Definition at line 174 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

174 { return m_cl_e_frac_S1; } // sampling 1

◆ F2()

float TrigElectron::F2 ( ) const
inline

Definition at line 175 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

175 { return m_cl_e_frac_S2; } // sampling 2

◆ F3()

float TrigElectron::F3 ( ) const
inline

Definition at line 176 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

176 { return m_cl_e_frac_S3; } // sampling 3

◆ fillToken() [1/2]

virtual void NavigableTerminalNode::fillToken ( INavigationToken ) const
inlinevirtualinherited

Implements INavigable.

Definition at line 31 of file NavigableTerminalNode.h.

31 { };

◆ fillToken() [2/2]

virtual void NavigableTerminalNode::fillToken ( INavigationToken ,
const std::any &   
) const
inlinevirtualinherited

Implements INavigable.

Definition at line 32 of file NavigableTerminalNode.h.

32 { };

◆ getAthenaBarCode()

virtual AthenaBarCode_t IAthenaBarCode::getAthenaBarCode ( ) const
inlinevirtualinherited

◆ getVersion()

virtual AthenaBarCodeVersion_t IAthenaBarCode::getVersion ( ) const
inlinevirtualinherited

◆ hasSameAthenaBarCode()

virtual bool IAthenaBarCode::hasSameAthenaBarCode ( const IAthenaBarCode ) const
inlinevirtualinherited

◆ hasSameAthenaBarCodeExceptVersion()

virtual bool IAthenaBarCode::hasSameAthenaBarCodeExceptVersion ( const IAthenaBarCode ) const
inlinevirtualinherited

◆ hlv()

CLHEP::HepLorentzVector P4PtEtaPhiMBase::hlv ( ) const
virtualinherited

HepLorentzVector Special implementation from Frank Paige : if negative energy, points in opposite direction but eta and phi still the same

Implements I4Momentum.

Definition at line 128 of file P4PtEtaPhiMBase.cxx.

129 {
130  //minimize the number of calculation and dereference
131  const double theM = this->m();
132  // note that pt can have negative sign : then it points in opposite direction but eta and phi are still on the same side
133  const double thePt = this->pt();
134 
135 
136  const double thePx = thePt*this->cosPhi();
137  const double thePy = thePt*this->sinPhi();
138 
139  const double thePz = thePt*this->cotTh();
140 
141  const double theE=std::sqrt(thePt*thePt+thePz*thePz+theM*theM);
142 
143 
144  return CLHEP::HepLorentzVector( thePx, thePy, thePz, theE );
145 }

◆ iPt()

double P4PtEtaPhiMBase::iPt ( ) const
virtualinherited

inverse of transverse momentum

Implements I4Momentum.

Definition at line 106 of file P4PtEtaPhiMBase.cxx.

107  { return 1./this->pt();
108  }

◆ isValid()

bool TrigElectron::isValid ( ) const
inline

accessor to get TrigElectron valid flag

Definition at line 118 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

118 { return m_valid; }

◆ kind()

I4Momentum::Kind P4PtEtaPhiMBase::kind ( ) const
inlinevirtualinherited

tells what kind of P4XYZT this is

Implements I4Momentum.

Definition at line 64 of file P4PtEtaPhiMBase.h.

64 { return I4Momentum::P4PTETAPHIM; };

◆ m()

double P4PtEtaPhiM::m ( ) const
inlinevirtualinherited

get mass data member

Implements I4Momentum.

Definition at line 112 of file P4PtEtaPhiM.h.

113 { return m_m;}

◆ m2()

double P4PtEtaPhiMBase::m2 ( ) const
virtualinherited

mass squared

Implements I4Momentum.

Definition at line 50 of file P4PtEtaPhiMBase.cxx.

51 { const double theM=this->m();
52  return theM*theM;
53 }

◆ newVersion()

virtual void IAthenaBarCode::newVersion ( )
inlinevirtualinherited

Reimplemented in Rec::TrackParticle, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, and AthenaBarCodeBase.

Definition at line 89 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.

89  {
90  // throw std::runtime_error("IAthenaBarCode::newVersion():: can't newVersion() in the dummy implementation");
91  }

◆ nTRTHiTHitsRatio()

float TrigElectron::nTRTHiTHitsRatio ( ) const
inline

◆ nTRTHiThresholdHits()

int TrigElectron::nTRTHiThresholdHits ( ) const
inline

◆ nTRTHits()

int TrigElectron::nTRTHits ( ) const
inline

◆ p()

double P4PtEtaPhiMBase::p ( ) const
virtualinherited

magnitude of 3-momentum.

Special implementation from Frank Paige : if negative energy p is negative but eta and phi still the same.

Implements I4Momentum.

Definition at line 27 of file P4PtEtaPhiMBase.cxx.

28 {
29  const double thePt = this->pt();
30  const double thePz = this->pz();
31 
32  //DR from Frank Paige
33  // if negative pt point in the opposite direction
34  // BUT eta and phi still the same !!!
35 
36  double eSign = (thePt >= 0.) ? +1. : -1.;
37  return eSign*std::sqrt(thePt*thePt + thePz*thePz);
38 }

◆ p2()

double P4PtEtaPhiMBase::p2 ( ) const
virtualinherited

square of momentum magnitude

Implements I4Momentum.

Definition at line 40 of file P4PtEtaPhiMBase.cxx.

41 {
42  /* This method has been implemented so as to give the same as would be obtained from pow((this->p()),2) with this->p() implemented according to Frank Paige's algorithm above. */
43 
44  const double thePt = this->pt();
45  const double thePz = this->pz();
46 
47  return thePt*thePt + thePz*thePz;
48 }

◆ phi()

double P4PtEtaPhiM::phi ( ) const
inlinevirtualinherited

get phi data member

Implements I4Momentum.

Definition at line 109 of file P4PtEtaPhiM.h.

110 { return m_phi;}

◆ pt()

double P4PtEtaPhiM::pt ( ) const
inlinevirtualinherited

get pt data member

Implements I4Momentum.

Definition at line 103 of file P4PtEtaPhiM.h.

104 { return m_pt;}

◆ px()

double P4PtEtaPhiMBase::px ( ) const
virtualinherited

x component of momentum

Implements I4Momentum.

Definition at line 117 of file P4PtEtaPhiMBase.cxx.

118  { return this->pt()*this->cosPhi();
119  }

◆ py()

double P4PtEtaPhiMBase::py ( ) const
virtualinherited

y component of momentum

Implements I4Momentum.

Definition at line 121 of file P4PtEtaPhiMBase.cxx.

122  { return this->pt()*this->sinPhi();
123  }

◆ pz()

double P4PtEtaPhiMBase::pz ( ) const
virtualinherited

z component of momentum

Implements I4Momentum.

Definition at line 125 of file P4PtEtaPhiMBase.cxx.

126 { return this->pt()*this->cotTh(); }

◆ rapidity()

double P4PtEtaPhiMBase::rapidity ( ) const
virtualinherited

rapidity

Implements I4Momentum.

Definition at line 110 of file P4PtEtaPhiMBase.cxx.

111  {
112  const double theE=this->e();
113  const double thePz=this->pz();
114  return 0.5*std::log((theE+thePz)/(theE-thePz));
115  }

◆ Rcore()

float TrigElectron::Rcore ( ) const
inline

accessors for shower shape quantities

Definition at line 166 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

166 { return m_cl_Rcore; } // OBSOLETE name; to be removed in next iteration

◆ Reta()

float TrigElectron::Reta ( ) const
inline

Definition at line 167 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

167 { return m_cl_Rcore; }

◆ roiId()

int TrigElectron::roiId ( ) const
inline

accessor methods:

accessor to get RoI Word (unique to each L1 RoI)

Definition at line 114 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

114 { return m_roiWord; }

◆ roiWord()

int TrigElectron::roiWord ( ) const
inline

OBSOLETE: should disappear in next iteration.

Definition at line 115 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

115 { return m_roiWord; }

◆ set4Mom() [1/3]

void P4PtEtaPhiM::set4Mom ( const CLHEP::HepLorentzVector &  theHlv)
inlinevirtualinherited

set all 4-mom from a CLHEP HepLorentzVector

Reimplemented from P4PtEtaPhiMBase.

Definition at line 140 of file P4PtEtaPhiM.h.

141 {
142  m_pt=theHlv.perp();
143  m_eta=theHlv.eta();
144  //FIXME protect against negative energy
145  //assert(m_e >= 0,"P4PtEtaPhiM::set4Mom cannot have negative energy");
146  //assert(m_e >= 0);
147  // FIXME of the FIXME in fact it is not necessary to prtoect against negative energy
148  // and besides Seal assert does not work
149  // ASSERT( m_e >= 0 );
150  m_phi=theHlv.phi();
151  m_m=theHlv.m();
152 
153 
154 }

◆ set4Mom() [2/3]

void P4PtEtaPhiM::set4Mom ( const I4Momentum theI4Mom)
inlinevirtualinherited

set all 4-mom from another I4Momentum reference

Reimplemented from P4PtEtaPhiMBase.

Definition at line 127 of file P4PtEtaPhiM.h.

128 {
129  m_pt=theI4Mom.pt();
130  m_eta=theI4Mom.eta();
131  m_phi=theI4Mom.phi();
132  m_m=theI4Mom.m();
133 }

◆ set4Mom() [3/3]

void P4PtEtaPhiM::set4Mom ( const I4Momentum *const  theI4Mom)
inlinevirtualinherited

set all 4-mom from another I4Momentum pointer

Reimplemented from P4PtEtaPhiMBase.

Definition at line 135 of file P4PtEtaPhiM.h.

136 {
137  this->set4Mom(*theI4Mom);
138 }

◆ setAthenaBarCode()

virtual void IAthenaBarCode::setAthenaBarCode ( AthenaBarCode_t  )
inlinevirtualinherited

Reimplemented in Rec::TrackParticle, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, and AthenaBarCodeBase.

Definition at line 71 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.

71  {
72  // throw std::runtime_error("IAthenaBarCode::setAthenaBarCode():: can't set AthenaBarCode in the dummy implementation");
73  }

◆ setEta()

void P4PtEtaPhiM::setEta ( double  theEta)
inlinevirtualinherited

set eta data member

Definition at line 118 of file P4PtEtaPhiM.h.

119 { m_eta = theEta;}

◆ setM()

void P4PtEtaPhiM::setM ( double  theM)
inlinevirtualinherited

set mass data member

Definition at line 124 of file P4PtEtaPhiM.h.

125 { m_m = theM;}

◆ setPhi()

void P4PtEtaPhiM::setPhi ( double  thePhi)
inlinevirtualinherited

set phi data member

Definition at line 121 of file P4PtEtaPhiM.h.

122 { m_phi = thePhi;}

◆ setPt()

void P4PtEtaPhiM::setPt ( double  thePt)
inlinevirtualinherited

set pt data member

Definition at line 115 of file P4PtEtaPhiM.h.

116 { m_pt = thePt;}

◆ setVersion()

virtual void IAthenaBarCode::setVersion ( AthenaBarCodeVersion_t  )
inlinevirtualinherited

Reimplemented in Rec::TrackParticle, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, and AthenaBarCodeBase.

Definition at line 93 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.

93  {
94  // throw std::runtime_error("IAthenaBarCode::setVersion():: can't setVersion() in the dummy implementation");
95  }

◆ sinPhi()

double P4PtEtaPhiMBase::sinPhi ( ) const
virtualinherited

sinus phi

Implements I4Momentum.

Definition at line 60 of file P4PtEtaPhiMBase.cxx.

61 {
62  return std::sin(this->phi());
63 }

◆ sinTh()

double P4PtEtaPhiMBase::sinTh ( ) const
virtualinherited

sinus theta

Implements I4Momentum.

Definition at line 75 of file P4PtEtaPhiMBase.cxx.

76 {
77  // avoid numeric overflow if very large eta
78 
79  double aEta=std::abs(this->eta());
80  if ( aEta>710) {
81  aEta=710;
82  }
83 
84  return 1./std::cosh(aEta);
85 }

◆ tanTh()

double P4PtEtaPhiMBase::tanTh ( ) const
virtualinherited

tan theta

Implements I4Momentum.

Definition at line 87 of file P4PtEtaPhiMBase.cxx.

88 {
89  // avoid numeric overflow if very large eta
90 
91  double theEta=this->eta();
92  if ( std::abs(theEta)>710) {
93  theEta=theEta>0 ? 710 : -710;
94  return 1./std::sinh(theEta);
95  }
96 
97  return 1./std::sinh(this->eta());
98 }

◆ track()

const TrigInDetTrack * TrigElectron::track ( ) const

accessor to get pointer to track (TrigInDetTrack)

Definition at line 303 of file TrigElectron.cxx.

304 {
305  if (m_track.isValid()) {
306  return (*m_track); // note: TrigInDetTrackContainer is a vector<TrigInDetTrack*>
307  } else {
308  return NULL;
309  }
310 }

◆ trackAlgo()

TrigInDetTrack::AlgoId TrigElectron::trackAlgo ( ) const
inline

accessors to return the tracking quantities

Definition at line 121 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

121 { return m_tr_Algo;}

◆ trackColl()

const TrigInDetTrackCollection* TrigElectron::trackColl ( ) const
inline

◆ trackIndx()

int TrigElectron::trackIndx ( ) const
inline

accessor to return the track index in the collection and a reference to the TrigInDetTrackCollection itself

Definition at line 129 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

129 { return (m_track.isValid() ? m_track.index() : 0); }

◆ trackLink()

const ElementLink< TrigInDetTrackCollection >& TrigElectron::trackLink ( ) const
inline

Definition at line 185 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

186  { return m_track; }

◆ trkClusDeta()

float TrigElectron::trkClusDeta ( ) const
inline

accessors to get eta and phi difference between cluster and track extrapolated the calorimeter face (with -Pi,Pi limits)

Definition at line 151 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

151 { return (DeltaEta1()); } // old method name - RG 15/6/09

◆ trkClusDphi()

float TrigElectron::trkClusDphi ( ) const
inline

Definition at line 152 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

152 { return (DeltaPhi2()); } // old method name - RG 15/6/09

◆ trkEtaAtCalo()

float TrigElectron::trkEtaAtCalo ( ) const
inline

accessor to get eta and phi of electron candidate track extrapolated the calorimeter

Definition at line 146 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

146 { return m_tr_eta_at_calo; }

◆ trkPhiAtCalo()

float TrigElectron::trkPhiAtCalo ( ) const
inline

◆ trkPt()

float TrigElectron::trkPt ( ) const
inline

accessor to get pT of electron candidate track

Definition at line 133 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

133 { return (m_track.isValid() ? fabs((*m_track)->param()->pT()) : 0 ); }

◆ Zvtx()

float TrigElectron::Zvtx ( ) const
inline

Definition at line 122 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

122 { return m_tr_Zvtx; }

Member Data Documentation

◆ m_cl_e_frac_S0

float TrigElectron::m_cl_e_frac_S0
private

Calibrated overall and per-sampling energy - to be used for cuts.

Definition at line 242 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

◆ m_cl_e_frac_S1

float TrigElectron::m_cl_e_frac_S1
private

◆ m_cl_e_frac_S2

float TrigElectron::m_cl_e_frac_S2
private

◆ m_cl_e_frac_S3

float TrigElectron::m_cl_e_frac_S3
private

◆ m_cl_Eratio

float TrigElectron::m_cl_Eratio
private

Energy ratio in highest and 2nd highest strip pairs in 1st LAr sampling; Eratio = EmaxS1-E2ndS1 / EmaxS1+E2ndS1.

Definition at line 235 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

◆ m_cl_eta

float TrigElectron::m_cl_eta
private

Calorimeter quantities:
Cluster eta and phi

Definition at line 226 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

◆ m_cl_EThad

float TrigElectron::m_cl_EThad
private

ET in first hadronic sampling: EThad=Ehad1/cosh(fabs(eta)

Definition at line 238 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

◆ m_cl_phi

float TrigElectron::m_cl_phi
private

◆ m_cl_Rcore

float TrigElectron::m_cl_Rcore
private

Energy ratio in 3x7 and 7x7 cells in 2nd LAr sampling; Rcore = e237/e277.

Definition at line 231 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

◆ m_cluster

ElementLink< TrigEMClusterContainer > TrigElectron::m_cluster
private

ElementLinks to the track and calorimeter cluster in electron candidate.

Definition at line 248 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

◆ m_eta

double P4PtEtaPhiM::m_eta
protectedinherited

Definition at line 77 of file P4PtEtaPhiM.h.

◆ m_etoverpt

float TrigElectron::m_etoverpt
private

Ratio of cluster transverse energy to track transv.momentum.

Definition at line 222 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

◆ m_m

double P4PtEtaPhiM::m_m
protectedinherited

Definition at line 79 of file P4PtEtaPhiM.h.

◆ m_phi

double P4PtEtaPhiM::m_phi
protectedinherited

Definition at line 78 of file P4PtEtaPhiM.h.

◆ m_pt

double P4PtEtaPhiM::m_pt
protectedinherited

Definition at line 76 of file P4PtEtaPhiM.h.

◆ m_roiWord

unsigned int TrigElectron::m_roiWord
private

roi word unique to L1 RoI (note: different from HLT RoI id)

Definition at line 191 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

◆ m_tr_Algo

TrigInDetTrack::AlgoId TrigElectron::m_tr_Algo
private

Tracking quantities: ID of the tracking algorithm that produced the track in this electron.

Given by the enum: AlgoId{NULLID=0,SITRACKID=1,IDSCANID=2,TRTLUTID=3,TRTXKID=4};

Definition at line 204 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

◆ m_tr_eta_at_calo

float TrigElectron::m_tr_eta_at_calo
private

Track/Cluster matching quantities: eta and phi of track extrapolated to the calorimeter face.

Definition at line 218 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

◆ m_tr_nr_trt_hithresh_hits

int TrigElectron::m_tr_nr_trt_hithresh_hits
private

◆ m_tr_nr_trt_hits

int TrigElectron::m_tr_nr_trt_hits
private

number of TRT hits and high-threshold hits

Definition at line 213 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

◆ m_tr_phi_at_calo

float TrigElectron::m_tr_phi_at_calo
private

◆ m_tr_Zvtx

float TrigElectron::m_tr_Zvtx
private

Z of the track at closest approach (perigee) to the Z axis (maybe later to the beam?) given by the track finder.

This is important to check for compatibility with a common vertex in the case of Z->ee signatures, for example

Definition at line 210 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

◆ m_track

ElementLink< TrigInDetTrackCollection > TrigElectron::m_track
private

◆ m_valid

bool TrigElectron::m_valid
private

To certify "good" TrigElectrons: used to be necessary for studies; now basically always true for electrons produced by TrigL2IDCaloFex if not in AcceptAll mode (in which case this variable is always false).

Can also be set to false in case of errors found in constructor (see TrigElectron.cxx).

Definition at line 198 of file Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h.

◆ UNDEFINEDBARCODE

const AthenaBarCode_t IAthenaBarCode::UNDEFINEDBARCODE = (AthenaBarCode_t)(-1)
staticinherited

Definition at line 52 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.

◆ UNDEFINEDVERSION

const AthenaBarCode_t IAthenaBarCode::UNDEFINEDVERSION = UNDEFINEDBARCODE
staticinherited

Definition at line 53 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.


The documentation for this class was generated from the following files:
TrigElectron::trackAlgo
TrigInDetTrack::AlgoId trackAlgo() const
accessors to return the tracking quantities
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:121
TrigElectron::m_tr_nr_trt_hits
int m_tr_nr_trt_hits
number of TRT hits and high-threshold hits
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:213
TrigInDetTrack::param
void param(const TrigInDetTrackFitPar *param)
Definition: TrigInDetTrack.h:126
IAthenaBarCode::UNDEFINEDBARCODE
static const AthenaBarCode_t UNDEFINEDBARCODE
Definition: AthenaKernel/AthenaKernel/IAthenaBarCode.h:52
TrigElectron::m_cl_eta
float m_cl_eta
Calorimeter quantities: Cluster eta and phi
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:226
TrigElectron::F3
float F3() const
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:176
TrigElectron::trkPhiAtCalo
float trkPhiAtCalo() const
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:147
constants.EMB1
int EMB1
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:53
TrigElectron::m_valid
bool m_valid
To certify "good" TrigElectrons: used to be necessary for studies; now basically always true for elec...
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:198
TrigElectron::Eratio
float Eratio() const
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:168
TrigEMCluster::e2tsts1
float e2tsts1() const
get second maximum energy in sampling 1 (strip layer)
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigEMCluster.h:133
I4Momentum::P4IPTCOTTHPHIM
@ P4IPTCOTTHPHIM
Definition: I4Momentum.h:33
python.SystemOfUnits.MeV
int MeV
Definition: SystemOfUnits.py:154
P4PtEtaPhiMBase::e
virtual double e() const
energy
Definition: P4PtEtaPhiMBase.cxx:13
TrigEMCluster::phi
float phi() const
get Phi (calibrated)
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigEMCluster.h:116
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
M_PI
#define M_PI
Definition: ActiveFraction.h:11
TrigElectron::m_cl_e_frac_S0
float m_cl_e_frac_S0
Calibrated overall and per-sampling energy - to be used for cuts.
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:242
NavigableTerminalNode::NavigableTerminalNode
NavigableTerminalNode()
Definition: NavigableTerminalNode.h:27
TrigElectron::m_cl_e_frac_S2
float m_cl_e_frac_S2
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:244
TrigElectron::m_tr_Zvtx
float m_tr_Zvtx
Z of the track at closest approach (perigee) to the Z axis (maybe later to the beam?...
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:210
P4PtEtaPhiMBase::cotTh
virtual double cotTh() const
cottan theta
Definition: P4PtEtaPhiMBase.cxx:65
TrigEMCluster
Class with calibrated variables for egamma clustering.
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigEMCluster.h:31
TrigElectron::F1
float F1() const
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:174
drawFromPickle.cos
cos
Definition: drawFromPickle.py:36
P4PtEtaPhiM::m_eta
double m_eta
Definition: P4PtEtaPhiM.h:77
I4Momentum::pt
virtual double pt() const =0
transverse momentum
TrigEMCluster::e277
float e277() const
get Energy in a 7x7 cluster (no calibration) around hottest cell
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigEMCluster.h:120
TrigElectron::m_roiWord
unsigned int m_roiWord
roi word unique to L1 RoI (note: different from HLT RoI id)
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:191
TrigElectron::m_cl_Rcore
float m_cl_Rcore
Energy ratio in 3x7 and 7x7 cells in 2nd LAr sampling; Rcore = e237/e277.
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:231
TrigElectron::m_cl_Eratio
float m_cl_Eratio
Energy ratio in highest and 2nd highest strip pairs in 1st LAr sampling; Eratio = EmaxS1-E2ndS1 / Ema...
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:235
P4PtEtaPhiM::m_m
double m_m
Definition: P4PtEtaPhiM.h:79
P4PtEtaPhiM::m_phi
double m_phi
Definition: P4PtEtaPhiM.h:78
TrigInDetTrack
Definition: TrigInDetTrack.h:34
TrigElectron::m_tr_Algo
TrigInDetTrack::AlgoId m_tr_Algo
Tracking quantities: ID of the tracking algorithm that produced the track in this electron.
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:204
TrigElectron::caloEta
float caloEta() const
accessors to get cluster eta and phi (note baseclass eta and phi come from track)
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:162
TrigElectron::err_trkPt
float err_trkPt() const
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:140
TrigElectron::m_tr_nr_trt_hithresh_hits
int m_tr_nr_trt_hithresh_hits
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:214
P4PtEtaPhiMBase::cosPhi
virtual double cosPhi() const
cosinus phi
Definition: P4PtEtaPhiMBase.cxx:55
TrigInDetTrack::NULLID
@ NULLID
Definition: TrigInDetTrack.h:37
TrigElectron::trkEtaAtCalo
float trkEtaAtCalo() const
accessor to get eta and phi of electron candidate track extrapolated the calorimeter
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:146
calibdata.valid
list valid
Definition: calibdata.py:45
TrigElectron::cluster
const TrigEMCluster * cluster() const
accessor to get pointer to cluster (TrigEMCluster)
Definition: TrigElectron.cxx:292
P4PtEtaPhiM::phi
virtual double phi() const
get phi data member
Definition: P4PtEtaPhiM.h:109
P4PtEtaPhiM::setPt
virtual void setPt(double thePt)
set pt data member
Definition: P4PtEtaPhiM.h:115
TrigElectron::track
const TrigInDetTrack * track() const
accessor to get pointer to track (TrigInDetTrack)
Definition: TrigElectron.cxx:303
TrigEMCluster::e237
float e237() const
get Energy in a 3x7 cluster (no calibration) around hottest cell
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigEMCluster.h:118
TrigElectron::m_tr_phi_at_calo
float m_tr_phi_at_calo
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:219
constants.EMB2
int EMB2
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:54
P4PtEtaPhiM::setPhi
virtual void setPhi(double thePhi)
set phi data member
Definition: P4PtEtaPhiM.h:121
P4PtEtaPhiM::set4Mom
virtual void set4Mom(const I4Momentum &theI4Mom)
set all 4-mom from another I4Momentum reference
Definition: P4PtEtaPhiM.h:127
TrigElectron::EThad
float EThad() const
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:169
TrigElectron::nTRTHits
int nTRTHits() const
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:123
constants.EME1
int EME1
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:55
I4Momentum::eta
virtual double eta() const =0
pseudo rapidity
TrigElectron::caloPhi
float caloPhi() const
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:163
P4PtEtaPhiM::setEta
virtual void setEta(double theEta)
set eta data member
Definition: P4PtEtaPhiM.h:118
TrigElectron::F0
float F0() const
accessors for calibrated energy fractions in each sampling - to reject noise
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:173
P4PtEtaPhiM::pt
virtual double pt() const
get pt data member
Definition: P4PtEtaPhiM.h:103
TrigElectron::Zvtx
float Zvtx() const
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:122
I4Momentum::phi
virtual double phi() const =0
phi in [-pi,pi[
TrigEMCluster::eta
float eta() const
get Eta (calibrated)
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigEMCluster.h:114
TrigElectron::Rcore
float Rcore() const
accessors for shower shape quantities
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:166
I4Momentum::P4PTETAPHIM
@ P4PTETAPHIM
Definition: I4Momentum.h:33
TrigInDetTrack::NStrawHits
int NStrawHits() const
Number of TRT hits associated with track.
Definition: TrigInDetTrack.h:169
TrigElectron::m_cl_phi
float m_cl_phi
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:227
TrigElectron::nTRTHiThresholdHits
int nTRTHiThresholdHits() const
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:124
P4PtEtaPhiMBase::sinPhi
virtual double sinPhi() const
sinus phi
Definition: P4PtEtaPhiMBase.cxx:60
TrigElectron::m_cl_EThad
float m_cl_EThad
ET in first hadronic sampling: EThad=Ehad1/cosh(fabs(eta)
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:238
TrigEMCluster::ehad1
float ehad1() const
get hadronic Energy (first hadronic layer)
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigEMCluster.h:127
TrigEMCluster::energy
float energy() const
get Energy (calibrated)
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigEMCluster.h:102
I4Momentum::UNKNOWN
@ UNKNOWN
Definition: I4Momentum.h:33
TrigElectron::m_etoverpt
float m_etoverpt
Ratio of cluster transverse energy to track transv.momentum.
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:222
TrigElectron::F2
float F2() const
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:175
CaloCell_ID_FCS::EME3
@ EME3
Definition: FastCaloSim_CaloCell_ID.h:26
TrigElectron::DeltaPhi2
float DeltaPhi2() const
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:154
P4PtEtaPhiM::eta
virtual double eta() const
get eta data member
Definition: P4PtEtaPhiM.h:106
P4PtEtaPhiMBase::pz
virtual double pz() const
z component of momentum
Definition: P4PtEtaPhiMBase.cxx:125
I4Momentum::m
virtual double m() const =0
mass
TrigInDetTrack::NTRHits
int NTRHits() const
Number of high-threshold TRT hits associated with track.
Definition: TrigInDetTrack.h:175
TrigElectron::m_cl_e_frac_S3
float m_cl_e_frac_S3
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:245
TrigElectron::DeltaEta1
float DeltaEta1() const
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:153
TrigEMCluster::emaxs1
float emaxs1() const
get maximum energy in sampling 1 (strip layer)
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigEMCluster.h:131
CaloCell_ID_FCS::PreSamplerE
@ PreSamplerE
Definition: FastCaloSim_CaloCell_ID.h:23
CaloCell_ID_FCS::PreSamplerB
@ PreSamplerB
Definition: FastCaloSim_CaloCell_ID.h:19
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
P4PtEtaPhiM::P4PtEtaPhiM
P4PtEtaPhiM()
default constructor
Definition: P4PtEtaPhiM.h:83
TrigElectron::m_tr_eta_at_calo
float m_tr_eta_at_calo
Track/Cluster matching quantities: eta and phi of track extrapolated to the calorimeter face.
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:218
TrigElectron::m_cluster
ElementLink< TrigEMClusterContainer > m_cluster
ElementLinks to the track and calorimeter cluster in electron candidate.
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:248
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
IAthenaBarCode::UNDEFINEDVERSION
static const AthenaBarCode_t UNDEFINEDVERSION
Definition: AthenaKernel/AthenaKernel/IAthenaBarCode.h:53
TrigElectron::m_track
ElementLink< TrigInDetTrackCollection > m_track
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:249
TrigInDetTrack::algorithmId
void algorithmId(const AlgoId id)
Definition: TrigInDetTrack.h:125
CaloCell_ID_FCS::EMB3
@ EMB3
Definition: FastCaloSim_CaloCell_ID.h:22
I4Momentum::P4EETAPHIM
@ P4EETAPHIM
Definition: I4Momentum.h:33
P4PtEtaPhiMBase::sinTh
virtual double sinTh() const
sinus theta
Definition: P4PtEtaPhiMBase.cxx:75
constants.EME2
int EME2
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:56
P4PtEtaPhiM::m_pt
double m_pt
Definition: P4PtEtaPhiM.h:76
TrigElectron::m_cl_e_frac_S1
float m_cl_e_frac_S1
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:243
TrigEMCluster::et
float et() const
get Et (calibrated)
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigEMCluster.h:106
I4Momentum::P4PXPYPZE
@ P4PXPYPZE
Definition: I4Momentum.h:33