ATLAS Offline Software
RpcDigitizationTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef RPC_DIGITIZATIONTOOL_H
6 #define RPC_DIGITIZATIONTOOL_H
7 
44 #include "MuonSimEvent/RPCSimHit.h"
45 
49 #include "xAODEventInfo/EventInfo.h" // NEW EDM
50 
51 
54 
55 class RpcHitIdHelper;
56 
57 
58 class RpcIdHelper;
59 
60 namespace CLHEP {
61  class HepRandomEngine;
62 }
63 
65 public:
66  RpcDigitizationTool(const std::string& type, const std::string& name, const IInterface* pIID);
67 
69  virtual StatusCode initialize() override final;
70 
73  virtual StatusCode prepareEvent(const EventContext& ctx, const unsigned int /*nInputEvents*/) override final;
74 
78  virtual StatusCode processBunchXing(int bunchXing, SubEventIterator bSubEvents, SubEventIterator eSubEvents) override final;
79 
82  virtual StatusCode mergeEvent(const EventContext& ctx) override final;
83 
86  virtual StatusCode processAllSubEvents(const EventContext& ctx) override final;
87 
88 private:
90 
91  template <class CondType> StatusCode retrieveCondData(const EventContext& ctx,
93  const CondType* & condPtr) const;
94  using Collections_t = std::vector<std::unique_ptr<RpcDigitCollection> >;
96  StatusCode getNextEvent(const EventContext& ctx);
98  StatusCode doDigitization(const EventContext& ctx, Collections_t& collections, MuonSimDataCollection* sdoContainer);
102  long long int PackMCTruth(float proptime, float tof, float posx, float posz) const;
104  static void UnPackMCTruth(double theWord, float& proptime, float& tof, float& posy, float& posz) ;
108  std::array<int, 3> physicalClusterSize(const EventContext& ctx,
109  const MuonGM::RpcReadoutElement* reEle,
110  const Identifier& id,
111  const Amg::Vector3D& posAtCentre,
112  CLHEP::HepRandomEngine* rndmEngine) const;
116  std::array<int, 3> TurnOnStrips(const MuonGM::RpcReadoutElement* reEle,
117  std::array<int, 3>&& pcs,
118  const Identifier& id) const;
120  double PropagationTime(const MuonGM::RpcReadoutElement* reEle,
121  const Identifier& id,
122  const Amg::Vector3D& globPos) const;
126  Gaudi::Property<double> m_UncorrJitter{this, "UncorrJitter", 1.5, "jitter uncorrelated between eta and phi"};
127  Gaudi::Property<double> m_CorrJitter{this, "CorrJitter", 0.0, "jitter correlated between eta and phi"};
128 
129  Gaudi::Property<double> m_UncorrJitter_BIS78{this, "UncorrJitter_BIS78", 0.3, "jitter uncorrelated between eta and phi BIS78"};
130  Gaudi::Property<double> m_CorrJitter_BIS78{this, "CorrJitter_BIS78", 0.0, "jitter correlated between eta and phi BIS78"};
131 
132 
135  const Identifier& layerId) const;
136 
137 
138  // pile-up
139  bool outsideWindow(double time) const;
140  Gaudi::Property<double> m_timeWindowLowerOffset{this, "WindowLowerOffset", -100., "digitization window lower limit"};
141  Gaudi::Property<double> m_timeWindowUpperOffset{this, "WindowUpperOffset", +150., "digitization window lower limit"};
142 
144  std::pair<bool, bool> detectionEfficiency(const EventContext& ctx,
145  const Identifier& ideta,
146  const Identifier& idphi,
147  CLHEP::HepRandomEngine* rndmEngine,
148  const HepMcParticleLink& trkParticle) const;
149 
150 
151  double FCPEfficiency(const HepMC::ConstGenParticlePtr& genParticle) const;
153  int determineClusterSize(const EventContext& ctx,
154  const Identifier& id,
155  double xstripnorm,
156  CLHEP::HepRandomEngine* rndmEngine) const;
157 
158  SG::ReadCondHandleKey<MuonGM::MuonDetectorManager> m_detMgrKey {this, "DetectorManagerKey", "MuonDetectorManager",
159  "Key of input MuonDetectorManager condition data"};
162  std::vector<std::unique_ptr<RPCSimHitCollection>> m_RPCHitCollList;
163  std::unique_ptr<TimedHitCollection<RPCSimHit>> m_thpcRPC{};
164  SG::ReadCondHandleKey<RpcCondDbData> m_readKey{this, "ReadKey", "RpcCondDbData", "Key of RpcCondDbData"};
165  std::map<Identifier, std::vector<MuonSimData::Deposit>> m_sdo_tmp_map;
166  Gaudi::Property<int> m_deadTime{this, "DeadTime", 100., "dead time"};
167  Gaudi::Property<bool> m_patch_for_rpc_time{this, "PatchForRpcTime", false, ""};
168  Gaudi::Property<double> m_rpc_time_shift{this, "PatchForRpcTimeShift", 12.5,
169  "shift rpc digit time to match hardware time calibration: Zmumu muons are at the center of "
170  "BC0, i.e. at 12.5ns+BC0shift w.r.t. RPC readout (BC0shift=2x3.125)"};
171 
172  Gaudi::Property<bool> m_validationSetup{this, "ValidationSetup", false, ""};
173  Gaudi::Property<bool> m_includePileUpTruth{this, "IncludePileUpTruth", true, "pileup truth veto"};
174 
175  Gaudi::Property<bool> m_turnON_efficiency{this, "turnON_efficiency", true, ""};
176  Gaudi::Property<bool> m_kill_deadstrips{this, "KillDeadStrips", false, ""}; // gabriele
177  Gaudi::Property<bool> m_turnON_clustersize{this, "turnON_clustersize", true, ""};
178  Gaudi::Property<int> m_FirstClusterSizeInTail{this, "FirstClusterSizeInTail", 3, ""};
179 
180  Gaudi::Property<std::vector<float>> m_PhiAndEtaEff_A{this, "PhiAndEtaEff_A", {}, ""};
181  Gaudi::Property<std::vector<float>> m_OnlyPhiEff_A{this, "OnlyPhiEff_A", {}, ""};
182  Gaudi::Property<std::vector<float>> m_OnlyEtaEff_A{this, "OnlyEtaEff_A", {}, ""};
183  Gaudi::Property<std::vector<float>> m_PhiAndEtaEff_C{this, "PhiAndEtaEff_C", {}, ""};
184  Gaudi::Property<std::vector<float>> m_OnlyPhiEff_C{this, "OnlyPhiEff_C", {}, ""};
185  Gaudi::Property<std::vector<float>> m_OnlyEtaEff_C{this, "OnlyEtaEff_C", {}, ""};
186 
187  Gaudi::Property<float> m_PhiAndEtaEff_BIS78{this, "PhiAndEtaEff_BIS78", 0.93, ""};
188  Gaudi::Property<float> m_OnlyEtaEff_BIS78{this, "OnlyEtaEff_BIS78", 0.96, ""};
189  Gaudi::Property<float> m_OnlyPhiEff_BIS78{this, "OnlyPhiEff_BIS78", 0.96, ""};
190 
191  Gaudi::Property<std::vector<double>> m_FracClusterSize1_A{this, "FracClusterSize1_A", {}, ""};
192  Gaudi::Property<std::vector<double>> m_FracClusterSize2_A{this, "FracClusterSize2_A", {}, ""};
193  Gaudi::Property<std::vector<double>> m_FracClusterSizeTail_A{this, "FracClusterSizeTail_A", {}, ""};
194  Gaudi::Property<std::vector<double>> m_MeanClusterSizeTail_A{this, "MeanClusterSizeTail_A", {}, ""};
195 
196  Gaudi::Property<std::vector<double>> m_FracClusterSize1_C{this, "FracClusterSize1_C", {}, ""};
197  Gaudi::Property<std::vector<double>> m_FracClusterSize2_C{this, "FracClusterSize2_C", {}, ""};
198  Gaudi::Property<std::vector<double>> m_FracClusterSizeTail_C{this, "FracClusterSizeTail_C", {}, ""};
199  Gaudi::Property<std::vector<double>> m_MeanClusterSizeTail_C{this, "MeanClusterSizeTail_C", {}, ""};
200 
201  Gaudi::Property<float> m_FracClusterSize1_BIS78{this, "FracClusterSize1_BIS78", 0.60, ""};
202  Gaudi::Property<float> m_FracClusterSize2_BIS78{this, "FracClusterSize2_BIS78", 0.35, ""};
203  Gaudi::Property<float> m_FracClusterSizeTail_BIS78{this, "FracClusterSizeTail_BIA78", 0.05, ""};
204  Gaudi::Property<float> m_MeanClusterSizeTail_BIS78{this, "MeanClusterSizeTail_BIA78", 3.5, ""};
205 
206 
207 
208  Gaudi::Property<bool> m_muonOnlySDOs{this, "MuonOnlySDOs", true, ""};
209 
210  static double timeOverThreshold(CLHEP::HepRandomEngine* rndmEngine) ;
211 
212 protected:
213  ServiceHandle<PileUpMergeSvc> m_mergeSvc{this, "PileUpMergeSvc", "PileUpMergeSvc", "Pile up service"};
214  Gaudi::Property<bool> m_onlyUseContainerName{this, "OnlyUseContainerName", true,
215  "Don't use the ReadHandleKey directly. Just extract the container name from it."};
216  SG::ReadHandleKey<RPCSimHitCollection> m_hitsContainerKey{this, "InputObjectName", "RPC_Hits", "name of the input object"};
217  std::string m_inputHitCollectionName{""};
219  this, "OutputObjectName", "RPC_DIGITS", "WriteHandleKey for Output RpcDigitContainer"}; // name of the output digits
221  this, "OutputSDOName", "RPC_SDO", "WriteHandleKey for Output MuonSimDataCollection"}; // name of the output SDOs
222 
223  SG::WriteHandleKey<RPCSimHitCollection> m_simHitValidKey{this, "SimHitValidationKey", "InputRpcHits"};
224  ServiceHandle<IAthRNGSvc> m_rndmSvc{this, "RndmSvc", "AthRNGSvc", ""}; // Random number service
225 
226  Gaudi::Property<std::string> m_RPC_TimeSchema{this, "RPC_TimeSchema", "RPC_TimeSchema", "Tag info name of Rpc Time Info"};
227  Gaudi::Property<bool> m_sdoAreOnlyDigits{this, "RPCSDOareRPCDigits", true,
228  "decide is SDO deposits are saved for all G4 hits or only for those accepted as digits"};
229 
230  Gaudi::Property<bool> m_Efficiency_fromCOOL{this, "Efficiency_fromCOOL", false, "Read efficiency from CoolDB"};
231  Gaudi::Property<bool> m_EfficiencyPatchForBMShighEta{this, "EfficiencyPatchForBMShighEta", false,
232  "special patch to be true only when m_Efficiency_fromCOOL=true and "
233  "/RPC/DQMF/ELEMENT_STATUS tag is RPCDQMFElementStatus_2012_Jaunuary_26"};
234  Gaudi::Property<bool> m_ClusterSize_fromCOOL{this, "ClusterSize_fromCOOL", false, "Read cluster size from CoolDB"};
235  Gaudi::Property<bool> m_ClusterSize1_2uncorr{this, "ClusterSize1_2uncorr", false,
236  "Cluster size 1 and 2 not correlated to track position"};
237  Gaudi::Property<bool> m_BOG_BOF_DoubletR2_OFF{this, "Force_BOG_BOF_DoubletR2_OFF", false, "Turn-off BOG and BOF with DoubletR=2"};
238  Gaudi::Property<bool> m_ignoreRunDepConfig{this, "IgnoreRunDependentConfig", false,
239  "true if we want to force the RUN1/RUN2 dependent options"};
240  Gaudi::Property<bool> m_Efficiency_BIS78_fromCOOL{this, "Efficiency_BIS78_fromCOOL", false, " read BIS78 Efficiency from COOL DB"};
241  Gaudi::Property<bool> m_ClusterSize_BIS78_fromCOOL{this, "ClusterSize_BIS78_fromCOOL", false, " read BIS78 Cluster Size from COOL DB"};
242 
243 
244  Gaudi::Property<bool> m_RPCInfoFromDb{this, "RPCInfoFromDb", false, ""};
245  Gaudi::Property<float> m_CutMaxClusterSize{this, "CutMaxClusterSize", 5.0, ""};
246  Gaudi::Property<int> m_CutProjectedTracks{this, "CutProjectedTracks", 100, ""};
247 
248  int m_BOF_id{-1};
249  int m_BOG_id{-1};
250  int m_BOS_id{-1};
251 
252  int m_BIL_id{-1};
253  int m_BIS_id{-1};
254 
255 };
256 
257 inline bool RpcDigitizationTool::outsideWindow(double time) const {
258  return time < m_timeWindowLowerOffset || time > m_timeWindowUpperOffset;
259 }
260 #endif // RpcDigitizationTool
RpcDigitizationTool::fillTagInfo
StatusCode fillTagInfo()
Definition: RpcDigitizationTool.cxx:1059
RpcDigitizationTool::m_sdo_tmp_map
std::map< Identifier, std::vector< MuonSimData::Deposit > > m_sdo_tmp_map
Definition: RpcDigitizationTool.h:165
RpcDigitizationTool::m_outputDigitCollectionKey
SG::WriteHandleKey< RpcDigitContainer > m_outputDigitCollectionKey
Definition: RpcDigitizationTool.h:218
RpcDigitizationTool::m_rpc_time_shift
Gaudi::Property< double > m_rpc_time_shift
Definition: RpcDigitizationTool.h:168
RpcDigitizationTool::m_BIS_id
int m_BIS_id
Definition: RpcDigitizationTool.h:253
RpcDigitizationTool::fromSimHitToLayer
Amg::Transform3D fromSimHitToLayer(const MuonGM::RpcReadoutElement *readOutEle, const Identifier &layerId) const
Returns the position of the hit expressed in the gasGap coordinate system.
Definition: RpcDigitizationTool.cxx:901
RpcDigitizationTool::m_OnlyEtaEff_BIS78
Gaudi::Property< float > m_OnlyEtaEff_BIS78
Definition: RpcDigitizationTool.h:188
RpcDigitizationTool::m_muonHelper
const RpcHitIdHelper * m_muonHelper
Definition: RpcDigitizationTool.h:161
RpcDigitizationTool::m_turnON_efficiency
Gaudi::Property< bool > m_turnON_efficiency
Definition: RpcDigitizationTool.h:175
RpcDigitizationTool::physicalClusterSize
std::array< int, 3 > physicalClusterSize(const EventContext &ctx, const MuonGM::RpcReadoutElement *reEle, const Identifier &id, const Amg::Vector3D &posAtCentre, CLHEP::HepRandomEngine *rndmEngine) const
Cluster simulation: first step.
Definition: RpcDigitizationTool.cxx:923
RpcDigitizationTool::m_BOG_id
int m_BOG_id
Definition: RpcDigitizationTool.h:249
RpcDigitizationTool::m_CorrJitter
Gaudi::Property< double > m_CorrJitter
Definition: RpcDigitizationTool.h:127
RpcDigitizationTool::m_FracClusterSize1_A
Gaudi::Property< std::vector< double > > m_FracClusterSize1_A
Definition: RpcDigitizationTool.h:191
RpcDigitizationTool::m_readKey
SG::ReadCondHandleKey< RpcCondDbData > m_readKey
Definition: RpcDigitizationTool.h:164
RpcCondDbData.h
RpcDigitizationTool::m_MeanClusterSizeTail_C
Gaudi::Property< std::vector< double > > m_MeanClusterSizeTail_C
Definition: RpcDigitizationTool.h:199
RpcDigitizationTool::m_RPC_TimeSchema
Gaudi::Property< std::string > m_RPC_TimeSchema
Definition: RpcDigitizationTool.h:226
RpcDigitizationTool::m_timeWindowUpperOffset
Gaudi::Property< double > m_timeWindowUpperOffset
Definition: RpcDigitizationTool.h:141
RpcDigitizationTool::m_BOG_BOF_DoubletR2_OFF
Gaudi::Property< bool > m_BOG_BOF_DoubletR2_OFF
Definition: RpcDigitizationTool.h:237
RpcDigitizationTool::m_FracClusterSize2_C
Gaudi::Property< std::vector< double > > m_FracClusterSize2_C
Definition: RpcDigitizationTool.h:197
RpcDigitContainer.h
RpcDigitizationTool::m_PhiAndEtaEff_BIS78
Gaudi::Property< float > m_PhiAndEtaEff_BIS78
Definition: RpcDigitizationTool.h:187
RpcDigitizationTool::m_idHelper
const RpcIdHelper * m_idHelper
Definition: RpcDigitizationTool.h:160
RpcDigitizationTool::m_CorrJitter_BIS78
Gaudi::Property< double > m_CorrJitter_BIS78
Definition: RpcDigitizationTool.h:130
RpcDigitizationTool::PropagationTime
double PropagationTime(const MuonGM::RpcReadoutElement *reEle, const Identifier &id, const Amg::Vector3D &globPos) const
Calculates the propagation time along the strip.
Definition: RpcDigitizationTool.cxx:992
RpcDigitizationTool::m_OnlyPhiEff_BIS78
Gaudi::Property< float > m_OnlyPhiEff_BIS78
Definition: RpcDigitizationTool.h:189
RpcDigitizationTool::FCPEfficiency
double FCPEfficiency(const HepMC::ConstGenParticlePtr &genParticle) const
Definition: RpcDigitizationTool.cxx:1561
RpcDigitizationTool
Definition: RpcDigitizationTool.h:64
RpcDigitizationTool::m_detMgrKey
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_detMgrKey
Definition: RpcDigitizationTool.h:158
RpcDigitizationTool::getNextEvent
StatusCode getNextEvent(const EventContext &ctx)
Get next event and extract collection of hit collections:
Definition: RpcDigitizationTool.cxx:351
RpcDigitizationTool::UnPackMCTruth
static void UnPackMCTruth(double theWord, float &proptime, float &tof, float &posy, float &posz)
Definition: RpcDigitizationTool.cxx:1036
MuonGM::RpcReadoutElement
An RpcReadoutElement corresponds to a single RPC module; therefore typicaly a barrel muon station con...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/RpcReadoutElement.h:55
RpcDigitizationTool::m_UncorrJitter
Gaudi::Property< double > m_UncorrJitter
Calculates the position of the hit wrt to the strip panel this transformation is needed since the imp...
Definition: RpcDigitizationTool.h:126
RpcDigitizationTool::detectionEfficiency
std::pair< bool, bool > detectionEfficiency(const EventContext &ctx, const Identifier &ideta, const Identifier &idphi, CLHEP::HepRandomEngine *rndmEngine, const HepMcParticleLink &trkParticle) const
Evaluate detection efficiency.
Definition: RpcDigitizationTool.cxx:1088
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
RpcDigitizationTool::initialize
virtual StatusCode initialize() override final
Initialize.
Definition: RpcDigitizationTool.cxx:97
RpcIdHelper
Definition: RpcIdHelper.h:51
RpcDigitizationTool::m_FracClusterSize1_C
Gaudi::Property< std::vector< double > > m_FracClusterSize1_C
Definition: RpcDigitizationTool.h:196
RpcDigitizationTool::mergeEvent
virtual StatusCode mergeEvent(const EventContext &ctx) override final
When being run from PileUpToolsAlgs, this method is called at the end of the subevts loop.
Definition: RpcDigitizationTool.cxx:406
RpcDigitizationTool::m_PhiAndEtaEff_A
Gaudi::Property< std::vector< float > > m_PhiAndEtaEff_A
Definition: RpcDigitizationTool.h:180
RpcDigitizationTool::m_MeanClusterSizeTail_BIS78
Gaudi::Property< float > m_MeanClusterSizeTail_BIS78
Definition: RpcDigitizationTool.h:204
RpcDigitizationTool::m_rndmSvc
ServiceHandle< IAthRNGSvc > m_rndmSvc
Definition: RpcDigitizationTool.h:224
RpcDigitizationTool::outsideWindow
bool outsideWindow(double time) const
Definition: RpcDigitizationTool.h:257
RpcDigitizationTool::m_kill_deadstrips
Gaudi::Property< bool > m_kill_deadstrips
Definition: RpcDigitizationTool.h:176
RpcDigitizationTool::m_FirstClusterSizeInTail
Gaudi::Property< int > m_FirstClusterSizeInTail
Definition: RpcDigitizationTool.h:178
RpcDigitizationTool::m_sdoAreOnlyDigits
Gaudi::Property< bool > m_sdoAreOnlyDigits
Definition: RpcDigitizationTool.h:227
RpcDigitizationTool::m_includePileUpTruth
Gaudi::Property< bool > m_includePileUpTruth
Definition: RpcDigitizationTool.h:173
RpcDigitizationTool::m_ignoreRunDepConfig
Gaudi::Property< bool > m_ignoreRunDepConfig
Definition: RpcDigitizationTool.h:238
RpcDigitizationTool::timeOverThreshold
static double timeOverThreshold(CLHEP::HepRandomEngine *rndmEngine)
Definition: RpcDigitizationTool.cxx:1623
SG::WriteHandleKey< RpcDigitContainer >
RpcDigitizationTool::m_PhiAndEtaEff_C
Gaudi::Property< std::vector< float > > m_PhiAndEtaEff_C
Definition: RpcDigitizationTool.h:183
RpcDigitizationTool::TurnOnStrips
std::array< int, 3 > TurnOnStrips(const MuonGM::RpcReadoutElement *reEle, std::array< int, 3 > &&pcs, const Identifier &id) const
Cluster simulation: second step.
Definition: RpcDigitizationTool.cxx:961
RpcDigitizationTool::doDigitization
StatusCode doDigitization(const EventContext &ctx, Collections_t &collections, MuonSimDataCollection *sdoContainer)
Digitization functionality shared with RPC_PileUpTool.
Definition: RpcDigitizationTool.cxx:481
RpcDigitizationTool::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: RpcDigitizationTool.cxx:317
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CLHEP
STD'S.
Definition: IAtRndmGenSvc.h:19
MuonSimDataCollection
Definition: MuonSimDataCollection.h:21
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
RpcDigitizationTool::m_FracClusterSizeTail_A
Gaudi::Property< std::vector< double > > m_FracClusterSizeTail_A
Definition: RpcDigitizationTool.h:193
TimedHitCollection.h
RpcDigitizationTool::m_simHitValidKey
SG::WriteHandleKey< RPCSimHitCollection > m_simHitValidKey
Definition: RpcDigitizationTool.h:223
RpcDigitizationTool::prepareEvent
virtual 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: RpcDigitizationTool.cxx:305
RpcDigitizationTool::m_RPCInfoFromDb
Gaudi::Property< bool > m_RPCInfoFromDb
Definition: RpcDigitizationTool.h:244
RPCSimHitCollection.h
RpcDigitizationTool::m_deadTime
Gaudi::Property< int > m_deadTime
Definition: RpcDigitizationTool.h:166
RpcDigitizationTool::m_inputHitCollectionName
std::string m_inputHitCollectionName
Definition: RpcDigitizationTool.h:217
PileUpToolBase
Definition: PileUpToolBase.h:18
RpcDigitizationTool::m_timeWindowLowerOffset
Gaudi::Property< double > m_timeWindowLowerOffset
Definition: RpcDigitizationTool.h:140
RpcDigitizationTool::Collections_t
std::vector< std::unique_ptr< RpcDigitCollection > > Collections_t
Definition: RpcDigitizationTool.h:94
RpcDigitizationTool::m_BOF_id
int m_BOF_id
Definition: RpcDigitizationTool.h:248
RpcDigitizationTool::m_FracClusterSize2_A
Gaudi::Property< std::vector< double > > m_FracClusterSize2_A
Definition: RpcDigitizationTool.h:192
ReadCondHandleKey.h
RpcDigitizationTool::m_OnlyEtaEff_C
Gaudi::Property< std::vector< float > > m_OnlyEtaEff_C
Definition: RpcDigitizationTool.h:185
HepMC::ConstGenParticlePtr
const GenParticle * ConstGenParticlePtr
Definition: GenParticle.h:38
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
RpcDigitizationTool::m_OnlyPhiEff_A
Gaudi::Property< std::vector< float > > m_OnlyPhiEff_A
Definition: RpcDigitizationTool.h:181
RpcDigitizationTool::m_OnlyPhiEff_C
Gaudi::Property< std::vector< float > > m_OnlyPhiEff_C
Definition: RpcDigitizationTool.h:184
RpcDigitizationTool::m_FracClusterSize1_BIS78
Gaudi::Property< float > m_FracClusterSize1_BIS78
Definition: RpcDigitizationTool.h:201
RpcDigitizationTool::m_CutProjectedTracks
Gaudi::Property< int > m_CutProjectedTracks
Definition: RpcDigitizationTool.h:246
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
MuonDetectorManager.h
EventInfo.h
RpcDigitizationTool::initializeRunDependentParameters
StatusCode initializeRunDependentParameters()
Definition: RpcDigitizationTool.cxx:177
SG::ReadCondHandleKey
Definition: ReadCondHandleKey.h:20
RpcDigitizationTool::m_EfficiencyPatchForBMShighEta
Gaudi::Property< bool > m_EfficiencyPatchForBMShighEta
Definition: RpcDigitizationTool.h:231
RpcDigitizationTool::m_OnlyEtaEff_A
Gaudi::Property< std::vector< float > > m_OnlyEtaEff_A
Definition: RpcDigitizationTool.h:182
RpcDigitizationTool::retrieveCondData
StatusCode retrieveCondData(const EventContext &ctx, const SG::ReadCondHandleKey< CondType > &key, const CondType *&condPtr) const
Definition: RpcDigitizationTool.cxx:286
RpcDigitizationTool::m_UncorrJitter_BIS78
Gaudi::Property< double > m_UncorrJitter_BIS78
Definition: RpcDigitizationTool.h:129
RpcDigitizationTool::determineClusterSize
int determineClusterSize(const EventContext &ctx, const Identifier &id, double xstripnorm, CLHEP::HepRandomEngine *rndmEngine) const
Definition: RpcDigitizationTool.cxx:1374
RpcDigitizationTool::processAllSubEvents
virtual StatusCode processAllSubEvents(const EventContext &ctx) override final
alternative interface which uses the PileUpMergeSvc to obtain all the required SubEvents.
Definition: RpcDigitizationTool.cxx:440
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
PileUpMergeSvc.h
the preferred mechanism to access information from the different event stores in a pileup job.
RPCSimHit.h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
RpcDigitizationTool::m_Efficiency_fromCOOL
Gaudi::Property< bool > m_Efficiency_fromCOOL
Definition: RpcDigitizationTool.h:230
RpcDigitizationTool::m_FracClusterSizeTail_C
Gaudi::Property< std::vector< double > > m_FracClusterSizeTail_C
Definition: RpcDigitizationTool.h:198
RpcDigitizationTool::m_onlyUseContainerName
Gaudi::Property< bool > m_onlyUseContainerName
Definition: RpcDigitizationTool.h:214
RpcDigitizationTool::m_turnON_clustersize
Gaudi::Property< bool > m_turnON_clustersize
Definition: RpcDigitizationTool.h:177
RpcDigitizationTool::m_ClusterSize1_2uncorr
Gaudi::Property< bool > m_ClusterSize1_2uncorr
Definition: RpcDigitizationTool.h:235
RpcDigitizationTool::m_BIL_id
int m_BIL_id
Definition: RpcDigitizationTool.h:252
SubEventIterator
std::vector< xAOD::EventInfo::SubEvent >::const_iterator SubEventIterator
Definition: IPileUpTool.h:22
RpcDigitizationTool::m_FracClusterSize2_BIS78
Gaudi::Property< float > m_FracClusterSize2_BIS78
Definition: RpcDigitizationTool.h:202
RpcDigitizationTool::m_BOS_id
int m_BOS_id
Definition: RpcDigitizationTool.h:250
RpcDigitizationTool::m_patch_for_rpc_time
Gaudi::Property< bool > m_patch_for_rpc_time
Definition: RpcDigitizationTool.h:167
RpcHitIdHelper
Definition: RpcHitIdHelper.h:13
RpcDigitizationTool::m_muonOnlySDOs
Gaudi::Property< bool > m_muonOnlySDOs
Definition: RpcDigitizationTool.h:208
RpcDigitizationTool::m_CutMaxClusterSize
Gaudi::Property< float > m_CutMaxClusterSize
Definition: RpcDigitizationTool.h:245
RpcDigitizationTool::m_RPCHitCollList
std::vector< std::unique_ptr< RPCSimHitCollection > > m_RPCHitCollList
Definition: RpcDigitizationTool.h:162
RpcDigitizationTool::m_FracClusterSizeTail_BIS78
Gaudi::Property< float > m_FracClusterSizeTail_BIS78
Definition: RpcDigitizationTool.h:203
RpcDigitizationTool::m_thpcRPC
std::unique_ptr< TimedHitCollection< RPCSimHit > > m_thpcRPC
Definition: RpcDigitizationTool.h:163
RpcDigitizationTool::m_mergeSvc
ServiceHandle< PileUpMergeSvc > m_mergeSvc
Definition: RpcDigitizationTool.h:213
RpcDigitizationTool::RpcDigitizationTool
RpcDigitizationTool(const std::string &type, const std::string &name, const IInterface *pIID)
Definition: RpcDigitizationTool.cxx:92
MuonSimDataCollection.h
python.CreateTierZeroArgdict.pcs
pcs
Definition: CreateTierZeroArgdict.py:200
PileUpToolBase.h
helper base class IPileUpTool::toProcess().
RpcDigitizationTool::m_ClusterSize_BIS78_fromCOOL
Gaudi::Property< bool > m_ClusterSize_BIS78_fromCOOL
Definition: RpcDigitizationTool.h:241
RpcDigitizationTool::m_outputSDO_CollectionKey
SG::WriteHandleKey< MuonSimDataCollection > m_outputSDO_CollectionKey
Definition: RpcDigitizationTool.h:220
RpcDigitizationTool::PackMCTruth
long long int PackMCTruth(float proptime, float tof, float posx, float posz) const
Definition: RpcDigitizationTool.cxx:1008
RpcDigitizationTool::m_hitsContainerKey
SG::ReadHandleKey< RPCSimHitCollection > m_hitsContainerKey
Definition: RpcDigitizationTool.h:216
RpcDigitizationTool::m_MeanClusterSizeTail_A
Gaudi::Property< std::vector< double > > m_MeanClusterSizeTail_A
Definition: RpcDigitizationTool.h:194
RpcDigitizationTool::m_ClusterSize_fromCOOL
Gaudi::Property< bool > m_ClusterSize_fromCOOL
Definition: RpcDigitizationTool.h:234
RpcDigitizationTool::m_Efficiency_BIS78_fromCOOL
Gaudi::Property< bool > m_Efficiency_BIS78_fromCOOL
Definition: RpcDigitizationTool.h:240
RpcDigitizationTool::m_validationSetup
Gaudi::Property< bool > m_validationSetup
Definition: RpcDigitizationTool.h:172
IAthRNGSvc.h
ServiceHandle< PileUpMergeSvc >
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
Identifier
Definition: IdentifierFieldParser.cxx:14