ATLAS Offline Software
Loading...
Searching...
No Matches
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
23namespace xAOD {
24
25
26
27 class TauTrack_v1 : public IParticle {
28
29 public:
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
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
An STL vector of pointers that by default owns its pointed-to elements.
#define DATAVECTOR_BASE(T, BASE)
Declare base class info to DataVector.
Definition DataVector.h:649
Class providing the definition of the 4-vector interface.
IParticle()=default
TLorentzVector FourMom_t
Definition of the 4-momentum type.
virtual double e() const
The total energy of the particle.
const std::vector< float > & bdtScores() const
void addBdtScore(const float score)
add a cluster to the tau
virtual double rapidity() const
The true rapidity (y) of the particle.
size_t nBdtScores() const
uint16_t TrackFlagType
Definition TauTrack_v1.h:61
void setFlagSet(TrackFlagType flag)
virtual FourMom_t p4() const
The full 4-momentum of the particle.
TrackFlagType flagSet() const
float rConvII() const
void clearTrackLinks()
Remove all tracks from the collection.
virtual double eta() const
The pseudorapidity ( ) of the particle.
GenVecFourMom_t genvecP4() const
The full 4-momentum of the particle : internal taus type.
float bdtScore(size_t i) const
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > GenVecFourMom_t
Base 4 Momentum type for taus.
Definition TauTrack_v1.h:46
TauTrack_v1()
Default constructor.
float d0TJVA() const
void setFlag(TauJetParameters::TauTrackFlag flag, bool value)
bool flag(TauJetParameters::TauTrackFlag flag) const
float z0sinthetaSigTJVA() const
const TrackParticleLinks_t & trackLinks() const
void clearBdtScores()
Remove all clusters from the tau.
void setP4(double pt, double eta, double phi, double m)
Set methods for IParticle values.
float z0sinthetaTJVA() const
float rConv() const
virtual double phi() const
The azimuthal angle ( ) of the particle.
bool flagWithMask(unsigned int) const
virtual double pt() const
The transverse momentum ( ) of the particle.
float d0SigTJVA() const
void addTrackLink(const ElementLink< TrackParticleContainer > &tr)
add a track to the collection
void setTrackLinks(const TrackParticleLinks_t &trackParticle)
void setDetail(TauJetParameters::TrackDetail detail, float value)
void setBdtScores(const std::vector< float > &bdtScores)
float dRJetSeedAxis(const xAOD::IParticle &) const
std::vector< ElementLink< xAOD::TrackParticleContainer > > TrackParticleLinks_t
Definition TauTrack_v1.h:91
float z0sinThetaTJVA(const xAOD::IParticle &) const
virtual Type::ObjectType type() const
The type of the object as a simple enumeration.
const TrackParticle * track() const
virtual double m() const
The invariant mass of the particle.
TauTrackFlag
Enum for tau track flags.
Definition TauDefs.h:400
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
setStrategy setMatchFlag ElementLink< TrackParticleContainer >
TrackParticle_v1 TrackParticle
Reference the current persistent version:
setWord1 uint16_t