ATLAS Offline Software
Loading...
Searching...
No Matches
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
21namespace 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:
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
46 MuonVal::ScalarBranch<uint16_t>& m_nBucket{m_tree.newScalar<uint16_t>("nBucket")};
48 MuonVal::ScalarBranch<uint16_t>& m_nBucketBI{m_tree.newScalar<uint16_t>("nBucketBI")};
50 MuonVal::ScalarBranch<uint16_t>& m_nBucketBM{m_tree.newScalar<uint16_t>("nBucketBM")};
52 MuonVal::ScalarBranch<uint16_t>& m_nBucketBO{m_tree.newScalar<uint16_t>("nBucketBO")};
54 MuonVal::ScalarBranch<uint16_t>& m_nBucketBE{m_tree.newScalar<uint16_t>("nBucketBE")};
56 MuonVal::ScalarBranch<uint16_t>& m_nBucketEI{m_tree.newScalar<uint16_t>("nBucketEI")};
58 MuonVal::ScalarBranch<uint16_t>& m_nBucketEM{m_tree.newScalar<uint16_t>("nBucketEM")};
60 MuonVal::ScalarBranch<uint16_t>& m_nBucketEO{m_tree.newScalar<uint16_t>("nBucketEO")};
62 MuonVal::ScalarBranch<uint16_t>& m_nBucketEE{m_tree.newScalar<uint16_t>("nBucketEE")};
63
64 Gaudi::Property<bool> m_isMC{this, "isMC", false};
65
67
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", "MuonTruthSegments"};
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
Property holding a SG store/key/clid from which a ReadHandle is made.
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Gaudi::Property< std::string > m_segmentKeyR4
Segments made from the R4 segment maker.
MuonVal::ScalarBranch< uint16_t > & m_nBucketEE
number of buckets in the EE
std::shared_ptr< MuonPRDTest::SegmentVariables > SegmentBranchPtr_t
SG::ReadHandleKey< MuonR4::SpacePointContainer > m_spacePointKey
Key to the space point container.
MuonVal::ScalarBranch< uint16_t > & m_nBucketBM
number of buckets in the BM
SegmentKey_t m_truthSegmentKey
Segment from the truth hits.
virtual StatusCode execute() override
void fillBucketsPerStation(const MuonR4::SpacePointContainer &spContainer, const StIdx station, MuonVal::ScalarBranch< uint16_t > &outBranch) const
Counts how many buckets are in a particular station.
MuonVal::ScalarBranch< uint16_t > & m_nBucket
number of buckets in the entire MS
virtual ~MuonRecoChainTester()=default
MuonVal::ScalarBranch< uint16_t > & m_nBucketBO
number of buckets in the BO
Gaudi::Property< std::string > m_legacySegmentKey
Keys to the segment collections.
SG::ReadDecorHandleKeyArray< SG::AuxVectorBase > m_trkTruthLinks
Decoration dependency to the MS truth track links.
MuonVal::ScalarBranch< uint16_t > & m_nBucketBI
number of buckets in the BI
SG::ReadHandleKey< xAOD::MuonSegmentContainer > SegmentKey_t
Muon::MuonStationIndex::StIndex StIdx
virtual StatusCode initialize() override
SG::ReadHandleKey< xAOD::TrackParticleContainer > TrackKey_t
Key to the track collections.
std::shared_ptr< MuonVal::IParticleFourMomBranch > ParticleBranchPtr_t
MuonVal::ScalarBranch< uint16_t > & m_nBucketEO
number of buckets in the BO
virtual StatusCode finalize() override
Gaudi::Property< std::string > m_r4PatternSegmentKey
Segments seeded from the R4 pattern but made with the legacy segment maker.
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_truthKey
Key to the truth particle collection.
MuonVal::ScalarBranch< uint16_t > & m_nBucketEI
number of buckets in the BI
MuonVal::ScalarBranch< uint16_t > & m_nBucketEM
number of buckets in the BM
MuonVal::ScalarBranch< uint16_t > & m_nBucketBE
number of buckets in the BE
Property holding a SG store/key/clid from which a ReadHandle is made.
DataVector< SpacePointBucket > SpacePointContainer
Abrivation of the space point container type.
Lightweight algorithm to read xAOD MDT sim hits and (fast-digitised) drift circles from SG and fill a...
StIndex
enum to classify the different station layers in the muon spectrometer
DecorHandleKeyArray< ReadDecorHandle< T, S >, ReadDecorHandleKey< T >, Gaudi::DataHandle::Reader > ReadDecorHandleKeyArray