ATLAS Offline Software
TauTrack_v1.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef XAODTAU_VERSIONS_TAUTRACK_V1_H
6 #define XAODTAU_VERSIONS_TAUTRACK_V1_H
7 
8 #include <cstdint>
9 
10 // Core include(s):
11 #include "AthLinks/ElementLink.h"
12 
13 // xAOD include(s):
14 #include "xAODBase/IParticle.h"
16 
17 // local include(s):
18 #include "xAODTau/TauDefs.h"
19 
20 // ROOT include(s):
21 #include "Math/Vector4D.h"
22 
23 namespace xAOD {
24 
25 
26 
27  class TauTrack_v1 : public IParticle {
28 
29  public:
31  TauTrack_v1();
32 
33 
34  virtual double pt() const;
35  virtual double eta() const;
36  virtual double phi() const;
37  virtual double e() const;
38 
39  virtual double m() const;
40  virtual double rapidity() const;
41 
43  virtual FourMom_t p4() const;
44 
46  typedef ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> > GenVecFourMom_t;
47 
49  GenVecFourMom_t genvecP4() const;
50 
52  void setP4(double pt, double eta, double phi, double m);
53 
55  virtual Type::ObjectType type() const;
56 
57  //track flag
59  bool flagWithMask(unsigned int) const;
64 
65  // additional bdt input variables
66  float z0sinThetaTJVA(const xAOD::IParticle&) const;
67 
68  // track IP w.r.t. TJVA vertex
69  float d0TJVA() const;
70  float d0SigTJVA() const;
71  float z0sinthetaTJVA() const;
72  float z0sinthetaSigTJVA() const;
73 
74  float rConv() const;
75  float rConvII() const;
76  float dRJetSeedAxis(const xAOD::IParticle&) const;
77 
78  //bdt decision
79  const std::vector<float>& bdtScores() const;
80  void setBdtScores(const std::vector<float>& bdtScores);
81 
82  float bdtScore( size_t i) const;
83  size_t nBdtScores() const;
84  void addBdtScore( const float score);
85  void clearBdtScores();
86 
87  bool detail( TauJetParameters::TrackDetail detail, float& value ) const;
89 
90  // tracks
91  typedef std::vector< ElementLink< xAOD::TrackParticleContainer > > TrackParticleLinks_t;
92 
94  void setTrackLinks( const TrackParticleLinks_t& trackParticle );
95  // Get the pointer to a associated track
96  const TrackParticle* track() const;
100  void clearTrackLinks();
101 
102  }; // class TauTrack
103 
104 } // namespace xAOD
105 
106 // Declare IParticle as a base class of TauTrack_v1:
109 
110 #endif // XAODTAU_VERSIONS_TAUTRACK_V1_H
111 
xAOD::TauTrack_v1::type
virtual Type::ObjectType type() const
The type of the object as a simple enumeration.
Definition: TauTrack_v1.cxx:57
xAOD::TauJetParameters::TauTrackFlag
TauTrackFlag
Enum for tau track flags.
Definition: TauDefs.h:400
xAOD::TauTrack_v1::setFlag
void setFlag(TauJetParameters::TauTrackFlag flag, bool value)
Definition: TauTrack_v1.cxx:89
xAOD::TauTrack_v1::p4
virtual FourMom_t p4() const
The full 4-momentum of the particle.
Definition: TauTrack_v1.cxx:33
IParticle.h
xAOD::TauTrack_v1::dRJetSeedAxis
float dRJetSeedAxis(const xAOD::IParticle &) const
Definition: TauTrack_v1.cxx:142
xAOD::TauTrack_v1::d0SigTJVA
float d0SigTJVA() const
Definition: TauTrack_v1.cxx:120
xAOD::TauTrack_v1::clearTrackLinks
void clearTrackLinks()
Remove all tracks from the collection.
Definition: TauTrack_v1.cxx:215
xAOD::TauTrack_v1::eta
virtual double eta() const
The pseudorapidity ( ) of the particle.
xAOD::TauTrack_v1::z0sinthetaSigTJVA
float z0sinthetaSigTJVA() const
Definition: TauTrack_v1.cxx:130
xAOD::TauTrack_v1::TauTrack_v1
TauTrack_v1()
Default constructor.
Definition: TauTrack_v1.cxx:22
athena.value
value
Definition: athena.py:124
xAOD::TauTrack_v1::flag
bool flag(TauJetParameters::TauTrackFlag flag) const
Definition: TauTrack_v1.cxx:76
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
detail
Definition: extract_histogram_tag.cxx:14
xAOD::TauTrack_v1::TrackParticleLinks_t
std::vector< ElementLink< xAOD::TrackParticleContainer > > TrackParticleLinks_t
Definition: TauTrack_v1.h:91
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:41
xAOD::TauTrack_v1::detail
bool detail(TauJetParameters::TrackDetail detail, float &value) const
Definition: TauTrack_v1.cxx:152
xAOD::IParticle::FourMom_t
TLorentzVector FourMom_t
Definition of the 4-momentum type.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:69
xAOD::TauTrack_v1::GenVecFourMom_t
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > GenVecFourMom_t
Base 4 Momentum type for taus.
Definition: TauTrack_v1.h:46
TauDefs.h
xAOD::TauTrack_v1::rConvII
float rConvII() const
Definition: TauTrack_v1.cxx:138
xAOD::TauTrack_v1::d0TJVA
float d0TJVA() const
Definition: TauTrack_v1.cxx:115
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
xAOD::TauTrack_v1::setFlagSet
void setFlagSet(TrackFlagType flag)
lumiFormat.i
int i
Definition: lumiFormat.py:85
xAOD::TauTrack_v1::flagSet
TrackFlagType flagSet() const
xAOD::TauTrack_v1::addBdtScore
void addBdtScore(const float score)
add a cluster to the tau
Definition: TauTrack_v1.cxx:186
xAOD::TauTrack_v1::z0sinthetaTJVA
float z0sinthetaTJVA() const
Definition: TauTrack_v1.cxx:125
xAOD::TauJetParameters::TrackDetail
TrackDetail
Definition: TauDefs.h:419
xAOD::TauTrack_v1::phi
virtual double phi() const
The azimuthal angle ( ) of the particle.
xAOD::TauTrack_v1::setTrackLinks
void setTrackLinks(const TrackParticleLinks_t &trackParticle)
xAOD::TauTrack_v1::nBdtScores
size_t nBdtScores() const
Definition: TauTrack_v1.cxx:181
xAOD::TauTrack_v1::flagWithMask
bool flagWithMask(unsigned int) const
Definition: TauTrack_v1.cxx:83
xAOD::TauTrack_v1::bdtScores
const std::vector< float > & bdtScores() const
xAOD::TauTrack_v1::setP4
void setP4(double pt, double eta, double phi, double m)
Set methods for IParticle values.
Definition: TauTrack_v1.cxx:43
xAOD::TauTrack_v1::setDetail
void setDetail(TauJetParameters::TrackDetail detail, float value)
Definition: TauTrack_v1.cxx:164
xAOD::TauTrack_v1::pt
virtual double pt() const
The transverse momentum ( ) of the particle.
xAOD::TauTrack_v1::TrackFlagType
uint16_t TrackFlagType
Definition: TauTrack_v1.h:61
xAOD::TauTrack_v1::setBdtScores
void setBdtScores(const std::vector< float > &bdtScores)
xAOD::TauTrack_v1::m
virtual double m() const
The invariant mass of the particle.
Definition: TauTrack_v1.cxx:66
xAOD::TauTrack_v1::addTrackLink
void addTrackLink(const ElementLink< TrackParticleContainer > &tr)
add a track to the collection
Definition: TauTrack_v1.cxx:209
xAOD::TauTrack_v1::rapidity
virtual double rapidity() const
The true rapidity (y) of the particle.
Definition: TauTrack_v1.cxx:62
xAOD::score
@ score
Definition: TrackingPrimitives.h:514
xAOD::TauTrack_v1::rConv
float rConv() const
Definition: TauTrack_v1.cxx:134
xAOD::TauTrack_v1::e
virtual double e() const
The total energy of the particle.
Definition: TauTrack_v1.cxx:70
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
xAOD::TauTrack_v1::bdtScore
float bdtScore(size_t i) const
xAOD::TauTrack_v1::genvecP4
GenVecFourMom_t genvecP4() const
The full 4-momentum of the particle : internal taus type.
Definition: TauTrack_v1.cxx:39
xAOD::TauTrack_v1
Definition: TauTrack_v1.h:27
xAOD::TauTrack_v1::trackLinks
const TrackParticleLinks_t & trackLinks() const
xAOD::TauTrack_v1::clearBdtScores
void clearBdtScores()
Remove all clusters from the tau.
Definition: TauTrack_v1.cxx:191
xAOD::TauTrack_v1::track
const TrackParticle * track() const
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
xAODType::ObjectType
ObjectType
Type of objects that have a representation in the xAOD EDM.
Definition: ObjectType.h:32
TrackParticleContainer.h
xAOD::TauTrack_v1::z0sinThetaTJVA
float z0sinThetaTJVA(const xAOD::IParticle &) const
Definition: TauTrack_v1.cxx:98
DATAVECTOR_BASE
DATAVECTOR_BASE(xAOD::TauTrack_v1, xAOD::IParticle)