|
ATLAS Offline Software
|
Go to the documentation of this file.
41 #include "CaloGeoHelpers/CaloSampling.h"
53 m_tr_nr_trt_hithresh_hits(0),
92 m_tr_nr_trt_hithresh_hits(0),
93 m_tr_eta_at_calo(trkEtaAtCalo),
120 if (tr_coll != NULL && tr_coll->
size() > tr_index) {
145 if ( tr_ptr->
param() != NULL ) {
160 if (cl_coll != NULL && cl_coll->
size() > cl_index) {
194 if (cl_ptr->
e277() != 0) {
210 float tmp_cl_energy = cl_ptr->
energy();
211 if (fabs(tmp_cl_energy) > 0.00001) {
269 m_tr_Algo(trackAlgo),
273 m_tr_eta_at_calo(trkEtaAtCalo),
275 m_etoverpt(EToverPT),
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() );
338 v_diff[
"trkPhiEtCalo"] = (d_phi_extrapol <
M_PI ? d_phi_extrapol : 2*
M_PI - d_phi_extrapol);
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());
353 return (
msg <<
"TrigElectron " << (te.
isValid() ?
"(valid)" :
"(not valid)")
354 <<
": RoI = " << te.
roiId() <<
"; Q = " << te.
charge()
355 <<
"; Et/Pt = " << te.
EtOverPt() <<
"; Pt = " << te.
pt()
357 <<
"; trkPt = " << te.
trkPt() <<
" +- " << te.
err_Pt()
358 <<
"; eta = " << te.
eta() <<
" +- " << te.
err_eta()
359 <<
"; phi = " << te.
phi() <<
" +- " << te.
err_phi()
363 <<
"; F0 = "<<te.
F0()<<
"; F1 = "<<te.
F1()<<
"; F2 = "<<te.
F2()<<
"; F3 = "<<te.
F3() );
float EtOverPt() const
accessor to ratio of cluster Et to track Pt
int m_tr_nr_trt_hits
number of TRT hits and high-threshold hits
void param(const TrigInDetTrackFitPar *param)
float trkPt() const
accessor to get pT of electron candidate track
float m_cl_eta
Calorimeter quantities: Cluster eta and phi
float trkPhiAtCalo() const
bool m_valid
To certify "good" TrigElectrons: used to be necessary for studies; now basically always true for elec...
Scalar phi() const
phi method
setCharge setNTRTHiThresholdHits setEratio setEtHad1 trkPhiAtCalo
Scalar eta() const
pseudorapidity method
float e2tsts1() const
get second maximum energy in sampling 1 (strip layer)
bool toIndexedElement(BaseConstReference data, index_type elemID, IProxyDict *sg=0)
Set the link to an element given by index and pointer to container.
float phi() const
get Phi (calibrated)
int roiId() const
accessor methods:
Dummy type needed fro specialized implementation.
float m_cl_e_frac_S0
Calibrated overall and per-sampling energy - to be used for cuts.
float m_tr_Zvtx
Z of the track at closest approach (perigee) to the Z axis (maybe later to the beam?...
float err_Pt() const
accessors to get uncertainty in track parameters: Pt, eta, phi and Z of track perigee (Zvtx)
Class with calibrated variables for egamma clustering.
Container from TrigEMCluster type objects.
TrigElectron()
constructors; note: default constructor needed by POOL
float e277() const
get Energy in a 7x7 cluster (no calibration) around hottest cell
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...
float m_cl_Rcore
Energy ratio in 3x7 and 7x7 cells in 2nd LAr sampling; Rcore = e237/e277.
float m_cl_Eratio
Energy ratio in highest and 2nd highest strip pairs in 1st LAr sampling; Eratio = EmaxS1-E2ndS1 / Ema...
bool isValid() const
Test to see if the link can be dereferenced.
TrigInDetTrack::AlgoId m_tr_Algo
Tracking quantities: ID of the tracking algorithm that produced the track in this electron.
int m_tr_nr_trt_hithresh_hits
float trkEtaAtCalo() const
accessor to get eta and phi of electron candidate track extrapolated the calorimeter
const TrigEMCluster * cluster() const
accessor to get pointer to cluster (TrigEMCluster)
virtual double phi() const
get phi data member
virtual void setPt(double thePt)
set pt data member
const TrigInDetTrack * track() const
accessor to get pointer to track (TrigInDetTrack)
float e237() const
get Energy in a 3x7 cluster (no calibration) around hottest cell
virtual void setPhi(double thePhi)
set phi data member
float nTRTHits(const U &p)
setRcore setEtHad setFside setPt caloPhi
virtual void setEta(double theEta)
set eta data member
float F0() const
accessors for calibrated energy fractions in each sampling - to reject noise
virtual double pt() const
get pt data member
float eta() const
get Eta (calibrated)
int NStrawHits() const
Number of TRT hits associated with track.
int nTRTHiThresholdHits() const
float m_cl_EThad
ET in first hadronic sampling: EThad=Ehad1/cosh(fabs(eta)
float ehad1() const
get hadronic Energy (first hadronic layer)
float energy() const
get Energy (calibrated)
bool isValid() const
accessor to get TrigElectron valid flag
virtual double eta() const
get eta data member
void reset()
Reset to default state.
int NTRHits() const
Number of high-threshold TRT hits associated with track.
float emaxs1() const
get maximum energy in sampling 1 (strip layer)
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,...
int charge() const
accessor to return the track charge (sign of TrigInDetTrack pT)
ElementLink< TrigEMClusterContainer > m_cluster
ElementLinks to the track and calorimeter cluster in electron candidate.
@ Eratio
(emaxs1-e2tsts1)/(emaxs1+e2tsts1)
ElementLink< TrigInDetTrackCollection > m_track
setCharge nTRTHiThresholdHits
void algorithmId(const AlgoId id)
size_type size() const noexcept
Returns the number of elements in the collection.
float et() const
get Et (calibrated)
MsgStream & operator<<(MsgStream &msg, const TrigElectron &te)