|
ATLAS Offline Software
|
Go to the documentation of this file.
49 #ifndef TILESIMALGS_TILEDIGITSFROMPULSE_H
50 #define TILESIMALGS_TILEDIGITSFROMPULSE_H
62 #include "GaudiKernel/ServiceHandle.h"
63 #include "GaudiKernel/Algorithm.h"
64 #include "GaudiKernel/ToolHandle.h"
66 #include "CLHEP/Random/RandomEngine.h"
113 "TileCondToolNoiseSample",
"TileCondToolNoiseSample",
"Tile sample noise tool"};
116 "TileDigitsContainer",
"TileDigitsCnt",
"Output Tile digits container key"};
119 "TileRawChannelContainer",
"TrueAmp",
"Output Tile raw channel container key"};
122 Gaudi::Property<std::string>
m_randomStreamName{
this,
"RandomStreamName",
"Tile_DigitsMaker",
""};
191 #endif // TILESIMALGS_TILEDIGITSFROMPULSE_H
double m_ped_LG
Pedestal value for LG if specific channel pedestal is not used.
bool makeDist(TFile *&file, TH1F *&hist, const std::string &fileName, const std::string &histName="h_Eopt_hi")
Method to read distribution from file.
virtual StatusCode finalize() override
finalize method
TileSampleBuffer * m_buf
Buffer class to hold generated pulses.
double m_GNSigmaOne
Standard deviation of first gaussian of double gaussian noise.
TileSampleGenerator * m_tsg
Pulse generating class.
int m_nPul
number of pileup pulses
TilePulseShape * m_ps[2]
Class for defining pulse.
This algorithm creates TileDigits from pulses provided by pulse simulator.
std::vector< std::vector< TH1F * > > m_pileup_AmpDists
Matrix of PU amplitude distribution histograms (PU per partition and channel)
const TileHWID * m_tileHWID
bool m_simQIE
Raw PMT pulses are generated if the option is set to true.
TFile * m_pileup_AmpDistFile
File containing amplitude histograms for PU pulses.
std::string m_itADistHistName
Name of histogram for in-time amplitude distribution.
double m_ootOffset
Out-of-time pulse offset from nominal time.
bool m_useOffsetHisto
Internally used to keep track of wether a histogram has been opened or not.
std::vector< float > m_PUAmp
double m_imperfectionRms
RMS of pulse shape broadening.
bool m_chanPed
Use channel specific pedestal value if true.
std::string m_ootOffsetHistName
Name of the histogram for timing offset distribution.
double m_ootAmp
Amplitude of out-of-time pulse.
Helper class for TileCal online (hardware) identifiers.
int m_nSamples
number of read out samples
bool m_useItADist
Set to TRUE in order to use a distribution for the in-time amplitude instead of a constant value.
bool m_chanNoise
Add channel specific noise.
std::string m_outputContainer
Name of the output TileDigitsContainer.
::StatusCode StatusCode
StatusCode definition for legacy code.
std::string m_itADistFileName
Filename of file to use for amplitude distribution of in-time pulses.
SG::WriteHandleKey< TileDigitsContainer > m_digitsContainerKey
std::string m_pileupAmpDistFileName
Filename for PU amplitude distribution histograms.
TH1F * m_ootDist
Histogram to hold the distribution of out-of-time amplitudes.
std::string m_ootOffsetFileName
File name for offset timing distribution histogram.
const TileInfo * m_tileInfo
ServiceHandle< IAthRNGSvc > m_rndmSvc
Random number service to use.
double m_itOffset
In-time pulse offset from nominal time.
double m_imperfectionMean
Mean value of pulse shape broadening.
bool m_useOotADist
Set to TRUE in order to use a distribution for the out-of-time amplitude instead of a constant value.
Property holding a SG store/key/clid from which a WriteHandle is made.
virtual StatusCode initialize() override
initialize method
int m_BunchSpacing
Time between pulses in ms 25, 50 or 75.
double m_GNAmpTwo
Amplitude of second gaussian of double gaussian noise.
TH1F * m_ootOffsetDist
Histogram to hold the distribution of out-of-time timing offsets.
std::string m_ootADistHistName
Name of histogram for out-of-time amplitude distribution.
std::string m_ootADistFileName
Filename of file to use for amplitude distribution of out-of-time pulses.
bool m_gaussNoise
Set to TRUE in order to create noise from double gaussian.
double m_GNSigmaTwo
Standard deviation of second gaussian of double gaussian noise.
TileDigitsFromPulse(const std::string &name, ISvcLocator *pSvcLocator)
double m_ped_HG
Pedestal value for HG if specific channel pedestal is not used.
int m_AmpDistLowLim
Set all bins to the left of this bin to 0 in the amplitude distribution histograms.
virtual ~TileDigitsFromPulse()
float m_gausC2C
RMS for the in-time pulse offset (channel-to-channel phase variation)
ToolHandle< TileCondToolNoiseSample > m_tileToolNoiseSample
TFile * m_itFile
File that holds the distribution of in-time amplitudes.
float m_pileUpFraction
Probability that an out-of-time component will be added.
manage multiple RandomEngines in thread-safe way.
TH1F * m_itDist
Histogram to hold the distribution of in-time amplitudes.
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
double m_GNAmpOne
Amplitude of first gaussian of double gaussian noise.
TileRawChannelUnit::UNIT m_rChUnit
Units used for the TileRawChannels (ADC, pCb, etc.)(see TileInfo.h)
TileFragHash::TYPE m_rChType
Type of TileRawChannels (Digitizar, OF1, OF2, Fit, etc.)(see TileFragHash.h)
TFile * m_ootFile
File that holds the distribution of out-of-time amplitudes.
SG::WriteHandleKey< TileRawChannelContainer > m_rawChannelContainerKey
double m_inTimeAmp
Amplitude of in-time pulse.
Gaudi::Property< std::string > m_randomStreamName
Random Stream Name.
virtual StatusCode execute() override
execute method
TFile * m_ootOffsetFile
File that holds the distribution of out-of-time timing offsets.