|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ZDCMONITORALGORITHM_H
6 #define ZDCMONITORALGORITHM_H
16 #include "CoolKernel/IObject.h"
54 Gaudi::Property<unsigned int>
m_runNumber {
this,
"RunNumber", 0,
"Run number for current job"};
57 Gaudi::Property<std::string>
m_zdcModuleContainerName {
this,
"ZdcModuleContainerName",
"ZdcModules",
"Location of ZDC processed data"};
58 Gaudi::Property<std::string>
m_zdcSumContainerName {
this,
"ZdcSumContainerName",
"ZdcSums",
"Location of ZDC processed sums"};
59 Gaudi::Property<std::string>
m_auxSuffix{
this,
"AuxSuffix",
"",
"Append this tag onto end of AuxData"};
61 Gaudi::Property<float>
m_expected1N{
this,
"Expected1NADC", 1000.,
"Expected 1N position in ADC"};
63 Gaudi::Property<float>
m_energyCutForModuleFractMonitor{
this,
"EnergyCutForModuleFractMonitor", 13400.,
"Minimum energy sum required on each side for event to enter module fraction monitoring (default at 5 * 2680 GeV)"};
64 Gaudi::Property<float>
m_ZDCEnergyCutForCentroidValidBitMonitor{
this,
"ZDCEnergyCutForCentroidValidBitMonitor", 13400.,
"Minimum energy required in ZDC for event to enter centroid valid bit monitoring (default at 5 * 2680 GeV)"};
66 Gaudi::Property<float>
m_moduleChisqHistMinValue{
this,
"ZDCModuleChisqHistMinValue", 1000.,
"Min value for logarithmic binning for ZDC module chisq distribution"};
67 Gaudi::Property<float>
m_moduleChisqHistMaxvalue{
this,
"ZDCModuleChisqHistMaxvalue", 1000.,
"Max value for logarithmic binning for ZDC module chisq distribution"};
68 Gaudi::Property<float>
m_moduleChisqHistNumBins{
this,
"ZDCModuleChisqHistNumBins", 1000.,
"Number of bins for logarithmic binning for ZDC module chisq distribution"};
69 Gaudi::Property<float>
m_moduleChisqOverAmpHistMinValue{
this,
"ZDCModuleChisqOverAmpHistMinValue", 1000.,
"Min value for logarithmic binning for ZDC module chisq over amplitude distribution"};
70 Gaudi::Property<float>
m_moduleChisqOverAmpHistMaxvalue{
this,
"ZDCModuleChisqOverAmpHistMaxvalue", 1000.,
"Max value for logarithmic binning for ZDC module chisq over amplitude distribution"};
71 Gaudi::Property<float>
m_moduleChisqOverAmpHistNumBins{
this,
"ZDCModuleChisqOverAmpHistNumBins", 1000.,
"Number of bins for logarithmic binning for ZDC module chisq over amplitude distribution"};
74 Gaudi::Property<std::string>
m_triggerSideA{
this,
"triggerSideA",
"L1_ZDC_A",
"Trigger on side A, needed for 1N-peak monitoring on side C"};
75 Gaudi::Property<std::string>
m_triggerSideC{
this,
"triggerSideC",
"L1_ZDC_C",
"Trigger on side C, needed for 1N-peak monitoring on side A"};
78 Gaudi::Property<std::string>
m_UCCtriggerHELT15{
this,
"triggerUCCHELT15",
"L1_ZDC_HELT15_jTE4000",
"UCC trigger requiring ZDC hadronic energy be less than 15 TeV"};
79 Gaudi::Property<std::string>
m_UCCtriggerHELT20{
this,
"triggerUCCHELT20",
"L1_ZDC_HELT20_jTE4000",
"UCC trigger requiring ZDC hadronic energy be less than 20 TeV"};
80 Gaudi::Property<std::string>
m_UCCtriggerHELT25{
this,
"triggerUCCHELT25",
"L1_ZDC_HELT25_jTE4000",
"UCC trigger requiring ZDC hadronic energy be less than 25 TeV"};
81 Gaudi::Property<std::string>
m_UCCtriggerHELT35{
this,
"triggerUCCHELT35",
"L1_ZDC_HELT35_jTE4000",
"UCC trigger requiring ZDC hadronic energy be less than 35 TeV"};
82 Gaudi::Property<std::string>
m_UCCtriggerHELT50{
this,
"triggerUCCHELT50",
"L1_ZDC_HELT50_jTE4000",
"UCC trigger requiring ZDC hadronic energy be less than 50 TeV"};
84 float m_timingCutsInjectorPulse [2][4][2] = {{{30, 38}, {30, 38}, {28, 38}, {30, 38}}, {{30, 38}, {30, 38}, {30, 38}, {30, 38}}};
85 Gaudi::Property<unsigned int>
m_nSecondsRejectStartofLBInjectorPulse {
this,
"NSecondsRejectStartofLBInjectorPulse", 3,
"The number of seconds to reject at beginning of each LB in reco-amp-vs-input-voltage histograms in the injector pulse stream"};
86 Gaudi::Property<float>
m_minAmpRequiredHGInjectorPulse {
this,
"MinAmpRequiredHGInjectorPulse", 20,
"HG Minimum amplitude required for event to enter reco-amp-vs-input-voltage histograms in the injector pulse stream"};
87 Gaudi::Property<float>
m_minAmpRequiredLGInjectorPulse {
this,
"MinAmpRequiredLGInjectorPulse", 20,
"LG Minimum amplitude required for event to enter reco-amp-vs-input-voltage histograms in the injector pulse stream"};
88 Gaudi::Property<float>
m_minVInjToImposeAmpRequirementHGInjectorPulse {
this,
"MinVInjToImposeAmpRequirementHGInjectorPulse", 0.002,
"Minimum input voltage to impose HG minimum amplitude requirement in the injector pulse stream; set to negative value to cancel HG minimum-amplitude requirement"};
89 Gaudi::Property<float>
m_minVInjToImposeAmpRequirementLGInjectorPulse {
this,
"MinVInjToImposeAmpRequirementLGInjectorPulse", 0.002,
"Minimum input voltage to impose LG minimum amplitude requirement in the injector pulse stream; set to negative value to cancel LG minimum-amplitude requirement"};
91 Gaudi::Property<std::string >
m_lbTimeCoolFolderName{
this,
"LumiBlockTimeCoolFolderName",
"/TRIGGER/LUMI/LBLB",
"COOL folder in COOLONL_TRIGGER holding info about start and stop times for luminosity blocks" };
119 Gaudi::Property<bool>
m_isSim {
this,
"IsSim",
false};
181 "RPD channel pileup exponential fit parameters: exp( [0] + [1]*sample )"};
184 "RPD channel pileup as fraction of total (nominal baseline-subtracted) sum ADC"};
187 "RPD channel subtracted amplitudes (tile mass) used in centroid calculation"};
190 "Sum of RPD channel subtracted amplitudes (total mass) used in centroid calculation"};
193 "X centroid after geometry corrections and after average centroid subtraction"};
196 "Y centroid after geometry corrections and after average centroid subtraction"};
200 "Reaction plane angle in [-pi, pi) from the positive x axis (angle of centorid on side C, angle of centroid + pi on side A)"};
203 "Cosine of the difference between the reaction plane angles of the two sides"};
206 "Centroid status word"};
209 "Centroid status word"};
StatusCode fillPhysicsDataHistograms(const EventContext &ctx) const
Gaudi::Property< unsigned int > m_nSecondsRejectStartofLBInjectorPulse
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcSumAverageTimeKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleChisqKey
Gaudi::Property< float > m_ZDCEnergyCutForCentroidValidBitMonitor
Gaudi::Property< float > m_minAmpRequiredLGInjectorPulse
Gaudi::Property< std::string > m_zdcSumContainerName
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Gaudi::Property< float > m_moduleChisqHistMaxvalue
std::map< std::string, std::map< std::string, int > > m_RPDChannelToolIndices
static const int m_nRpdStatusBits
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDSideStatusKey
Gaudi::Property< std::string > m_UCCtriggerHELT35
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcSumUncalibSumKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleT0SubLGRefitKey
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDChannelPileupFracKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleMaxADCHGKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDyCentroidKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDChannelAmplitudeCalibKey
SG::ReadHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleContainerKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleFitT0Key
Gaudi::Property< bool > m_isOnline
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleChisqLGRefitKey
Gaudi::Property< bool > m_isSim
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleAmpNoNonLinKey
Gaudi::Property< std::string > m_zdcModuleContainerName
Gaudi::Property< bool > m_isPPMode
Gaudi::Property< float > m_moduleChisqHistMinValue
Property holding a SG store/key/clid from which a ReadHandle is made.
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleAmpLGRefitKey
static const int m_nSides
Gaudi::Property< bool > m_enableCentroid
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleFitAmpKey
std::vector< float > m_ZdcModuleChisqOverAmpBinEdges
Gaudi::Property< std::string > m_triggerSideA
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDChannelMaxADCKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleCalibTimeKey
Gaudi::Property< std::string > m_UCCtriggerHELT50
Base class for Athena Monitoring Algorithms.
Gaudi::Property< std::string > m_triggerSideC
std::shared_ptr< ZdcInjPulserAmpMap > m_zdcInjPulserAmpMap
Gaudi::Property< float > m_expected1N
SG::ReadHandleKey< xAOD::HIEventShapeContainer > m_HIEventShapeContainerKey
Gaudi::Property< float > m_moduleChisqOverAmpHistMaxvalue
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDSubtrAmpSumKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleStatusKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDxCentroidKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_DAQModeKey
static const int m_nModules
Gaudi::Property< bool > m_enableRPD
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcSumModuleMaskKey
Gaudi::Property< bool > m_EnableZDCSingleSideTriggers
Gaudi::Property< bool > m_CalInfoOn
static const int m_nUCCTrigBits
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDChannelStatusKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDChannelSubtrAmpKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleMaxADCLGKey
::StatusCode StatusCode
StatusCode definition for legacy code.
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDChannelMaxSampleKey
ZdcInjPulserAmpMap::Token m_injMapRunToken
Gaudi::Property< bool > m_enableZDC
virtual ~ZdcMonitorAlgorithm()
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDChannelAmplitudeKey
Gaudi::Property< bool > m_isStandalone
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleCalibEnergyKey
Gaudi::Property< float > m_minVInjToImposeAmpRequirementLGInjectorPulse
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDChannelPileupExpFitParamsKey
Gaudi::Property< std::string > m_auxSuffix
SG::ReadHandleKey< xAOD::ZdcModuleContainer > m_ZdcSumContainerKey
static const int m_nRpdCentroidStatusBits
Header file to be included by clients of the Monitored infrastructure.
Gaudi::Property< bool > m_enableRPDAmp
Gaudi::Property< float > m_minVInjToImposeAmpRequirementHGInjectorPulse
std::map< std::string, int > m_ZDCSideToolIndices
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleFitAmpLGRefitKey
std::map< std::string, std::map< std::string, int > > m_ZDCModuleToolIndices
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleT0LGRefitKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_eventTypeKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleTimeKey
float m_timingCutsInjectorPulse[2][4][2]
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleMaxADCKey
Gaudi::Property< bool > m_EnableUCCTriggers
ZdcMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleAmplitudeKey
float calculate_inverse_bin_width(float event_value, const std::string &variable_name, const std::vector< float > &bin_edges) const
virtual StatusCode initialize() override
initialize
SG::ReadCondHandleKey< AthenaAttributeList > m_LBLBFolderInputKey
Gaudi::Property< std::string > m_UCCtriggerHELT15
Gaudi::Property< std::string > m_UCCtriggerHELT20
Gaudi::Property< float > m_moduleChisqHistNumBins
static const int m_nChannels
Gaudi::Property< float > m_moduleChisqOverAmpHistMinValue
Gaudi::Property< float > m_moduleChisqOverAmpHistNumBins
std::vector< float > m_ZdcModuleChisqBinEdges
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDreactionPlaneAngleKey
Gaudi::Property< bool > m_isInjectedPulse
Handle class for reading a decoration on an object.
Gaudi::Property< unsigned int > m_runNumber
void calculate_log_bin_edges(float min_value, float max_value, int num_bins, std::vector< float > &bin_edges)
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Gaudi::Property< float > m_minAmpRequiredHGInjectorPulse
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDcosDeltaReactionPlaneAngleKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcSumCalibEnergyKey
Define enumerations for event-level ZDC data.
Gaudi::Property< std::string > m_UCCtriggerHELT25
Gaudi::Property< std::string > m_lbTimeCoolFolderName
Gaudi::Property< bool > m_enableZDCPhysics
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDcentroidStatusKey
static const int m_nDecodingErrorBits
static const int m_nZdcStatusBits
Gaudi::Property< float > m_energyCutForModuleFractMonitor