ATLAS Offline Software
Loading...
Searching...
No Matches
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
19#include "FourMom/P4PtEtaPhiM.h"
20#include "FourMom/P4PxPyPzE.h"
24
25
26
28 virtual public INavigable4Momentum {
29public:
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
71private:
80
82 float m_charge; // use float in case we ever will shift to weighted pt charge
91
93
95
96
97};
98
100std::string str( const TrigTauTracksInfo& tau );
101
103MsgStream& operator<< ( MsgStream& m, const TrigTauTracksInfo& tau );
104
106bool operator== ( const TrigTauTracksInfo& left, const TrigTauTracksInfo& right );
108inline bool operator!= ( const TrigTauTracksInfo& left, const TrigTauTracksInfo& right ) {
109 return !( left == right );
110}
111
113void diff( const TrigTauTracksInfo& left, const TrigTauTracksInfo& right,
114 std::map< std::string, double >& varChange );
115
116
117
118CLASS_DEF( TrigTauTracksInfo , 239760293 , 1 )
119
120#include "TrigInDetEvent/TrigTauTracksInfoCollection.h"
121#endif
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
bool operator==(const TrigTauTracksInfo &left, const TrigTauTracksInfo &right)
Operator comparing two TrigTauTracksInfo objects for equality.
bool operator!=(const TrigTauTracksInfo &left, const TrigTauTracksInfo &right)
Operator comparing two TrigTauTracksInfo objects for inequality.
void diff(const TrigTauTracksInfo &left, const TrigTauTracksInfo &right, std::map< std::string, double > &varChange)
Comparison with feedback.
MsgStream & operator<<(MsgStream &m, const TrigTauTracksInfo &tau)
Helper operator for printing the object.
virtual double pz() const =0
z component of momentum
virtual double px() const =0
x component of momentum
virtual double e() const =0
energy
virtual double py() const =0
y component of momentum
P4PtEtaPhiM(const double pt, const double eta, const double phi, const double m)
constructor with all data members
Definition P4PtEtaPhiM.h:29
virtual double pt() const
get pt data member
virtual double m() const
get mass data member
Contains basic information about trackc collection associated with Tau RoI.
void setPtBalance(float ptBal)
void setTrackCollection(const TrigInDetTrackCollection *trackColl)
float m_leadingTrackPt
leading track Pt
float scalarPtSumCore() const
void setLeadingTrackPt(float pt)
const P4PtEtaPhiM & threeFastestTracks() const
const TrigInDetTrackCollection * trackCollection() const
int m_nIsoTracks
number of tracks in the isolation region
int roiId() const
getters
void setNIsoTracks(int nIsoTrk)
float m_ptBalance
variable determining a difference between slow and leading tracks
int m_nCoreTracks
number of tracks in the core region
void setCharge(float charge)
int m_nSlowTracks
number of slow tracks in the core region
void set3fastestPtEtaPhiM(float pt, float eta, float phi, float m)
float sumPtRatio() const
float ptBalance() const
void set3fastestPxPyPzE(float px, float py, float pz, float e)
float m_scalarPtSumIso
scalar sum of pts in isolation area
const TrigInDetTrackCollection * m_tracks
float leadingTrackPt() const
void setScalarPtSumCore(float sumPtCore)
float m_charge
charge of tracks in the core region.
float scalarPtSumIso() const
void setNSlowTracks(int nSlowTrk)
void setRoiId(int id)
setters
float m_scalarPtSumCore
scalar sum of pts in core area
void setScalarPtSumIso(float sumPtIso)
void setNCoreTracks(int nCoreTrk)