|
ATLAS Offline Software
|
This algorithm creates TileDigits from pulses provided by pulse simulator.
More...
#include <TileDigitsFromPulse.h>
|
| TileDigitsFromPulse (const std::string &name, ISvcLocator *pSvcLocator) |
|
virtual | ~TileDigitsFromPulse () |
|
virtual StatusCode | initialize () override |
| initialize method More...
|
|
virtual StatusCode | execute () override |
| execute method More...
|
|
virtual StatusCode | finalize () override |
| finalize method More...
|
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
std::string | m_outputContainer |
| Name of the output TileDigitsContainer. More...
|
|
const TileHWID * | m_tileHWID |
|
std::string | m_infoName |
|
const TileInfo * | m_tileInfo |
|
int | m_i_ADCmax |
|
TileRawChannelUnit::UNIT | m_rChUnit |
| Units used for the TileRawChannels (ADC, pCb, etc.)(see TileInfo.h) More...
|
|
TileFragHash::TYPE | m_rChType |
| Type of TileRawChannels (Digitizar, OF1, OF2, Fit, etc.)(see TileFragHash.h) More...
|
|
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. More...
|
|
Gaudi::Property< std::string > | m_randomStreamName {this, "RandomStreamName", "Tile_DigitsMaker", ""} |
| Random Stream Name. More...
|
|
double | m_imperfectionMean |
| Mean value of pulse shape broadening. More...
|
|
double | m_imperfectionRms |
| RMS of pulse shape broadening. More...
|
|
double | m_inTimeAmp |
| Amplitude of in-time pulse. More...
|
|
double | m_ootAmp |
| Amplitude of out-of-time pulse. More...
|
|
double | m_itOffset |
| In-time pulse offset from nominal time. More...
|
|
double | m_ootOffset |
| Out-of-time pulse offset from nominal time. More...
|
|
double | m_ped_HG |
| Pedestal value for HG if specific channel pedestal is not used. More...
|
|
double | m_ped_LG |
| Pedestal value for LG if specific channel pedestal is not used. More...
|
|
bool | m_gaussNoise |
| Set to TRUE in order to create noise from double gaussian. More...
|
|
double | m_GNAmpOne |
| Amplitude of first gaussian of double gaussian noise. More...
|
|
double | m_GNSigmaOne |
| Standard deviation of first gaussian of double gaussian noise. More...
|
|
double | m_GNAmpTwo |
| Amplitude of second gaussian of double gaussian noise. More...
|
|
double | m_GNSigmaTwo |
| Standard deviation of second gaussian of double gaussian noise. More...
|
|
bool | m_useItADist |
| Set to TRUE in order to use a distribution for the in-time amplitude instead of a constant value. More...
|
|
bool | m_useOotADist |
| Set to TRUE in order to use a distribution for the out-of-time amplitude instead of a constant value. More...
|
|
float | m_pileUpFraction |
| Probability that an out-of-time component will be added. More...
|
|
float | m_gausC2C |
| RMS for the in-time pulse offset (channel-to-channel phase variation) More...
|
|
std::string | m_itADistFileName |
| Filename of file to use for amplitude distribution of in-time pulses. More...
|
|
std::string | m_ootADistFileName |
| Filename of file to use for amplitude distribution of out-of-time pulses. More...
|
|
bool | m_chanPed |
| Use channel specific pedestal value if true. More...
|
|
bool | m_chanNoise |
| Add channel specific noise. More...
|
|
std::string | m_ootOffsetFileName |
| File name for offset timing distribution histogram. More...
|
|
std::string | m_ootOffsetHistName |
| Name of the histogram for timing offset distribution. More...
|
|
int | m_AmpDistLowLim |
| Set all bins to the left of this bin to 0 in the amplitude distribution histograms. More...
|
|
std::string | m_itADistHistName |
| Name of histogram for in-time amplitude distribution. More...
|
|
std::string | m_ootADistHistName |
| Name of histogram for out-of-time amplitude distribution. More...
|
|
bool | m_simQIE |
| Raw PMT pulses are generated if the option is set to true. More...
|
|
int | m_seed |
|
int | m_BunchSpacing |
| Time between pulses in ms 25, 50 or 75. More...
|
|
int | m_nSamples |
| number of read out samples More...
|
|
int | m_nPul |
| number of pileup pulses More...
|
|
int | m_nPul_eff |
|
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. More...
|
|
TilePulseShape * | m_ps [2] |
| Class for defining pulse. More...
|
|
TileSampleBuffer * | m_buf |
| Buffer class to hold generated pulses. More...
|
|
TileSampleGenerator * | m_tsg |
| Pulse generating class. More...
|
|
TH1F * | m_ootDist |
| Histogram to hold the distribution of out-of-time amplitudes. More...
|
|
TH1F * | m_itDist |
| Histogram to hold the distribution of in-time amplitudes. More...
|
|
TFile * | m_itFile |
| File that holds the distribution of in-time amplitudes. More...
|
|
TFile * | m_ootFile |
| File that holds the distribution of out-of-time amplitudes. More...
|
|
TH1F * | m_ootOffsetDist |
| Histogram to hold the distribution of out-of-time timing offsets. More...
|
|
TFile * | m_ootOffsetFile |
| File that holds the distribution of out-of-time timing offsets. More...
|
|
bool | m_useOffsetHisto |
| Internally used to keep track of wether a histogram has been opened or not. More...
|
|
TFile * | m_pileup_AmpDistFile |
| File containing amplitude histograms for PU pulses. More...
|
|
std::vector< std::vector< TH1F * > > | m_pileup_AmpDists |
| Matrix of PU amplitude distribution histograms (PU per partition and channel) More...
|
|
DataObjIDColl | m_extendedExtraObjects |
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
This algorithm creates TileDigits from pulses provided by pulse simulator.
Definition at line 86 of file TileDigitsFromPulse.h.
◆ StoreGateSvc_t
◆ TileDigitsFromPulse()
TileDigitsFromPulse::TileDigitsFromPulse |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ ~TileDigitsFromPulse()
TileDigitsFromPulse::~TileDigitsFromPulse |
( |
| ) |
|
|
virtual |
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode TileDigitsFromPulse::execute |
( |
| ) |
|
|
overridevirtual |
execute method
< Local loop variable for amplitude of in-time pulse
Definition at line 252 of file TileDigitsFromPulse.cxx.
256 const EventContext& ctx = Gaudi::Hive::currentContext();
263 auto digitsContainer = std::make_unique<TileMutableDigitsContainer>(
true,
276 TRandom3 *random =
new TRandom3(
m_seed);
277 double tFit = 0,
ped = 100;
280 TF1 *
pdf =
new TF1();
281 TF1 *pdf_PhaseI =
new TF1();
282 TF1 *pdf_lo =
new TF1();
283 TF1 *pdf_hi =
new TF1();
288 Double_t sigma_lo = 1;
289 pdf_lo =
new TF1(
"pdf_lo",
"(1/(sqrt(2*pi)*[0])) * (exp(-0.5*(x/[0])**2)/(sqrt(2*pi)*[0]))", -100, 100);
290 pdf_lo->SetParameter(0,sigma_lo);
292 Double_t sigma_hi = 2.5;
293 pdf_hi =
new TF1(
"pdf_hi",
"(1/(sqrt(2*pi)*[0])) * (exp(-0.5*(x/[0])**2)/(sqrt(2*pi)*[0]))", -100, 100);
294 pdf_hi->SetParameter(0,sigma_hi);
300 pdf_PhaseI =
new TF1(
"pdf_PhaseI",
"[0] * (exp(-0.5*(x/[1])**2)/(sqrt(2*pi)*[1]) + [2] *exp(-0.5*(x/[3])**2)/(sqrt(2*pi)*[3]))", -100., 100.);
315 double n_inTimeAmp = 0.0;
332 bool isHGSaturated =
false;
362 for (
int imu = 0; imu<
mu; imu++){
367 ATH_MSG_VERBOSE(
"Random amplitudes for PU: " << amp_1 <<
" " << amp_2);
420 pdf = (
gain==1) ? pdf_hi : pdf_lo;
437 RandGaussQ::shootArray(*rngWrapper, samples.size(), Rndm, 0.0, 1.0);
438 RandFlat::shootArray(*rngWrapper, 1, Rndm_dG, 0.0, 1.0);
439 for (
unsigned int js = 0; js < samples.size(); ++js) {
441 if (Rndm_dG[0] <
Norm)
442 samples[js] += (
float) Hfn1 * Rndm[js];
444 samples[js] += (
float) Hfn2 * Rndm[js];
448 for (
unsigned int i = 0;
i < samples.size(); ++
i) {
450 isHGSaturated =
true;
470 auto rawChannel = std::make_unique<TileRawChannel>(
digit->adc_HWID(),
495 for (
int i = 0;
i < 7;
i++)
524 auto rawChannel = std::make_unique<TileRawChannel>(
digit->adc_HWID(),
540 ATH_CHECK( digitsCnt.record(std::move(digitsContainer)) );
552 return StatusCode::SUCCESS;
◆ extraDeps_update_handler()
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
◆ extraOutputDeps()
const DataObjIDColl & AthAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
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.
57 return Algorithm::extraOutputDeps();
◆ finalize()
StatusCode TileDigitsFromPulse::finalize |
( |
| ) |
|
|
overridevirtual |
◆ initialize()
StatusCode TileDigitsFromPulse::initialize |
( |
| ) |
|
|
overridevirtual |
initialize method
Definition at line 146 of file TileDigitsFromPulse.cxx.
179 ATH_MSG_FATAL(
"Could not find input file Distributions_small_h2000_177531_JetTauEtmiss.root");
180 return StatusCode::FAILURE;
184 return StatusCode::FAILURE;
195 ATH_MSG_FATAL(
"Could not find input file Distributions_MB_minbias_inelastic_lowjetphoton_e8314_e7400_s3508.root");
196 return StatusCode::FAILURE;
201 return StatusCode::FAILURE;
202 ATH_MSG_DEBUG(
"Made PU amp distributions for each partition and channel");
210 ATH_MSG_FATAL(
"Could not find input file Distributions_small_h2000_177531_ZeroBias.root");
211 return StatusCode::FAILURE;
215 return StatusCode::FAILURE;
238 ATH_MSG_FATAL(
"Could not initialize find Random Number Service.");
239 return StatusCode::FAILURE;
246 return StatusCode::SUCCESS;
◆ inputHandles()
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.
◆ makeDist() [1/2]
bool TileDigitsFromPulse::makeDist |
( |
TFile *& |
file, |
|
|
std::vector< std::vector< TH1F * >> & |
hists, |
|
|
const std::string & |
fileName |
|
) |
| |
|
private |
◆ makeDist() [2/2]
bool TileDigitsFromPulse::makeDist |
( |
TFile *& |
file, |
|
|
TH1F *& |
hist, |
|
|
const std::string & |
fileName, |
|
|
const std::string & |
histName = "h_Eopt_hi" |
|
) |
| |
|
private |
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
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.
◆ renounce()
◆ renounceArray()
◆ sysInitialize()
StatusCode AthAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_AmpDistLowLim
int TileDigitsFromPulse::m_AmpDistLowLim |
|
private |
Set all bins to the left of this bin to 0 in the amplitude distribution histograms.
Definition at line 150 of file TileDigitsFromPulse.h.
◆ m_avgMuForPU
int TileDigitsFromPulse::m_avgMuForPU |
|
private |
◆ m_bigain
bool TileDigitsFromPulse::m_bigain |
|
private |
◆ m_buf
◆ m_BunchSpacing
int TileDigitsFromPulse::m_BunchSpacing |
|
private |
◆ m_chanNoise
bool TileDigitsFromPulse::m_chanNoise |
|
private |
◆ m_chanPed
bool TileDigitsFromPulse::m_chanPed |
|
private |
Use channel specific pedestal value if true.
Otherwise, same for all channels.
Definition at line 146 of file TileDigitsFromPulse.h.
◆ m_detStore
◆ m_digitsContainerKey
Initial value:{this,
"TileDigitsContainer", "TileDigitsCnt", "Output Tile digits container key"}
Definition at line 115 of file TileDigitsFromPulse.h.
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_gausC2C
float TileDigitsFromPulse::m_gausC2C |
|
private |
RMS for the in-time pulse offset (channel-to-channel phase variation)
Definition at line 143 of file TileDigitsFromPulse.h.
◆ m_gaussNoise
bool TileDigitsFromPulse::m_gaussNoise |
|
private |
◆ m_GNAmpOne
double TileDigitsFromPulse::m_GNAmpOne |
|
private |
◆ m_GNAmpTwo
double TileDigitsFromPulse::m_GNAmpTwo |
|
private |
◆ m_GNSigmaOne
double TileDigitsFromPulse::m_GNSigmaOne |
|
private |
◆ m_GNSigmaTwo
double TileDigitsFromPulse::m_GNSigmaTwo |
|
private |
◆ m_i_ADCmax
int TileDigitsFromPulse::m_i_ADCmax |
|
private |
◆ m_imperfectionMean
double TileDigitsFromPulse::m_imperfectionMean |
|
private |
◆ m_imperfectionRms
double TileDigitsFromPulse::m_imperfectionRms |
|
private |
◆ m_infoName
std::string TileDigitsFromPulse::m_infoName |
|
private |
◆ m_inTimeAmp
double TileDigitsFromPulse::m_inTimeAmp |
|
private |
◆ m_itADistFileName
std::string TileDigitsFromPulse::m_itADistFileName |
|
private |
Filename of file to use for amplitude distribution of in-time pulses.
Definition at line 144 of file TileDigitsFromPulse.h.
◆ m_itADistHistName
std::string TileDigitsFromPulse::m_itADistHistName |
|
private |
◆ m_itDist
TH1F* TileDigitsFromPulse::m_itDist |
|
private |
◆ m_itFile
TFile* TileDigitsFromPulse::m_itFile |
|
private |
◆ m_itOffset
double TileDigitsFromPulse::m_itOffset |
|
private |
◆ m_nPul
int TileDigitsFromPulse::m_nPul |
|
private |
◆ m_nPul_eff
int TileDigitsFromPulse::m_nPul_eff |
|
private |
◆ m_nSamples
int TileDigitsFromPulse::m_nSamples |
|
private |
◆ m_ootADistFileName
std::string TileDigitsFromPulse::m_ootADistFileName |
|
private |
Filename of file to use for amplitude distribution of out-of-time pulses.
Definition at line 145 of file TileDigitsFromPulse.h.
◆ m_ootADistHistName
std::string TileDigitsFromPulse::m_ootADistHistName |
|
private |
◆ m_ootAmp
double TileDigitsFromPulse::m_ootAmp |
|
private |
◆ m_ootDist
TH1F* TileDigitsFromPulse::m_ootDist |
|
private |
◆ m_ootFile
TFile* TileDigitsFromPulse::m_ootFile |
|
private |
◆ m_ootOffset
double TileDigitsFromPulse::m_ootOffset |
|
private |
◆ m_ootOffsetDist
TH1F* TileDigitsFromPulse::m_ootOffsetDist |
|
private |
◆ m_ootOffsetFile
TFile* TileDigitsFromPulse::m_ootOffsetFile |
|
private |
◆ m_ootOffsetFileName
std::string TileDigitsFromPulse::m_ootOffsetFileName |
|
private |
◆ m_ootOffsetHistName
std::string TileDigitsFromPulse::m_ootOffsetHistName |
|
private |
◆ m_outputContainer
std::string TileDigitsFromPulse::m_outputContainer |
|
private |
◆ m_ped_HG
double TileDigitsFromPulse::m_ped_HG |
|
private |
◆ m_ped_LG
double TileDigitsFromPulse::m_ped_LG |
|
private |
◆ m_PhaseII
bool TileDigitsFromPulse::m_PhaseII |
|
private |
◆ m_pileup_AmpDistFile
TFile* TileDigitsFromPulse::m_pileup_AmpDistFile |
|
private |
◆ m_pileup_AmpDists
std::vector<std::vector<TH1F*> > TileDigitsFromPulse::m_pileup_AmpDists |
|
private |
◆ m_pileupAmpDistFileName
std::string TileDigitsFromPulse::m_pileupAmpDistFileName |
|
private |
◆ m_pileUpFraction
float TileDigitsFromPulse::m_pileUpFraction |
|
private |
◆ m_ps
◆ m_PUAmp
std::vector<float> TileDigitsFromPulse::m_PUAmp |
|
private |
◆ m_randomStreamName
Gaudi::Property<std::string> TileDigitsFromPulse::m_randomStreamName {this, "RandomStreamName", "Tile_DigitsMaker", ""} |
|
private |
◆ m_rawChannelContainerKey
Initial value:{this,
"TileRawChannelContainer", "TrueAmp", "Output Tile raw channel container key"}
Definition at line 118 of file TileDigitsFromPulse.h.
◆ m_rChType
◆ m_rChUnit
◆ m_rndmSvc
◆ m_seed
int TileDigitsFromPulse::m_seed |
|
private |
◆ m_simPUwPoisson
bool TileDigitsFromPulse::m_simPUwPoisson |
|
private |
◆ m_simQIE
bool TileDigitsFromPulse::m_simQIE |
|
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 154 of file TileDigitsFromPulse.h.
◆ m_tileHWID
◆ m_tileInfo
◆ m_tileToolNoiseSample
Initial value:{this,
"TileCondToolNoiseSample", "TileCondToolNoiseSample", "Tile sample noise tool"}
Definition at line 112 of file TileDigitsFromPulse.h.
◆ m_tsg
◆ m_useItADist
bool TileDigitsFromPulse::m_useItADist |
|
private |
Set to TRUE in order to use a distribution for the in-time amplitude instead of a constant value.
Definition at line 140 of file TileDigitsFromPulse.h.
◆ m_useOffsetHisto
bool TileDigitsFromPulse::m_useOffsetHisto |
|
private |
Internally used to keep track of wether a histogram has been opened or not.
Definition at line 181 of file TileDigitsFromPulse.h.
◆ m_useOotADist
bool TileDigitsFromPulse::m_useOotADist |
|
private |
Set to TRUE in order to use a distribution for the out-of-time amplitude instead of a constant value.
Definition at line 141 of file TileDigitsFromPulse.h.
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
double m_ped_LG
Pedestal value for LG if specific channel pedestal is not used.
def retrieve(aClass, aKey=None)
bool makeDist(TFile *&file, TH1F *&hist, const std::string &fileName, const std::string &histName="h_Eopt_hi")
Method to read distribution from file.
TileSampleBuffer * m_buf
Buffer class to hold generated pulses.
void setSeed(const std::string &algName, const EventContext &ctx)
Set the random seed using a string (e.g.
double m_GNSigmaOne
Standard deviation of first gaussian of double gaussian noise.
void fillNSamples(double t0, double pedestal, double amp_it, const std::vector< float > &_pu, TF1 *pdf, bool addNoise, double itOffset=0, int nSamples=7, int nPul=21)
TileSampleGenerator * m_tsg
Pulse generating class.
const std::vector< double > & digitsFullShapeLo() const
Return shape vector with full binning to produce the TileDigits from sub-hits.
int m_nPul
number of pileup pulses
TilePulseShape * m_ps[2]
Class for defining pulse.
static std::string find_file(const std::string &logical_file_name, const std::string &search_path, SearchType search_type=LocalSearch)
std::vector< std::vector< TH1F * > > m_pileup_AmpDists
Matrix of PU amplitude distribution histograms (PU per partition and channel)
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
const TileHWID * m_tileHWID
bool m_simQIE
Raw PMT pulses are generated if the option is set to true.
void getValueVector(std::vector< float > &vec)
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.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
std::vector< float > m_PUAmp
double m_imperfectionRms
RMS of pulse shape broadening.
bool m_chanPed
Use channel specific pedestal value if true.
#define ATH_MSG_VERBOSE(x)
const std::string & key() const
Return the StoreGate ID for the referenced object.
std::string m_ootOffsetHistName
Name of the histogram for timing offset distribution.
void fill7SamplesQIE(float amp_it, float *amp_pu)
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
double m_ootAmp
Amplitude of out-of-time pulse.
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.
virtual StatusCode sysInitialize() override
Override sysInitialize.
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
msgSvc
Provide convenience handles for various services.
::StatusCode StatusCode
StatusCode definition for legacy code.
std::string m_itADistFileName
Filename of file to use for amplitude distribution of in-time pulses.
const std::vector< double > & digitsFullShapeHi() const
Return shape vector with full binning to produce the TileDigits from sub-hits.
SG::WriteHandleKey< TileDigitsContainer > m_digitsContainerKey
std::string m_pileupAmpDistFileName
Filename for PU amplitude distribution histograms.
Point Norm(const Point &a)
TH1F * m_ootDist
Histogram to hold the distribution of out-of-time amplitudes.
size_type adc_hash_max(void) const
ADC hash table max size.
std::string m_ootOffsetFileName
File name for offset timing distribution histogram.
const TileInfo * m_tileInfo
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
ServiceHandle< IAthRNGSvc > m_rndmSvc
Random number service to use.
double m_itOffset
In-time pulse offset from nominal time.
int scalePulse(double leftSF=1., double rightSF=1.)
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.
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
int m_BunchSpacing
Time between pulses in ms 25, 50 or 75.
double m_GNAmpTwo
Amplitude of second gaussian of double gaussian noise.
A wrapper class for event-slot-local random engines.
std::string to_string(const DetectorType &type)
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.
HWIdentifier adc_id(int ros, int drawer, int channel, int adc) const
adc HWIdentifer
bool m_gaussNoise
Set to TRUE in order to create noise from double gaussian.
DataObjIDColl m_extendedExtraObjects
double m_GNSigmaTwo
Standard deviation of second gaussian of double gaussian noise.
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.
#define ATH_MSG_WARNING(x)
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.
a typed memory pool that saves time spent allocation small object. This is typically used by containe...
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
void setPulseShape(TilePulseShape *ps)
AthAlgorithm()
Default constructor:
TH1F * m_itDist
Histogram to hold the distribution of in-time amplitudes.
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
static unsigned int getDrawerIdx(unsigned int ros, unsigned int drawer)
Returns a drawer hash.
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::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
void setPulseShape(const std::vector< double > &shapevec)
int ADCmax() const
Returns the maximum ADC output (10 bits --> 1023)
Gaudi::Property< std::string > m_randomStreamName
Random Stream Name.
TFile * m_ootOffsetFile
File that holds the distribution of out-of-time timing offsets.