ATLAS Offline Software
AFP_PileUpTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef AFP_DIGITIZATION_TOOL_H
6 #define AFP_DIGITIZATION_TOOL_H
7 
9 
10 #include "Gaudi/Property.h"
11 #include "GaudiKernel/ServiceHandle.h"
14 
15 #include "AFP_SimEv/AFP_TDSimHitCollection.h" //readhandle template param
16 #include "AFP_SimEv/AFP_SIDSimHitCollection.h" //readhandle template param
17 #include "AFP_DigiEv/AFP_TDDigiCollection.h" //unique_ptr template param
18 #include "AFP_DigiEv/AFP_SiDigiCollection.h" //unique_ptr template param
19 #include "xAODForward/AFPToFHitContainer.h" //writehandle template param
20 
21 #include "xAODForward/AFPSiHitContainer.h" //writehandle template param
22 #include "HitManagement/TimedHitCollection.h" //template
23 
24 #include "AthenaKernel/IAthRNGSvc.h" //svc handle template param
25 
26 
27 #include "TH1F.h" //array member
28 #include "TF1.h" //member
29 
30 #include <string>
31 #include <vector>
32 #include <utility> /* pair */
33 #include <memory> /* unique_ptr */
34 
35 class AFP_TDSimHit;
36 class AFP_SIDSimHit;
37 
38 namespace CLHEP {
39  class HepRandomEngine;
40 }
41 
42 
44 
45 public:
46  AFP_PileUpTool(const std::string& type,
47  const std::string& name,
48  const IInterface* parent);
49 
50  virtual ~AFP_PileUpTool() {};
51 
52  virtual StatusCode initialize() override final;
53  virtual StatusCode finalize() override final;
54 
56  StatusCode recoSiHits(const EventContext& ctx, std::unique_ptr<AFP_SiDigiCollection>& siDigiCollection) const;
57 
59  StatusCode recoToFHits(const EventContext& ctx, std::unique_ptr<AFP_TDDigiCollection>& digitCollection) const;
60 
61  StatusCode recoAll(const EventContext& ctx, std::unique_ptr<AFP_TDDigiCollection>& digitCollection, std::unique_ptr<AFP_SiDigiCollection>& siDigiCollection) const;
62 
64  virtual StatusCode prepareEvent(const EventContext& ctx, const unsigned int nInputEvents) override final;
65 
67  virtual StatusCode processBunchXing(int bunchXing,
68  SubEventIterator bSubEvents,
69  SubEventIterator eSubEvents
70  ) override final;
73  // virtual bool toProcess(int bunchXing) const;
74 
76  virtual StatusCode mergeEvent(const EventContext& ctx) override final;
77 
78  virtual StatusCode processAllSubEvents(const EventContext& ctx) override final;
79 
80 private:
81 
82  StatusCode fillTDDigiCollection(AFP_TDSimHitCollection& AFP_TDSimHitColl, CLHEP::HepRandomEngine* rndEngine, const EventContext& ctx);
83  StatusCode fillTDDigiCollection(TimedHitCollection<AFP_TDSimHit>& thpcAFP, CLHEP::HepRandomEngine*, const EventContext& ctx, std::unique_ptr<AFP_TDDigiCollection>& digitCollection);
84 
85  StatusCode fillSiDigiCollection(AFP_SIDSimHitCollection& AFP_SIDSimHitColl, const EventContext& ctx);
86  StatusCode fillSiDigiCollection(TimedHitCollection<AFP_SIDSimHit>& thpcAFP, const EventContext& ctx, std::unique_ptr<AFP_SiDigiCollection>& siDigiCollection);
87 
88 
89  void createTDDigi(int Station, int Detector, int SensitiveElement, float GlobalTime, float WafeLength, CLHEP::HepRandomEngine* rndEngine);
90  StatusCode StoreTDDigi(const EventContext& ctx, std::unique_ptr<AFP_TDDigiCollection>& digitCollection) const;
91 
92  void createSiDigi(const EventContext& ctx, int Station, int Detector, int PixelRow, int PixelCol, float PreStepX, float PreStepY, float PreStepZ, float PostStepX, float PostStepY, float PostStepZ, float DepEnergy);
93  StatusCode StoreSiDigi(const EventContext& ctx, std::unique_ptr<AFP_SiDigiCollection>& siDigiCollection);
94 
95 
96  void setupQuantumEff();
97  void setupTDCOffsets();
98 
100  double generateSiNoise(CLHEP::HepRandomEngine* rndEngine) const;
102  double generateSiCCE(CLHEP::HepRandomEngine* rndEngine) const;
104  int charge2tot(int) const;
106  int tot2charge(int) const;
108  void addSignalFunc(TH1F &, double) const;
110  double getQE(double ) const;
112  void resetSignalHistograms();
114  bool isPhotoelectronInduced(double, CLHEP::HepRandomEngine*) const;
116  void addPhotoconvTimeSmear(double &, CLHEP::HepRandomEngine*) const;
118  double getTDC(const TH1F &) const;
120  double getADC(const TH1F &, const double) const;
121 
122  double SignalFun(double Time, double RiseTime, double FallTime, double offset = 0.0) const;
123 // double SiSignalFun(double Time, double RiseTime, double FallTime);
124 
129  Gaudi::Property<std::string> m_totToChargeTransfExpr{this, "TotToChargeTransfExpr", "1909 + x*363 + x*x*141", "Function that transforms time-over-threshold to charge"};
130  Gaudi::Property<std::string> m_totToChargeTransfName{this, "TotToChargeTransfName", "TotToChargeTransfFunction", "Name of the function that transforms time-over-threshold to charge"};
132 
133  ServiceHandle<PileUpMergeSvc> m_mergeSvc{this, "mergeSvc", "PileUpMergeSvc", ""};
134  ServiceHandle<IAthRNGSvc> m_randomSvc{this, "RndmSvc", "AthRNGSvc", ""};
135  Gaudi::Property<std::string> m_randomStreamName{this, "RandomStreamName", "AFPRndEng", ""};
136 
137  BooleanProperty m_onlyUseContainerName{this, "OnlyUseContainerName", true, "Don't use the ReadHandleKey directly. Just extract the container name from it."};
138  SG::ReadHandleKey<AFP_TDSimHitCollection> m_TDSimHitCollectionKey{this, "TDSimHitCollectionName", "AFP_TDSimHitCollection"};
139  std::string m_TDSimHitCollectionName{""};
140  SG::WriteHandleKey<AFP_TDDigiCollection> m_TDDigiCollectionKey{this, "TDDigiCollectionName", "AFP_TDDigiCollection", "Name of the Collection to hold the output from the AFP digitization, TD part"};
141  SG::WriteHandleKey<xAOD::AFPToFHitContainer> m_AFPHitsContainerNameToF{this, "AFPHitsContainerNameToF", "AFPToFHitContainer"};
142 
143  SG::ReadHandleKey<AFP_SIDSimHitCollection> m_SIDSimHitCollectionKey{this, "SIDSimHitCollectionName", "AFP_SIDSimHitCollection"};
144  std::string m_SIDSimHitCollectionName{""};
145  SG::WriteHandleKey<AFP_SiDigiCollection> m_SiDigiCollectionKey{this, "SiDigiCollectionName", "AFP_SiDigiCollection", "Name of the Collection to hold the output from the AFP digitization, SiD part"};
146  SG::WriteHandleKey<xAOD::AFPSiHitContainer> m_AFPSiHitsContainerName{this, "AFPSiHitsContainerName", "AFPSiHitContainer",""};
147 
148 
149  Gaudi::Property<double> m_CollectionEff{this, "CollectionEff", 0.6, "Collection efficiency"};
150  Gaudi::Property<double> m_ConversionSpr{this, "ConversionSpr", 40.0, " Photon-Electron conversion spread in ps"};
151  Gaudi::Property<double> m_RiseTime{this, "RiseTime", 400., "Pulse rise time in ps"};
152  Gaudi::Property<double> m_FallTime{this, "FallTime", 1200., "Pulse fall time in ps"};
153  Gaudi::Property<double> m_TofSignalTimeRangeLength{this, "TofSignalTimeRangeLength", 4000., "in ps"};
154  Gaudi::Property<double> m_TimeOffset{this, "TimeOffset", 104500., "Offset reflecting time that proton travels from IP to AFP"};
155  Gaudi::Property<double> m_CfSignalDelay{this, "CfSignalDelay", 200., "Pulse delay for const. frac. discrimination"};
156  Gaudi::Property<double> m_CfdThr{this, "CfdThr", 0.5, "Constant fraction threshold"};
157  Gaudi::Property<double> m_SiT_ChargeCollEff{this, "SiT_ChargeCollEff", 0.55, "CCE, adjusted to describe data"};
158  Gaudi::Property<double> m_SiT_ChargeCollEffSigma{this, "SiT_ChargeCollEffSigma", 0.2, "sigma(CCE), adjusted to describe data"};
159  Gaudi::Property<double> m_SiT_NoiseMu{this, "SiT_NoiseMu", 160., "unit = number of eh pairs"};
160  Gaudi::Property<double> m_SiT_NoiseSigma{this, "SiT_NoiseSigma", 10., "unit = number of eh pairs"};
161  Gaudi::Property<double> m_SiT_Energy2ChargeFactor{this, "SiT_Energy2ChargeFactor", 1000000./3.6, "number of eh pairs per MeV"};
162  Gaudi::Property<int> m_SiT_ToTThresholdForHit{this, "SiT_ChargeThresholdForHit", 1, ""};
163 
164  enum QEFF_VER { QE1=1, QE2=2, nQEffOpts=3 };
165  Gaudi::Property<int> m_QEffVer{this, "QEffVer", 1, "quantum efficiency version; QE1=1, QE2=2, nQEffOpts=3"};
166 
169 
170  double m_QuantumEff_PMT[82];
171  double m_TDC_offsets[4][4][4]; // station, train, bar
172  int m_ChargeVsTot_LUT[16]; // look-up table for charge2tot conversion, 16 = n. of bits
173 
174  const int m_ArrSize; // 645120 = 4 x 6 x 336 x 80
175  std::vector<float> m_deposited_charge;
176  std::vector<float> m_deposited_energy;
177 
179  std::vector<double> m_SignalVect;
180 
182  TH1F m_SignalHist[4][4][4]; // station, train, bar
183 
184 protected:
185 
187  void newXAODHitToF (std::unique_ptr<xAOD::AFPToFHitContainer>& tofHitContainer, std::unique_ptr<AFP_TDDigiCollection>& collection) const;
188 
190  void newXAODHitSi (std::unique_ptr<xAOD::AFPSiHitContainer>& xAODSiHit, std::unique_ptr<AFP_SiDigiCollection>& collection) const;
191 
192  std::unique_ptr<AFP_TDDigiCollection> m_digitCollection;
193  std::unique_ptr<AFP_SiDigiCollection> m_SiDigiCollection;
194 
195 };
196 
197 #endif
AFP_PileUpTool::initialize
virtual StatusCode initialize() override final
Definition: AFP_PileUpTool.cxx:29
AFP_PileUpTool::m_TDSimHitCollectionKey
SG::ReadHandleKey< AFP_TDSimHitCollection > m_TDSimHitCollectionKey
Definition: AFP_PileUpTool.h:138
AFP_PileUpTool::QEFF_VER
QEFF_VER
Definition: AFP_PileUpTool.h:164
AFP_PileUpTool::StoreSiDigi
StatusCode StoreSiDigi(const EventContext &ctx, std::unique_ptr< AFP_SiDigiCollection > &siDigiCollection)
Definition: AFP_PileUpTool.cxx:662
AFP_PileUpTool::m_SiT_NoiseMu
Gaudi::Property< double > m_SiT_NoiseMu
Definition: AFP_PileUpTool.h:159
AFP_PileUpTool::StoreTDDigi
StatusCode StoreTDDigi(const EventContext &ctx, std::unique_ptr< AFP_TDDigiCollection > &digitCollection) const
Definition: AFP_PileUpTool.cxx:584
AFP_SIDSimHit
Definition: AFP_SIDSimHit.h:9
AFP_PileUpTool::recoToFHits
StatusCode recoToFHits(const EventContext &ctx, std::unique_ptr< AFP_TDDigiCollection > &digitCollection) const
Creates xAOD for time-of-flight detector.
Definition: AFP_PileUpTool.cxx:185
AFP_PileUpTool::m_QuantumEff_PMT
double m_QuantumEff_PMT[82]
Definition: AFP_PileUpTool.h:170
AFP_PileUpTool::m_randomSvc
ServiceHandle< IAthRNGSvc > m_randomSvc
Definition: AFP_PileUpTool.h:134
AFP_PileUpTool::tot2charge
int tot2charge(int) const
Function that converts discrete time-over-threshold to discrete charge.
Definition: AFP_PileUpTool.cxx:159
AFP_PileUpTool::mergeEvent
virtual StatusCode mergeEvent(const EventContext &ctx) override final
return false if not interested in certain xing times (in ns) implemented by default in PileUpToolBase...
Definition: AFP_PileUpTool.cxx:376
AFP_PileUpTool::m_totToChargeTransfName
Gaudi::Property< std::string > m_totToChargeTransfName
Definition: AFP_PileUpTool.h:130
AFP_PileUpTool::m_totToChargeTransfExpr
Gaudi::Property< std::string > m_totToChargeTransfExpr
Function that transforms time-over-threshold to charge.
Definition: AFP_PileUpTool.h:129
AthMsgStreamMacros.h
AFP_PileUpTool::m_ArrSize
const int m_ArrSize
Definition: AFP_PileUpTool.h:174
AFP_PileUpTool::m_SiT_NoiseSigma
Gaudi::Property< double > m_SiT_NoiseSigma
Definition: AFP_PileUpTool.h:160
AFP_PileUpTool::addPhotoconvTimeSmear
void addPhotoconvTimeSmear(double &, CLHEP::HepRandomEngine *) const
Modifies the hit time passed as an argument by the photoconversion time smearing.
Definition: AFP_PileUpTool.cxx:523
AtlasHitsVector
Definition: AtlasHitsVector.h:33
AFP_PileUpTool::m_TDC_offsets
double m_TDC_offsets[4][4][4]
Definition: AFP_PileUpTool.h:171
AFP_PileUpTool::~AFP_PileUpTool
virtual ~AFP_PileUpTool()
Definition: AFP_PileUpTool.h:50
AFP_PileUpTool::recoAll
StatusCode recoAll(const EventContext &ctx, std::unique_ptr< AFP_TDDigiCollection > &digitCollection, std::unique_ptr< AFP_SiDigiCollection > &siDigiCollection) const
Definition: AFP_PileUpTool.cxx:122
AFP_PileUpTool::setupQuantumEff
void setupQuantumEff()
Definition: AFP_PileUpTool.cxx:780
AFP_PileUpTool::m_SiT_ToTThresholdForHit
Gaudi::Property< int > m_SiT_ToTThresholdForHit
Definition: AFP_PileUpTool.h:162
AFP_PileUpTool::m_ConversionSpr
Gaudi::Property< double > m_ConversionSpr
Definition: AFP_PileUpTool.h:150
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
AFP_PileUpTool::m_onlyUseContainerName
BooleanProperty m_onlyUseContainerName
Definition: AFP_PileUpTool.h:137
AFP_PileUpTool::newXAODHitSi
void newXAODHitSi(std::unique_ptr< xAOD::AFPSiHitContainer > &xAODSiHit, std::unique_ptr< AFP_SiDigiCollection > &collection) const
Method that creates a new AFPSiHit and sets it valus according to #digi collection.
Definition: AFP_PileUpTool.cxx:165
AFP_PileUpTool::m_mergedSIDSimHitList
AFP_SIDSimHitCollection m_mergedSIDSimHitList
Definition: AFP_PileUpTool.h:168
Property
Support class for PropertyMgr.
Definition: Property.h:23
AFP_PileUpTool::m_mergeSvc
ServiceHandle< PileUpMergeSvc > m_mergeSvc
Definition: AFP_PileUpTool.h:133
AFP_PileUpTool::m_TimeOffset
Gaudi::Property< double > m_TimeOffset
Definition: AFP_PileUpTool.h:154
AFP_PileUpTool::QE1
@ QE1
Definition: AFP_PileUpTool.h:164
AFP_PileUpTool::QE2
@ QE2
Definition: AFP_PileUpTool.h:164
AFP_PileUpTool::generateSiNoise
double generateSiNoise(CLHEP::HepRandomEngine *rndEngine) const
Function that provides random noise (in charge units)
Definition: AFP_PileUpTool.cxx:656
AthExHiveOpts.Time
Time
Definition: AthExHiveOpts.py:63
AFP_PileUpTool::m_deposited_energy
std::vector< float > m_deposited_energy
Definition: AFP_PileUpTool.h:176
AFP_PileUpTool::m_SignalHist
TH1F m_SignalHist[4][4][4]
array of histograms storing final signals in the PMTs
Definition: AFP_PileUpTool.h:182
AFP_PileUpTool::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: AFP_PileUpTool.cxx:330
AFP_PileUpTool::m_CfSignalDelay
Gaudi::Property< double > m_CfSignalDelay
Definition: AFP_PileUpTool.h:155
AFP_PileUpTool::fillTDDigiCollection
StatusCode fillTDDigiCollection(AFP_TDSimHitCollection &AFP_TDSimHitColl, CLHEP::HepRandomEngine *rndEngine, const EventContext &ctx)
Definition: AFP_PileUpTool.cxx:437
AFP_PileUpTool::getQE
double getQE(double) const
Provides quantum efficiency for given wavelength (in nm)
Definition: AFP_PileUpTool.cxx:723
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
AFP_PileUpTool::m_SiT_ChargeCollEffSigma
Gaudi::Property< double > m_SiT_ChargeCollEffSigma
Definition: AFP_PileUpTool.h:158
AFP_PileUpTool::m_RiseTime
Gaudi::Property< double > m_RiseTime
Definition: AFP_PileUpTool.h:151
AFP_TDSimHit
Definition: AFP_TDSimHit.h:9
AFP_PileUpTool::m_TofSignalTimeRangeLength
Gaudi::Property< double > m_TofSignalTimeRangeLength
Definition: AFP_PileUpTool.h:153
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AFP_PileUpTool::m_randomStreamName
Gaudi::Property< std::string > m_randomStreamName
Definition: AFP_PileUpTool.h:135
CLHEP
STD'S.
Definition: IAtRndmGenSvc.h:19
AFP_PileUpTool::processAllSubEvents
virtual StatusCode processAllSubEvents(const EventContext &ctx) override final
Definition: AFP_PileUpTool.cxx:220
test_pyathena.parent
parent
Definition: test_pyathena.py:15
AFP_PileUpTool::m_SiDigiCollectionKey
SG::WriteHandleKey< AFP_SiDigiCollection > m_SiDigiCollectionKey
Definition: AFP_PileUpTool.h:145
TimedHitCollection.h
AFP_PileUpTool::m_digitCollection
std::unique_ptr< AFP_TDDigiCollection > m_digitCollection
Definition: AFP_PileUpTool.h:192
jet::CompCategory::Detector
@ Detector
Definition: UncertaintyEnum.h:19
AFP_PileUpTool::getADC
double getADC(const TH1F &, const double) const
Returns the ADC determined from the signal shape passed as an (1st) argument; 2nd arg is peak value.
Definition: AFP_PileUpTool.cxx:574
AFP_PileUpTool::m_totToChargeTransformation
TF1 m_totToChargeTransformation
Definition: AFP_PileUpTool.h:131
AFP_PileUpTool::addSignalFunc
void addSignalFunc(TH1F &, double) const
Adds pre-calculated single photoelectron signal function stored in m_SignalVect to the passed histogr...
Definition: AFP_PileUpTool.cxx:707
AFP_PileUpTool::m_mergedTDSimHitList
AFP_TDSimHitCollection m_mergedTDSimHitList
Definition: AFP_PileUpTool.h:167
AFP_PileUpTool::m_CollectionEff
Gaudi::Property< double > m_CollectionEff
Definition: AFP_PileUpTool.h:149
AFP_TDSimHitCollection.h
AFP_PileUpTool::m_FallTime
Gaudi::Property< double > m_FallTime
Definition: AFP_PileUpTool.h:152
PileUpToolBase
Definition: PileUpToolBase.h:18
AFP_PileUpTool::newXAODHitToF
void newXAODHitToF(std::unique_ptr< xAOD::AFPToFHitContainer > &tofHitContainer, std::unique_ptr< AFP_TDDigiCollection > &collection) const
Method that creates a new AFPToFHit and sets it valus according to #digi collection.
Definition: AFP_PileUpTool.cxx:202
AFP_PileUpTool::m_QEffVer
Gaudi::Property< int > m_QEffVer
Definition: AFP_PileUpTool.h:165
AFP_PileUpTool::finalize
virtual StatusCode finalize() override final
Definition: AFP_PileUpTool.cxx:395
AFP_PileUpTool::createSiDigi
void createSiDigi(const EventContext &ctx, int Station, int Detector, int PixelRow, int PixelCol, float PreStepX, float PreStepY, float PreStepZ, float PostStepX, float PostStepY, float PostStepZ, float DepEnergy)
Definition: AFP_PileUpTool.cxx:624
AFP_PileUpTool::m_ChargeVsTot_LUT
int m_ChargeVsTot_LUT[16]
Definition: AFP_PileUpTool.h:172
AFP_PileUpTool::nQEffOpts
@ nQEffOpts
Definition: AFP_PileUpTool.h:164
AFP_PileUpTool::m_SIDSimHitCollectionKey
SG::ReadHandleKey< AFP_SIDSimHitCollection > m_SIDSimHitCollectionKey
Definition: AFP_PileUpTool.h:143
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
AFP_PileUpTool::m_CfdThr
Gaudi::Property< double > m_CfdThr
Definition: AFP_PileUpTool.h:156
AFP_PileUpTool::AFP_PileUpTool
AFP_PileUpTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: AFP_PileUpTool.cxx:19
AFP_PileUpTool::m_TDSimHitCollectionName
std::string m_TDSimHitCollectionName
Definition: AFP_PileUpTool.h:139
AFP_PileUpTool::charge2tot
int charge2tot(int) const
Function that converts quasi-continous charge to discrete time-over-threshold.
Definition: AFP_PileUpTool.cxx:148
AFPSiHitContainer.h
AFP_SIDSimHitCollection.h
AFP_PileUpTool::m_AFPHitsContainerNameToF
SG::WriteHandleKey< xAOD::AFPToFHitContainer > m_AFPHitsContainerNameToF
Definition: AFP_PileUpTool.h:141
AFP_PileUpTool::m_SiDigiCollection
std::unique_ptr< AFP_SiDigiCollection > m_SiDigiCollection
Definition: AFP_PileUpTool.h:193
AFP_PileUpTool::SignalFun
double SignalFun(double Time, double RiseTime, double FallTime, double offset=0.0) const
Definition: AFP_PileUpTool.cxx:731
AFP_PileUpTool::m_SIDSimHitCollectionName
std::string m_SIDSimHitCollectionName
Definition: AFP_PileUpTool.h:144
AFP_PileUpTool::m_AFPSiHitsContainerName
SG::WriteHandleKey< xAOD::AFPSiHitContainer > m_AFPSiHitsContainerName
Definition: AFP_PileUpTool.h:146
AFP_PileUpTool::m_SignalVect
std::vector< double > m_SignalVect
vector with pre-calculated single signal from the photoelectron
Definition: AFP_PileUpTool.h:179
TH1F
Definition: rootspy.cxx:320
AFP_PileUpTool::isPhotoelectronInduced
bool isPhotoelectronInduced(double, CLHEP::HepRandomEngine *) const
Returns random response if the photon of given wavelegth induces the photoelectron.
Definition: AFP_PileUpTool.cxx:516
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
AFP_PileUpTool::resetSignalHistograms
void resetSignalHistograms()
Invokes Reset() on all m_SignalHist objects.
Definition: AFP_PileUpTool.cxx:401
AFP_PileUpTool::generateSiCCE
double generateSiCCE(CLHEP::HepRandomEngine *rndEngine) const
Function that provides charge collection efficiency.
Definition: AFP_PileUpTool.cxx:615
convertTimingResiduals.offset
offset
Definition: convertTimingResiduals.py:71
Gaudi
=============================================================================
Definition: CaloGPUClusterAndCellDataMonitorOptions.h:273
AFP_PileUpTool::prepareEvent
virtual StatusCode prepareEvent(const EventContext &ctx, const unsigned int nInputEvents) override final
called before the subevts loop. Not (necessarily) able to access SubEvents
Definition: AFP_PileUpTool.cxx:316
AFP_PileUpTool::fillSiDigiCollection
StatusCode fillSiDigiCollection(AFP_SIDSimHitCollection &AFP_SIDSimHitColl, const EventContext &ctx)
Definition: AFP_PileUpTool.cxx:489
SubEventIterator
std::vector< xAOD::EventInfo::SubEvent >::const_iterator SubEventIterator
Definition: IPileUpTool.h:22
AFP_SiDigiCollection.h
AFP_PileUpTool::m_SiT_Energy2ChargeFactor
Gaudi::Property< double > m_SiT_Energy2ChargeFactor
Definition: AFP_PileUpTool.h:161
AFP_PileUpTool::m_SiT_ChargeCollEff
Gaudi::Property< double > m_SiT_ChargeCollEff
Definition: AFP_PileUpTool.h:157
AFP_PileUpTool::recoSiHits
StatusCode recoSiHits(const EventContext &ctx, std::unique_ptr< AFP_SiDigiCollection > &siDigiCollection) const
Creates xAOD for silicon detector.
Definition: AFP_PileUpTool.cxx:131
AFP_TDDigiCollection.h
AFP_PileUpTool::m_deposited_charge
std::vector< float > m_deposited_charge
Definition: AFP_PileUpTool.h:175
AFP_PileUpTool::createTDDigi
void createTDDigi(int Station, int Detector, int SensitiveElement, float GlobalTime, float WafeLength, CLHEP::HepRandomEngine *rndEngine)
Definition: AFP_PileUpTool.cxx:529
AFPToFHitContainer.h
PileUpToolBase.h
helper base class IPileUpTool::toProcess().
AFP_PileUpTool::m_TDDigiCollectionKey
SG::WriteHandleKey< AFP_TDDigiCollection > m_TDDigiCollectionKey
Definition: AFP_PileUpTool.h:140
AFP_PileUpTool::getTDC
double getTDC(const TH1F &) const
Returns the TDC determined from the signal shape passed as an argument.
Definition: AFP_PileUpTool.cxx:555
TimedHitCollection
Definition: TimedHitCollection.h:15
AFP_PileUpTool
Definition: AFP_PileUpTool.h:43
AFP_PileUpTool::setupTDCOffsets
void setupTDCOffsets()
Definition: AFP_PileUpTool.cxx:743
IAthRNGSvc.h
ServiceHandle< PileUpMergeSvc >