ATLAS Offline Software
MuonRecoChainTester.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 #ifndef MUONVALR4_MuonRecoChainTester_H
6 #define MUONVALR4_MuonRecoChainTester_H
7 
8 // Framework includes
16 
17 
20 
21 namespace MuonValR4{
22 
24  public:
26  virtual ~MuonRecoChainTester() = default;
27 
28  virtual StatusCode initialize() override;
29  virtual StatusCode execute() override;
30  virtual StatusCode finalize() override;
31 
32  private:
38  void fillBucketsPerStation(const MuonR4::SpacePointContainer& spContainer,
39  const StIdx station,
40  MuonVal::ScalarBranch<uint16_t>& outBranch) const;
41 
42  // output tree - allows to compare the sim and fast-digitised hits
43  MuonVal::MuonTesterTree m_tree{"MuonRecoObjTest", "MuonEtaHoughTransformTest"};
44 
63 
64  Gaudi::Property<bool> m_isMC{this, "isMC", false};
65 
69  Gaudi::Property<std::string> m_legacySegmentKey{this, "LegacySegmentKey", "LegacyChainSegments"};
71  Gaudi::Property<std::string> m_r4PatternSegmentKey{this, "SegmentFromR4HoughKey", "MuonSegmentsFromHoughR4"};
73  Gaudi::Property<std::string> m_segmentKeyR4{this, "R4SegmentKey", "MuonSegmentsFromR4"};
74 
77  SegmentKey_t m_truthSegmentKey{this, "TruthSegmentKey", "TruthSegmentsR4"};
80  TrackKey_t m_legacyTrackKey{this,"LegacyTrackKey", "MuonSpectrometerTrackParticles"};
81  TrackKey_t m_TrackKeyHoughR4{this, "TrackKeyHoughR4", "MuonSpectrometerTrackParticlesFromHoughR4"};
82  TrackKey_t m_TrackKeyR4{this, "TrackKeyR4", "MuonSpectrometerTrackParticlesR4"};
83 
85  SG::ReadHandleKey<xAOD::TruthParticleContainer> m_truthKey{this, "TruthKey", "MuonTruthParticles"};
89  SG::ReadHandleKey<MuonR4::SpacePointContainer> m_spacePointKey{this, "SpacePointContainer", "MuonSpacePoints"};
90 
91  using ParticleBranchPtr_t = std::shared_ptr<MuonVal::IParticleFourMomBranch>;
96 
97  using SegmentBranchPtr_t = std::shared_ptr<MuonPRDTest::SegmentVariables>;
99  };
100 }
101 
102 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
AthHistogramAlgorithm::AthHistogramAlgorithm
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Definition: AthHistogramAlgorithm.cxx:31
MuonValR4::MuonRecoChainTester::m_nBucketEM
MuonVal::ScalarBranch< uint16_t > & m_nBucketEM
number of buckets in the BM
Definition: MuonRecoChainTester.h:58
MuonValR4::MuonRecoChainTester::m_truthTrks
ParticleBranchPtr_t m_truthTrks
Definition: MuonRecoChainTester.h:95
MuonValR4::MuonRecoChainTester::m_legacyTrackKey
TrackKey_t m_legacyTrackKey
Definition: MuonRecoChainTester.h:80
MuonValR4::MuonRecoChainTester::m_nBucketEE
MuonVal::ScalarBranch< uint16_t > & m_nBucketEE
number of buckets in the EE
Definition: MuonRecoChainTester.h:62
TruthParticleContainer.h
MuonTesterTreeDict.h
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
MuonValR4::MuonRecoChainTester::SegmentBranchPtr_t
std::shared_ptr< MuonPRDTest::SegmentVariables > SegmentBranchPtr_t
Definition: MuonRecoChainTester.h:97
MuonValR4::MuonRecoChainTester::m_truthSegmentKey
SegmentKey_t m_truthSegmentKey
Segment from the truth hits.
Definition: MuonRecoChainTester.h:77
MuonValR4::MuonRecoChainTester::m_nBucket
MuonVal::ScalarBranch< uint16_t > & m_nBucket
number of buckets in the entire MS
Definition: MuonRecoChainTester.h:46
MuonValR4::MuonRecoChainTester::m_legacySegmentKey
Gaudi::Property< std::string > m_legacySegmentKey
Keys to the segment collections.
Definition: MuonRecoChainTester.h:69
SG::ReadHandleKey< xAOD::MuonSegmentContainer >
MuonValR4::MuonRecoChainTester::m_truthKey
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_truthKey
Key to the truth particle collection.
Definition: MuonRecoChainTester.h:85
MuonValR4::MuonRecoChainTester::m_nBucketBE
MuonVal::ScalarBranch< uint16_t > & m_nBucketBE
number of buckets in the BE
Definition: MuonRecoChainTester.h:54
MuonSegmentContainer.h
AthHistogramAlgorithm.h
MuonValR4::MuonRecoChainTester::m_nBucketBM
MuonVal::ScalarBranch< uint16_t > & m_nBucketBM
number of buckets in the BM
Definition: MuonRecoChainTester.h:50
MuonValR4::MuonRecoChainTester::m_nBucketBI
MuonVal::ScalarBranch< uint16_t > & m_nBucketBI
number of buckets in the BI
Definition: MuonRecoChainTester.h:48
MuonValR4::MuonRecoChainTester::finalize
virtual StatusCode finalize() override
Definition: MuonRecoChainTester.cxx:173
MuonVal::MuonTesterTree
Definition: MuonTesterTree.h:30
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonValR4::MuonRecoChainTester::m_TrackKeyHoughR4
TrackKey_t m_TrackKeyHoughR4
Definition: MuonRecoChainTester.h:81
MuonValR4::MuonRecoChainTester::m_legacyTrks
ParticleBranchPtr_t m_legacyTrks
Definition: MuonRecoChainTester.h:92
MuonValR4::MuonRecoChainTester::ParticleBranchPtr_t
std::shared_ptr< MuonVal::IParticleFourMomBranch > ParticleBranchPtr_t
Definition: MuonRecoChainTester.h:91
AthHistogramAlgorithm
Definition: AthHistogramAlgorithm.h:32
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
MuonValR4::MuonRecoChainTester
Definition: MuonRecoChainTester.h:23
MuonValR4
Lightweight algorithm to read xAOD MDT sim hits and (fast-digitised) drift circles from SG and fill a...
Definition: IPatternVisualizationTool.h:23
Muon::MuonStationIndex::StIndex
StIndex
enum to classify the different station layers in the muon spectrometer
Definition: MuonStationIndex.h:23
MuonValR4::MuonRecoChainTester::m_segmentKeyR4
Gaudi::Property< std::string > m_segmentKeyR4
Segments made from the R4 segment maker.
Definition: MuonRecoChainTester.h:73
MuonValR4::MuonRecoChainTester::m_trkTruthLinks
SG::ReadDecorHandleKeyArray< SG::AuxVectorBase > m_trkTruthLinks
Decoration dependency to the MS truth track links.
Definition: MuonRecoChainTester.h:87
MuonValR4::MuonRecoChainTester::m_nBucketEO
MuonVal::ScalarBranch< uint16_t > & m_nBucketEO
number of buckets in the BO
Definition: MuonRecoChainTester.h:60
MuonVal::ScalarBranch< uint16_t >
MuonVal::MuonTesterTree::newScalar
ScalarBranch< T > & newScalar(const std::string &name)
MuonValR4::MuonRecoChainTester::m_spacePointKey
SG::ReadHandleKey< MuonR4::SpacePointContainer > m_spacePointKey
Key to the space point container.
Definition: MuonRecoChainTester.h:89
MuonValR4::MuonRecoChainTester::m_truthSegs
SegmentBranchPtr_t m_truthSegs
Definition: MuonRecoChainTester.h:98
MuonValR4::MuonRecoChainTester::m_TrackKeyR4
TrackKey_t m_TrackKeyR4
Definition: MuonRecoChainTester.h:82
MuonValR4::MuonRecoChainTester::m_isMC
Gaudi::Property< bool > m_isMC
Definition: MuonRecoChainTester.h:64
SpacePointContainer.h
MuonValR4::MuonRecoChainTester::m_nBucketBO
MuonVal::ScalarBranch< uint16_t > & m_nBucketBO
number of buckets in the BO
Definition: MuonRecoChainTester.h:52
MuonValR4::MuonRecoChainTester::m_nBucketEI
MuonVal::ScalarBranch< uint16_t > & m_nBucketEI
number of buckets in the BI
Definition: MuonRecoChainTester.h:56
MuonValR4::MuonRecoChainTester::initialize
virtual StatusCode initialize() override
Definition: MuonRecoChainTester.cxx:27
MuonValR4::MuonRecoChainTester::m_r4PatternSegmentKey
Gaudi::Property< std::string > m_r4PatternSegmentKey
Segments seeded from the R4 pattern but made with the legacy segment maker.
Definition: MuonRecoChainTester.h:71
SegmentVariables.h
MuonValR4::MuonRecoChainTester::m_tree
MuonVal::MuonTesterTree m_tree
Definition: MuonRecoChainTester.h:43
MuonValR4::MuonRecoChainTester::~MuonRecoChainTester
virtual ~MuonRecoChainTester()=default
MuonValR4::MuonRecoChainTester::fillBucketsPerStation
void fillBucketsPerStation(const MuonR4::SpacePointContainer &spContainer, const StIdx station, MuonVal::ScalarBranch< uint16_t > &outBranch) const
Counts how many buckets are in a particular station.
Definition: MuonRecoChainTester.cxx:106
ReadDecorHandleKeyArray.h
MuonValR4::MuonRecoChainTester::execute
virtual StatusCode execute() override
Definition: MuonRecoChainTester.cxx:115
TrackParticleContainer.h
MuonValR4::MuonRecoChainTester::m_TrksSegmentR4
ParticleBranchPtr_t m_TrksSegmentR4
Definition: MuonRecoChainTester.h:94
MuonValR4::MuonRecoChainTester::m_TrksHoughR4
ParticleBranchPtr_t m_TrksHoughR4
Definition: MuonRecoChainTester.h:93