36#ifndef TILESIMALGS_TILEPULSEFORTILEMUONRECEIVER_H
37#define TILESIMALGS_TILEPULSEFORTILEMUONRECEIVER_H
61#include "GaudiKernel/ToolHandle.h"
62#include "GaudiKernel/ServiceHandle.h"
64#include "CLHEP/Random/RandomEngine.h"
89 virtual StatusCode
execute()
override;
90 virtual StatusCode
finalize()
override;
99 "TileHitContainer",
"TileHitCnt",
"Input Tile hit container key"};
102 "MuonReceiverDigitsContainer",
"MuRcvDigitsCnt",
"Output Tile muon receiver digits container key"};
105 "MuonReceiverRawChannelContainer",
"MuRcvRawChCnt",
"Output Tile muon receiver raw channel container key"};
111 "TileSamplingFraction",
"TileSamplingFraction",
"Input Tile sampling fraction"};
117 "TileCablingSvc",
"TileCablingSvc",
"The Tile cabling service"};
121 Gaudi::Property<std::string>
m_randomStreamName{
this,
"RandomStreamName",
"Tile_PulseForTileMuonReceiver",
""};
127 "TileSampleNoise",
"TileSampleNoise",
"Input Tile sample noise"};
133 "TileEMScale",
"TileEMScale",
"Input Tile EMS calibration constants"};
139 "TilePulseShape",
"TileMuRcvPulseShape",
"Input Tile Muon Receiver pulse shape"};
145 "TileBadChannels",
"TileBadChannels",
"Input Tile bad channel status"};
148 "TileRawChannelBuilderMF",
"TileRawChannelBuilderMF",
"Reconstruction tool, default: the Matched Filter"};
150 Gaudi::Property<std::string>
m_infoName{
this,
"TileInfoName",
"TileInfo",
"TileInfo object name"};
151 Gaudi::Property<bool>
m_integerDigits{
this,
"IntegerDigits",
false,
"Round digits (default=false)"};
152 Gaudi::Property<bool>
m_maskBadChannels{
this,
"MaskBadChannels",
false,
"Remove channels tagged bad (default=false)"};
153 Gaudi::Property<bool>
m_useCoolPulseShapes{
this,
"UseCoolPulseShapes",
false,
"Pulse shapes from database (default=false)"};
154 Gaudi::Property<bool>
m_tileNoise{
this,
"UseCoolNoise",
false,
"Noise from database (default=false)"};
155 Gaudi::Property<bool>
m_tilePedestal{
this,
"UseCoolPedestal",
false,
"Pedestal from database (default=false)"};
156 Gaudi::Property<bool>
m_rndmEvtOverlay{
this,
"RndmEvtOverlay",
false,
"Pileup and/or noise added by overlaying random events (default=false)"};
157 Gaudi::Property<bool>
m_onlyUseContainerName{
this,
"OnlyUseContainerName",
true,
"Don't use the ReadHandleKey directly. Just extract the container name from it."};
the preferred mechanism to access information from the different event stores in a pileup job.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
manage multiple RandomEngines in thread-safe way.
the preferred mechanism to access information from the different event stores in a pileup job.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Class that holds Data Quality fragment information and provides functions to extract the data quality...
Helper class for TileCal online (hardware) identifiers.
Helper class for TileCal offline identifiers.
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
Gaudi::Property< bool > m_useCoolPulseShapes
std::string m_inputDigitContainerName
Gaudi::Property< bool > m_maskBadChannels
SG::WriteHandleKey< TileDigitsContainer > m_muRcvDigitsContainerKey
int m_iTrig
Index of the triggering time slice.
SG::ReadHandleKey< TileHitContainer > m_hitContainerKey
int m_adcMax
ADC saturation value.
virtual ~TilePulseForTileMuonReceiver()
double m_tileThresh
Actual threshold value.
Gaudi::Property< bool > m_integerDigits
ServiceHandle< PileUpMergeSvc > m_mergeSvc
double m_timeStep
Time step in pulse shape: 25.0 / nBinsPerX.
SG::ReadCondHandleKey< TilePulse > m_pulseShapeKey
Name of TilePulseShape in condition store.
ServiceHandle< IAthRNGSvc > m_rndmSvc
Random number service to use.
int m_nShape
Number of bins in pulse shape.
Gaudi::Property< std::string > m_infoName
const TileCablingService * m_cablingService
TileCabling instance.
SG::WriteHandleKey< TileRawChannelContainer > m_muRcvRawChannelContainerKey
virtual StatusCode initialize() override
initialize method
const TileHWID * m_tileHWID
Gaudi::Property< bool > m_rndmEvtOverlay
virtual StatusCode execute() override
execute method
int m_binTime0
Index of time=0 bin for pulse shape.
ToolHandle< TileRawChannelBuilderMF > m_MuRcvBuildTool
const TileInfo * m_tileInfo
TilePulseForTileMuonReceiver(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadCondHandleKey< TileBadChannels > m_badChannelsKey
Name of TileBadChannels in condition store.
SG::ReadCondHandleKey< TileEMScale > m_emScaleKey
Name of TileEMScale in condition store.
int m_nBinsPerX
Number of bins per bunch crossing in pulse shape.
Gaudi::Property< bool > m_tileNoise
Gaudi::Property< bool > m_tilePedestal
Gaudi::Property< std::string > m_randomStreamName
Random Stream Name.
int m_nSamples
Number of time slices for each channel.
Gaudi::Property< bool > m_onlyUseContainerName
SG::ReadHandleKey< TileDigitsContainer > m_inputDigitContainerKey
SG::ReadCondHandleKey< TileSamplingFraction > m_samplingFractionKey
Name of TileSamplingFraction in condition store.
SG::ReadCondHandleKey< TileSampleNoise > m_sampleNoiseKey
Name of TileSampleNoise in condition store.
virtual StatusCode finalize() override
finalize method
std::vector< double > m_shapeMuonReceiver
Muon receiver pulse shape.
virtual bool isClonable() const override final