|
ATLAS Offline Software
|
Go to the documentation of this file.
12 return getLink<xAOD::TruthParticle>(
particle,
"truthParticleLink",
debug);
29 std::vector< ElementLink< xAOD::TrackParticleContainer > >
links;
30 std::vector< const xAOD::TauTrack* > allTracks = tau->
allTracks();
32 if(trk->trackLinks().empty())
continue;
33 if(trk->flagWithMask(
mask))
34 links.push_back(trk->trackLinks()[0]);
52 if(link.isValid()) c_trk = *link;
53 if(c_trk==
nullptr)
continue;
56 if(accepted_track==
index) {
58 std::cerr <<
"TauxAODHelpers::tauTrackNonConstWithMask, inconsistent containers given" << std::endl;
61 return trackCont->
at(link.index());
77 std::vector<xAOD::TauTrack*>
v;
79 if(link.isValid() && (*link)->flagWithMask(
mask) &&
dynamic_cast<const xAOD::TauTrackContainer*
> (link.getStorableObjectPointer()) == trackCont)
v.push_back( trackCont->
at(link.index()));
92 std::vector<const xAOD::IParticle*>
96 std::vector<const xAOD::IParticle*> clusterList;
97 for (
const auto& vertexedCluster : vertexedClusterList) {
99 clusterList.push_back(&cluster);
107 std::vector<xAOD::CaloVertexedTopoCluster>
109 TLorentzVector tauAxis;
119 std::vector<xAOD::CaloVertexedTopoCluster> selectedList;
120 for (
const auto& vertexedCluster : vertexedClusterList) {
121 TLorentzVector clusterP4 = vertexedCluster.p4();
123 double dR = clusterP4.DeltaR(tauAxis);
124 if (dR > dRMax)
continue;
126 selectedList.push_back(vertexedCluster);
TauTrackFlag
Enum for tau track flags.
xAOD::TauTrack * tauTrackNonConstWithMask(const xAOD::TauJet *tau, xAOD::TauTrackContainer *trackCont, int index, xAOD::TauTrack::TrackFlagType mask)
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
std::vector< ElementLink< xAOD::TrackParticleContainer > > trackParticleLinksWithMask(const xAOD::TauJet *tau, xAOD::TauTrack::TrackFlagType mask)
std::vector< const xAOD::IParticle * > clusters(const xAOD::TauJet &tau, double dRMax)
Class providing the definition of the 4-vector interface.
bool isValid() const
Test to see if the link can be dereferenced.
std::vector< xAOD::TauTrack * > allTauTracksNonConst(const xAOD::TauJet *tau, xAOD::TauTrackContainer *trackCont)
xAOD::TauTrack * tauTrackNonConst(const xAOD::TauJet *tau, xAOD::TauTrackContainer *trackCont, int index, xAOD::TauJetParameters::TauTrackFlag flag=xAOD::TauJetParameters::TauTrackFlag::classifiedCharged)
Description of a calorimeter cluster.
const xAOD::TruthParticle * getTruthParticle(const xAOD::IParticle *, bool debug=false)
return the truthParticle associated to the given IParticle (if any)
std::vector< ElementLink< xAOD::TrackParticleContainer > > allTrackParticleLinks(const xAOD::TauJet *tau)
const TauTrackLinks_t & allTauTrackLinks() const
ElementLink< xAOD::TruthParticleContainer > TruthLink_t
Class describing a truth particle in the MC record.
Class describing a tau jet.
std::vector< ElementLink< xAOD::TrackParticleContainer > > trackParticleLinks(const xAOD::TauJet *tau, xAOD::TauJetParameters::TauTrackFlag flag=xAOD::TauJetParameters::TauTrackFlag::classifiedCharged)
ElementLink implementation for ROOT usage.
bool flagWithMask(unsigned int) const
std::vector< xAOD::CaloVertexedTopoCluster > vertexedClusters() const
std::vector< xAOD::TauTrack * > tauTracksNonConst(const xAOD::TauJet *tau, xAOD::TauTrackContainer *trackCont, xAOD::TauJetParameters::TauTrackFlag flag=xAOD::TauJetParameters::TauTrackFlag::classifiedCharged)
std::vector< xAOD::TauTrack * > tauTracksNonConstWithMask(const xAOD::TauJet *tau, xAOD::TauTrackContainer *trackCont, xAOD::TauTrack::TrackFlagType mask)
virtual FourMom_t p4() const
The full 4-momentum of the particle.
const T * at(size_type n) const
Access an element, as an rvalue.
std::vector< const TauTrack * > allTracks() const
Get the v<const pointer> to all tracks associated with this tau, regardless of classification.
const VertexLink_t & vertexLink() const
std::vector< xAOD::CaloVertexedTopoCluster > vertexedClusters(const xAOD::TauJet &tau, double dRMax)