ATLAS Offline Software
RPC_SimHitToPrdCBNTAlgo.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONSIMHITTOPRD_H
6 #define MUONSIMHITTOPRD_H
7 
8 #include <string.h>
9 
13 #include "GaudiKernel/ServiceHandle.h"
21 class RpcHitIdHelper;
22 
23 namespace MuonGM {
24  class MuonDetectorManager;
25 }
26 
28 public:
29  // Agorithm constructor
30  RPC_SimHitToPrdCBNTAlgo(const std::string &name, ISvcLocator *pSvcLocator);
31 
33 
34  // Gaudi hooks
35  virtual StatusCode initialize() override;
36  virtual StatusCode execute() override;
37 
38 protected:
39  void clearNTuple();
40 
41  SG::ReadHandleKey<McEventCollection> m_mcEvtKey{this, "mcEventKey", "TruthEvent"};
42  SG::ReadHandleKey<RPCSimHitCollection> m_HitCollKey{this, "HitCollectionName", "RPC_Hits"};
43  SG::ReadHandleKey<RpcDigitContainer> m_DigiCollKey{this, "DigitCollectionName", "RPC_DIGITS"};
44  SG::ReadHandleKey<RpcPadContainer> m_RDOKey{this, "RDOCollectionName", "RPCPAD"};
45  SG::ReadHandleKey<Muon::RpcPrepDataContainer> m_PrepKey{this, "PrdCollectionName", "RPC_Measurements"};
46 
47 private:
48  // Private function to add the clusters to the ntuple
49  StatusCode doMCtruth(const EventContext &ctx);
50  StatusCode doRPCSimHit(const EventContext &ctx);
51  StatusCode doRPCDigit(const EventContext &ctx);
52  StatusCode doRPCRDO(const EventContext &ctx);
53  StatusCode doRPCPrep(const EventContext &ctx);
54 
56  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
57  const RpcHitIdHelper *m_muonHelper{nullptr}; // simulation id helper
58 
59  Gaudi::Property<bool> m_doMCtruth{this, "doMCtruth", true};
60  Gaudi::Property<bool> m_doRPCSimHit{this, "doRPCSimHit", true};
61  Gaudi::Property<bool> m_doRPCDigit{this, "doRPCDigit", true};
62  Gaudi::Property<bool> m_doRPCRDO{this, "doRPCRDO", true};
63  Gaudi::Property<bool> m_doRPCPrep{this, "doRPCPrep", true};
64 
65  class Clockwork;
66 
67  std::unique_ptr<Clockwork> m_c;
68 };
69 #endif // MUONSIMHITTOPRD_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
RPC_SimHitToPrdCBNTAlgo::execute
virtual StatusCode execute() override
Definition: RPC_SimHitToPrdCBNTAlgo.cxx:318
RPC_SimHitToPrdCBNTAlgo::m_muonMgr
const MuonGM::MuonDetectorManager * m_muonMgr
Definition: RPC_SimHitToPrdCBNTAlgo.h:55
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
RPC_SimHitToPrdCBNTAlgo::clearNTuple
void clearNTuple()
Definition: RPC_SimHitToPrdCBNTAlgo.cxx:290
RPC_SimHitToPrdCBNTAlgo::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: RPC_SimHitToPrdCBNTAlgo.h:56
RPC_SimHitToPrdCBNTAlgo::m_doRPCRDO
Gaudi::Property< bool > m_doRPCRDO
Definition: RPC_SimHitToPrdCBNTAlgo.h:62
RpcDigitContainer.h
EventPrimitivesHelpers.h
RPC_SimHitToPrdCBNTAlgo::doRPCSimHit
StatusCode doRPCSimHit(const EventContext &ctx)
Definition: RPC_SimHitToPrdCBNTAlgo.cxx:421
RPC_SimHitToPrdCBNTAlgo::m_mcEvtKey
SG::ReadHandleKey< McEventCollection > m_mcEvtKey
Definition: RPC_SimHitToPrdCBNTAlgo.h:41
RPC_SimHitToPrdCBNTAlgo::~RPC_SimHitToPrdCBNTAlgo
~RPC_SimHitToPrdCBNTAlgo()
RPC_SimHitToPrdCBNTAlgo::m_doRPCDigit
Gaudi::Property< bool > m_doRPCDigit
Definition: RPC_SimHitToPrdCBNTAlgo.h:61
RPC_SimHitToPrdCBNTAlgo::doRPCRDO
StatusCode doRPCRDO(const EventContext &ctx)
Definition: RPC_SimHitToPrdCBNTAlgo.cxx:586
RpcPrepDataContainer.h
RPC_SimHitToPrdCBNTAlgo::m_doRPCSimHit
Gaudi::Property< bool > m_doRPCSimHit
Definition: RPC_SimHitToPrdCBNTAlgo.h:60
SG::ReadHandleKey< McEventCollection >
RPC_SimHitToPrdCBNTAlgo
Definition: RPC_SimHitToPrdCBNTAlgo.h:27
RPC_SimHitToPrdCBNTAlgo::m_DigiCollKey
SG::ReadHandleKey< RpcDigitContainer > m_DigiCollKey
Definition: RPC_SimHitToPrdCBNTAlgo.h:43
RPC_SimHitToPrdCBNTAlgo::doRPCDigit
StatusCode doRPCDigit(const EventContext &ctx)
Definition: RPC_SimHitToPrdCBNTAlgo.cxx:527
AthAlgorithm.h
RPC_SimHitToPrdCBNTAlgo::m_doMCtruth
Gaudi::Property< bool > m_doMCtruth
Definition: RPC_SimHitToPrdCBNTAlgo.h:59
McEventCollection.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
RPC_SimHitToPrdCBNTAlgo::m_muonHelper
const RpcHitIdHelper * m_muonHelper
Definition: RPC_SimHitToPrdCBNTAlgo.h:57
RPCSimHitCollection.h
RPC_SimHitToPrdCBNTAlgo::m_RDOKey
SG::ReadHandleKey< RpcPadContainer > m_RDOKey
Definition: RPC_SimHitToPrdCBNTAlgo.h:44
AthAlgorithm
Definition: AthAlgorithm.h:47
RPC_SimHitToPrdCBNTAlgo::doRPCPrep
StatusCode doRPCPrep(const EventContext &ctx)
Definition: RPC_SimHitToPrdCBNTAlgo.cxx:681
EventPrimitives.h
RPC_SimHitToPrdCBNTAlgo::doMCtruth
StatusCode doMCtruth(const EventContext &ctx)
Definition: RPC_SimHitToPrdCBNTAlgo.cxx:344
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
RPC_SimHitToPrdCBNTAlgo::RPC_SimHitToPrdCBNTAlgo
RPC_SimHitToPrdCBNTAlgo(const std::string &name, ISvcLocator *pSvcLocator)
Definition: RPC_SimHitToPrdCBNTAlgo.cxx:142
RPC_SimHitToPrdCBNTAlgo::m_PrepKey
SG::ReadHandleKey< Muon::RpcPrepDataContainer > m_PrepKey
Definition: RPC_SimHitToPrdCBNTAlgo.h:45
RPC_SimHitToPrdCBNTAlgo::m_c
std::unique_ptr< Clockwork > m_c
Definition: RPC_SimHitToPrdCBNTAlgo.h:65
MuonGM::MuonDetectorManager
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:49
RPC_SimHitToPrdCBNTAlgo::m_HitCollKey
SG::ReadHandleKey< RPCSimHitCollection > m_HitCollKey
Definition: RPC_SimHitToPrdCBNTAlgo.h:42
RpcPadContainer.h
RPC_SimHitToPrdCBNTAlgo::initialize
virtual StatusCode initialize() override
Definition: RPC_SimHitToPrdCBNTAlgo.cxx:150
RpcHitIdHelper
Definition: RpcHitIdHelper.h:13
RPC_SimHitToPrdCBNTAlgo::m_doRPCPrep
Gaudi::Property< bool > m_doRPCPrep
Definition: RPC_SimHitToPrdCBNTAlgo.h:63
IMuonIdHelperSvc.h
ServiceHandle< Muon::IMuonIdHelperSvc >