ATLAS Offline Software
TrigTau.cxx
Go to the documentation of this file.
1 // -*- C++ -*-
2 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 
24 #include "TrigParticle/TrigTau.h"
26 
27 // default constructor
29  m_roiID(-1), m_Zvtx(0),
30  m_err_Zvtx(0),
31  m_etCalibCluster(0), m_simpleEtFlow(0), m_nMatchedTracks(0),
32  m_cluster(NULL), m_tracksInfo(NULL), m_tracks(NULL),
33  m_trkAvgDist(0), m_etOverPtLeadTrk(0)
34 {}
35 
36 // constructor
38  float eta, float phi, float zvtx, float pt,
39  float err_zvtx,
40  float etCalibClusterr, float etFlowr, int nMatchedTracks,
41  const TrigTauCluster* cluster, const TrigInDetTrackCollection* tracks,
42  const TrigTauTracksInfo * tracksInfo) :
44  m_roiID(roi), m_Zvtx(zvtx),
45  m_err_Zvtx(err_zvtx),
46  m_etCalibCluster(etCalibClusterr), m_simpleEtFlow(etFlowr), m_nMatchedTracks(nMatchedTracks),
47  m_cluster(cluster), m_tracksInfo(tracksInfo), m_tracks(tracks),
48  m_trkAvgDist(0), m_etOverPtLeadTrk(0)
49 {}
50 
51 
52 // constructor
54  float eta, float phi, float zvtx, float pt, float etCalibClusterr,
55  float etFLow, int nMatchedTracks,
56  const TrigTauCluster* cluster, const TrigInDetTrackCollection* tracks,
57  const TrigTauTracksInfo * tracksInfo) :
59  m_roiID(roi),
60  m_Zvtx(zvtx),
61  m_err_Zvtx(0),
62  m_etCalibCluster(etCalibClusterr), m_simpleEtFlow(etFLow),
63  m_nMatchedTracks(nMatchedTracks), m_cluster(cluster),
64  m_tracksInfo(tracksInfo), m_tracks(tracks),
65  m_trkAvgDist(0), m_etOverPtLeadTrk(0)
66 {}
67 
68 // destructor
70 
71 // accessor methods
72 int TrigTau::roiId() const { return m_roiID; }
73 
74 float TrigTau::Zvtx() const { return m_Zvtx; }
75 
76 float TrigTau::err_Zvtx() const { return m_err_Zvtx; }
77 
78 float TrigTau::etCalibCluster() const { return m_etCalibCluster; }
79 
80 float TrigTau::simpleEtFlow() const { return m_simpleEtFlow; }
81 
83 float TrigTau::trkAvgDist() const { return m_trkAvgDist; }
85 
86 const TrigTauCluster* TrigTau::tauCluster() const { return m_cluster; }
87 
90 
93 void TrigTau::setZvtx(float zvtx){m_Zvtx = zvtx;}
94 void TrigTau::setErr_Zvtx(float err_zvtx){m_err_Zvtx = err_zvtx;}
96 void TrigTau::setSimpleEtFlow(float etFlow){m_simpleEtFlow = etFlow; }
100 trackColl ;}
102 tracksInfo ;}
105 
106 
107 std::string str( const TrigTau& tau ) {
108 
109  std::stringstream stream;
110  stream << "RoI ID: " << tau.roiId()
111  << "; pt: " << tau.pt()
112  << "; eta: " << tau.eta()
113  << "; phi: " << tau.phi()
114  << "; etCalibCluster: " << tau.etCalibCluster()
115  << "; simpleEtFlow: " << tau.simpleEtFlow()
116  << "; nMatchedTracks: " << tau.nMatchedTracks();
117  // << "; Zvtx: " << tau.Zvtx()
118  // << "; err_Zvtx: " << tau.err_Zvtx();
119  stream << "; trkAvgDist: "<< tau.trkAvgDist()
120  << "; etOverPtLeadTrk: "<<tau.etOverPtLeadTrk();
121 
122  return stream.str();
123 }
124 
125 MsgStream& operator<< ( MsgStream& m, const TrigTau& tau ) {
126 
127  return ( m << str( tau ) );
128 
129 }
130 
131 bool operator== ( const TrigTau& left, const TrigTau& right ) {
132 
133  static const double DELTA = 0.001;
134  if( ( left.roiId() != right.roiId() ) ||
135  ( std::abs( left.pt() - right.pt() ) > DELTA ) ||
136  ( std::abs( left.eta() - right.eta() ) > DELTA ) ||
137  ( std::abs( left.phi() - right.phi() ) > DELTA ) ||
138  ( std::abs( left.etCalibCluster() - right.etCalibCluster() ) > DELTA ) ||
139  ( std::abs( left.simpleEtFlow() - right.simpleEtFlow() ) > DELTA ) ||
140  ( left.nMatchedTracks() != right.nMatchedTracks() ) ||
141  ( std::abs( left.trkAvgDist() - right.trkAvgDist() ) > DELTA ) ||
142  ( std::abs( left.etOverPtLeadTrk() - right.etOverPtLeadTrk() ) > DELTA )
143  ) {
144 
145  return false;
146 
147  } else {
148 
149  return true;
150 
151  }
152 
153 }
154 
155 void diff( const TrigTau& left, const TrigTau& right,
156  std::map< std::string, double >& varChange ) {
157 
158  static const double DELTA = 0.001;
159  if( left.roiId() != right.roiId() ) {
160  varChange[ "roiId" ] = static_cast< double >( left.roiId() - right.roiId() );
161  }
162  if( std::abs( left.pt() - right.pt() ) > DELTA ) {
163  varChange[ "pt" ] = left.pt() - right.pt();
164  }
165  if( std::abs( left.eta() - right.eta() ) > DELTA ) {
166  varChange[ "eta" ] = left.eta() - right.eta();
167  }
168  if( std::abs( left.phi() - right.phi() ) > DELTA ) {
169  varChange[ "phi" ] = left.phi() - right.phi();
170  }
171 
172  if( std::abs( left.etCalibCluster() - right.etCalibCluster() ) > DELTA ) {
173  varChange[ "etCalibCluster" ] = left.etCalibCluster() - right.etCalibCluster();
174  }
175  if( std::abs( left.simpleEtFlow() - right.simpleEtFlow() ) > DELTA ) {
176  varChange[ "simpleEtFlow" ] = left.simpleEtFlow() - right.simpleEtFlow();
177  }
178  if( left.nMatchedTracks() != right.nMatchedTracks() ) {
179  varChange[ "nMatchedTracks" ] = left.nMatchedTracks() - right.nMatchedTracks();
180  }
181  if( left.trkAvgDist() != right.trkAvgDist() ) {
182  varChange[ "trkAvgDist" ] = left.trkAvgDist() - right.trkAvgDist();
183  }
184  if( left.etOverPtLeadTrk() != right.etOverPtLeadTrk() ) {
185  varChange[ "etOverPtLeadTrk" ] = left.etOverPtLeadTrk() - right.etOverPtLeadTrk();
186  }
187 
188  return;
189 }
TrigTau::tracksInfo
const TrigTauTracksInfo * tracksInfo() const
Definition: TrigTau.cxx:89
TrigTau::setTauCluster
void setTauCluster(const TrigTauCluster *tauCluster)
Definition: TrigTau.cxx:98
ParticleConstants::PDG2011::tauMassInMeV
constexpr double tauMassInMeV
the mass of the tau (in MeV)
Definition: ParticleConstants.h:32
TrigTau::setSimpleEtFlow
void setSimpleEtFlow(float etFlow)
Definition: TrigTau.cxx:96
operator<<
MsgStream & operator<<(MsgStream &m, const TrigTau &tau)
Helper operator for printing the object.
Definition: TrigTau.cxx:125
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
TrigTau::m_etOverPtLeadTrk
float m_etOverPtLeadTrk
ration of cluster energy to leading pt track
Definition: TrigTau.h:113
TrigTau::trackCollection
const TrigInDetTrackCollection * trackCollection() const
Definition: TrigTau.cxx:88
TrigInDetTrackCollection
Definition: TrigInDetTrackCollection.h:13
TrigTau::~TrigTau
~TrigTau()
Definition: TrigTau.cxx:69
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
TrigTau::trkAvgDist
float trkAvgDist() const
Definition: TrigTau.cxx:83
TrigTau::setRoiId
void setRoiId(int roiId)
set methods
Definition: TrigTau.cxx:92
test_pyathena.pt
pt
Definition: test_pyathena.py:11
NavigableTerminalNode
Dummy type needed fro specialized implementation.
Definition: NavigableTerminalNode.h:19
TrigTauCluster
Class with calibrated variables for tau clustering.
Definition: TrigTauCluster.h:32
TrigTau::setEtCalibCluster
void setEtCalibCluster(float etCalibCluster)
Definition: TrigTau.cxx:95
TrigTau::TrigTau
TrigTau()
File: TrigTau.cxx.
Definition: TrigTau.cxx:28
AthenaPoolTestWrite.stream
string stream
Definition: AthenaPoolTestWrite.py:12
TrigTau::tauCluster
const TrigTauCluster * tauCluster() const
Definition: TrigTau.cxx:86
TrigTau::err_Zvtx
float err_Zvtx() const
Definition: TrigTau.cxx:76
TrigTau::m_err_Zvtx
float m_err_Zvtx
Error on z coordinate.
Definition: TrigTau.h:94
TrigTauTracksInfo
Definition: TrigTauTracksInfo.h:28
P4PtEtaPhiM::phi
virtual double phi() const
get phi data member
Definition: P4PtEtaPhiM.h:109
TrigTau::m_etCalibCluster
float m_etCalibCluster
Transverse energy of the calibrated tau cluster.
Definition: TrigTau.h:97
ParticleConstants.h
xAOD::TauJetParameters::trkAvgDist
@ trkAvgDist
Get calibrated EM transverse energy (DEPRECATED since r19)
Definition: TauDefs.h:214
TrigTau::nMatchedTracks
int nMatchedTracks() const
Definition: TrigTau.cxx:82
xAOD::roiId
setTeId setLumiBlock roiId
Definition: L2StandAloneMuon_v1.cxx:332
ParticleConstants
Definition: ParticleConstants.h:22
diff
void diff(const TrigTau &left, const TrigTau &right, std::map< std::string, double > &varChange)
Comparison with feedback.
Definition: TrigTau.cxx:155
TrigTau::setTrackCollection
void setTrackCollection(const TrigInDetTrackCollection *trackColl)
Definition: TrigTau.cxx:99
xAOD::TauJetParameters::etOverPtLeadTrk
@ etOverPtLeadTrk
Definition: TauDefs.h:158
TrigTau::setEtOverPtLeadTrk
void setEtOverPtLeadTrk(float etOverPtLeadTrk)
Definition: TrigTau.cxx:104
TrigTau::m_roiID
int m_roiID
Identifier of the RoI.
Definition: TrigTau.h:90
P4PtEtaPhiM::pt
virtual double pt() const
get pt data member
Definition: P4PtEtaPhiM.h:103
TrigTau::m_simpleEtFlow
float m_simpleEtFlow
EtFlow as calculated from 3 fastest tracks and cluster with energy of first 3 EM samplings.
Definition: TrigTau.h:99
TrigTau::roiId
int roiId() const
accessor methods
Definition: TrigTau.cxx:72
TrigTau::simpleEtFlow
float simpleEtFlow() const
Definition: TrigTau.cxx:80
TrigTau::setErr_Zvtx
void setErr_Zvtx(float err_zvtx)
Definition: TrigTau.cxx:94
TrigTau::m_nMatchedTracks
int m_nMatchedTracks
Number of tracks matched to the calorimeter cluster.
Definition: TrigTau.h:101
TrigTau::m_tracks
const TrigInDetTrackCollection * m_tracks
Collection of inner detector tracks.
Definition: TrigTau.h:107
TrigTau::setTrkAvgDist
void setTrkAvgDist(float trkAvgDist)
Definition: TrigTau.cxx:103
P4PtEtaPhiM::eta
virtual double eta() const
get eta data member
Definition: P4PtEtaPhiM.h:106
operator==
bool operator==(const TrigTau &left, const TrigTau &right)
Operator comparing two TrigTau objects for equality.
Definition: TrigTau.cxx:131
TrigTau::setNMatchedTracks
void setNMatchedTracks(int nmatchedTracks)
Definition: TrigTau.cxx:97
TrigTau::Zvtx
float Zvtx() const
Definition: TrigTau.cxx:74
TrigTau.h
TrigTau::setZvtx
void setZvtx(float zvtx)
Definition: TrigTau.cxx:93
TrigTau::m_tracksInfo
const TrigTauTracksInfo * m_tracksInfo
Collection of inner detector tracks.
Definition: TrigTau.h:105
TrigTau::m_trkAvgDist
float m_trkAvgDist
average distance of tracks to tau direction
Definition: TrigTau.h:111
TrigTau::m_Zvtx
float m_Zvtx
Z coordinate of the tau vertex.
Definition: TrigTau.h:92
TrigTau::etOverPtLeadTrk
float etOverPtLeadTrk() const
Definition: TrigTau.cxx:84
TrigTau
File: TrigTau.h.
Definition: TrigTau.h:37
TrigTau::setTracksInfo
void setTracksInfo(const TrigTauTracksInfo *trackInfo)
Definition: TrigTau.cxx:101
P4PtEtaPhiM
Definition: P4PtEtaPhiM.h:25
TrigTau::etCalibCluster
float etCalibCluster() const
Definition: TrigTau.cxx:78
TrigTau::m_cluster
const TrigTauCluster * m_cluster
Calorimeter tau cluster.
Definition: TrigTau.h:103
str
std::string str(const TrigTau &tau)
Helper function for printing the object.
Definition: TrigTau.cxx:107
python.SystemOfUnits.m
float m
Definition: SystemOfUnits.py:106