ATLAS Offline Software
MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
33 #ifndef MUONDIGITIZATION_MDT_DIGITIZATIONTOOL_H
34 #define MUONDIGITIZATION_MDT_DIGITIZATIONTOOL_H
35 
36 #include <sstream>
37 #include <string>
38 #include <vector>
39 
41 #include "CLHEP/Geometry/Point3D.h"
42 #include "CLHEP/Random/RandGaussZiggurat.h"
43 #include "CLHEP/Random/RandomEngine.h"
44 #include "GaudiKernel/PhysicalConstants.h"
45 #include "GaudiKernel/ServiceHandle.h"
46 #include "GaudiKernel/ToolHandle.h"
48 #include "Identifier/Identifier.h"
54 #include "MuonSimEvent/MDTSimHit.h"
59 #include "xAODEventInfo/EventInfo.h" // NEW EDM
60 
61 // Outputs
65 
66 namespace MuonGM {
67  class MuonDetectorManager;
68  class MdtReadoutElement;
69 } // namespace MuonGM
70 
71 class MdtHitIdHelper;
72 // Digitization class for MDT hits
73 /*
74  +DSL--------------------------------------------------------------------------
75  The drift time can be modified according to the amount of wire sag,
76  the track angle, the distance from the end of the tube, the tube length, the
77  chamber phi angle. This drift time delta is turned on/off via m_useWireSagRT
78  It operates only on small wheel and big wheel end cap chambers (EIL/EIS; EML/EMS)
79  The EOL/EOS chambers are presumably built with tubes bent to conform to the wire sag-
80  so this code does not introduce wire-sag induced RT distortions for these chambers
81 
82 
83 
84  This drift time delta is turned on/off via m_useWireSagGeom for the geomtrical wiresag effect
85  It operates on all end cap chambers (EIL/EIS; EML/EMS EOL/EOS )
86 
87 
88  -DSL----------------------------------------------------------------------------
89 
90 */
92 
94 public:
95  MdtDigitizationTool(const std::string& type, const std::string& name, const IInterface* pIID);
96  virtual ~MdtDigitizationTool() = default;
97 
99  virtual StatusCode initialize() override final;
100 
102  StatusCode prepareEvent(const EventContext& ctx, const unsigned int /*nInputEvents*/) override final;
103 
106  virtual StatusCode processBunchXing(int bunchXing, SubEventIterator bSubEvents, SubEventIterator eSubEvents) override final;
109  StatusCode mergeEvent(const EventContext& ctx) override final;
110 
113  virtual StatusCode processAllSubEvents(const EventContext& ctx) override final;
114 
115  struct GeoCorOut {
116  GeoCorOut(double sSag, double sTrack, Amg::Vector3D lp, double lSag) :
117  sagSign(sSag), trackingSign(sTrack), localPosition(lp), localSag(lSag) {}
118  double sagSign; // sign indicating wether the particle passed above or below the wire
119  double trackingSign; // sign in tracking convention indicating whether the particle passed left ot right of the wire
120  Amg::Vector3D localPosition; // point of closest approach of the particle to the wire
121  double localSag;
122  };
123 
124 private:
125  using Collections_t = std::vector<std::unique_ptr<MdtDigitCollection> >;
126  CLHEP::HepRandomEngine* getRandomEngine(const std::string& streamName, const EventContext& ctx) const;
127  int digitizeTime(double time, bool isHPTDC, CLHEP::HepRandomEngine* rndmEngine) const;
128  double minimumTof(Identifier DigitId, const MuonGM::MuonDetectorManager* detMgr) const;
129 
130  bool insideMatchingWindow(double time) const;
131  bool insideMaskWindow(double time) const;
132  bool checkMDTSimHit(const EventContext& ctx, const MDTSimHit& hit) const;
133 
134  bool handleMDTSimHit(const EventContext& ctx, const TimedHitPtr<MDTSimHit>& phit, CLHEP::HepRandomEngine* twinRndmEngine,
135  CLHEP::HepRandomEngine* toolRndmEngine);
136  bool createDigits(const EventContext& ctx, Collections_t& collections, MuonSimDataCollection* sdoContainer, CLHEP::HepRandomEngine* rndmEngine);
137 
138  // calculate local hit position in local sagged wire frame, also returns whether the hit passed above or below the wire
139  GeoCorOut correctGeometricalWireSag(const MDTSimHit& hit, const Identifier& id, const MuonGM::MdtReadoutElement* element) const;
140 
142 
143  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
145 
147 
149 
150  ToolHandle<IMDT_DigitizationTool> m_digiTool{this, "DigitizationTool", "MDT_Response_DigiTool",
151  "Tool which handle the digitization process"};
152  std::vector<MDTSimHitCollection*> m_MDTHitCollList;
153 
154  // TDC ELECTRONICS
155  Gaudi::Property<double> m_offsetTDC{this, "OffsetTDC", 800., "TDC offset used if no calibration data is found"};
156  Gaudi::Property<double> m_signalSpeed{this, "SignalSpeed", 0.85*Gaudi::Units::c_light};
157 
158  Gaudi::Property<double> m_ns2TDCAMT{this, "ns2TDCAMT", 0.78125, "Conversion factor TDC/ns for AMT chips"};
159  Gaudi::Property<double> m_ns2TDCHPTDC{this, "ns2TDCHPTDC", 0.1953125, "Conversion factor TDC/ns for HPTDC chips"};
160  Gaudi::Property<double> m_resTDC{this, "ResolutionTDC", 0.5, "TDC resolution"};
161  Gaudi::Property<double> m_t0ShiftTuning{this,"TunedT0Shift",-17.,"Fine tuned t0 shift value in ns"};
162 
163  // CONFIGURATION
164  Gaudi::Property<bool> m_checkMDTSimHits{this, "CheckSimHits", true, "Control on the hit validity"};
165  Gaudi::Property<bool> m_useTof{this, "UseTof", true, "Option for the tof calculation"};
166  Gaudi::Property<bool> m_useAttenuation{this, "UseAttenuation", false, ""};
167  Gaudi::Property<bool> m_useProp{this, "UseProp", true, ""};
168 
169  // WIRE SAG
170  Gaudi::Property<bool> m_useWireSagGeom{this, "UseWireSagGeom", false, "Option for the wire sagitta correction"};
171  Gaudi::Property<bool> m_useWireSagRT{this, "UseWireSagRT", false, "Option for the wire sagitta correction"};
172 
173  // TWIN TUBE
174  Gaudi::Property<bool> m_useTwin{this, "UseTwin", false, ""};
175  Gaudi::Property<bool> m_useAllBOLTwin{this, "UseAllBOLTwin", false, ""};
176  Gaudi::Property<double> m_resTwin{this, "ResolutionTwinTube", 1.05, "Twin Tube resolution"};
177 
178  // TIMING SCHEME
179  Gaudi::Property<bool> m_useTimeWindow{this, "UseTimeWindow", true, ""};
180  Gaudi::Property<double> m_bunchCountOffset{this, "BunchCountOffset", -200., "Bunch crossing offset"};
181  Gaudi::Property<double> m_matchingWindow{this, "MatchingWindow", 1000., "Matching window"};
182  Gaudi::Property<double> m_maskWindow{this, "MaskWindow", 250., "Masked window"};
183  Gaudi::Property<double> m_deadTime{this, "DeadTime", 700., "MDT drift tube dead time"};
184  Gaudi::Property<bool> m_DiscardEarlyHits{this, "DiscardEarlyHits", true, ""};
185 
186  // COSMICS
187  Gaudi::Property<bool> m_useOffSet1{this, "UseOffSet1", true, ""};
188  Gaudi::Property<bool> m_useOffSet2{this, "UseOffSet2", true, ""};
189 
190 
191  // B-lines
192  Gaudi::Property<bool> m_useDeformations{this, "UseDeformations", false, ""};
193 
194  // MULTI-CHARGE PARTICLES DIGITIZATION
195  Gaudi::Property<bool> m_DoQballCharge{this, "DoQballCharge", false, "dEdx for Qballs with account of electric charge"};
196 
197  // pile-up
198  std::unique_ptr<TimedHitCollection<MDTSimHit>> m_thpcMDT{}; // the hits
199 
200  // pileup truth veto
201  Gaudi::Property<bool> m_includePileUpTruth{this, "IncludePileUpTruth", true, "Include pile-up truth info"};
202 
204  // Access to the event methods:
206  // Get next event and extract collection of hit collections:
207  StatusCode getNextEvent(const EventContext& ctx);
208  StatusCode doDigitization(const EventContext& ctx, Collections_t& collections, MuonSimDataCollection* sdoContainer);
210  void fillMaps(const MDTSimHit* mdtHit, const Identifier digitId, const double driftR);
211 
212 protected:
213  ServiceHandle<PileUpMergeSvc> m_mergeSvc{this, "PileUpMergeSvc", "PileUpMergeSvc", ""}; // Pile up service
214  BooleanProperty m_onlyUseContainerName{this, "OnlyUseContainerName", true,
215  "Don't use the ReadHandleKey directly. Just extract the container name from it."};
216  SG::ReadHandleKey<MDTSimHitCollection> m_hitsContainerKey{this, "InputObjectName", "MDT_Hits", ""}; // name of the input objects
217  std::string m_inputObjectName{""};
218  SG::WriteHandleKey<MdtDigitContainer> m_outputObjectKey{this, "OutputObjectName", "MDT_DIGITS",
219  "WriteHandleKey for Output MdtDigitContainer"};
221  "WriteHandleKey for Output MuonSimDataCollection"};
222 
223  ServiceHandle<IAthRNGSvc> m_rndmSvc{this, "RndmSvc", "AthRNGSvc", ""}; // Random number service
224 
226  "Conditions object containing the calibrations"};
227 
228  SG::ReadCondHandleKey<MdtCondDbData> m_readKey{this, "ReadKey", "MdtCondDbData", "Key of MdtCondDbData"};
229 };
230 
231 #endif
MdtDigitizationTool::initialize
virtual StatusCode initialize() override final
Initialize.
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:68
MdtDigitizationTool::m_bunchCountOffset
Gaudi::Property< double > m_bunchCountOffset
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:180
MdtDigitizationTool::m_ns2TDCAMT
Gaudi::Property< double > m_ns2TDCAMT
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:158
MdtDigitizationTool::MdtDigitizationTool
MdtDigitizationTool(const std::string &type, const std::string &name, const IInterface *pIID)
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:65
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
MdtDigitizationTool::getRandomEngine
CLHEP::HepRandomEngine * getRandomEngine(const std::string &streamName, const EventContext &ctx) const
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:239
MdtDigitizationTool::insideMaskWindow
bool insideMaskWindow(double time) const
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:846
MdtHitIdHelper
Definition: MdtHitIdHelper.h:13
MdtDigitizationTool::m_useWireSagRT
Gaudi::Property< bool > m_useWireSagRT
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:171
MdtDigitizationTool::m_outputSDOKey
SG::WriteHandleKey< MuonSimDataCollection > m_outputSDOKey
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:220
MdtDigitizationTool::m_t0ShiftTuning
Gaudi::Property< double > m_t0ShiftTuning
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:161
MDTSimHit
Definition: MDTSimHit.h:21
MdtDigitizationTool::m_useAllBOLTwin
Gaudi::Property< bool > m_useAllBOLTwin
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:175
MdtDigitizationTool::processAllSubEvents
virtual StatusCode processAllSubEvents(const EventContext &ctx) override final
alternative interface which uses the PileUpMergeSvc to obtain all the required SubEvents.
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:281
MdtCalibDataContainer.h
MdtDigitizationTool::m_maskWindow
Gaudi::Property< double > m_maskWindow
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:182
MdtDigitizationTool::m_signalSpeed
Gaudi::Property< double > m_signalSpeed
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:156
MdtDigitizationTool::GeoCorOut::trackingSign
double trackingSign
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:119
MdtDigitizationTool
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:93
MdtDigitizationTool::m_digiTool
ToolHandle< IMDT_DigitizationTool > m_digiTool
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:150
MdtDigitizationTool::fillMaps
void fillMaps(const MDTSimHit *mdtHit, const Identifier digitId, const double driftR)
TimedHitPtr< MDTSimHit >
MdtDigitizationTool::minimumTof
double minimumTof(Identifier DigitId, const MuonGM::MuonDetectorManager *detMgr) const
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:820
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
MdtDigitizationTool::m_matchingWindow
Gaudi::Property< double > m_matchingWindow
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:181
MdtDigitizationTool::m_deadTime
Gaudi::Property< double > m_deadTime
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:183
MDT_Response.h
MdtDigitizationTool::applyDeformations
static MDTSimHit applyDeformations(const MDTSimHit &, const MuonGM::MdtReadoutElement *, const Identifier &)
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:856
MdtDigitizationTool::m_useProp
Gaudi::Property< bool > m_useProp
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:167
MdtDigitizationTool::getNextEvent
StatusCode getNextEvent(const EventContext &ctx)
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:187
MdtDigitizationTool::m_useTof
Gaudi::Property< bool > m_useTof
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:165
IMDT_DigitizationTool.h
MdtDigitizationTool::m_checkMDTSimHits
Gaudi::Property< bool > m_checkMDTSimHits
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:164
MdtDigitizationTool::m_offsetTDC
Gaudi::Property< double > m_offsetTDC
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:155
MDTSimHit.h
MdtDigitizationTool::m_DoQballCharge
Gaudi::Property< bool > m_DoQballCharge
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:195
MdtDigitizationTool::insideMatchingWindow
bool insideMatchingWindow(double time) const
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:837
MdtDigitizationTool::m_MDTHitCollList
std::vector< MDTSimHitCollection * > m_MDTHitCollList
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:152
SG::WriteHandleKey< MdtDigitContainer >
MdtDigitizationTool::m_inputObjectName
std::string m_inputObjectName
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:217
MuonGM::MdtReadoutElement
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MdtReadoutElement.h:50
MdtDigitizationTool::m_resTDC
Gaudi::Property< double > m_resTDC
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:160
MdtDigitizationTool::m_useWireSagGeom
Gaudi::Property< bool > m_useWireSagGeom
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:170
MdtDigitizationTool::GeoCorOut::localSag
double localSag
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:121
MDT_SortedHitVector
Definition: MDT_SortedHitVector.h:33
MdtDigitizationTool::m_calibDbKey
SG::ReadCondHandleKey< MuonCalib::MdtCalibDataContainer > m_calibDbKey
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:225
MdtDigitizationTool::m_MuonGeoMgr
const MuonGM::MuonDetectorManager * m_MuonGeoMgr
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:148
MdtDigitizationTool::m_resTwin
Gaudi::Property< double > m_resTwin
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:176
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MdtDigitizationTool::m_useOffSet2
Gaudi::Property< bool > m_useOffSet2
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:188
MdtDigitizationTool::m_outputObjectKey
SG::WriteHandleKey< MdtDigitContainer > m_outputObjectKey
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:218
MuonSimDataCollection
Definition: MuonSimDataCollection.h:21
MdtDigitizationTool::m_mergeSvc
ServiceHandle< PileUpMergeSvc > m_mergeSvc
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:213
MdtDigitizationTool::m_useTimeWindow
Gaudi::Property< bool > m_useTimeWindow
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:179
MdtDigitizationTool::~MdtDigitizationTool
virtual ~MdtDigitizationTool()=default
TimedHitCollection.h
MdtDigitizationTool::m_useDeformations
Gaudi::Property< bool > m_useDeformations
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:192
MdtDigitizationTool::m_useAttenuation
Gaudi::Property< bool > m_useAttenuation
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:166
MdtDigitizationTool::m_thpcMDT
std::unique_ptr< TimedHitCollection< MDTSimHit > > m_thpcMDT
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:198
MdtDigitizationTool::GeoCorOut::GeoCorOut
GeoCorOut(double sSag, double sTrack, Amg::Vector3D lp, double lSag)
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:116
MdtDigitizationTool::m_readKey
SG::ReadCondHandleKey< MdtCondDbData > m_readKey
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:228
MdtDigitizationTool::correctGeometricalWireSag
GeoCorOut correctGeometricalWireSag(const MDTSimHit &hit, const Identifier &id, const MuonGM::MdtReadoutElement *element) const
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:868
PileUpToolBase
Definition: PileUpToolBase.h:18
MdtDigitizationTool::m_includePileUpTruth
Gaudi::Property< bool > m_includePileUpTruth
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:201
MDTSimHitCollection.h
MdtDigitizationTool::m_onlyUseContainerName
BooleanProperty m_onlyUseContainerName
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:214
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
MdtDigitCollection
Definition: MdtDigitCollection.h:18
MdtDigitizationTool::digitizeTime
int digitizeTime(double time, bool isHPTDC, CLHEP::HepRandomEngine *rndmEngine) const
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:812
MdtDigitizationTool::m_hitsContainerKey
SG::ReadHandleKey< MDTSimHitCollection > m_hitsContainerKey
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:216
python.PhysicalConstants.c_light
float c_light
Definition: PhysicalConstants.py:63
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
MdtDigitizationTool::GeoCorOut::sagSign
double sagSign
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:118
MdtDigitizationTool::checkMDTSimHit
bool checkMDTSimHit(const EventContext &ctx, const MDTSimHit &hit) const
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:585
EventInfo.h
MdtDigitizationTool::m_useOffSet1
Gaudi::Property< bool > m_useOffSet1
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:187
MdtDigitizationTool::doDigitization
StatusCode doDigitization(const EventContext &ctx, Collections_t &collections, MuonSimDataCollection *sdoContainer)
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:315
MdtDigitizationTool::m_useTwin
Gaudi::Property< bool > m_useTwin
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:174
SG::ReadCondHandleKey< MuonCalib::MdtCalibDataContainer >
MdtDigitizationTool::prepareEvent
StatusCode prepareEvent(const EventContext &ctx, const unsigned int) override final
When being run from PileUpToolsAlgs, this method is called at the start of the subevts loop.
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:146
MdtDigitizationTool::m_hits
MDT_SortedHitVector m_hits
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:141
MdtDigitizationTool::GeoCorOut
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:115
AthenaPoolExample_Copy.streamName
string streamName
Definition: AthenaPoolExample_Copy.py:39
MdtDigitizationTool::m_DiscardEarlyHits
Gaudi::Property< bool > m_DiscardEarlyHits
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:184
MdtDigitizationTool::handleMDTSimHit
bool handleMDTSimHit(const EventContext &ctx, const TimedHitPtr< MDTSimHit > &phit, CLHEP::HepRandomEngine *twinRndmEngine, CLHEP::HepRandomEngine *toolRndmEngine)
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:352
MdtDigitizationTool::m_ns2TDCHPTDC
Gaudi::Property< double > m_ns2TDCHPTDC
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:159
MDT_SortedHitVector.h
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
MdtDigitContainer.h
MuonGM::MuonDetectorManager
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:49
MdtDigitizationTool::mergeEvent
StatusCode mergeEvent(const EventContext &ctx) override final
When being run from PileUpToolsAlgs, this method is called at the end of the subevts loop.
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:246
PileUpMergeSvc.h
the preferred mechanism to access information from the different event stores in a pileup job.
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
MdtDigitizationTool::createDigits
bool createDigits(const EventContext &ctx, Collections_t &collections, MuonSimDataCollection *sdoContainer, CLHEP::HepRandomEngine *rndmEngine)
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:646
MdtDigitizationTool::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:143
SubEventIterator
std::vector< xAOD::EventInfo::SubEvent >::const_iterator SubEventIterator
Definition: IPileUpTool.h:22
MdtDigitizationTool::m_rndmSvc
ServiceHandle< IAthRNGSvc > m_rndmSvc
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:223
MuonSimDataCollection.h
MdtCondDbData.h
PileUpToolBase.h
helper base class IPileUpTool::toProcess().
MdtDigitizationTool::GeoCorOut::localPosition
Amg::Vector3D localPosition
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:120
MdtDigitizationTool::m_muonHelper
const MdtHitIdHelper * m_muonHelper
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:144
MdtDigitizationTool::processBunchXing
virtual StatusCode processBunchXing(int bunchXing, SubEventIterator bSubEvents, SubEventIterator eSubEvents) override final
When being run from PileUpToolsAlgs, this method is called for each active bunch-crossing to process ...
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:155
IMuonIdHelperSvc.h
MdtDigitizationTool::getDigitCollection
MdtDigitCollection * getDigitCollection(Identifier elementId, Collections_t &collections)
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:791
MuonSimData.h
IAthRNGSvc.h
ServiceHandle< Muon::IMuonIdHelperSvc >
MdtDigitizationTool::Collections_t
std::vector< std::unique_ptr< MdtDigitCollection > > Collections_t
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:125