ATLAS Offline Software
Loading...
Searching...
No Matches
DetailedTrackTruthBuilder.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// Dear emacs, this is -*-c++-*-
6
7#ifndef DETAILEDTRACKTRUTHBUILDER_H
8#define DETAILEDTRACKTRUTHBUILDER_H
9
11#include "GaudiKernel/ToolHandle.h"
12
13#include "AthLinks/ElementLink.h"
17
22
23namespace Trk {
24
25 class DetailedTrackTruthBuilder final: virtual public extends<AthAlgTool, IDetailedTrackTruthBuilder>
26 {
27 public:
28 using base_class::base_class;
29
30 virtual StatusCode initialize() override;
31
34 const TrackCollection& tracks,
35 const std::vector<const PRD_MultiTruthCollection*>& prdTruth,
36 const EventContext& ctx) const override;
37
38 private:
40
42
43 PublicToolHandle<Trk::ITruthTrajectoryBuilder> m_truthTrajBuilder{this, "TruthTrajectoryTool", "Trk::ElasticTruthTrajectoryBuilder"};
44
46
49 const std::vector<const PRD_MultiTruthCollection*>& orderedPRD_Truth,
50 const PRD_InverseTruth& inverseTruth,
51 const EventContext& ctx) const;
52
54
56 const PRD_InverseTruth& inverseTruth) const;
57
58 };
59
60} // end namespace Trk
61
62#endif/*DETAILEDTRACKTRUTHBUILDER_H*/
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
A struture to keep per-subdetector numbers of hits for truth matching.
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Derived DataVector<T>.
Definition DataVector.h:795
A PRD is mapped onto all contributing particles.
PublicToolHandle< Trk::ITruthTrajectoryBuilder > m_truthTrajBuilder
virtual void buildDetailedTrackTruth(DetailedTrackTruthCollection *output, const TrackCollection &tracks, const std::vector< const PRD_MultiTruthCollection * > &prdTruth, const EventContext &ctx) const override
See description for IDetailedTrackTruthBuilder::buildDetailedTrackTruth()
InverseMultiMap< PRD_MultiTruthCollection > PRD_InverseTruth
SubDetHitStatistics::SubDetType findSubDetType(const Identifier &id) const
void makeTruthToRecMap(PRD_InverseTruth &result, const PRD_MultiTruthCollection &rec2truth) const
SubDetHitStatistics countPRDsOnTruth(const TruthTrajectory &traj, const PRD_InverseTruth &inverseTruth) const
virtual StatusCode initialize() override
void addTrack(DetailedTrackTruthCollection *output, const ElementLink< DataVector< Trk::Track > > &track, const std::vector< const PRD_MultiTruthCollection * > &orderedPRD_Truth, const PRD_InverseTruth &inverseTruth, const EventContext &ctx) const
An InverseMultiMap object built from a generic map or multimap allows for quick lookup of original (m...
A TruthTrajectory is a chain of charged MC particles connected through the mother-daughter relationsh...
Ensure that the ATLAS eigen extensions are properly loaded.