ATLAS Offline Software
LArPileUpTool.h
Go to the documentation of this file.
1 //Dear emacs, this is -*-c++-*-
2 /*
3  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
4 */
5 
6 #ifndef LARDIGITIZATION_LARPILEUPTOOL_H
7 #define LARDIGITIZATION_LARPILEUPTOOL_H
8 // +======================================================================+
9 // + +
10 // + Author : G.Unal +
11 // + move LAr digitization framework to use PileUpTool +
12 // + +
13 // +======================================================================+
14 //
15 // ....... include
16 //
17 
19 
21 
24 
26 
29 
30 #include "GaudiKernel/ServiceHandle.h"
31 #include "GaudiKernel/ToolHandle.h"
32 #include "Gaudi/Property.h"
35 #include "StoreGate/WriteHandle.h"
38 
44 
46 
47 class StoreGateSvc;
48 class ITriggerTime;
49 class LArOnlineID;
50 class LArEM_ID;
51 class LArHEC_ID;
52 class LArFCAL_ID;
53 class CaloCell_ID;
54 class LArDigit;
55 
56 namespace CLHEP {
57  class HepRandomEngine;
58 }
59 
61 {
62 //
63 // >>>>>>>> public method
64 //
65  public:
66 
67  LArPileUpTool(const std::string& type,
68  const std::string& name,
69  const IInterface* parent);
70 
72 
73  virtual StatusCode initialize() override final;
74 
75  virtual StatusCode prepareEvent(const EventContext& ctx, unsigned int nInputEvents) override final;
76 
77  virtual StatusCode processBunchXing(int bunchXing,
78  SubEventIterator bSubEvents,
79  SubEventIterator eSubEvents) override final;
80 
81 
82  //non-const version, (for backward compatiblity), calls teh const version
83  virtual StatusCode processAllSubEvents(const EventContext& ctx) override final;
84 
85 
86  //const method, reentrant
87  StatusCode processAllSubEvents(const EventContext& ctx) const;
88 
89 private:
90  struct perEventData_t {
91  std::vector<float> m_energySum;
92  std::vector<float> m_energySum_DigiHSTruth;
93  LArHitEMap* m_hitmap{};
94  LArHitEMap* m_hitmap_DigiHSTruth{};
95  float m_trigtime=0;
96  const LArXTalkWeightGlobal* m_weights=nullptr;
97  };
98 
99  StatusCode fillMapFromHit(const EventContext& ctx,float tbunch,bool isSignal, perEventData_t& data) const;
100 
101  StatusCode fillMapFromHit(SubEventIterator iEvt, float bunchTime, bool isSignal, perEventData_t& data) const;
102 
103 
104 #define MAXADC 4096 // Maximal Adc count + 1 ( used for the overflows)
105 
106 
107  StatusCode AddHit(const Identifier cellId, const float energy, const float time, const bool iSignal, perEventData_t& data) const;
108 
109 
110  void cross_talk(const IdentifierHash& idHash,
111  const Identifier& cellId,
112  const float& energy,
113  std::vector<IdentifierHash>& neighbourList,
114  std::vector<float>& energyList,
115  const LArXTalkWeightGlobal& weights) const;
116 
117  bool fillMapfromSum(float bunchTime, perEventData_t& data) const;
118 
119 //
120 // >>>>>>>> private data parts
121 //
122  ServiceHandle<PileUpMergeSvc> m_mergeSvc{this, "PileUpMergeSvc", "PileUpMergeSvc", ""};
123 
124 
125  SG::WriteHandleKey<LArHitEMap> m_hitMapKey{this,"LArHitEMapKey","LArHitEMap"};
126  SG::WriteHandleKey<LArHitEMap> m_hitMapKey_DigiHSTruth{this,"LArHitEMap_DigiHSTruthKey","LArHitEMap_DigiHSTruth"};
127 
128  Gaudi::Property<bool> m_onlyUseContainerName{this, "OnlyUseContainerName", true, "Don't use the ReadHandleKey directly. Just extract the container name from it."};
129  StringArrayProperty m_inputKeys{this, "InputHitContainers", {"LArHitEMB", "LArHitEMEC", "LArHitHEC", "LArHitFCAL"},
130  "Name of input hit vectors (default=[LArHitEMB, LArHitEMEC, LArHitHEC, LArHitFCAL])" };
131  SG::ReadHandleKeyArray<LArHitContainer> m_hitContainerKeys{this, "InputHitContainerKeys", {}, "Do not set manually!"};
132  SG::ReadHandleKeyArray<LArHitFloatContainer> m_hitFloatContainerKeys{this, "InputHitFloatContainerKeys", {}, "Do not set manually!"};
134  "Name of input digit container"}; // input digit container name
135  SG::ReadHandleKey<CosTrigTime> m_timeKey{this,"CosTimeKey","CosTrigTime"};
136  std::vector <std::string> m_hitContainerNames; // hit container name list
137 
138  SG::ReadHandleKey<McEventCollection> m_mcEventColl{this, "McEventCollectionKey", "TruthEvent", "McEventCollection"};
139 
140 //
141 // ........ Algorithm properties
142 //
143  Gaudi::Property<bool> m_NoiseOnOff{this, "NoiseOnOff", true,
144  "put electronic noise (default=true)"}; // noise (in all sub-detectors) is on if true
145  Gaudi::Property<bool> m_PileUp{this, "PileUp", false,
146  "Pileup mode (default=false)"}; // pile up or not
147 
148 // Switches (true by default) on Noise for each sub-detector (can be combined)
149  Gaudi::Property<bool> m_NoiseInEMB {this, "NoiseInEMB", true,
150  "put noise in EMB (default=true)"}; // noise in Barrel is off if false
151  Gaudi::Property<bool> m_NoiseInEMEC{this, "NoiseInEMEC", true,
152  "put noise in EMEC (default=true)"}; // noise in EndCap is off if false
153  Gaudi::Property<bool> m_NoiseInHEC{this, "NoiseInHEC", true,
154  "put noise in HEC (default=true)"}; // noise in HEC is off if false
155  Gaudi::Property<bool> m_NoiseInFCAL{this, "NoiseInFCAL", true,
156  "put noise in FCAL (default=true)"}; // noise in FCAL is off if false
157  //put false if you want cancel the noise in one or several sub-detectors
158  Gaudi::Property<bool> m_CrossTalk{this, "CrossTalk", true,
159  "Simulate cross-talk (default=true)"}; // flag for Cross Talk
160  Gaudi::Property<bool> m_CrossTalkStripMiddle{this, "CrossTalkStripMiddle", true,
161  "Add strip/middle cross talk (if crosstalk is true) (default=true)"}; // flag for strip-middle cross talk (if m_CrooTalk is true)
162  Gaudi::Property<bool> m_CrossTalk2Strip{this, "CrossTalk2Strip", true,
163  "Add 2nd strip cross talk (if crosstalk is true) (default=true)"}; // flag for 2nd neighbor cross-talk
164  Gaudi::Property<bool> m_CrossTalkMiddle{this, "CrossTalkMiddle", true,
165  "Add middle to middle cross talk for barrel(if crosstalk is true) (default=true)"}; // flag for middle to middle cross-talk
166  Gaudi::Property<float> m_scaleStripXtalk{this, "scaleStripXtalk", 1.,
167  "Scale factor for strip xtalk"}; // scale factor for strip to strip cross-talk
168  Gaudi::Property<float> m_scaleStripMiddle{this, "scaleStripMiddle", 1.,
169  "Scale factor for strip-middle xtalk"}; // scale factor for strip-middle cross-talk
170  Gaudi::Property<float> m_scaleMiddleXtalk{this, "scaleMiddleXtalk", 1.,
171  "Scale factor for middle xtalk"}; // scale factor for middle-middle cross-talk
172  // Windows mode
173  Gaudi::Property<bool> m_Windows{this, "Windows", false,
174  "Window mode (produce digits only around true e/photon) (default=false)"};
175  Gaudi::Property<float> m_WindowsEtaSize{this, "WindowsEtaSize", 0.4,
176  "Eta size of window (default=0.4)"};
177  Gaudi::Property<float> m_WindowsPhiSize{this, "WindowsPhiSize", 0.5,
178  "Phi size of window (default=0.5)"};
179  Gaudi::Property<float> m_WindowsPtCut{this, "WindowsPtCut", 5000.,
180  "Pt cut on e/photons for window mode (Default=5GeV)"};
181  //
182  Gaudi::Property<double> m_EnergyThresh{this, "EnergyThresh", -99.,
183  "Hit energy threshold (default=-99)"}; // Zero suppression energy threshold
184 
185  Gaudi::Property<bool> m_rndmEvtRun{this, "UseRndmEvtRun", false,
186  "Use Run and Event number to seed rndm number (default=false)"}; // use run,event number for random number seeding
187  Gaudi::Property<bool> m_useTriggerTime{this, "UseTriggerTime", false,
188  "Use Trigger tool (for commissioning) (default=false)"};
189  Gaudi::Property<bool> m_RndmEvtOverlay{this, "RndmEvtOverlay", false,
190  "Pileup and/or noise added by overlaying random events (default=false)"}; // Pileup and noise added by overlaying random events
191  Gaudi::Property<bool> m_isMcOverlay{this, "isMcOverlay", false,
192  "Is input Overlay from MC or data (default=false, from data)"}; // true if input RDO for overlay are from MC, false if from data
193 
194  Gaudi::Property<bool> m_useMBTime{this, "UseMBTime", false,
195  "use detailed hit time from MB events in addition to bunch crossing time for pileup (default=false)"};
196  Gaudi::Property<bool> m_recordMap{this, "RecordMap", true,
197  "Record LArHitEMap in detector store for use by LArL1Sim (default=true)"};
198  Gaudi::Property<bool> m_useLArHitFloat{this, "useLArFloat", true,
199  "Use simplified transient LArHit (default=false)"};
200  Gaudi::Property<bool> m_pedestalNoise{this, "PedestalNoise", false,
201  "Use noise from Pedestal structure instead of LArNoise (default=false)"};
202  Gaudi::Property<bool> m_addPhase{this, "AddPhase", false,
203  "Add random phase (default = false)"};
204  Gaudi::Property<float> m_phaseMin{this, "PhaseMin", 0.,
205  "Minimum time to add (default=0)"};
206  Gaudi::Property<float> m_phaseMax{this, "PhaseMax", 25.0,
207  "Maximum time to add (default=25)"};
208  Gaudi::Property<bool> m_ignoreTime{this, "IgnoreTime", false,
209  "Set all hit time to 0, for debugging (default = false)"};
210  Gaudi::Property<bool> m_roundingNoNoise{this, "RoundingNoNoise", true,
211  "if true add random number [0:1[ in no noise case before rounding ADC to integer, if false add only 0.5 average"}; // flag used in NoNoise case: if true add random number [0;1[ in ADC count, if false add only average of 0.5
212 
213  SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
214 
215  SG::ReadCondHandleKey<LArXTalkWeightGlobal> m_xtalkKey{this,"LArXTalkWeightGlobal","LArXTalkWeightGlobal","SG Key of XTalk vector of object"};
216 
217 
218  SG::ReadCondHandleKey<CaloDetDescrManager> m_caloMgrKey{this,"CaloDetDescrManager", "CaloDetDescrManager"};
219 
220 
226 
227  Gaudi::Property<bool> m_skipNoHit{this, "SkipNoHit", false,
228  "Skip events with no LAr hits (default=false)"};
229 
230  ServiceHandle<IAthRNGSvc> m_rndmGenSvc{this, "RndmSvc", "AthRNGSvc", ""};
231 
232  Gaudi::Property<std::string> m_randomStreamName{this, "RandomStreamName", "LArDigitization", ""};
233 
234  Gaudi::Property<uint32_t> m_randomSeedOffset{this, "RandomSeedOffset", 2, ""}; //
235 
236  Gaudi::Property<bool> m_useLegacyRandomSeeds{this, "UseLegacyRandomSeeds", false,
237  "Use MC16-style random number seeding"};
238 
239  Gaudi::Property<bool> m_doDigiTruth{this, "DoDigiTruthReconstruction", false,
240  "Also create information about reconstructed digits for HS hits"};
241 
242 
243  //Backward compatiblity: Keep per-event data as class-member
245 
246 };
247 
248 #endif
LArXTalkWeightGlobal.h
LArPileUpTool::m_calocell_id
const CaloCell_ID * m_calocell_id
Definition: LArPileUpTool.h:221
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
LArPileUpTool::m_CrossTalk2Strip
Gaudi::Property< bool > m_CrossTalk2Strip
Definition: LArPileUpTool.h:162
LArPileUpTool::m_hitMapKey_DigiHSTruth
SG::WriteHandleKey< LArHitEMap > m_hitMapKey_DigiHSTruth
Definition: LArPileUpTool.h:126
LArPileUpTool
Definition: LArPileUpTool.h:61
LArPileUpTool::m_WindowsPtCut
Gaudi::Property< float > m_WindowsPtCut
Definition: LArPileUpTool.h:179
LArPileUpTool::prepareEvent
virtual StatusCode prepareEvent(const EventContext &ctx, unsigned int nInputEvents) override final
Definition: LArPileUpTool.cxx:175
LArPileUpTool::m_CrossTalk
Gaudi::Property< bool > m_CrossTalk
Definition: LArPileUpTool.h:158
LArXTalkWeightGlobal
Definition: LArXTalkWeightGlobal.h:11
LArPileUpTool::m_mergeSvc
ServiceHandle< PileUpMergeSvc > m_mergeSvc
Definition: LArPileUpTool.h:122
LArPileUpTool::processAllSubEvents
virtual StatusCode processAllSubEvents(const EventContext &ctx) override final
Definition: LArPileUpTool.cxx:294
LArPileUpTool::m_rndmGenSvc
ServiceHandle< IAthRNGSvc > m_rndmGenSvc
Definition: LArPileUpTool.h:230
LArPileUpTool::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition: LArPileUpTool.h:218
LArHEC_ID
Helper class for LArHEC offline identifiers.
Definition: LArHEC_ID.h:85
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
LArPileUpTool::perEventData_t::m_energySum_DigiHSTruth
std::vector< float > m_energySum_DigiHSTruth
Definition: LArPileUpTool.h:92
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
SG::ReadHandleKey< LArDigitContainer >
LArPileUpTool::m_rndmEvtRun
Gaudi::Property< bool > m_rndmEvtRun
Definition: LArPileUpTool.h:185
LArHitFloatContainer.h
LArPileUpTool::m_NoiseInEMEC
Gaudi::Property< bool > m_NoiseInEMEC
Definition: LArPileUpTool.h:151
LArPileUpTool::m_data
perEventData_t m_data
Definition: LArPileUpTool.h:244
LArPileUpTool::m_hitFloatContainerKeys
SG::ReadHandleKeyArray< LArHitFloatContainer > m_hitFloatContainerKeys
Definition: LArPileUpTool.h:132
LArPileUpTool::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: LArPileUpTool.h:213
ReadCondHandle.h
LArPileUpTool::m_scaleMiddleXtalk
Gaudi::Property< float > m_scaleMiddleXtalk
Definition: LArPileUpTool.h:170
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
LArPileUpTool::m_doDigiTruth
Gaudi::Property< bool > m_doDigiTruth
Definition: LArPileUpTool.h:239
LArPileUpTool::fillMapFromHit
StatusCode fillMapFromHit(const EventContext &ctx, float tbunch, bool isSignal, perEventData_t &data) const
Definition: LArPileUpTool.cxx:597
LArPileUpTool::m_NoiseOnOff
Gaudi::Property< bool > m_NoiseOnOff
Definition: LArPileUpTool.h:143
LArHitEMap
Definition: LArHitEMap.h:22
LArPileUpTool::m_NoiseInEMB
Gaudi::Property< bool > m_NoiseInEMB
Definition: LArPileUpTool.h:149
LArPileUpTool::m_larfcal_id
const LArFCAL_ID * m_larfcal_id
Definition: LArPileUpTool.h:224
LArPileUpTool::perEventData_t::m_energySum
std::vector< float > m_energySum
Definition: LArPileUpTool.h:91
LArPileUpTool::m_ignoreTime
Gaudi::Property< bool > m_ignoreTime
Definition: LArPileUpTool.h:208
CosTrigTime.h
LArPileUpTool::m_roundingNoNoise
Gaudi::Property< bool > m_roundingNoNoise
Definition: LArPileUpTool.h:210
WriteHandle.h
Handle class for recording to StoreGate.
LArPileUpTool::m_useTriggerTime
Gaudi::Property< bool > m_useTriggerTime
Definition: LArPileUpTool.h:187
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:125
LArPileUpTool::m_CrossTalkStripMiddle
Gaudi::Property< bool > m_CrossTalkStripMiddle
Definition: LArPileUpTool.h:160
LArPileUpTool::m_phaseMax
Gaudi::Property< float > m_phaseMax
Definition: LArPileUpTool.h:206
LArOnOffIdMapping.h
LArHitEMap.h
SG::WriteHandleKey< LArHitEMap >
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
McEventCollection.h
LArDigit
Liquid Argon digit base class.
Definition: LArDigit.h:25
LArPileUpTool::m_laronline_id
const LArOnlineID * m_laronline_id
Definition: LArPileUpTool.h:225
LArPileUpTool::m_useLArHitFloat
Gaudi::Property< bool > m_useLArHitFloat
Definition: LArPileUpTool.h:198
LArPileUpTool::m_hitMapKey
SG::WriteHandleKey< LArHitEMap > m_hitMapKey
Definition: LArPileUpTool.h:125
LArPileUpTool::m_skipNoHit
Gaudi::Property< bool > m_skipNoHit
Definition: LArPileUpTool.h:227
LArPileUpTool::m_scaleStripXtalk
Gaudi::Property< float > m_scaleStripXtalk
Definition: LArPileUpTool.h:166
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CLHEP
STD'S.
Definition: IAtRndmGenSvc.h:19
LArPileUpTool::m_phaseMin
Gaudi::Property< float > m_phaseMin
Definition: LArPileUpTool.h:204
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LArPileUpTool::m_hitContainerNames
std::vector< std::string > m_hitContainerNames
Definition: LArPileUpTool.h:136
LArPileUpTool::m_WindowsEtaSize
Gaudi::Property< float > m_WindowsEtaSize
Definition: LArPileUpTool.h:175
LArPileUpTool::m_NoiseInFCAL
Gaudi::Property< bool > m_NoiseInFCAL
Definition: LArPileUpTool.h:155
CaloCell_ID
Helper class for offline cell identifiers.
Definition: CaloCell_ID.h:34
LArPileUpTool::m_pedestalNoise
Gaudi::Property< bool > m_pedestalNoise
Definition: LArPileUpTool.h:200
LArPileUpTool::AddHit
StatusCode AddHit(const Identifier cellId, const float energy, const float time, const bool iSignal, perEventData_t &data) const
Definition: LArPileUpTool.cxx:711
LArPileUpTool::m_PileUp
Gaudi::Property< bool > m_PileUp
Definition: LArPileUpTool.h:145
LArPileUpTool::m_useMBTime
Gaudi::Property< bool > m_useMBTime
Definition: LArPileUpTool.h:194
PileUpToolBase
Definition: PileUpToolBase.h:18
LArPileUpTool::cross_talk
void cross_talk(const IdentifierHash &idHash, const Identifier &cellId, const float &energy, std::vector< IdentifierHash > &neighbourList, std::vector< float > &energyList, const LArXTalkWeightGlobal &weights) const
Definition: LArPileUpTool.cxx:790
LArPileUpTool::m_isMcOverlay
Gaudi::Property< bool > m_isMcOverlay
Definition: LArPileUpTool.h:191
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
LArPileUpTool::LArPileUpTool
LArPileUpTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: LArPileUpTool.cxx:39
LArPileUpTool::~LArPileUpTool
~LArPileUpTool()
EventAuxInfo.h
LArPileUpTool::m_addPhase
Gaudi::Property< bool > m_addPhase
Definition: LArPileUpTool.h:202
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
LArPileUpTool::m_Windows
Gaudi::Property< bool > m_Windows
Definition: LArPileUpTool.h:173
ITriggerTime
interface to a tool that returns the time offset of the current trigger. Used by PileUpMergeSvc
Definition: ITriggerTime.h:19
LArPileUpTool::m_randomSeedOffset
Gaudi::Property< uint32_t > m_randomSeedOffset
Definition: LArPileUpTool.h:234
LArOnlineID
Definition: LArOnlineID.h:20
LArPileUpTool::m_hitContainerKeys
SG::ReadHandleKeyArray< LArHitContainer > m_hitContainerKeys
Definition: LArPileUpTool.h:131
weights
Definition: herwig7_interface.h:38
LArPileUpTool::m_onlyUseContainerName
Gaudi::Property< bool > m_onlyUseContainerName
Definition: LArPileUpTool.h:128
LArPileUpTool::m_xtalkKey
SG::ReadCondHandleKey< LArXTalkWeightGlobal > m_xtalkKey
Definition: LArPileUpTool.h:215
LArDigitContainer.h
EventInfo.h
LArPileUpTool::fillMapfromSum
bool fillMapfromSum(float bunchTime, perEventData_t &data) const
Definition: LArPileUpTool.cxx:1071
LArPileUpTool::initialize
virtual StatusCode initialize() override final
Definition: LArPileUpTool.cxx:46
SG::ReadCondHandleKey< LArOnOffIdMapping >
LArPileUpTool::m_mcEventColl
SG::ReadHandleKey< McEventCollection > m_mcEventColl
Definition: LArPileUpTool.h:138
LArPileUpTool::m_CrossTalkMiddle
Gaudi::Property< bool > m_CrossTalkMiddle
Definition: LArPileUpTool.h:164
LArPileUpTool::m_larhec_id
const LArHEC_ID * m_larhec_id
Definition: LArPileUpTool.h:223
LArPileUpTool::m_scaleStripMiddle
Gaudi::Property< float > m_scaleStripMiddle
Definition: LArPileUpTool.h:168
LArPileUpTool::m_inputKeys
StringArrayProperty m_inputKeys
Definition: LArPileUpTool.h:129
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
LArPileUpTool::m_recordMap
Gaudi::Property< bool > m_recordMap
Definition: LArPileUpTool.h:196
LArHitContainer.h
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
LArPileUpTool::m_RndmEvtOverlay
Gaudi::Property< bool > m_RndmEvtOverlay
Definition: LArPileUpTool.h:189
LArPileUpTool::processBunchXing
virtual StatusCode processBunchXing(int bunchXing, SubEventIterator bSubEvents, SubEventIterator eSubEvents) override final
Definition: LArPileUpTool.cxx:245
LArPileUpTool::m_NoiseInHEC
Gaudi::Property< bool > m_NoiseInHEC
Definition: LArPileUpTool.h:153
LArPileUpTool::m_larem_id
const LArEM_ID * m_larem_id
Definition: LArPileUpTool.h:222
LArPileUpTool::m_timeKey
SG::ReadHandleKey< CosTrigTime > m_timeKey
Definition: LArPileUpTool.h:135
SubEventIterator
std::vector< xAOD::EventInfo::SubEvent >::const_iterator SubEventIterator
Definition: IPileUpTool.h:22
LArEM_ID
Helper class for LArEM offline identifiers.
Definition: LArEM_ID.h:118
LArPileUpTool::m_inputDigitContainerKey
SG::ReadHandleKey< LArDigitContainer > m_inputDigitContainerKey
Definition: LArPileUpTool.h:133
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25
LArPileUpTool::m_WindowsPhiSize
Gaudi::Property< float > m_WindowsPhiSize
Definition: LArPileUpTool.h:177
CaloGain.h
LArFCAL_ID
Helper class for LArFCAL offline identifiers.
Definition: LArFCAL_ID.h:60
PileUpToolBase.h
helper base class IPileUpTool::toProcess().
LArPileUpTool::m_useLegacyRandomSeeds
Gaudi::Property< bool > m_useLegacyRandomSeeds
Definition: LArPileUpTool.h:236
LArPileUpTool::perEventData_t
Definition: LArPileUpTool.h:90
LArPileUpTool::m_EnergyThresh
Gaudi::Property< double > m_EnergyThresh
Definition: LArPileUpTool.h:182
LArPileUpTool::m_randomStreamName
Gaudi::Property< std::string > m_randomStreamName
Definition: LArPileUpTool.h:232
IAthRNGSvc.h
ServiceHandle< PileUpMergeSvc >
Identifier
Definition: IdentifierFieldParser.cxx:14