ATLAS Offline Software
TgcDigitizationTool.h
Go to the documentation of this file.
1 /* -*- C++ -*- */
2 
3 /*
4  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef MUONDIGITIZATION_TGC_DIGITIZATIONTOOL_H
8 #define MUONDIGITIZATION_TGC_DIGITIZATIONTOOL_H
9 
16 #include "GaudiKernel/ServiceHandle.h"
23 #include "MuonSimEvent/TGCSimHit.h"
27 
28 class PileUpMergeSvc;
29 class TgcDigitMaker;
30 class TgcHitIdHelper;
31 class TgcIdHelper;
32 
33 namespace CLHEP {
34 class HepRandomEngine;
35 }
36 
37 namespace MuonGM {
38 class MuonDetectorManager;
39 }
40 
42  public:
43  TgcDigitizationTool(const std::string& type, const std::string& name,
44  const IInterface* parent);
46  virtual StatusCode initialize() override final;
47 
48  virtual StatusCode prepareEvent(
49  const EventContext& ctx, unsigned int /*nInputEvents*/) override final;
50 
54  int bunchXing, SubEventIterator bSubEvents,
55  SubEventIterator eSubEvents) override final;
56 
59  virtual StatusCode mergeEvent(const EventContext& ctx) override final;
60 
69  const EventContext& ctx) override final;
70 
72  virtual StatusCode finalize() override final;
73 
74  private:
76  StatusCode getNextEvent(const EventContext& ctx);
78  StatusCode digitizeCore(const EventContext& ctx);
79 
80  protected:
82  this, "PileUpMergeSvc", "PileUpMergeSvc", ""}; // Pile up service
83  ServiceHandle<IAthRNGSvc> m_rndmSvc{this, "RndmSvc", "AthRNGSvc",
84  ""}; // Random number service
85 
86  private:
92  std::list<TGCSimHitCollection*> m_TGCHitCollList;
93 
94  Gaudi::Property<bool> m_onlyUseContainerName{
95  this, "OnlyUseContainerName", true,
96  "Don't use the ReadHandleKey directly. Just extract the container name "
97  "from it."};
98  Gaudi::Property<bool> m_doFourBunchDigitization{
99  this, "FourBunchDigitization", true,
100  "Do the four bunch digitization since Run-3"};
102  this, "InputObjectName", "TGC_Hits", "name of the input object"};
103  std::string m_inputHitCollectionName{""};
105  this, "TGCDigitASDposKey", "",
106  "ReadCondHandleKey for TGCDigitASDposData"};
108  this, "TGCDigitTimeOffsetKey", "",
109  "ReadCondHandleKey for TGCDigitTimeOffsetData"};
111  this, "TGCDigitCrosstalkKey", "",
112  "ReadCondHandleKey for TGCDigitCrosstalkData"};
114  this, "OutputObjectName", "TGC_DIGITS",
115  "WriteHandleKey for Output TgcDigitContainer"}; // name of the output
116  // digits
118  this, "OutputSDOName", "TGC_SDO",
119  "WriteHandleKey for Output MuonSimDataCollection"}; // name of the
120  // output SDOs
121 
122  // pileup truth veto
123  Gaudi::Property<bool> m_includePileUpTruth{this, "IncludePileUpTruth", true,
124  "Include pile-up truth info"};
125 };
126 #endif // MUONDIGITIZATION_TGC_DIGITIZATIONTOOL_H
TgcDigitMaker
Definition: TgcDigitMaker.h:40
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
TgcDigitASDposData.h
TgcDigitizationTool
Definition: TgcDigitizationTool.h:41
TgcDigitizationTool::m_readCondKey_ASDpos
SG::ReadCondHandleKey< TgcDigitASDposData > m_readCondKey_ASDpos
Definition: TgcDigitizationTool.h:104
TgcIdHelper
Definition: TgcIdHelper.h:50
TgcDigitizationTool::m_rndmSvc
ServiceHandle< IAthRNGSvc > m_rndmSvc
Definition: TgcDigitizationTool.h:83
TgcDigitizationTool::m_hitIdHelper
const TgcHitIdHelper * m_hitIdHelper
Definition: TgcDigitizationTool.h:87
TgcDigitizationTool::mergeEvent
virtual StatusCode mergeEvent(const EventContext &ctx) override final
called at the end of the subevts loop.
Definition: TgcDigitizationTool.cxx:180
TgcDigitizationTool::processBunchXing
virtual StatusCode processBunchXing(int bunchXing, SubEventIterator bSubEvents, SubEventIterator eSubEvents) override final
called for each active bunch-crossing to process current SubEvents bunchXing is in ns
Definition: TgcDigitizationTool.cxx:134
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
TgcDigitizationTool::m_TGCHitCollList
std::list< TGCSimHitCollection * > m_TGCHitCollList
Definition: TgcDigitizationTool.h:92
TgcHitIdHelper
Definition: TgcHitIdHelper.h:13
PileUpMergeSvc
the preferred mechanism to access information from the different event stores in a pileup job.
Definition: PileUpMergeSvc.h:58
TgcDigitizationTool::m_readCondKey_Crosstalk
SG::ReadCondHandleKey< TgcDigitCrosstalkData > m_readCondKey_Crosstalk
Definition: TgcDigitizationTool.h:110
TgcDigitizationTool::m_mdManager
const MuonGM::MuonDetectorManager * m_mdManager
Definition: TgcDigitizationTool.h:89
TgcDigitizationTool::m_digitizer
TgcDigitMaker * m_digitizer
Definition: TgcDigitizationTool.h:90
SG::WriteHandleKey< TgcDigitContainer >
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TgcDigitizationTool::m_mergeSvc
ServiceHandle< PileUpMergeSvc > m_mergeSvc
Definition: TgcDigitizationTool.h:81
TgcDigitizationTool::m_doFourBunchDigitization
Gaudi::Property< bool > m_doFourBunchDigitization
Definition: TgcDigitizationTool.h:98
CLHEP
STD'S.
Definition: IAtRndmGenSvc.h:19
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TimedHitCollection.h
TgcDigitizationTool::m_hitsContainerKey
SG::ReadHandleKey< TGCSimHitCollection > m_hitsContainerKey
Definition: TgcDigitizationTool.h:101
TgcDigitCrosstalkData.h
TgcDigitizationTool::digitizeCore
StatusCode digitizeCore(const EventContext &ctx)
Core part of digitization used by processAllSubEvents and mergeEvent.
Definition: TgcDigitizationTool.cxx:290
PileUpToolBase
Definition: PileUpToolBase.h:18
TgcDigitizationTool::TgcDigitizationTool
TgcDigitizationTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TgcDigitizationTool.cxx:29
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TgcDigitizationTool::initialize
virtual StatusCode initialize() override final
Initialize.
Definition: TgcDigitizationTool.cxx:35
TgcDigitizationTool::m_thpcTGC
TimedHitCollection< TGCSimHit > * m_thpcTGC
Definition: TgcDigitizationTool.h:91
TGCSimHitCollection.h
TgcDigitizationTool::m_inputHitCollectionName
std::string m_inputHitCollectionName
Definition: TgcDigitizationTool.h:103
SG::ReadCondHandleKey< TgcDigitASDposData >
TgcDigitizationTool::prepareEvent
virtual StatusCode prepareEvent(const EventContext &ctx, unsigned int) override final
Definition: TgcDigitizationTool.cxx:125
MuonGM::MuonDetectorManager
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:49
PileUpMergeSvc.h
the preferred mechanism to access information from the different event stores in a pileup job.
TGCSimHit.h
TgcDigitizationTool::processAllSubEvents
virtual StatusCode processAllSubEvents(const EventContext &ctx) override final
alternative interface which uses the PileUpMergeSvc to obtain all the required SubEvents.
Definition: TgcDigitizationTool.cxx:202
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TgcDigitizationTool::m_outputSDO_CollectionKey
SG::WriteHandleKey< MuonSimDataCollection > m_outputSDO_CollectionKey
Definition: TgcDigitizationTool.h:117
TgcDigitizationTool::m_idHelper
const TgcIdHelper * m_idHelper
Definition: TgcDigitizationTool.h:88
TgcDigitizationTool::m_includePileUpTruth
Gaudi::Property< bool > m_includePileUpTruth
Definition: TgcDigitizationTool.h:123
SubEventIterator
std::vector< xAOD::EventInfo::SubEvent >::const_iterator SubEventIterator
Definition: IPileUpTool.h:22
TgcDigitContainer.h
TgcDigitTimeOffsetData.h
TgcDigitizationTool::m_outputDigitCollectionKey
SG::WriteHandleKey< TgcDigitContainer > m_outputDigitCollectionKey
Definition: TgcDigitizationTool.h:113
TgcDigitizationTool::getNextEvent
StatusCode getNextEvent(const EventContext &ctx)
Get next event and extract collection of hit collections.
Definition: TgcDigitizationTool.cxx:227
TgcDigitizationTool::m_onlyUseContainerName
Gaudi::Property< bool > m_onlyUseContainerName
Definition: TgcDigitizationTool.h:94
MuonSimDataCollection.h
PileUpToolBase.h
helper base class IPileUpTool::toProcess().
TgcDigitizationTool::m_readCondKey_TimeOffset
SG::ReadCondHandleKey< TgcDigitTimeOffsetData > m_readCondKey_TimeOffset
Definition: TgcDigitizationTool.h:107
TimedHitCollection< TGCSimHit >
TgcDigitizationTool::finalize
virtual StatusCode finalize() override final
Finalize.
Definition: TgcDigitizationTool.cxx:216
IAthRNGSvc.h
ServiceHandle< PileUpMergeSvc >