![]() |
ATLAS Offline Software
|
This algorithm creates TileDigits from pulses provided by pulse simulator. More...
#include <TileDigitsFromPulse.h>
Public Member Functions | |
| TileDigitsFromPulse (const std::string &name, ISvcLocator *pSvcLocator) | |
| virtual | ~TileDigitsFromPulse () |
| virtual StatusCode | initialize () override |
| initialize method | |
| virtual StatusCode | execute () override |
| execute method | |
| virtual StatusCode | finalize () override |
| finalize method | |
| virtual StatusCode | sysInitialize () override |
| Override sysInitialize. | |
| virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. | |
| ServiceHandle< StoreGateSvc > & | evtStore () |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. | |
| const ServiceHandle< StoreGateSvc > & | detStore () const |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. | |
| virtual StatusCode | sysStart () override |
| Handle START transition. | |
| virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. | |
| virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. | |
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
| void | updateVHKA (Gaudi::Details::PropertyBase &) |
| MsgStream & | msg () const |
| bool | msgLvl (const MSG::Level lvl) const |
Protected Member Functions | |
| void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
| remove all handles from I/O resolution | |
| std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > | renounce (T &h) |
| void | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
| Add StoreName to extra input/output deps as needed. | |
Private Types | |
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
| bool | makeDist (TFile *&file, TH1F *&hist, const std::string &fileName, const std::string &histName="h_Eopt_hi") |
| Method to read distribution from file. | |
| bool | makeDist (TFile *&file, std::vector< std::vector< TH1F * > > &hists, const std::string &fileName) |
| void | addPileUp (double &n_inTimeAmp, int gain, int ros, int drawer, int channel) |
| Fill vector with pile-up amplitudes. | |
| void | addPileUpSample (int gain, int ros, int drawer, int channel) |
| Fill only a BC with pile-up amplitude. | |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Private Attributes | |
| std::string | m_outputContainer |
| Name of the output TileDigitsContainer. | |
| const TileHWID * | m_tileHWID {} |
| std::string | m_infoName |
| const TileInfo * | m_tileInfo {} |
| int | m_i_ADCmax {} |
| TileRawChannelUnit::UNIT | m_rChUnit {TileRawChannelUnit::ADCcounts} |
| Units used for the TileRawChannels (ADC, pCb, etc.)(see TileInfo.h) | |
| TileFragHash::TYPE | m_rChType {TileFragHash::Default} |
| Type of TileRawChannels (Digitizar, OF1, OF2, Fit, etc.)(see TileFragHash.h) | |
| ToolHandle< TileCondToolNoiseSample > | m_tileToolNoiseSample |
| SG::WriteHandleKey< TileDigitsContainer > | m_digitsContainerKey |
| SG::WriteHandleKey< TileRawChannelContainer > | m_rawChannelContainerKey |
| ServiceHandle< IAthRNGSvc > | m_rndmSvc {this, "RndmSvc", "AthRNGSvc", ""} |
| Random number service to use. | |
| Gaudi::Property< std::string > | m_randomStreamName {this, "RandomStreamName", "Tile_DigitsMaker", ""} |
| Random Stream Name. | |
| double | m_imperfectionMean |
| Mean value of pulse shape broadening. | |
| double | m_imperfectionRms |
| RMS of pulse shape broadening. | |
| double | m_inTimeAmp |
| Amplitude of in-time pulse. | |
| double | m_ootAmp |
| Amplitude of out-of-time pulse. | |
| double | m_itOffset |
| In-time pulse offset from nominal time. | |
| double | m_ootOffset |
| Out-of-time pulse offset from nominal time. | |
| double | m_ped_HG |
| Pedestal value for HG if specific channel pedestal is not used. | |
| double | m_ped_LG |
| Pedestal value for LG if specific channel pedestal is not used. | |
| bool | m_gaussNoise |
| Set to TRUE in order to create noise from double gaussian. | |
| double | m_GNAmpOne |
| Amplitude of first gaussian of double gaussian noise. | |
| double | m_GNSigmaOne |
| Standard deviation of first gaussian of double gaussian noise. | |
| double | m_GNAmpTwo |
| Amplitude of second gaussian of double gaussian noise. | |
| double | m_GNSigmaTwo |
| Standard deviation of second gaussian of double gaussian noise. | |
| bool | m_useItADist |
| Set to TRUE in order to use a distribution for the in-time amplitude instead of a constant value. | |
| double | m_itAPulseProb |
| Probability to add an in-time pulse. | |
| bool | m_useOotADist |
| Set to TRUE in order to use a distribution for the out-of-time amplitude instead of a constant value. | |
| float | m_pileUpFraction |
| Probability that an out-of-time component will be added. | |
| float | m_gausC2C |
| RMS for the in-time pulse offset (channel-to-channel phase variation) | |
| std::string | m_itADistFileName |
| Filename of file to use for amplitude distribution of in-time pulses. | |
| std::string | m_ootADistFileName |
| Filename of file to use for amplitude distribution of out-of-time pulses. | |
| bool | m_chanPed |
| Use channel specific pedestal value if true. | |
| bool | m_chanNoise |
| Add channel specific noise. | |
| std::string | m_ootOffsetFileName |
| File name for offset timing distribution histogram. | |
| std::string | m_ootOffsetHistName |
| Name of the histogram for timing offset distribution. | |
| int | m_AmpDistLowLim |
| Set all bins to the left of this bin to 0 in the amplitude distribution histograms. | |
| std::string | m_itADistHistName |
| Name of histogram for in-time amplitude distribution. | |
| std::string | m_ootADistHistName |
| Name of histogram for out-of-time amplitude distribution. | |
| bool | m_simQIE |
| Raw PMT pulses are generated if the option is set to true. | |
| bool | m_simPulseChain |
| Simulate continous output of readout for HL-LHC paradigm. | |
| int | m_seed |
| int | m_BunchSpacing |
| Time between pulses in ms 25, 50 or 75. | |
| int | m_nSamples |
| number of read out samples | |
| int | m_nPul |
| number of pileup pulses | |
| int | m_nPul_eff {} |
| std::vector< std::vector< std::vector< std::vector< float > > > > | m_PUAmp |
| bool | m_PhaseII |
| bool | m_bigain |
| bool | m_simPUwPoisson |
| int | m_avgMuForPU |
| std::string | m_pileupAmpDistFileName |
| Filename for PU amplitude distribution histograms. | |
| TilePulseShape * | m_ps [2] |
| Class for defining pulse. | |
| TileSampleBuffer * | m_buf {} |
| Buffer class to hold generated pulses. | |
| TileSampleGenerator * | m_tsg {} |
| Pulse generating class. | |
| TH1F * | m_ootDist |
| Histogram to hold the distribution of out-of-time amplitudes. | |
| TH1F * | m_itDist |
| Histogram to hold the distribution of in-time amplitudes. | |
| TFile * | m_itFile |
| File that holds the distribution of in-time amplitudes. | |
| TFile * | m_ootFile |
| File that holds the distribution of out-of-time amplitudes. | |
| TH1F * | m_ootOffsetDist |
| Histogram to hold the distribution of out-of-time timing offsets. | |
| TFile * | m_ootOffsetFile |
| File that holds the distribution of out-of-time timing offsets. | |
| bool | m_useOffsetHisto |
| Internally used to keep track of wether a histogram has been opened or not. | |
| TFile * | m_pileup_AmpDistFile |
| File containing amplitude histograms for PU pulses. | |
| std::vector< std::vector< TH1F * > > | m_pileup_AmpDists |
| Matrix of PU amplitude distribution histograms (PU per partition and channel) | |
| float | m_sample_tru = 0 |
| std::unique_ptr< TRandom3 > | m_random |
| DataObjIDColl | m_extendedExtraObjects |
| StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) | |
| StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) | |
| std::vector< SG::VarHandleKeyArray * > | m_vhka |
| bool | m_varHandleArraysDeclared |
This algorithm creates TileDigits from pulses provided by pulse simulator.
Definition at line 89 of file TileDigitsFromPulse.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
| TileDigitsFromPulse::TileDigitsFromPulse | ( | const std::string & | name, |
| ISvcLocator * | pSvcLocator ) |
Definition at line 61 of file TileDigitsFromPulse.cxx.
|
virtual |
Definition at line 126 of file TileDigitsFromPulse.cxx.
|
private |
Fill vector with pile-up amplitudes.
Definition at line 711 of file TileDigitsFromPulse.cxx.
|
private |
Fill only a BC with pile-up amplitude.
Definition at line 799 of file TileDigitsFromPulse.cxx.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 95 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 85 of file AthCommonDataStore.h.
|
overridevirtual |
execute method
< Local loop variable for amplitude of in-time pulse
Definition at line 271 of file TileDigitsFromPulse.cxx.
|
protectedinherited |
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 50 of file AthAlgorithm.cxx.
|
overridevirtual |
finalize method
Definition at line 639 of file TileDigitsFromPulse.cxx.
|
overridevirtual |
initialize method
Definition at line 140 of file TileDigitsFromPulse.cxx.
|
overridevirtualinherited |
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
private |
Definition at line 673 of file TileDigitsFromPulse.cxx.
|
private |
Method to read distribution from file.
Definition at line 655 of file TileDigitsFromPulse.cxx.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
overridevirtualinherited |
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
overridevirtualinherited |
Override sysInitialize.
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc
Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.
Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, AthHistogramAlgorithm, and PyAthena::Alg.
Definition at line 66 of file AthAlgorithm.cxx.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
Set all bins to the left of this bin to 0 in the amplitude distribution histograms.
Definition at line 154 of file TileDigitsFromPulse.h.
|
private |
Definition at line 171 of file TileDigitsFromPulse.h.
|
private |
Definition at line 168 of file TileDigitsFromPulse.h.
|
private |
|
private |
Time between pulses in ms 25, 50 or 75.
Definition at line 162 of file TileDigitsFromPulse.h.
|
private |
Add channel specific noise.
Definition at line 151 of file TileDigitsFromPulse.h.
|
private |
Use channel specific pedestal value if true.
Otherwise, same for all channels.
Definition at line 150 of file TileDigitsFromPulse.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
private |
Definition at line 118 of file TileDigitsFromPulse.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 79 of file AthAlgorithm.h.
|
private |
RMS for the in-time pulse offset (channel-to-channel phase variation)
Definition at line 147 of file TileDigitsFromPulse.h.
|
private |
Set to TRUE in order to create noise from double gaussian.
Definition at line 138 of file TileDigitsFromPulse.h.
|
private |
Amplitude of first gaussian of double gaussian noise.
Definition at line 139 of file TileDigitsFromPulse.h.
|
private |
Amplitude of second gaussian of double gaussian noise.
Definition at line 141 of file TileDigitsFromPulse.h.
|
private |
Standard deviation of first gaussian of double gaussian noise.
Definition at line 140 of file TileDigitsFromPulse.h.
|
private |
Standard deviation of second gaussian of double gaussian noise.
Definition at line 142 of file TileDigitsFromPulse.h.
|
private |
Definition at line 110 of file TileDigitsFromPulse.h.
|
private |
Mean value of pulse shape broadening.
Definition at line 130 of file TileDigitsFromPulse.h.
|
private |
RMS of pulse shape broadening.
Definition at line 131 of file TileDigitsFromPulse.h.
|
private |
Definition at line 108 of file TileDigitsFromPulse.h.
|
private |
Amplitude of in-time pulse.
Definition at line 132 of file TileDigitsFromPulse.h.
|
private |
Filename of file to use for amplitude distribution of in-time pulses.
Definition at line 148 of file TileDigitsFromPulse.h.
|
private |
Name of histogram for in-time amplitude distribution.
Definition at line 155 of file TileDigitsFromPulse.h.
|
private |
Probability to add an in-time pulse.
Definition at line 144 of file TileDigitsFromPulse.h.
|
private |
Histogram to hold the distribution of in-time amplitudes.
Definition at line 181 of file TileDigitsFromPulse.h.
|
private |
File that holds the distribution of in-time amplitudes.
Definition at line 182 of file TileDigitsFromPulse.h.
|
private |
In-time pulse offset from nominal time.
Definition at line 134 of file TileDigitsFromPulse.h.
|
private |
number of pileup pulses
Definition at line 164 of file TileDigitsFromPulse.h.
|
private |
Definition at line 165 of file TileDigitsFromPulse.h.
|
private |
number of read out samples
Definition at line 163 of file TileDigitsFromPulse.h.
|
private |
Filename of file to use for amplitude distribution of out-of-time pulses.
Definition at line 149 of file TileDigitsFromPulse.h.
|
private |
Name of histogram for out-of-time amplitude distribution.
Definition at line 156 of file TileDigitsFromPulse.h.
|
private |
Amplitude of out-of-time pulse.
Definition at line 133 of file TileDigitsFromPulse.h.
|
private |
Histogram to hold the distribution of out-of-time amplitudes.
Definition at line 180 of file TileDigitsFromPulse.h.
|
private |
File that holds the distribution of out-of-time amplitudes.
Definition at line 183 of file TileDigitsFromPulse.h.
|
private |
Out-of-time pulse offset from nominal time.
Definition at line 135 of file TileDigitsFromPulse.h.
|
private |
Histogram to hold the distribution of out-of-time timing offsets.
Definition at line 184 of file TileDigitsFromPulse.h.
|
private |
File that holds the distribution of out-of-time timing offsets.
Definition at line 185 of file TileDigitsFromPulse.h.
|
private |
File name for offset timing distribution histogram.
Definition at line 152 of file TileDigitsFromPulse.h.
|
private |
Name of the histogram for timing offset distribution.
Definition at line 153 of file TileDigitsFromPulse.h.
|
private |
Name of the output TileDigitsContainer.
Definition at line 103 of file TileDigitsFromPulse.h.
|
private |
Pedestal value for HG if specific channel pedestal is not used.
Definition at line 136 of file TileDigitsFromPulse.h.
|
private |
Pedestal value for LG if specific channel pedestal is not used.
Definition at line 137 of file TileDigitsFromPulse.h.
|
private |
Definition at line 167 of file TileDigitsFromPulse.h.
|
private |
File containing amplitude histograms for PU pulses.
Definition at line 187 of file TileDigitsFromPulse.h.
|
private |
Matrix of PU amplitude distribution histograms (PU per partition and channel)
Definition at line 188 of file TileDigitsFromPulse.h.
|
private |
Filename for PU amplitude distribution histograms.
Definition at line 172 of file TileDigitsFromPulse.h.
|
private |
Probability that an out-of-time component will be added.
Definition at line 146 of file TileDigitsFromPulse.h.
|
private |
Class for defining pulse.
One element for lo gain and one for hi.
Definition at line 175 of file TileDigitsFromPulse.h.
|
private |
Definition at line 166 of file TileDigitsFromPulse.h.
|
private |
Definition at line 199 of file TileDigitsFromPulse.h.
|
private |
Definition at line 126 of file TileDigitsFromPulse.h.
|
private |
Definition at line 121 of file TileDigitsFromPulse.h.
|
private |
Type of TileRawChannels (Digitizar, OF1, OF2, Fit, etc.)(see TileFragHash.h)
Definition at line 113 of file TileDigitsFromPulse.h.
|
private |
Units used for the TileRawChannels (ADC, pCb, etc.)(see TileInfo.h)
Definition at line 112 of file TileDigitsFromPulse.h.
|
private |
Random number service to use.
Definition at line 124 of file TileDigitsFromPulse.h.
|
private |
Definition at line 197 of file TileDigitsFromPulse.h.
|
private |
Definition at line 161 of file TileDigitsFromPulse.h.
|
private |
Simulate continous output of readout for HL-LHC paradigm.
Definition at line 159 of file TileDigitsFromPulse.h.
|
private |
Definition at line 170 of file TileDigitsFromPulse.h.
|
private |
Raw PMT pulses are generated if the option is set to true.
The option is intended to simulate the QIE FEB.
Definition at line 158 of file TileDigitsFromPulse.h.
|
private |
Definition at line 105 of file TileDigitsFromPulse.h.
|
private |
Definition at line 109 of file TileDigitsFromPulse.h.
|
private |
Definition at line 115 of file TileDigitsFromPulse.h.
|
private |
|
private |
Set to TRUE in order to use a distribution for the in-time amplitude instead of a constant value.
Definition at line 143 of file TileDigitsFromPulse.h.
|
private |
Internally used to keep track of wether a histogram has been opened or not.
Definition at line 186 of file TileDigitsFromPulse.h.
|
private |
Set to TRUE in order to use a distribution for the out-of-time amplitude instead of a constant value.
Definition at line 145 of file TileDigitsFromPulse.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.