ATLAS Offline Software
Loading...
Searching...
No Matches
TauxAODHelpers.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
5*/
6
7// $Id: TauxAODHelpers.h 740338 2016-04-14 16:03:58Z griffith $
8#ifndef XAOD_TAUXAODHELPERS_H
9#define XAOD_TAUXAODHELPERS_H
10
11//Truth Includes
14
17
18#include "xAODTau/TauJet.h"
20
21#include <cstddef>
22#include <set>
23#include <vector>
24
25namespace xAOD {
26
27 namespace TauHelpers{
28
29 // @brief Access to element link to object of type T stored in auxdata
30 template<class T>
31 const T* getLink(const xAOD::IParticle*, const std::string&, bool debug = false);
32
34 const xAOD::TruthParticle* getTruthParticle(const xAOD::IParticle*, bool debug = false);
35
36 //means to bypass the tauTrack
37 std::vector< ElementLink< xAOD::TrackParticleContainer > > trackParticleLinks(const xAOD::TauJet* tau, xAOD::TauJetParameters::TauTrackFlag flag=xAOD::TauJetParameters::TauTrackFlag::classifiedCharged);
38 std::vector< ElementLink< xAOD::TrackParticleContainer > > trackParticleLinksWithMask(const xAOD::TauJet* tau, xAOD::TauTrack::TrackFlagType mask);
39
40 //means to get a non-const TauTrack
41 std::vector<xAOD::TauTrack*> tauTracksNonConstWithMask( const xAOD::TauJet* tau, xAOD::TauTrackContainer* trackCont, xAOD::TauTrack::TrackFlagType mask );
42 std::vector<xAOD::TauTrack*> allTauTracksNonConst( const xAOD::TauJet* tau, xAOD::TauTrackContainer* trackCont );
43
44 //* @brief Obtain the CaloCluster within dRMax of the tau candidate */
45 std::vector<const xAOD::IParticle*> clusters(const xAOD::TauJet& tau, double dRMax);
46
47 //* @brief Obtain the CaloVertexedTopoCluster within dRMax of the tau candidate */
48 std::vector<xAOD::CaloVertexedTopoCluster> vertexedClusters(const xAOD::TauJet& tau, double dRMax);
49
50 }// TauHelpers
51
52} // namespace xAOD
53
55
56#endif // XAOD_TAUXAODHELPERS_H
const bool debug
Class providing the definition of the 4-vector interface.
uint16_t TrackFlagType
Definition TauTrack_v1.h:61
std::vector< const xAOD::IParticle * > clusters(const xAOD::TauJet &tau, double dRMax)
std::vector< ElementLink< xAOD::TrackParticleContainer > > trackParticleLinks(const xAOD::TauJet *tau, xAOD::TauJetParameters::TauTrackFlag flag=xAOD::TauJetParameters::TauTrackFlag::classifiedCharged)
const xAOD::TruthParticle * getTruthParticle(const xAOD::IParticle *, bool debug=false)
return the truthParticle associated to the given IParticle (if any)
std::vector< xAOD::TauTrack * > tauTracksNonConstWithMask(const xAOD::TauJet *tau, xAOD::TauTrackContainer *trackCont, xAOD::TauTrack::TrackFlagType mask)
std::vector< xAOD::CaloVertexedTopoCluster > vertexedClusters(const xAOD::TauJet &tau, double dRMax)
std::vector< xAOD::TauTrack * > allTauTracksNonConst(const xAOD::TauJet *tau, xAOD::TauTrackContainer *trackCont)
std::vector< ElementLink< xAOD::TrackParticleContainer > > trackParticleLinksWithMask(const xAOD::TauJet *tau, xAOD::TauTrack::TrackFlagType mask)
const T * getLink(const xAOD::IParticle *, const std::string &, bool debug=false)
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.
TauJet_v3 TauJet
Definition of the current "tau version".
TruthParticle_v1 TruthParticle
Typedef to implementation.
TauTrackContainer_v1 TauTrackContainer
Definition of the current TauTrack container version.