ATLAS Offline Software
TrigElectron.cxx
Go to the documentation of this file.
1 // -*- C++ -*-
2 
3 /*
4  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 
41 #include "CaloGeoHelpers/CaloSampling.h"
43 
46  P4PtEtaPhiM(0, 0, 0, 0.511*CLHEP::MeV),
48  m_roiWord(0),
49  m_valid(false),
50  m_tr_Algo(TrigInDetTrack::NULLID),
51  m_tr_Zvtx(0),
52  m_tr_nr_trt_hits(0),
53  m_tr_nr_trt_hithresh_hits(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),
66  m_cl_e_frac_S3(0)
67 {
68  m_cluster.reset();
69  m_track.reset();
70 }
71 
82 TrigElectron::TrigElectron(unsigned int roi, // roi word
83  float trkEtaAtCalo, float trkPhiAtCalo, float EToverPT, // track-cluster match variables
84  const TrigEMClusterContainer* cl_coll, unsigned int cl_index, // links to track and cluster
85  const TrigInDetTrackCollection* tr_coll, unsigned int tr_index)
86  : P4PtEtaPhiM(0,0,0,0.511*CLHEP::MeV),
88  m_roiWord(roi),
89  m_valid(true),
90  m_tr_Zvtx(0),
91  m_tr_nr_trt_hits(0),
92  m_tr_nr_trt_hithresh_hits(0),
93  m_tr_eta_at_calo(trkEtaAtCalo),
94  m_tr_phi_at_calo(trkPhiAtCalo),
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 }
232 
233 
236  float eta,
237  float phi,
238 
239  // roi word
240  unsigned int roi,
241  bool valid,
242 
243  // track-cluster match variables
244  float trkEtaAtCalo,
245  float trkPhiAtCalo,
246  float EToverPT,
247 
248  // Cluster
250  float caloEta,
251  float caloPhi,
252  float Rcore,
253  float Eratio,
254  float EThad,
255  float F0,
256  float F1,
257  float F2,
258  float F3,
259 
260  // Track
262  TrigInDetTrack::AlgoId trackAlgo,
263  float Zvtx,
264  int nTRTHits,
265  int nTRTHiThresholdHits)
266  : P4PtEtaPhiM(pt,eta,phi,0.511*CLHEP::MeV),
267  m_roiWord(roi),
268  m_valid(valid),
269  m_tr_Algo(trackAlgo),
270  m_tr_Zvtx(Zvtx),
271  m_tr_nr_trt_hits(nTRTHits),
272  m_tr_nr_trt_hithresh_hits(nTRTHiThresholdHits),
273  m_tr_eta_at_calo(trkEtaAtCalo),
274  m_tr_phi_at_calo(trkPhiAtCalo),
275  m_etoverpt(EToverPT),
276  m_cl_eta(caloEta),
277  m_cl_phi(caloPhi),
278  m_cl_Rcore(Rcore),
279  m_cl_Eratio(Eratio),
280  m_cl_EThad(EThad),
281  m_cl_e_frac_S0(F0),
282  m_cl_e_frac_S1(F1),
283  m_cl_e_frac_S2(F2),
284  m_cl_e_frac_S3(F3),
285  m_cluster(cluster),
286  m_track(track)
287 {
288 }
289 
290 
291 // accessor to get pointer to cluster (TrigEMCluster)
293 {
294  if (m_cluster.isValid()) {
295  return (*m_cluster);
296  } else {
297  return NULL;
298  }
299 }
300 
301 
302 // accessor to get pointer to track (TrigInDetTrack)
304 {
305  if (m_track.isValid()) {
306  return (*m_track); // note: TrigInDetTrackContainer is a vector<TrigInDetTrack*>
307  } else {
308  return NULL;
309  }
310 }
311 
312 // comparison operators
315 // TEMPORARY: should fix it to allow proper comparison after re-running
316 bool operator==( const TrigElectron& te1, const TrigElectron& te2 ) {
317  return ( te1.isValid() && te2.isValid()
318  && te1.cluster() == te2.cluster() && te1.track() == te2.track());
319 }
320 
321 
327 void diff( const TrigElectron& te1, const TrigElectron& te2, std::map< std::string, double >& v_diff ) {
328 
329  v_diff["RoI"] = te1.roiId() - te2.roiId();
330  v_diff["Charge"] = std::abs( te1.charge() - te2.charge() );
331  v_diff["Eta"] = fabs( te1.eta() - te2.eta() );
332  double d_phi = fabs( te1.phi() - te2.phi() );
333  v_diff["Phi"] = (d_phi < M_PI ? d_phi : 2*M_PI - d_phi);
334  v_diff["Pt"] = 2 * fabs( (fabs(te1.pt()) - fabs(te2.pt())) / (fabs(te1.pt())+fabs(te2.pt())) );
335  v_diff["Zvtx"] = fabs( te1.Zvtx() - te2.Zvtx() );
336  v_diff["trkEtaEtCalo"] = fabs( te1.trkEtaAtCalo() - te2.trkEtaAtCalo() );
337  double d_phi_extrapol = fabs( te1.trkPhiAtCalo() - te2.trkPhiAtCalo() );
338  v_diff["trkPhiEtCalo"] = (d_phi_extrapol < M_PI ? d_phi_extrapol : 2*M_PI - d_phi_extrapol);
339  v_diff["TRThits"] = abs(te1.nTRTHits() - te2.nTRTHits());
340  v_diff["TRThitsHiThres"] = abs(te1.nTRTHiThresholdHits() - te2.nTRTHiThresholdHits());
341  // v_diff["E"] = fabs(te1.E() - te2.E());
342  v_diff["F0"] = fabs(te1.F0() - te2.F0());
343  v_diff["F1"] = fabs(te1.F1() - te2.F1());
344  v_diff["F2"] = fabs(te1.F2() - te2.F2());
345  v_diff["F3"] = fabs(te1.F3() - te2.F3());
346 
347  return;
348 }
349 
350 
351 // print TrigElectron quantities
352 MsgStream& operator<< ( MsgStream& msg, const TrigElectron& te ) {
353  return ( msg << "TrigElectron " << (te.isValid() ? "(valid)" : "(not valid)")
354  << ": RoI = " << te.roiId() << "; Q = " << te.charge()
355  << "; Et/Pt = " << te.EtOverPt() << "; Pt = " << te.pt()
356  << "; TRT hits = " << te.nTRTHits() << "; TRT HiThreshold hits = " << te.nTRTHiThresholdHits()
357  << "; trkPt = " << te.trkPt() << " +- " << te.err_Pt()
358  << "; eta = " << te.eta() << " +- " << te.err_eta()
359  << "; phi = " << te.phi() << " +- " << te.err_phi()
360  << "; Zvt = " << te.Zvtx() << " +- " << te.err_Zvtx()
361  << "; DeltaEta1 = " << te.DeltaEta1() << "; DeltaPhi2 = " << te.DeltaPhi2()
362  // << "; E = "<<te.E()
363  <<"; F0 = "<<te.F0()<<"; F1 = "<<te.F1()<<"; F2 = "<<te.F2()<<"; F3 = "<<te.F3() );
364 }
TrigElectron::EtOverPt
float EtOverPt() const
accessor to ratio of cluster Et to track Pt
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:159
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
TrigElectron::trkPt
float trkPt() const
accessor to get pT of electron candidate track
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:133
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
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
xAOD::trkPhiAtCalo
setCharge setNTRTHiThresholdHits setEratio setEtHad1 trkPhiAtCalo
Definition: TrigElectron_v1.cxx:118
TrigElectron.h
TrigInDetTrackCollection
Definition: TrigInDetTrackCollection.h:13
xAOD::L2MuonParameters::NULLID
@ NULLID
Definition: TrigMuonDefs.h:34
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
TrigEMCluster::e2tsts1
float e2tsts1() const
get second maximum energy in sampling 1 (strip layer)
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigEMCluster.h:133
python.SystemOfUnits.MeV
int MeV
Definition: SystemOfUnits.py:154
TrigEMCluster::phi
float phi() const
get Phi (calibrated)
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigEMCluster.h:116
TrigElectron::roiId
int roiId() const
accessor methods:
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:114
test_pyathena.pt
pt
Definition: test_pyathena.py:11
NavigableTerminalNode
Dummy type needed fro specialized implementation.
Definition: NavigableTerminalNode.h:19
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
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
TrigElectron::err_Pt
float err_Pt() const
accessors to get uncertainty in track parameters: Pt, eta, phi and Z of track perigee (Zvtx)
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:139
TrigElectron
File: TrigElectron.h.
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:63
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
TrigEMClusterContainer
Container from TrigEMCluster type objects.
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigEMClusterContainer.h:32
TrigInDetTrack::AlgoId
AlgoId
Definition: TrigInDetTrack.h:37
TrigElectron::TrigElectron
TrigElectron()
constructors; note: default constructor needed by POOL
Definition: TrigElectron.cxx:45
TrigEMCluster::e277
float e277() const
get Energy in a 7x7 cluster (no calibration) around hottest cell
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigEMCluster.h:120
diff
void diff(const TrigElectron &te1, const TrigElectron &te2, std::map< std::string, double > &v_diff)
Function compares two objects and returns "semi verbose" output in the form of map v_diff where varai...
Definition: TrigElectron.cxx:327
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
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::m_tr_nr_trt_hithresh_hits
int m_tr_nr_trt_hithresh_hits
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:214
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
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
IDTPM::nTRTHits
float nTRTHits(const U &p)
Definition: TrackParametersHelper.h:446
TrigElectron::err_Zvtx
float err_Zvtx() const
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:143
CLHEP
STD'S.
Definition: IAtRndmGenSvc.h:19
TrigElectron::nTRTHits
int nTRTHits() const
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:123
constants.EME1
int EME1
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:55
xAOD::caloPhi
setRcore setEtHad setFside setPt caloPhi
Definition: TrigPhoton_v1.cxx:111
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
TrigEMCluster::eta
float eta() const
get Eta (calibrated)
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigEMCluster.h:114
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
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
TrigElectron::err_eta
float err_eta() const
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:141
TrigElectron::isValid
bool isValid() const
accessor to get TrigElectron valid flag
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:118
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
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
TrigElectron::err_phi
float err_phi() const
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:142
operator==
bool operator==(const TrigElectron &te1, const TrigElectron &te2)
Two TrigElectron are the same if they have the same cluster and the same track (and if valid,...
Definition: TrigElectron.cxx:316
TrigElectron::charge
int charge() const
accessor to return the track charge (sign of TrigInDetTrack pT)
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:136
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
xAOD::EgammaParameters::Eratio
@ Eratio
(emaxs1-e2tsts1)/(emaxs1+e2tsts1)
Definition: EgammaEnums.h:158
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
P4PtEtaPhiM
Definition: P4PtEtaPhiM.h:25
TrigElectron::m_track
ElementLink< TrigInDetTrackCollection > m_track
Definition: Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectron.h:249
xAOD::nTRTHiThresholdHits
setCharge nTRTHiThresholdHits
Definition: TrigElectron_v1.cxx:91
TrigInDetTrack::algorithmId
void algorithmId(const AlgoId id)
Definition: TrigInDetTrack.h:125
CaloCell_ID_FCS::EMB3
@ EMB3
Definition: FastCaloSim_CaloCell_ID.h:22
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7
constants.EME2
int EME2
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:56
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
operator<<
MsgStream & operator<<(MsgStream &msg, const TrigElectron &te)
Definition: TrigElectron.cxx:352