|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef DETAILEDMUONPATTERNTRUTHBUILDER_H
6 #define DETAILEDMUONPATTERNTRUTHBUILDER_H
11 #include "AthLinks/ElementLink.h"
14 #include "GaudiKernel/ServiceHandle.h"
15 #include "GaudiKernel/ToolHandle.h"
54 const std::vector<const PRD_MultiTruthCollection*>& prdTruth);
57 const std::vector<const PRD_MultiTruthCollection*>& prdTruth);
60 const std::vector<const PRD_MultiTruthCollection*>& prdTruth);
67 ToolHandle<Trk::ITruthTrajectoryBuilder>
m_truthTrackBuilder{
this,
"TruthTrajectoryTool",
"Trk::ElasticTruthTrajectoryBuilder"};
68 ToolHandle<Muon::IMdtDriftCircleOnTrackCreator>
m_mdtCreator{
this,
"MdtDriftCircleCreator",
69 "Muon::MdtDriftCircleOnTrackCreator/MdtDriftCircleOnTrackCreator"};
71 "Muon::MuonClusterOnTrackCreator/MuonClusterOnTrackCreator"};
80 const std::vector<const PRD_MultiTruthCollection*>& orderedPRD_Truth,
const PRD_InverseTruth& inverseTruth);
83 const std::vector<const PRD_MultiTruthCollection*>& orderedPRD_Truth,
87 std::set<Muon::MuonStationIndex::ChIndex> chIndices);
90 std::set<Muon::MuonStationIndex::ChIndex> chIndices);
93 const std::vector<const PRD_MultiTruthCollection*>& orderedPRD_Truth,
std::pair< HepMcParticleLink, MuonMCData > Deposit
void addTrack(DetailedMuonPatternTruthCollection *output, const ElementLink< DataVector< Muon::MuonPatternCombination > > &track, const std::vector< const PRD_MultiTruthCollection * > &orderedPRD_Truth, const PRD_InverseTruth &inverseTruth)
virtual StatusCode initialize()
ToolHandle< Muon::IMuonClusterOnTrackCreator > m_muonClusterCreator
ToolHandle< Trk::ITruthTrajectoryBuilder > m_truthTrackBuilder
DetailedMuonPatternTruthBuilder(const std::string &type, const std::string &name, const IInterface *parent)
void addDetailedTrackTruth(std::vector< DetailedTrackTruth > *output, const Muon::MuonPatternCombination &pattern, const std::vector< const PRD_MultiTruthCollection * > &orderedPRD_Truth, const PRD_InverseTruth &inverseTruth)
void addDetailedTrackTruthFromSegment(std::vector< DetailedSegmentTruth > *output, const Muon::MuonSegment &segment, const std::vector< const PRD_MultiTruthCollection * > &orderedPRD_Truth, const PRD_InverseTruth &inverseTruth)
SubDetHitStatistics::SubDetType findSubDetType(Identifier id)
ToolHandle< Muon::IMdtDriftCircleOnTrackCreator > m_mdtCreator
void buildDetailedTrackTruthFromSegments(std::vector< DetailedSegmentTruth > *output, const Muon::MuonSegment &segment, const std::vector< const PRD_MultiTruthCollection * > &prdTruth)
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
InverseMultiMap< PRD_MultiTruthCollection > PRD_InverseTruth
SubDetHitStatistics countPRDsOnTruth(const TruthTrajectory &traj, const PRD_InverseTruth &inverseTruth, std::set< Muon::MuonStationIndex::ChIndex > chIndices)
virtual void buildDetailedTrackTruth(std::vector< DetailedTrackTruth > *output, const Muon::MuonPatternCombination &pattern, const std::vector< const PRD_MultiTruthCollection * > &prdTruth)
::StatusCode StatusCode
StatusCode definition for legacy code.
ElementLink implementation for ROOT usage.
const GenParticle * ConstGenParticlePtr
Ensure that the ATLAS eigen extensions are properly loaded.
Eigen::Matrix< double, 3, 1 > Vector3D
Amg::Vector3D getPRDTruthPosition(const Muon::MuonSegment &segment, std::list< HepMC::ConstGenParticlePtr > genPartList, int truthPos, std::set< Muon::MuonStationIndex::ChIndex > chIndices)
Provides interface for tool to return a "detailed" track truth map.
const MuonSimData::Deposit * getDeposit(const MuonSimDataCollection &simCol, const HepMC::ConstGenParticlePtr &genPart, const Identifier &id)
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
virtual void buildDetailedMuonPatternTruth(DetailedMuonPatternTruthCollection *output, const MuonPatternCombinationCollection &tracks, const std::vector< const PRD_MultiTruthCollection * > &prdTruth)
See description for IDetailedMuonPatternTruthBuilder::buildDetailedTrackTruth()
The MuonPatternCombination class provides the means to store the output of the initial global pattern...
const MuonSimDataCollection * retrieveTruthCollection(const std::string &colName)
Muon::NSW_PadTriggerSegment segment(const NSWL1::PadTrigger &data)