ATLAS Offline Software
Functions
xAOD::TauHelpers Namespace Reference

Functions

template<class T >
const T * getLink (const xAOD::IParticle *, const std::string &, bool debug=false)
 
const xAOD::TruthParticlegetTruthParticle (const xAOD::IParticle *, bool debug=false)
 return the truthParticle associated to the given IParticle (if any) More...
 
std::vector< ElementLink< xAOD::TrackParticleContainer > > trackParticleLinks (const xAOD::TauJet *tau, xAOD::TauJetParameters::TauTrackFlag flag=xAOD::TauJetParameters::TauTrackFlag::classifiedCharged)
 
std::vector< ElementLink< xAOD::TrackParticleContainer > > trackParticleLinksWithMask (const xAOD::TauJet *tau, xAOD::TauTrack::TrackFlagType mask)
 
std::vector< xAOD::TauTrack * > tauTracksNonConstWithMask (const xAOD::TauJet *tau, xAOD::TauTrackContainer *trackCont, xAOD::TauTrack::TrackFlagType mask)
 
std::vector< xAOD::TauTrack * > allTauTracksNonConst (const xAOD::TauJet *tau, xAOD::TauTrackContainer *trackCont)
 
std::vector< const xAOD::IParticle * > clusters (const xAOD::TauJet &tau, double dRMax)
 
std::vector< xAOD::CaloVertexedTopoClustervertexedClusters (const xAOD::TauJet &tau, double dRMax)
 

Function Documentation

◆ allTauTracksNonConst()

std::vector< xAOD::TauTrack * > xAOD::TauHelpers::allTauTracksNonConst ( const xAOD::TauJet tau,
xAOD::TauTrackContainer trackCont 
)

Definition at line 43 of file TauxAODHelpers.cxx.

43  {
45  return tauTracksNonConstWithMask(tau, trackCont, mask);
46 }

◆ clusters()

std::vector< const xAOD::IParticle * > xAOD::TauHelpers::clusters ( const xAOD::TauJet tau,
double  dRMax 
)

Definition at line 51 of file TauxAODHelpers.cxx.

51  {
52  auto vertexedClusterList = xAOD::TauHelpers::vertexedClusters(tau, dRMax);
53 
54  std::vector<const xAOD::IParticle*> clusterList;
55  for (const auto& vertexedCluster : vertexedClusterList) {
56  const xAOD::CaloCluster& cluster = vertexedCluster.clust();
57  clusterList.push_back(&cluster);
58  }
59 
60  return clusterList;
61 }

◆ getLink()

template<class T >
const T* xAOD::TauHelpers::getLink ( const xAOD::IParticle ,
const std::string &  ,
bool  debug = false 
)

◆ getTruthParticle()

const xAOD::TruthParticle * xAOD::TauHelpers::getTruthParticle ( const xAOD::IParticle particle,
bool  debug = false 
)

return the truthParticle associated to the given IParticle (if any)

Definition at line 10 of file TauxAODHelpers.cxx.

11 {
12  return getLink<xAOD::TruthParticle>(particle, "truthParticleLink", debug);
13 }

◆ tauTracksNonConstWithMask()

std::vector< xAOD::TauTrack * > xAOD::TauHelpers::tauTracksNonConstWithMask ( const xAOD::TauJet tau,
xAOD::TauTrackContainer trackCont,
xAOD::TauTrack::TrackFlagType  mask 
)

Definition at line 34 of file TauxAODHelpers.cxx.

34  {
35  std::vector<xAOD::TauTrack*> v;
36  for( const ElementLink< xAOD::TauTrackContainer >& link : tau->allTauTrackLinks() ){
37  if(link.isValid() && (*link)->flagWithMask(mask) && dynamic_cast<const xAOD::TauTrackContainer*> (link.getStorableObjectPointer()) == trackCont) v.push_back( trackCont->at(link.index()));
38  }
39  return v;
40 }

◆ trackParticleLinks()

std::vector< ElementLink< xAOD::TrackParticleContainer > > xAOD::TauHelpers::trackParticleLinks ( const xAOD::TauJet tau,
xAOD::TauJetParameters::TauTrackFlag  flag = xAOD::TauJetParameters::TauTrackFlag::classifiedCharged 
)

Definition at line 16 of file TauxAODHelpers.cxx.

16  {
18  return trackParticleLinksWithMask(tau, mask);
19 }

◆ trackParticleLinksWithMask()

std::vector< ElementLink< xAOD::TrackParticleContainer > > xAOD::TauHelpers::trackParticleLinksWithMask ( const xAOD::TauJet tau,
xAOD::TauTrack::TrackFlagType  mask 
)

Definition at line 22 of file TauxAODHelpers.cxx.

22  {
23  std::vector< ElementLink< xAOD::TrackParticleContainer > > links;
24  std::vector< const xAOD::TauTrack* > allTracks = tau->allTracks();
25  for ( const xAOD::TauTrack* trk : allTracks ){
26  if(trk->trackLinks().empty()) continue;
27  if(trk->flagWithMask(mask))
28  links.push_back(trk->trackLinks()[0]);
29  }
30  return links;
31 }

◆ vertexedClusters()

std::vector< xAOD::CaloVertexedTopoCluster > xAOD::TauHelpers::vertexedClusters ( const xAOD::TauJet tau,
double  dRMax 
)

Definition at line 66 of file TauxAODHelpers.cxx.

66  {
67  TLorentzVector tauAxis;
68  if (tau.vertexLink().isValid()) {
70  }
71  else {
73  }
74 
75  auto vertexedClusterList = tau.vertexedClusters();
76 
77  std::vector<xAOD::CaloVertexedTopoCluster> selectedList;
78  for (const auto& vertexedCluster : vertexedClusterList) {
79  TLorentzVector clusterP4 = vertexedCluster.p4();
80 
81  double dR = clusterP4.DeltaR(tauAxis);
82  if (dR > dRMax) continue;
83 
84  selectedList.push_back(vertexedCluster);
85  }
86 
87  return selectedList;
88 }
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:79
xAOD::TauJetParameters::IntermediateAxis
@ IntermediateAxis
Definition: TauDefs.h:338
xAOD::TauHelpers::trackParticleLinksWithMask
std::vector< ElementLink< xAOD::TrackParticleContainer > > trackParticleLinksWithMask(const xAOD::TauJet *tau, xAOD::TauTrack::TrackFlagType mask)
Definition: TauxAODHelpers.cxx:22
python.utils.AtlRunQueryLookup.mask
string mask
Definition: AtlRunQueryLookup.py:459
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:62
xAOD::TauJet_v3::allTauTrackLinks
const TauTrackLinks_t & allTauTrackLinks() const
Definition: TauJet_v3.cxx:392
DMTest::links
links
Definition: CLinks_v1.cxx:22
master.flag
bool flag
Definition: master.py:29
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
debug
const bool debug
Definition: MakeUncertaintyPlots.cxx:53
xAOD::TauTrack_v1::TrackFlagType
uint16_t TrackFlagType
Definition: TauTrack_v1.h:61
xAOD::TauJet_v3::vertexedClusters
std::vector< xAOD::CaloVertexedTopoCluster > vertexedClusters() const
Definition: TauJet_v3.cxx:586
xAOD::TauHelpers::tauTracksNonConstWithMask
std::vector< xAOD::TauTrack * > tauTracksNonConstWithMask(const xAOD::TauJet *tau, xAOD::TauTrackContainer *trackCont, xAOD::TauTrack::TrackFlagType mask)
Definition: TauxAODHelpers.cxx:34
python.PyAthena.v
v
Definition: PyAthena.py:154
xAOD::TauTrack_v1
Definition: TauTrack_v1.h:27
xAOD::TauJet_v3::p4
virtual FourMom_t p4() const
The full 4-momentum of the particle.
Definition: TauJet_v3.cxx:96
DataVector::at
const T * at(size_type n) const
Access an element, as an rvalue.
xAOD::TauJetParameters::DetectorAxis
@ DetectorAxis
Definition: TauDefs.h:337
xAOD::TauJet_v3::allTracks
std::vector< const TauTrack * > allTracks() const
Get the v<const pointer> to all tracks associated with this tau, regardless of classification.
Definition: TauJet_v3.cxx:482
xAOD::TauJet_v3::vertexLink
const VertexLink_t & vertexLink() const
xAOD::TauHelpers::vertexedClusters
std::vector< xAOD::CaloVertexedTopoCluster > vertexedClusters(const xAOD::TauJet &tau, double dRMax)
Definition: TauxAODHelpers.cxx:66