ATLAS Offline Software
Loading...
Searching...
No Matches
MuonHitTesterAlg.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 MUONPRDTESTR4_MUONHITTESTERALH_H
6#define MUONPRDTESTR4_MUONHITTESTERALH_H
7
9
14
15namespace MuonPRDTest {
17 class SegmentVariables;
18}
19
20namespace MuonValR4 {
22 public:
25 StatusCode initialize() override final;
26 StatusCode finalize() override final;
27 StatusCode execute() override final;
28 unsigned int cardinality() const override final { return 1; }
29
30 private:
31 MuonVal::MuonTesterTree m_tree{"MuonHitTest", "MuonR4HitTest"};
32
33 Gaudi::Property<bool> m_isMC{this, "isMC", true};
34
35 SG::ReadHandleKey<xAOD::EventInfo> m_evtKey{this, "EvtInfoKey", "EventInfo"};
36 Gaudi::Property<bool> m_writePileUp{this, "dumpPileUp", false};
37
42 StatusCode setupSimHits();
43 Gaudi::Property<bool> m_writeSimHits{this, "dumpSimHits", true,
44 "Master switch toggling the sim hits"};
45 Gaudi::Property<bool> m_writeMdtSim{this, "dumpMdtSimHits", true};
46 Gaudi::Property<bool> m_writeRpcSim{this, "dumpRpcSimHits", true};
47 Gaudi::Property<bool> m_writeTgcSim{this, "dumpTgcSimHits", true};
48 Gaudi::Property<bool> m_writesTgcSim{this, "dumpStgcSimHits", true};
49 Gaudi::Property<bool> m_writeMmSim{this, "dumpMmSimHits", true};
50
54 Gaudi::Property<std::string> m_mdtSimHitKey{this, "MdtSimHitKey", "xMdtSimHits"};
55 Gaudi::Property<std::string> m_rpcSimHitKey{this, "RpcSimHitKey", "xRpcSimHits"};
56 Gaudi::Property<std::string> m_tgcSimHitKey{this, "TgcSimHitKey", "xTgcSimHits"};
57 Gaudi::Property<std::string> m_mmSimHitKey{this, "MmSimHitKey", "xMmSimHits"};
58 Gaudi::Property<std::string> m_sTgcSimHitKey{this, "sTgcSimHitKey", "xStgcSimHits"};
62 StatusCode setupDigits();
63 Gaudi::Property<bool> m_writeDigits{this, "dumpDigits", false,
64 "Master switch toggling the digit collections"};
65
66 Gaudi::Property<bool> m_writeMdtDigits{this, "dumpMdtDigits", true};
67 Gaudi::Property<bool> m_writeRpcDigits{this, "dumpRpcDigits", true};
68 Gaudi::Property<bool> m_writeTgcDigits{this, "dumpTgcDigits", true};
69 Gaudi::Property<bool> m_writesTgcDigits{this, "dumpStgcDigits", true};
70 Gaudi::Property<bool> m_writeMmDigits{this, "dumpMmDigits", true};
71
75 Gaudi::Property<std::string> m_mdtDigitKey{this, "MdtDigitKey", "MDT_DIGITS"};
76 Gaudi::Property<std::string> m_rpcDigitKey{this, "RpcDigitKey", "RPC_DIGITS"};
77 Gaudi::Property<std::string> m_tgcDigitKey{this, "TgcDigitKey", "TGC_DIGITS"};
78 Gaudi::Property<std::string> m_mmDigitKey{this, "MmDigitKey", "MM_DIGITS"};
79 Gaudi::Property<std::string> m_sTgcDigitKey{this, "sTgcDigitKey", "sTGC_DIGITS"};
83 StatusCode setupPrds();
84 Gaudi::Property<bool> m_writePrds{this, "dumpPrds", false,
85 "Master switch toggling the prd collection dump"};
86
87 Gaudi::Property<bool> m_writeMdtPrds{this, "dumpMdtPrds", true};
88 Gaudi::Property<bool> m_writeRpcPrds{this, "dumpRpcPrds", true};
89 Gaudi::Property<bool> m_writeTgcPrds{this, "dumpTgcPrds", true};
90 Gaudi::Property<bool> m_writeMmPrds{this, "dumpMmPrds", true};
94 Gaudi::Property<std::string> m_mdtPrdKey{this, "MdtPrdKey", "xMdtDriftCircles"};
95 Gaudi::Property<std::string> m_mdtTwinPrdKey{this, "MdtTwinPrdKey", "xMdtTwinDriftCircles"};
96 Gaudi::Property<std::string> m_rpcPrdKey{this, "RpcPrdKey", "xRpcMeasurements"};
97 Gaudi::Property<std::string> m_tgcPrdKey{this, "TgcPrdKey", "xTgcStrips"};
98 Gaudi::Property<std::string> m_mmPrdKey{this, "MmPrdKey", "xAODMMClusters"};
99
100
101 StatusCode setupTruth();
103 Gaudi::Property<bool> m_writeTruthMuon{this, "dumpTruthMuon", false};
105 Gaudi::Property<std::string> m_truthMuonCont{this, "TruthMuons", "MuonTruthParticles"};
107 Gaudi::Property<bool> m_writeTruthSeg{this, "dumpTruthSegment", false};
109 Gaudi::Property<std::string> m_truthSegCont{this, "TruthSegments", "MuonTruthSegments"};
110
111 std::shared_ptr<MuonPRDTest::ParticleVariables> m_truthParts;
112 std::shared_ptr<MuonPRDTest::SegmentVariables> m_truthSegs;
113
115
116 };
117}
118#endif
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
module to blindly dump a particle container to the Tree
Tester module to dump the segment container.
StatusCode setupDigits()
Toggle whether the digit collections shall be tested.
Gaudi::Property< bool > m_writeMmPrds
StatusCode execute() override final
Gaudi::Property< std::string > m_tgcDigitKey
Gaudi::Property< std::string > m_mmPrdKey
Gaudi::Property< std::string > m_mmSimHitKey
StatusCode initialize() override final
StatusCode setupSimHits()
Toggle whether the simHit collection of each sub detector shall be written to disk.
Gaudi::Property< bool > m_writeRpcSim
Gaudi::Property< bool > m_writesTgcSim
Gaudi::Property< bool > m_writeMdtSim
Gaudi::Property< bool > m_writeTgcPrds
Gaudi::Property< bool > m_writeMdtDigits
Gaudi::Property< std::string > m_mdtTwinPrdKey
Gaudi::Property< std::string > m_tgcPrdKey
Gaudi::Property< std::string > m_rpcPrdKey
Gaudi::Property< bool > m_writePrds
Gaudi::Property< bool > m_writeMmDigits
Gaudi::Property< std::string > m_truthSegCont
Name of the truth segment container.
Gaudi::Property< bool > m_writeDigits
Gaudi::Property< std::string > m_truthMuonCont
Name of the truth particle container.
Gaudi::Property< bool > m_writeMmSim
Gaudi::Property< bool > m_isMC
Gaudi::Property< bool > m_writeSimHits
StatusCode finalize() override final
Gaudi::Property< bool > m_writeRpcDigits
const MuonGMR4::MuonDetectorManager * m_detMgr
StatusCode setupPrds()
Toggle whether the uncalibrated measurement collections shall be tested.
Gaudi::Property< bool > m_writeTruthSeg
Flag toggling whether the truth segment container shall be written.
Gaudi::Property< std::string > m_rpcSimHitKey
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
std::shared_ptr< MuonPRDTest::ParticleVariables > m_truthParts
Gaudi::Property< std::string > m_sTgcDigitKey
std::shared_ptr< MuonPRDTest::SegmentVariables > m_truthSegs
Gaudi::Property< bool > m_writeTgcDigits
Gaudi::Property< std::string > m_mdtPrdKey
Prd collection names.
Gaudi::Property< std::string > m_mdtDigitKey
Container keys of the particular digit collections.
MuonVal::MuonTesterTree m_tree
Gaudi::Property< bool > m_writeTgcSim
Gaudi::Property< bool > m_writeMdtPrds
Gaudi::Property< std::string > m_mmDigitKey
Gaudi::Property< bool > m_writesTgcDigits
Gaudi::Property< std::string > m_mdtSimHitKey
Container keys of the particular sim hit collections.
unsigned int cardinality() const override final
Gaudi::Property< std::string > m_tgcSimHitKey
Gaudi::Property< std::string > m_sTgcSimHitKey
Gaudi::Property< bool > m_writePileUp
Gaudi::Property< bool > m_writeRpcPrds
Gaudi::Property< bool > m_writeTruthMuon
Flag toggling whether the truth particle container shall be written.
Gaudi::Property< std::string > m_rpcDigitKey
SG::ReadHandleKey< xAOD::EventInfo > m_evtKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Lightweight algorithm to read xAOD MDT sim hits and (fast-digitised) drift circles from SG and fill a...