ATLAS Offline Software
ZdcMonitorAlgorithm.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ZDCMONITORALGORITHM_H
6 #define ZDCMONITORALGORITHM_H
7 
13 #include "TRandom3.h"
14 #include "array"
15 
16 #include "CoolKernel/IObject.h"
18 
19 //---------------------------------------------------
24 //---------------------------------------------------
25 #include "ZdcUtils/ZdcEventInfo.h"
27 
29 public:
34  };
43  };
44 
45  ZdcMonitorAlgorithm( const std::string& name, ISvcLocator* pSvcLocator );
46  virtual ~ZdcMonitorAlgorithm();
47  virtual StatusCode initialize() override;
48  virtual StatusCode fillHistograms( const EventContext& ctx ) const override;
49  StatusCode fillPhysicsDataHistograms( const EventContext& ctx ) const;
50 
51 private:
52  bool check_equal_within_rounding(float a, float b, float epsilon = 1e-6f) const;
53  void calculate_log_bin_edges(float min_value, float max_value, int num_bins, std::vector<float>& bin_edges);
54  float calculate_inverse_bin_width(float event_value, const std::string& variable_name, const std::vector<float>& bin_edges) const;
55 
56  Gaudi::Property<unsigned int> m_runNumber {this, "RunNumber", 0, "Run number for current job"};
58 
59  Gaudi::Property<std::string> m_zdcModuleContainerName {this, "ZdcModuleContainerName", "ZdcModules", "Location of ZDC processed data"};
60  Gaudi::Property<std::string> m_zdcSumContainerName {this, "ZdcSumContainerName", "ZdcSums", "Location of ZDC processed sums"};
61  Gaudi::Property<std::string> m_auxSuffix{this, "AuxSuffix", "", "Append this tag onto end of AuxData"};
62 
63  Gaudi::Property<float> m_expected1N{this, "Expected1NADC", 1000., "Expected 1N position in ADC"}; // only needs to indicate the rough scale, only used in the >20N cut mask
64 
65  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)"};
66  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)"};
67 
68  Gaudi::Property<float> m_moduleChisqHistMinValue{this, "ZDCModuleChisqHistMinValue", 1000., "Min value for logarithmic binning for ZDC module chisq distribution"}; // to manually calculate inverse-bin-width weight
69  Gaudi::Property<float> m_moduleChisqHistMaxvalue{this, "ZDCModuleChisqHistMaxvalue", 1000., "Max value for logarithmic binning for ZDC module chisq distribution"}; // to manually calculate inverse-bin-width weight
70  Gaudi::Property<float> m_moduleChisqHistNumBins{this, "ZDCModuleChisqHistNumBins", 1000., "Number of bins for logarithmic binning for ZDC module chisq distribution"}; // to manually calculate inverse-bin-width weight
71  Gaudi::Property<float> m_moduleChisqOverAmpHistMinValue{this, "ZDCModuleChisqOverAmpHistMinValue", 1000., "Min value for logarithmic binning for ZDC module chisq over amplitude distribution"}; // to manually calculate inverse-bin-width weight
72  Gaudi::Property<float> m_moduleChisqOverAmpHistMaxvalue{this, "ZDCModuleChisqOverAmpHistMaxvalue", 1000., "Max value for logarithmic binning for ZDC module chisq over amplitude distribution"}; // to manually calculate inverse-bin-width weight
73  Gaudi::Property<float> m_moduleChisqOverAmpHistNumBins{this, "ZDCModuleChisqOverAmpHistNumBins", 1000., "Number of bins for logarithmic binning for ZDC module chisq over amplitude distribution"}; // to manually calculate inverse-bin-width weight
74 
75  // single side triggers - less error-prone if defined as separate properties then in a vector (where order would be crucial)
76  Gaudi::Property<std::string> m_triggerSideA{this, "triggerSideA", "L1_ZDC_A", "Trigger on side A, needed for 1N-peak monitoring on side C"};
77  Gaudi::Property<std::string> m_triggerSideC{this, "triggerSideC", "L1_ZDC_C", "Trigger on side C, needed for 1N-peak monitoring on side A"};
78 
79  // ZDC UCC trigger - ultra-central event selection requiring energy sum in ZDC hadronic modules be below different thresholds
80  Gaudi::Property<std::string> m_UCCtriggerHELT15{this, "triggerUCCHELT15", "L1_ZDC_HELT15_jTE4000", "UCC trigger requiring ZDC hadronic energy be less than 15 TeV"};
81  Gaudi::Property<std::string> m_UCCtriggerHELT20{this, "triggerUCCHELT20", "L1_ZDC_HELT20_jTE4000", "UCC trigger requiring ZDC hadronic energy be less than 20 TeV"};
82  Gaudi::Property<std::string> m_UCCtriggerHELT25{this, "triggerUCCHELT25", "L1_ZDC_HELT25_jTE4000", "UCC trigger requiring ZDC hadronic energy be less than 25 TeV"};
83  Gaudi::Property<std::string> m_UCCtriggerHELT35{this, "triggerUCCHELT35", "L1_ZDC_HELT35_jTE4000", "UCC trigger requiring ZDC hadronic energy be less than 35 TeV"};
84  Gaudi::Property<std::string> m_UCCtriggerHELT50{this, "triggerUCCHELT50", "L1_ZDC_HELT50_jTE4000", "UCC trigger requiring ZDC hadronic energy be less than 50 TeV"};
85 
86  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"};
87  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"};
88  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"};
89  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"};
90  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 
92  Gaudi::Property<std::vector<std::string>> m_OOpOtriggerChains {this, "OOpOTriggers", {}, "List of trigger chains to monitor"};
93  Gaudi::Property<std::map<int,std::string>> m_OOpOL1TriggerFromCTPIDMap {this, "OOpOL1TriggerFromCTPIDMap", {}, "Map of CTP ID to trigger name for ZdcCalib PEB stream pO/OO monitoring"};
94 
95  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" };
96 
97 
98  static const int m_nSides = 2;
99  static const int m_nModules = 4;
100  static const int m_nChannels = 16;
101  static const int m_nDecodingErrorBits = 3;
102  static const int m_nUCCTrigBits = 7;
103  static const int m_nZdcStatusBits = 18;
104  static const int m_nRpdStatusBits = 15;
105  static const int m_nRpdCentroidStatusBits = 21;
106 
107  // the 2D mapping maps a string "pair" to an integer: the index of the corresponding generic monitoring tool (GMT) in the array of all GMT's
108  std::map<std::string,int> m_ZDCSideToolIndices;
109  std::map<std::string,std::map<std::string,int>> m_ZDCModuleToolIndices;
110  std::map<std::string,std::map<std::string,int>> m_RPDChannelToolIndices;
111  std::map<std::string,std::map<std::string,std::map<std::string,int>>> m_LucrodResponseSingleVoltageToolIndices;
112 
113  std::vector<float> m_ZdcModuleChisqBinEdges;
115 
116  std::shared_ptr<ZdcInjPulserAmpMap> m_zdcInjPulserAmpMap;
117 
118  //---------------------------------------------------
119 
120  // see the standalone version of the Gaudi::Property class (a wrapper in AsgTools) at
121  // athena/Control/AthToolSupport/AsgTools/AsgTools/PropertyWrapper.h
122  // input to constructor: owner, name, value, title = "" (by default)
123  Gaudi::Property<bool> m_isOnline {this,"IsOnline",false};
124  Gaudi::Property<bool> m_isSim {this,"IsSim",false}; // is simulation
125  Gaudi::Property<bool> m_CalInfoOn {this,"CalInfoOn",false};
126  Gaudi::Property<bool> m_EnableZDCSingleSideTriggers {this,"EnableZDCSingleSideTriggers",true};
127  Gaudi::Property<bool> m_EnableUCCTriggers {this,"EnableUCCTriggers",false};
128  Gaudi::Property<bool> m_EnableOOpOTriggers {this,"EnableOOpOTriggers",false};
129  Gaudi::Property<bool> m_IsPEBStream {this,"IsPEBStream",true};
130  Gaudi::Property<bool> m_isPPMode {this,"IsPPMode",true};
131  Gaudi::Property<bool> m_ispOMode {this,"IspOMode",true};
132  Gaudi::Property<bool> m_isOOMode {this,"IsOOMode",true};
133  Gaudi::Property<bool> m_isInjectedPulse {this,"IsInjectedPulse",false};
134  Gaudi::Property<bool> m_isStandalone {this,"IsStandalone",false}; // determine if standalone via metadata
135  Gaudi::Property<bool> m_enableZDC {this,"EnableZDC",true};
136  Gaudi::Property<bool> m_enableZDCPhysics {this,"EnableZDCPhysics",true};
137  Gaudi::Property<bool> m_enableRPD {this,"EnableRPD",true};
138  Gaudi::Property<bool> m_enableRPDAmp {this,"EnableRPDAmp",true};
139  Gaudi::Property<bool> m_enableCentroid {this,"EnableCentroid",true};
140 
141  Gaudi::Property<std::vector<float>> m_injPulseVoltageSteps {this, "InjPulseVoltageSteps", {0.}};
142  Gaudi::Property<std::vector<std::string>> m_injPulseVoltageStepsStr {this, "InjPulseVoltageStepsStr", {""}};
143 
144  // owner, name (allows us to modify the key in python configuration), key
145  SG::ReadHandleKey<xAOD::ZdcModuleContainer> m_ZdcSumContainerKey {this, "ZdcSumContainerKey", "ZdcSums"};
146  SG::ReadHandleKey<xAOD::ZdcModuleContainer> m_ZdcModuleContainerKey {this, "ZdcModuleContainerKey", "ZdcModules"};
147  SG::ReadHandleKey<xAOD::HIEventShapeContainer> m_HIEventShapeContainerKey {this, "HIEventShapeContainerKey", "HIEventShape"};
148 
149  SG::ReadCondHandleKey<AthenaAttributeList> m_LBLBFolderInputKey{ this, "LBLBFolderInputKey", "/TRIGGER/LUMI/LBLB" };
150 
152  // SG::ReadDecorHandleKey<xAOD::ZdcModuleContainer> m_ZdcBCIDKey {this, "ZdcBCIDKey", m_zdcSumContainerName + ".BCID" + m_auxSuffix};
154 
155  // Per-am (module sum) observables
160 
161  // Module observables
174 
175  // LG refit data
176  SG::ReadDecorHandleKey<xAOD::ZdcModuleContainer> m_ZdcModuleFitAmpLGRefitKey{this, "ZdcModuleFitAmpLGRefitKey", m_zdcModuleContainerName + ".FitAmpLGRefit" + m_auxSuffix, "ZDC module fit amp LG refit"};
177  SG::ReadDecorHandleKey<xAOD::ZdcModuleContainer> m_ZdcModuleAmpLGRefitKey{this, "ZdcModuleAmpLGRefitKey", m_zdcModuleContainerName + ".AmpLGRefit" + m_auxSuffix, "ZDC module fit amp LG refit"};
178  SG::ReadDecorHandleKey<xAOD::ZdcModuleContainer> m_ZdcModuleT0LGRefitKey{this, "ZdcModuleT0LGRefitKey", m_zdcModuleContainerName + ".T0LGRefit" + m_auxSuffix, "ZDC module fit t0 LG refit"};
179  SG::ReadDecorHandleKey<xAOD::ZdcModuleContainer> m_ZdcModuleT0SubLGRefitKey{this, "ZdcModuleT0SubLGRefitKey", m_zdcModuleContainerName + ".T0SubLGRefit" + m_auxSuffix, "ZDC module subtracted t0 LG refit"};
180  SG::ReadDecorHandleKey<xAOD::ZdcModuleContainer> m_ZdcModuleChisqLGRefitKey{this, "ZdcModuleChisqLGRefitKey", m_zdcModuleContainerName + ".ChisqLGRefit" + m_auxSuffix, "ZDC module LG refit chi square"};
181 
182  // RPD channel observables
184  SG::ReadDecorHandleKey<xAOD::ZdcModuleContainer> m_RPDChannelAmplitudeCalibKey {this, "RPDChannelAmplitudeCalibKey", m_zdcModuleContainerName + ".RPDChannelAmplitudeCalib" + m_auxSuffix};
188 
189 
191  this, "RpdChannelPileupExpFitParamsKey", m_zdcModuleContainerName+".RPDChannelPileupExpFitParams"+m_auxSuffix,
192  "RPD channel pileup exponential fit parameters: exp( [0] + [1]*sample )"};
194  this, "RPDChannelPileupFracKey", m_zdcModuleContainerName+".RPDChannelPileupFrac"+m_auxSuffix,
195  "RPD channel pileup as fraction of total (nominal baseline-subtracted) sum ADC"};
197  this, "RPDChannelSubtrAmpKey", m_zdcSumContainerName + ".RPDChannelSubtrAmp" + m_auxSuffix,
198  "RPD channel subtracted amplitudes (tile mass) used in centroid calculation"};
200  this, "RPDSubtrAmpSumKey", m_zdcSumContainerName + ".RPDSubtrAmpSum" + m_auxSuffix,
201  "Sum of RPD channel subtracted amplitudes (total mass) used in centroid calculation"};
203  this, "xCentroidKey", m_zdcSumContainerName + ".xCentroid" + m_auxSuffix,
204  "X centroid after geometry corrections and after average centroid subtraction"};
206  this, "yCentroidKey", m_zdcSumContainerName + ".yCentroid" + m_auxSuffix,
207  "Y centroid after geometry corrections and after average centroid subtraction"};
208 
210  this, "reactionPlaneAngleKey", m_zdcSumContainerName + ".reactionPlaneAngle" + m_auxSuffix,
211  "Reaction plane angle in [-pi, pi) from the positive x axis (angle of centorid on side C, angle of centroid + pi on side A)"};
213  this, "cosDeltaReactionPlaneAngleKey", m_zdcSumContainerName + ".cosDeltaReactionPlaneAngle" + m_auxSuffix,
214  "Cosine of the difference between the reaction plane angles of the two sides"};
216  this, "centroidStatusKey", m_zdcSumContainerName + ".centroidStatus" + m_auxSuffix,
217  "Centroid status word"};
219  this, "RPDSideStatusKey", m_zdcSumContainerName + ".RPDStatus" + m_auxSuffix,
220  "Centroid status word"};
221  //---------------------------------------------------
222 
223 };
224 #endif
ZdcInjPulserAmpMap.h
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
ZdcMonitorAlgorithm::fillPhysicsDataHistograms
StatusCode fillPhysicsDataHistograms(const EventContext &ctx) const
Definition: ZdcMonitorAlgorithm.cxx:202
ZdcMonitorAlgorithm::m_nSecondsRejectStartofLBInjectorPulse
Gaudi::Property< unsigned int > m_nSecondsRejectStartofLBInjectorPulse
Definition: ZdcMonitorAlgorithm.h:86
ZdcMonitorAlgorithm::m_ZdcSumAverageTimeKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcSumAverageTimeKey
Definition: ZdcMonitorAlgorithm.h:157
ZdcMonitorAlgorithm::m_ZdcModuleChisqKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleChisqKey
Definition: ZdcMonitorAlgorithm.h:168
ZdcMonitorAlgorithm::m_ZDCEnergyCutForCentroidValidBitMonitor
Gaudi::Property< float > m_ZDCEnergyCutForCentroidValidBitMonitor
Definition: ZdcMonitorAlgorithm.h:66
ZdcMonitorAlgorithm::m_minAmpRequiredLGInjectorPulse
Gaudi::Property< float > m_minAmpRequiredLGInjectorPulse
Definition: ZdcMonitorAlgorithm.h:88
ZdcMonitorAlgorithm::m_zdcSumContainerName
Gaudi::Property< std::string > m_zdcSumContainerName
Definition: ZdcMonitorAlgorithm.h:60
ReadDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
ZdcMonitorAlgorithm::UCCTrigDisabledBit
@ UCCTrigDisabledBit
Definition: ZdcMonitorAlgorithm.h:42
TrigDecision.h
ZdcMonitorAlgorithm::TrigHELT35Bit
@ TrigHELT35Bit
Definition: ZdcMonitorAlgorithm.h:38
ZdcMonitorAlgorithm::m_moduleChisqHistMaxvalue
Gaudi::Property< float > m_moduleChisqHistMaxvalue
Definition: ZdcMonitorAlgorithm.h:69
ZdcMonitorAlgorithm::m_RPDChannelToolIndices
std::map< std::string, std::map< std::string, int > > m_RPDChannelToolIndices
Definition: ZdcMonitorAlgorithm.h:110
ZdcMonitorAlgorithm::m_nRpdStatusBits
static const int m_nRpdStatusBits
Definition: ZdcMonitorAlgorithm.h:104
ZdcMonitorAlgorithm::m_RPDSideStatusKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDSideStatusKey
Definition: ZdcMonitorAlgorithm.h:218
ZdcMonitorAlgorithm::m_IsPEBStream
Gaudi::Property< bool > m_IsPEBStream
Definition: ZdcMonitorAlgorithm.h:129
ZdcMonitorAlgorithm::m_UCCtriggerHELT35
Gaudi::Property< std::string > m_UCCtriggerHELT35
Definition: ZdcMonitorAlgorithm.h:83
ZdcMonitorAlgorithm::m_ZdcSumUncalibSumKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcSumUncalibSumKey
Definition: ZdcMonitorAlgorithm.h:158
ZdcMonitorAlgorithm::m_ZdcModuleT0SubLGRefitKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleT0SubLGRefitKey
Definition: ZdcMonitorAlgorithm.h:179
ZdcMonitorAlgorithm::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: ZdcMonitorAlgorithm.cxx:1100
ZdcMonitorAlgorithm
Definition: ZdcMonitorAlgorithm.py:1
ZdcMonitorAlgorithm::m_RPDChannelPileupFracKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDChannelPileupFracKey
Definition: ZdcMonitorAlgorithm.h:193
ZdcMonitorAlgorithm::m_ZdcModuleMaxADCHGKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleMaxADCHGKey
Definition: ZdcMonitorAlgorithm.h:172
ZdcMonitorAlgorithm::m_RPDyCentroidKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDyCentroidKey
Definition: ZdcMonitorAlgorithm.h:205
CaloClusterMLCalib::epsilon
constexpr float epsilon
Definition: CaloClusterMLGaussianMixture.h:16
ZdcMonitorAlgorithm::m_RPDChannelAmplitudeCalibKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDChannelAmplitudeCalibKey
Definition: ZdcMonitorAlgorithm.h:184
ZdcMonitorAlgorithm::m_ZdcModuleContainerKey
SG::ReadHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleContainerKey
Definition: ZdcMonitorAlgorithm.h:146
ZdcMonitorAlgorithm::TrigHELT50Bit
@ TrigHELT50Bit
Definition: ZdcMonitorAlgorithm.h:37
ZdcMonitorAlgorithm::m_ZdcModuleFitT0Key
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleFitT0Key
Definition: ZdcMonitorAlgorithm.h:167
ZdcMonitorAlgorithm::m_isOnline
Gaudi::Property< bool > m_isOnline
Definition: ZdcMonitorAlgorithm.h:123
ZdcMonitorAlgorithm::m_ZdcModuleChisqLGRefitKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleChisqLGRefitKey
Definition: ZdcMonitorAlgorithm.h:180
ZdcMonitorAlgorithm::m_isSim
Gaudi::Property< bool > m_isSim
Definition: ZdcMonitorAlgorithm.h:124
ZdcMonitorAlgorithm::TrigHELT25Bit
@ TrigHELT25Bit
Definition: ZdcMonitorAlgorithm.h:39
ZdcMonitorAlgorithm::m_ZdcModuleAmpNoNonLinKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleAmpNoNonLinKey
Definition: ZdcMonitorAlgorithm.h:165
ZdcMonitorAlgorithm::m_zdcModuleContainerName
Gaudi::Property< std::string > m_zdcModuleContainerName
Definition: ZdcMonitorAlgorithm.h:59
ZdcMonitorAlgorithm::m_isPPMode
Gaudi::Property< bool > m_isPPMode
Definition: ZdcMonitorAlgorithm.h:130
ZdcMonitorAlgorithm::m_moduleChisqHistMinValue
Gaudi::Property< float > m_moduleChisqHistMinValue
Definition: ZdcMonitorAlgorithm.h:68
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
ZdcMonitorAlgorithm::m_isOOMode
Gaudi::Property< bool > m_isOOMode
Definition: ZdcMonitorAlgorithm.h:132
AthenaAttributeList.h
ZdcMonitorAlgorithm::m_injPulseVoltageSteps
Gaudi::Property< std::vector< float > > m_injPulseVoltageSteps
Definition: ZdcMonitorAlgorithm.h:141
ZdcMonitorAlgorithm::m_ZdcModuleAmpLGRefitKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleAmpLGRefitKey
Definition: ZdcMonitorAlgorithm.h:177
ZdcMonitorAlgorithm::m_nSides
static const int m_nSides
Definition: ZdcMonitorAlgorithm.h:98
ZdcMonitorAlgorithm::m_enableCentroid
Gaudi::Property< bool > m_enableCentroid
Definition: ZdcMonitorAlgorithm.h:139
ZdcMonitorAlgorithm::m_ZdcModuleFitAmpKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleFitAmpKey
Definition: ZdcMonitorAlgorithm.h:166
ZdcMonitorAlgorithm::m_ZdcModuleChisqOverAmpBinEdges
std::vector< float > m_ZdcModuleChisqOverAmpBinEdges
Definition: ZdcMonitorAlgorithm.h:114
ZdcMonitorAlgorithm::m_triggerSideA
Gaudi::Property< std::string > m_triggerSideA
Definition: ZdcMonitorAlgorithm.h:76
ZdcMonitorAlgorithm::m_RPDChannelMaxADCKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDChannelMaxADCKey
Definition: ZdcMonitorAlgorithm.h:185
ZdcMonitorAlgorithm::m_ZdcModuleCalibTimeKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleCalibTimeKey
Definition: ZdcMonitorAlgorithm.h:170
ZdcMonitorAlgorithm::m_UCCtriggerHELT50
Gaudi::Property< std::string > m_UCCtriggerHELT50
Definition: ZdcMonitorAlgorithm.h:84
AthMonitorAlgorithm
Base class for Athena Monitoring Algorithms.
Definition: AthMonitorAlgorithm.h:39
ZdcMonitorAlgorithm::m_triggerSideC
Gaudi::Property< std::string > m_triggerSideC
Definition: ZdcMonitorAlgorithm.h:77
ZdcMonitorAlgorithm::m_zdcInjPulserAmpMap
std::shared_ptr< ZdcInjPulserAmpMap > m_zdcInjPulserAmpMap
Definition: ZdcMonitorAlgorithm.h:116
ZdcMonitorAlgorithm::m_expected1N
Gaudi::Property< float > m_expected1N
Definition: ZdcMonitorAlgorithm.h:63
ZdcMonitorAlgorithm::m_HIEventShapeContainerKey
SG::ReadHandleKey< xAOD::HIEventShapeContainer > m_HIEventShapeContainerKey
Definition: ZdcMonitorAlgorithm.h:147
ZdcMonitorAlgorithm::m_moduleChisqOverAmpHistMaxvalue
Gaudi::Property< float > m_moduleChisqOverAmpHistMaxvalue
Definition: ZdcMonitorAlgorithm.h:72
ZdcMonitorAlgorithm::m_RPDSubtrAmpSumKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDSubtrAmpSumKey
Definition: ZdcMonitorAlgorithm.h:199
ZdcMonitorAlgorithm::m_ZdcModuleStatusKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleStatusKey
Definition: ZdcMonitorAlgorithm.h:162
ZdcMonitorAlgorithm::m_RPDxCentroidKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDxCentroidKey
Definition: ZdcMonitorAlgorithm.h:202
ZdcMonitorAlgorithm::m_DAQModeKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_DAQModeKey
Definition: ZdcMonitorAlgorithm.h:153
ZdcMonitorAlgorithm::m_nModules
static const int m_nModules
Definition: ZdcMonitorAlgorithm.h:99
ZdcMonitorAlgorithm::m_enableRPD
Gaudi::Property< bool > m_enableRPD
Definition: ZdcMonitorAlgorithm.h:137
ZdcMonitorAlgorithm::m_ZdcSumModuleMaskKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcSumModuleMaskKey
Definition: ZdcMonitorAlgorithm.h:159
ZdcMonitorAlgorithm::m_EnableZDCSingleSideTriggers
Gaudi::Property< bool > m_EnableZDCSingleSideTriggers
Definition: ZdcMonitorAlgorithm.h:126
ZdcMonitorAlgorithm::DecodingErrors
DecodingErrors
Definition: ZdcMonitorAlgorithm.h:30
ZdcMonitorAlgorithm::m_CalInfoOn
Gaudi::Property< bool > m_CalInfoOn
Definition: ZdcMonitorAlgorithm.h:125
ZdcMonitorAlgorithm::m_nUCCTrigBits
static const int m_nUCCTrigBits
Definition: ZdcMonitorAlgorithm.h:102
ZdcMonitorAlgorithm::m_RPDChannelStatusKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDChannelStatusKey
Definition: ZdcMonitorAlgorithm.h:187
ZdcMonitorAlgorithm::m_RPDChannelSubtrAmpKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDChannelSubtrAmpKey
Definition: ZdcMonitorAlgorithm.h:196
ZdcMonitorAlgorithm::m_ZdcModuleMaxADCLGKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleMaxADCLGKey
Definition: ZdcMonitorAlgorithm.h:173
ZdcMonitorAlgorithm::UCCTrigEnabledBit
@ UCCTrigEnabledBit
Definition: ZdcMonitorAlgorithm.h:36
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthMonitorAlgorithm.h
ZdcMonitorAlgorithm::m_RPDChannelMaxSampleKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDChannelMaxSampleKey
Definition: ZdcMonitorAlgorithm.h:186
ZdcMonitorAlgorithm::m_injMapRunToken
ZdcInjPulserAmpMap::Token m_injMapRunToken
Definition: ZdcMonitorAlgorithm.h:57
HIEventShapeContainer.h
ZdcMonitorAlgorithm::m_enableZDC
Gaudi::Property< bool > m_enableZDC
Definition: ZdcMonitorAlgorithm.h:135
ZdcMonitorAlgorithm::~ZdcMonitorAlgorithm
virtual ~ZdcMonitorAlgorithm()
Definition: ZdcMonitorAlgorithm.cxx:21
ZdcMonitorAlgorithm::m_RPDChannelAmplitudeKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDChannelAmplitudeKey
Definition: ZdcMonitorAlgorithm.h:183
ZdcMonitorAlgorithm::m_isStandalone
Gaudi::Property< bool > m_isStandalone
Definition: ZdcMonitorAlgorithm.h:134
hist_file_dump.f
f
Definition: hist_file_dump.py:140
ZdcMonitorAlgorithm::m_ZdcModuleCalibEnergyKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleCalibEnergyKey
Definition: ZdcMonitorAlgorithm.h:169
ZdcMonitorAlgorithm::m_minVInjToImposeAmpRequirementLGInjectorPulse
Gaudi::Property< float > m_minVInjToImposeAmpRequirementLGInjectorPulse
Definition: ZdcMonitorAlgorithm.h:90
ZdcMonitorAlgorithm::m_RPDChannelPileupExpFitParamsKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDChannelPileupExpFitParamsKey
Definition: ZdcMonitorAlgorithm.h:190
ZdcMonitorAlgorithm::m_auxSuffix
Gaudi::Property< std::string > m_auxSuffix
Definition: ZdcMonitorAlgorithm.h:61
ZdcMonitorAlgorithm::m_ispOMode
Gaudi::Property< bool > m_ispOMode
Definition: ZdcMonitorAlgorithm.h:131
ZdcMonitorAlgorithm::m_ZdcSumContainerKey
SG::ReadHandleKey< xAOD::ZdcModuleContainer > m_ZdcSumContainerKey
Definition: ZdcMonitorAlgorithm.h:145
ZdcMonitorAlgorithm::check_equal_within_rounding
bool check_equal_within_rounding(float a, float b, float epsilon=1e-6f) const
Definition: ZdcMonitorAlgorithm.cxx:24
ZdcMonitorAlgorithm::m_nRpdCentroidStatusBits
static const int m_nRpdCentroidStatusBits
Definition: ZdcMonitorAlgorithm.h:105
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
ZdcMonitorAlgorithm::m_enableRPDAmp
Gaudi::Property< bool > m_enableRPDAmp
Definition: ZdcMonitorAlgorithm.h:138
ZdcMonitorAlgorithm::m_minVInjToImposeAmpRequirementHGInjectorPulse
Gaudi::Property< float > m_minVInjToImposeAmpRequirementHGInjectorPulse
Definition: ZdcMonitorAlgorithm.h:89
ReadCondHandleKey.h
ZdcInjPulserAmpMap::Token
Definition: ZdcInjPulserAmpMap.h:28
ZdcMonitorAlgorithm::m_ZDCSideToolIndices
std::map< std::string, int > m_ZDCSideToolIndices
Definition: ZdcMonitorAlgorithm.h:108
ZdcMonitorAlgorithm::m_ZdcModuleFitAmpLGRefitKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleFitAmpLGRefitKey
Definition: ZdcMonitorAlgorithm.h:176
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:76
ZdcMonitorAlgorithm::m_OOpOL1TriggerFromCTPIDMap
Gaudi::Property< std::map< int, std::string > > m_OOpOL1TriggerFromCTPIDMap
Definition: ZdcMonitorAlgorithm.h:93
ZdcMonitorAlgorithm::NoDecodingErrorBit
@ NoDecodingErrorBit
Definition: ZdcMonitorAlgorithm.h:31
ZdcMonitorAlgorithm::m_ZDCModuleToolIndices
std::map< std::string, std::map< std::string, int > > m_ZDCModuleToolIndices
Definition: ZdcMonitorAlgorithm.h:109
ZdcMonitorAlgorithm::m_ZdcModuleT0LGRefitKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleT0LGRefitKey
Definition: ZdcMonitorAlgorithm.h:178
ZdcMonitorAlgorithm::m_eventTypeKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_eventTypeKey
Definition: ZdcMonitorAlgorithm.h:151
ZdcMonitorAlgorithm::m_ZdcModuleTimeKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleTimeKey
Definition: ZdcMonitorAlgorithm.h:164
EventInfo.h
ZdcMonitorAlgorithm::ZDCDecodingErrorBit
@ ZDCDecodingErrorBit
Definition: ZdcMonitorAlgorithm.h:32
SG::ReadCondHandleKey< AthenaAttributeList >
ZdcMonitorAlgorithm::m_ZdcModuleMaxADCKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleMaxADCKey
Definition: ZdcMonitorAlgorithm.h:171
ZdcMonitorAlgorithm::RPDDecodingErrorBit
@ RPDDecodingErrorBit
Definition: ZdcMonitorAlgorithm.h:33
ZdcMonitorAlgorithm::m_injPulseVoltageStepsStr
Gaudi::Property< std::vector< std::string > > m_injPulseVoltageStepsStr
Definition: ZdcMonitorAlgorithm.h:142
ZdcMonitorAlgorithm::m_EnableUCCTriggers
Gaudi::Property< bool > m_EnableUCCTriggers
Definition: ZdcMonitorAlgorithm.h:127
ZdcMonitorAlgorithm::TrigHELT15Bit
@ TrigHELT15Bit
Definition: ZdcMonitorAlgorithm.h:41
a
TList * a
Definition: liststreamerinfos.cxx:10
ZdcMonitorAlgorithm::ZdcMonitorAlgorithm
ZdcMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Definition: ZdcMonitorAlgorithm.cxx:15
ZdcMonitorAlgorithm::m_ZdcModuleAmplitudeKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcModuleAmplitudeKey
Definition: ZdcMonitorAlgorithm.h:163
ZdcMonitorAlgorithm::m_EnableOOpOTriggers
Gaudi::Property< bool > m_EnableOOpOTriggers
Definition: ZdcMonitorAlgorithm.h:128
ZdcMonitorAlgorithm::calculate_inverse_bin_width
float calculate_inverse_bin_width(float event_value, const std::string &variable_name, const std::vector< float > &bin_edges) const
Definition: ZdcMonitorAlgorithm.cxx:47
ZdcMonitorAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: ZdcMonitorAlgorithm.cxx:83
ZdcMonitorAlgorithm::m_LBLBFolderInputKey
SG::ReadCondHandleKey< AthenaAttributeList > m_LBLBFolderInputKey
Definition: ZdcMonitorAlgorithm.h:149
ZdcMonitorAlgorithm::m_UCCtriggerHELT15
Gaudi::Property< std::string > m_UCCtriggerHELT15
Definition: ZdcMonitorAlgorithm.h:80
ZdcMonitorAlgorithm::m_UCCtriggerHELT20
Gaudi::Property< std::string > m_UCCtriggerHELT20
Definition: ZdcMonitorAlgorithm.h:81
ZdcMonitorAlgorithm::m_moduleChisqHistNumBins
Gaudi::Property< float > m_moduleChisqHistNumBins
Definition: ZdcMonitorAlgorithm.h:70
ZdcMonitorAlgorithm::m_nChannels
static const int m_nChannels
Definition: ZdcMonitorAlgorithm.h:100
ZdcMonitorAlgorithm::m_moduleChisqOverAmpHistMinValue
Gaudi::Property< float > m_moduleChisqOverAmpHistMinValue
Definition: ZdcMonitorAlgorithm.h:71
ZdcMonitorAlgorithm::m_moduleChisqOverAmpHistNumBins
Gaudi::Property< float > m_moduleChisqOverAmpHistNumBins
Definition: ZdcMonitorAlgorithm.h:73
ZdcMonitorAlgorithm::m_ZdcModuleChisqBinEdges
std::vector< float > m_ZdcModuleChisqBinEdges
Definition: ZdcMonitorAlgorithm.h:113
ZdcMonitorAlgorithm::m_RPDreactionPlaneAngleKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDreactionPlaneAngleKey
Definition: ZdcMonitorAlgorithm.h:209
ZdcMonitorAlgorithm::m_isInjectedPulse
Gaudi::Property< bool > m_isInjectedPulse
Definition: ZdcMonitorAlgorithm.h:133
ReadDecorHandle.h
Handle class for reading a decoration on an object.
ZdcMonitorAlgorithm::m_runNumber
Gaudi::Property< unsigned int > m_runNumber
Definition: ZdcMonitorAlgorithm.h:56
ZdcMonitorAlgorithm::calculate_log_bin_edges
void calculate_log_bin_edges(float min_value, float max_value, int num_bins, std::vector< float > &bin_edges)
Definition: ZdcMonitorAlgorithm.cxx:28
ZdcMonitorAlgorithm::m_LucrodResponseSingleVoltageToolIndices
std::map< std::string, std::map< std::string, std::map< std::string, int > > > m_LucrodResponseSingleVoltageToolIndices
Definition: ZdcMonitorAlgorithm.h:111
SG::ReadDecorHandleKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Definition: StoreGate/StoreGate/ReadDecorHandleKey.h:85
ZdcMonitorAlgorithm::TrigHELT20Bit
@ TrigHELT20Bit
Definition: ZdcMonitorAlgorithm.h:40
ZdcMonitorAlgorithm::UCCTriggers
UCCTriggers
Definition: ZdcMonitorAlgorithm.h:35
ZdcMonitorAlgorithm::m_minAmpRequiredHGInjectorPulse
Gaudi::Property< float > m_minAmpRequiredHGInjectorPulse
Definition: ZdcMonitorAlgorithm.h:87
ZdcMonitorAlgorithm::m_RPDcosDeltaReactionPlaneAngleKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDcosDeltaReactionPlaneAngleKey
Definition: ZdcMonitorAlgorithm.h:212
ZdcMonitorAlgorithm::m_ZdcSumCalibEnergyKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_ZdcSumCalibEnergyKey
Definition: ZdcMonitorAlgorithm.h:156
ZdcModuleContainer.h
ZdcEventInfo.h
Define enumerations for event-level ZDC data.
ZdcMonitorAlgorithm::m_OOpOtriggerChains
Gaudi::Property< std::vector< std::string > > m_OOpOtriggerChains
Definition: ZdcMonitorAlgorithm.h:92
ZdcMonitorAlgorithm::m_UCCtriggerHELT25
Gaudi::Property< std::string > m_UCCtriggerHELT25
Definition: ZdcMonitorAlgorithm.h:82
ZdcMonitorAlgorithm::m_lbTimeCoolFolderName
Gaudi::Property< std::string > m_lbTimeCoolFolderName
Definition: ZdcMonitorAlgorithm.h:95
ZdcMonitorAlgorithm::m_enableZDCPhysics
Gaudi::Property< bool > m_enableZDCPhysics
Definition: ZdcMonitorAlgorithm.h:136
ZdcMonitorAlgorithm::m_RPDcentroidStatusKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_RPDcentroidStatusKey
Definition: ZdcMonitorAlgorithm.h:215
ZdcMonitorAlgorithm::m_nDecodingErrorBits
static const int m_nDecodingErrorBits
Definition: ZdcMonitorAlgorithm.h:101
ZdcMonitorAlgorithm::m_nZdcStatusBits
static const int m_nZdcStatusBits
Definition: ZdcMonitorAlgorithm.h:103
ZdcMonitorAlgorithm::m_energyCutForModuleFractMonitor
Gaudi::Property< float > m_energyCutForModuleFractMonitor
Definition: ZdcMonitorAlgorithm.h:65