ATLAS Offline Software
TrigTauTracksInfo.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGTAUTRACKSINFO_H
6 #define TRIGTAUTRACKSINFO_H
7 
18 #include "AthenaKernel/CLASS_DEF.h"
19 #include "FourMom/P4PtEtaPhiM.h"
20 #include "FourMom/P4PxPyPzE.h"
21 #include "Navigation/Navigable.h"
24 
25 
26 
28  virtual public INavigable4Momentum {
29 public:
32 
35 
37  int roiId() const {return m_roiID;};
38 
39  int nCoreTracks() const {return m_nCoreTracks;};
40  int nSlowTracks() const{return m_nSlowTracks;};
41  int nIsoTracks() const{return m_nIsoTracks;};
42 
43  float charge() const{return m_charge;};
44  float leadingTrackPt() const { return m_leadingTrackPt; };
46  float scalarPtSumCore() const{return m_scalarPtSumCore;};
47  float scalarPtSumIso() const{return m_scalarPtSumIso;};
48  float ptBalance() const{return m_ptBalance;};
49 
50  const P4PtEtaPhiM & threeFastestTracks() const {return m_3fastest; } ;
52 
53 
55  void setRoiId(int id) {m_roiID = id;};
56  void setNCoreTracks( int nCoreTrk) {m_nCoreTracks = nCoreTrk; } ;
57  void setNSlowTracks(int nSlowTrk) {m_nSlowTracks = nSlowTrk; } ;
58  void setNIsoTracks( int nIsoTrk ) {m_nIsoTracks = nIsoTrk; };
59 
60  void setCharge( float charge) {m_charge = charge; };
62  void setScalarPtSumCore(float sumPtCore) {m_scalarPtSumCore = sumPtCore; };
63  void setScalarPtSumIso(float sumPtIso) {m_scalarPtSumIso = sumPtIso; };
64  void setPtBalance(float ptBal) {m_ptBalance = ptBal;} ;
65 
66  void set3fastestPtEtaPhiM(float pt, float eta, float phi, float m);
67  void set3fastestPxPyPzE(float px, float py, float pz, float e);
68  void setTrackCollection(const TrigInDetTrackCollection* trackColl) {m_tracks = trackColl;};
69 
70 
71 private:
73  int m_roiID;
80 
82  float m_charge; // use float in case we ever will shift to weighted pt charge
90  float m_ptBalance;
91 
93 
95 
96 
97 };
98 
100 std::string str( const TrigTauTracksInfo& tau );
101 
103 MsgStream& operator<< ( MsgStream& m, const TrigTauTracksInfo& tau );
104 
106 bool operator== ( const TrigTauTracksInfo& left, const TrigTauTracksInfo& right );
108 inline bool operator!= ( const TrigTauTracksInfo& left, const TrigTauTracksInfo& right ) {
109  return !( left == right );
110 }
111 
113 void diff( const TrigTauTracksInfo& left, const TrigTauTracksInfo& right,
114  std::map< std::string, double >& varChange );
115 
116 
117 
118 CLASS_DEF( TrigTauTracksInfo , 239760293 , 1 )
119 
120 #include "TrigInDetEvent/TrigTauTracksInfoCollection.h"
121 #endif
str
std::string str(const TrigTauTracksInfo &tau)
Helper function for printing the object.
Definition: TrigInDetEvent/src/TrigTauTracksInfo.cxx:56
I4Momentum::py
virtual double py() const =0
y component of momentum
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
operator!=
bool operator!=(const TrigTauTracksInfo &left, const TrigTauTracksInfo &right)
Operator comparing two TrigTauTracksInfo objects for inequality.
Definition: TrigTauTracksInfo.h:108
INavigable4Momentum.h
TrigTauTracksInfo::threeFastestTracks
const P4PtEtaPhiM & threeFastestTracks() const
Definition: TrigTauTracksInfo.h:50
TrigTauTracksInfo::roiId
int roiId() const
getters
Definition: TrigTauTracksInfo.h:37
TrigInDetTrackCollection
Definition: TrigInDetTrackCollection.h:13
TrigTauTracksInfo::setLeadingTrackPt
void setLeadingTrackPt(float pt)
Definition: TrigTauTracksInfo.h:61
TrigTauTracksInfo::m_leadingTrackPt
float m_leadingTrackPt
leading track Pt
Definition: TrigTauTracksInfo.h:84
TrigTauTracksInfo::nCoreTracks
int nCoreTracks() const
Definition: TrigTauTracksInfo.h:39
TrigTauTracksInfo::m_tracks
const TrigInDetTrackCollection * m_tracks
Definition: TrigTauTracksInfo.h:94
NavigableTerminalNode
Dummy type needed fro specialized implementation.
Definition: NavigableTerminalNode.h:19
TrigTauTracksInfo::trackCollection
const TrigInDetTrackCollection * trackCollection() const
Definition: TrigTauTracksInfo.h:51
TrigInDetTrackCollection.h
TrigTauTracksInfo::setNIsoTracks
void setNIsoTracks(int nIsoTrk)
Definition: TrigTauTracksInfo.h:58
TrigTauTracksInfo::TrigTauTracksInfo
TrigTauTracksInfo()
Constructor.
Definition: TrigInDetEvent/src/TrigTauTracksInfo.cxx:19
operator==
bool operator==(const TrigTauTracksInfo &left, const TrigTauTracksInfo &right)
Operator comparing two TrigTauTracksInfo objects for equality.
Definition: TrigInDetEvent/src/TrigTauTracksInfo.cxx:85
TrigTauTracksInfo::sumPtRatio
float sumPtRatio() const
Definition: TrigTauTracksInfo.h:45
TrigTauTracksInfo::leadingTrackPt
float leadingTrackPt() const
Definition: TrigTauTracksInfo.h:44
TrigTauTracksInfo::m_roiID
int m_roiID
RoI id.
Definition: TrigTauTracksInfo.h:68
TrigTauTracksInfo
Definition: TrigTauTracksInfo.h:28
TrigTauTracksInfo::setTrackCollection
void setTrackCollection(const TrigInDetTrackCollection *trackColl)
Definition: TrigTauTracksInfo.h:68
P4PtEtaPhiM::phi
virtual double phi() const
get phi data member
Definition: P4PtEtaPhiM.h:109
operator<<
MsgStream & operator<<(MsgStream &m, const TrigTauTracksInfo &tau)
Helper operator for printing the object.
Definition: TrigInDetEvent/src/TrigTauTracksInfo.cxx:79
I4Momentum::pz
virtual double pz() const =0
z component of momentum
TrigTauTracksInfo::setPtBalance
void setPtBalance(float ptBal)
Definition: TrigTauTracksInfo.h:64
TrigTauTracksInfo::m_nCoreTracks
int m_nCoreTracks
number of tracks in the core region
Definition: TrigTauTracksInfo.h:75
I4Momentum::e
virtual double e() const =0
energy
TrigTauTracksInfo::m_charge
float m_charge
charge of tracks in the core region.
Definition: TrigTauTracksInfo.h:82
TrigTauTracksInfo::m_scalarPtSumIso
float m_scalarPtSumIso
scalar sum of pts in isolation area
Definition: TrigTauTracksInfo.h:88
TrigTauTracksInfo::set3fastestPxPyPzE
void set3fastestPxPyPzE(float px, float py, float pz, float e)
Definition: TrigInDetEvent/src/TrigTauTracksInfo.cxx:50
TrigTauTracksInfo::m_nIsoTracks
int m_nIsoTracks
number of tracks in the isolation region
Definition: TrigTauTracksInfo.h:79
TrigTauTracksInfo::setNSlowTracks
void setNSlowTracks(int nSlowTrk)
Definition: TrigTauTracksInfo.h:57
TrigTauTracksInfo::setScalarPtSumCore
void setScalarPtSumCore(float sumPtCore)
Definition: TrigTauTracksInfo.h:62
P4PtEtaPhiM::m
virtual double m() const
get mass data member
Definition: P4PtEtaPhiM.h:112
TrigTauTracksInfo::charge
float charge() const
Definition: TrigTauTracksInfo.h:43
P4PtEtaPhiM::pt
virtual double pt() const
get pt data member
Definition: P4PtEtaPhiM.h:103
TrigTauTracksInfo::setCharge
void setCharge(float charge)
Definition: TrigTauTracksInfo.h:60
TrigTauTracksInfo::m_nSlowTracks
int m_nSlowTracks
number of slow tracks in the core region
Definition: TrigTauTracksInfo.h:77
TrigTauTracksInfo::m_ptBalance
float m_ptBalance
variable determining a difference between slow and leading tracks
Definition: TrigTauTracksInfo.h:90
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:194
P4PtEtaPhiM::eta
virtual double eta() const
get eta data member
Definition: P4PtEtaPhiM.h:106
TrigTauTracksInfo::m_scalarPtSumCore
float m_scalarPtSumCore
scalar sum of pts in core area
Definition: TrigTauTracksInfo.h:86
Navigable.h
TrigTauTracksInfo::~TrigTauTracksInfo
~TrigTauTracksInfo()
Destructor.
Definition: TrigInDetEvent/src/TrigTauTracksInfo.cxx:40
TrigTauTracksInfo::setRoiId
void setRoiId(int id)
setters
Definition: TrigTauTracksInfo.h:55
TrigTauTracksInfo::m_3fastest
P4PtEtaPhiM m_3fastest
Definition: TrigTauTracksInfo.h:92
P4PtEtaPhiM.h
INavigable4Momentum
Definition: INavigable4Momentum.h:21
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
TrigTauTracksInfo::nIsoTracks
int nIsoTracks() const
Definition: TrigTauTracksInfo.h:41
TrigTauTracksInfo::ptBalance
float ptBalance() const
Definition: TrigTauTracksInfo.h:48
TrigTauTracksInfo::nSlowTracks
int nSlowTracks() const
Definition: TrigTauTracksInfo.h:40
TrigTauTracksInfo::setScalarPtSumIso
void setScalarPtSumIso(float sumPtIso)
Definition: TrigTauTracksInfo.h:63
TrigTauTracksInfo::scalarPtSumCore
float scalarPtSumCore() const
Definition: TrigTauTracksInfo.h:46
P4PtEtaPhiM
Definition: P4PtEtaPhiM.h:25
P4PxPyPzE.h
diff
void diff(const TrigTauTracksInfo &left, const TrigTauTracksInfo &right, std::map< std::string, double > &varChange)
Comparison with feedback.
Definition: TrigInDetEvent/src/TrigTauTracksInfo.cxx:114
TrigTauTracksInfo::setNCoreTracks
void setNCoreTracks(int nCoreTrk)
Definition: TrigTauTracksInfo.h:56
TrigTauTracksInfo::scalarPtSumIso
float scalarPtSumIso() const
Definition: TrigTauTracksInfo.h:47
CLASS_DEF.h
macros to associate a CLID to a type
I4Momentum::px
virtual double px() const =0
x component of momentum
TrigTauTracksInfo::set3fastestPtEtaPhiM
void set3fastestPtEtaPhiM(float pt, float eta, float phi, float m)
Definition: TrigInDetEvent/src/TrigTauTracksInfo.cxx:43