ATLAS Offline Software
LArCellMonAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 // based on LArCellMonTool by W.Lampl (Spring 2017: Major re-design, early 2020: migration to AthenaMT)
5 
6 #ifndef CALOMONITORING_LARCELLMONALG_H
7 #define CALOMONITORING_LARCELLMONALG_H
8 
9 #include "CaloMonAlgBase.h"
10 
13 
16 
21 
23 
24 #include "LArCellBinning.h"
25 
26 #include <vector>
27 #include <string>
28 #include <bitset>
29 #include <array>
30 #include <map>
31 #include <unordered_map>
32 
33 namespace Trig {
34  class ChainGroup;
35 }
36 
37 class CaloCell;
38 class TileID;
39 
40 
41 class LArCellMonAlg : public CaloMonAlgBase {
42 
43  public:
44 
45  LArCellMonAlg(const std::string& name, ISvcLocator* pSvcLocator);
47 
48  virtual StatusCode initialize() override final;
49  virtual StatusCode fillHistograms(const EventContext& ctx) const override final;
50 
51 
52 private:
53 
54  // Job properties
55  SG::ReadHandleKey<CaloCellContainer> m_cellContainerKey{this,"CaloCellContainer","AllCalo","SG key of the input cell container"};
56 
57  Gaudi::Property<std::string> m_MonGroupName {this, "MonGroupName", "LArCellMonGroup"};
58  Gaudi::Property<std::string> m_MonGroupNamePerJob {this, "MonGroupName_perJob"};
59  Gaudi::Property<std::string> m_groupnameTotalOccupancyEtaPhi {this, "MonGroupName_OccupancyEtaPhi"};
60  Gaudi::Property<std::string> m_groupnamePercentageOccupancyEtaPhi {this, "MonGroupName_PercentageOccupancyEtaPhi"};
61  Gaudi::Property<std::string> m_groupnameOccupancyEta {this, "MonGroupName_OccupancyEta"};
62  Gaudi::Property<std::string> m_groupnameOccupancyPhi {this, "MonGroupName_OccupancyPhi"};
63  Gaudi::Property<std::string> m_groupnameTotEnergyEtaPhi {this, "MonGroupName_TotEnergyEtaPhi"};
64  Gaudi::Property<std::string> m_groupnameTotQualityEtaPhi {this, "MonGroupName_AvgQualityEtaPhi"};
65  Gaudi::Property<std::string> m_groupnameFractionOverQthEtaPhi {this, "MonGroupName_FractionOverQthEtaPhi"};
66  Gaudi::Property<std::string> m_groupnameTotTimeEtaPhi {this, "MonGroupName_AvgTimeEtaPhi"};
67  Gaudi::Property<std::string> m_groupnameFractionPastTthEtaPhi {this, "MonGroupName_FractionPastTthEtaPhi"};
68 
69  SG::ReadCondHandleKey<CaloNoise> m_noiseCDOKey{this,"CaloNoiseKey","totalNoise","SG Key of CaloNoise data object"};
70 
71  //Tool maps, for thr. histograms
72  std::map<std::string,std::map<std::string,int>> m_toolmapAll;
73 
74  //Histogram path in root file:
75 
76  // Thresholds for time and Time vs Energy plots:
77  // Energy thresholds hardcoded following official timing analysis. See for example:
78  // https://indico.cern.ch/event/522351/
79  FloatArrayProperty m_eCutForTiming {this, "EcutForTiming",
80  //EMBPNS=0, EMB1NS, EMB2NS, EMB3NS, HEC0NS, HEC1NS, HEC2NS, HEC3NS,EMECPNS,EMEC1NS,EMEC2NS,EMEC3NS,FCAL1NS,FCAL2NS,FCAL3NS
81  {1000., 1000., 3000., 1500., 3500., 3500., 3500., 3500., 1500., 3000., 3000., 2000., 10000., 10000., 10000.}
82  };
83 
84  StringArrayProperty m_layerNames{this, "LayerNames", {"EMBPA", "EMBPC", "EMB1A", "EMB1C", "EMB2A", "EMB2C", "EMB3A", "EMB3C",
85  "HEC0A", "HEC0C", "HEC1A", "HEC1C", "HEC2A", "HEC2C", "HEC3A", "HEC3C",
86  "EMECPA", "EMECPC", "EMEC1A", "EMEC1C", "EMEC2A", "EMEC2C", "EMEC3A", "EMEC3C",
87  "FCAL1A", "FCAL1C", "FCAL2A", "FCAL2C", "FCAL3A", "FCAL3C"},
88  "Names of individual layers to monitor"};
89  IntegerArrayProperty m_layerNcells{this,"LayerNcells",{ 3905, 3905, 29376, 29376, 14595, 14595, 6912, 6912,
90  768, 768, 736, 736, 672, 672, 640, 640,
91  768, 768, 14272, 14272, 11712, 11712, 5120, 5120,
92  1008, 1008, 500, 500, 254, 254},
93  "Number of expected cells per layer"};
94 
95  StringArrayProperty m_partitionNames{this, "PartitionNames", {"EMBA","EMBC","EMECA","EMECC","HECA","HECC","FCALA","FCALC"}};
96 
97  // Trigger Awareness:
98  //Enumerations of possible threshold directions and trigger types:
101 
102  BooleanProperty m_useTrigger{this, "useTrigger", true};
103  StringProperty m_triggerNames[NOTA];
104 
105  BooleanProperty m_ignoreKnownBadChannels{this, "MaskBadChannels", false, "Do not fill histograms with values from known bad channels"};
106  BooleanProperty m_maskNoCondChannels{this, "MaskNoCondChannels", false, "Do not fill histograms with values from cells reco'ed w/o conditions database"};
107 
108  BooleanArrayProperty m_doBeamBackgroundRemovalProp{this, "DoBeamBackgroundRemoval"};
109  BooleanProperty m_doKnownBadChannelsVsEtaPhi{this, "doKnownBadChannelsVsEtaPhi", true};
110  BooleanProperty m_doDatabaseNoiseVsEtaPhi{this, "doDatabaseNoiseVsEtaPhi", true};
111  // Switch on/off additional (non thresholded) histograms:
112  BooleanProperty m_doEnergyVsTime{this, "doEnergyVsTime", true};
113  BooleanProperty m_doUnnormalized1DEnergy{this, "doUnnormalized1DEnergy", false};
114 
115  //threshold for sporadic plots
116  BooleanProperty m_sporadic_switch{this, "Sporadic_switch", false};
117  FloatProperty m_threshold_em_S0S1{this, "Threshold_EM_S0S1", 5000.};
118  FloatProperty m_threshold_HECFCALEMS2S3{this, "Threshold_HECFCALEMS2S3", 15000.};
119  UnsignedIntegerProperty m_sporadicPlotLimit{this, "NsporadicPlotLimit", 300};
120  UnsignedIntegerProperty m_sporadic_protc{this, "Sporadic_protection", 4000};
121  UnsignedIntegerProperty m_minSporadicNoiseEventsPerCell{this, "minSporadicEvents", 10};
122 
123  // Switch on/off thresholded histograms for each threshold:
124  StringArrayProperty m_thresholdNameProp{this, "ThresholdType", {},"Vector of threshold names"};
125  StringArrayProperty m_thresholdColumnType{this, "ThresholdColumnType",{}};
126  StringArrayProperty m_thresholdDirectionProp{this, "ThresholdDirection", {}, "Vector of threshold directions"};
127  StringArrayProperty m_triggersToIncludeProp{this, "TriggersToInclude", {}};
128  StringArrayProperty m_triggersToExcludeProp{this, "TriggersToExclude", {}};
129  StringArrayProperty m_thresholdTitleTemplates{this, "ThresholdTitleTemplates", {}};
130  FloatArrayProperty m_defaultThresholds{this, "DefaultThresholds", {}};
131  BooleanArrayProperty m_inSigNoise{this, "ThresholdinSigNoise", {}};
132 
133  FloatArrayProperty m_timeThresholdProp{this, "TimeThreshold"};
134  FloatArrayProperty m_qualityFactorThresholdProp{this, "QualityFactorThreshold",{}};
135  //string arrays for histogram filling
136  StringArrayProperty m_doEtaPhiTotalOccupancyNames{this, "DoEtaPhiTotalOccupancyNames", {}};
137  StringArrayProperty m_doEtaPhiPercentageOccupancyNames{this, "DoEtaPhiPercentageOccupancyNames", {}};
138  StringArrayProperty m_doEtaOccupancyNames{this, "DoEtaOccupancyNames", {}};
139  StringArrayProperty m_doPhiOccupancyNames{this, "DoPhiOccupancyNames", {}};
140  StringArrayProperty m_doEtaPhiTotEnergyNames{this, "DoEtaPhiTotEnergyNames", {}};
141  StringArrayProperty m_doEtaPhiAvgQualityNames{this, "DoEtaPhiAvgQualityNames", {},"Turns on 'totQuality' and total 'Occupancy' plots. The ratio will be computed at post-processing stage"};
142  StringArrayProperty m_doEtaPhiFractionOverQthNames{this, "DoEtaPhiFractionOverQthNames", {}};
143  StringArrayProperty m_doEtaPhiAvgTimeNames{this, "DoEtaPhiAvgTimeNames", {},"Turns on 'totTime' and total 'Occupancy' plots. The ratio will be computed at post-processing stage"};
144  StringArrayProperty m_doEtaPhiFractionPastTthNames{this, "DoEtaPhiFractionPastTthNames", {}};
145 
146 
147 
148 
149  FloatArrayProperty m_thresholdsProp[MAXLYRNS];
150 
151  //Enumerate partitions
153 
154 
155  //Private methods: Initialization and job-option interpretation
157  void setLArCellBinning();
158  static bool isThrListed(const std::vector<std::string>& vec, const std::string& s) ;
159  //void resetInternals();
160 
161  static std::string strToLower(const std::string& input) ;
162 
163  //The threshold-related variables and histograms are grouped in the following struct
164  //one instance per threshold-type
165 
166  struct threshold_t {
167  //Configuration variables
168  std::string m_threshName;
169  std::string m_threshTitleTemplate;
170  std::array<float,MAXLYRNS> m_threshValue{{}};
171  std::array<std::string,MAXLYRNS> m_threshTitles;
172  size_t m_thrIndex;
173 
174  bool m_inSigNoise=false;
178  float m_timeThreshold=4.;
179 
180  //Variables related to trigger-filtering
181  std::bitset<MAXTRIGTYPE> m_triggersToInclude;
182  std::bitset<MAXTRIGTYPE> m_triggersToExclude;
184 
185  //Switch histograms on/off
188  bool m_doEtaOccupancy=false;
189  bool m_doPhiOccupancy=false;
190 
192  // bool m_doEtaPhiAverageEnergy=false;
193 
196 
199 
200  };
201 
202 
203 
204  //Mapping of layers to the partition the layer belongs to
205  const std::array<PartitionEnum,MAXLAYER> m_layerEnumtoPartitionEnum{{
206  EMBA, EMBC, EMBA, EMBC, EMBA, EMBC, EMBA, EMBC,
207  HECA, HECC, HECA, HECC, HECA, HECC, HECA, HECC,
210  }};
211 
212  //Private methods: Histogram filling
213  StatusCode createPerJobHistograms(const CaloCellContainer* cellcont, const CaloNoise *noisep) const;
214  void checkTriggerAndBeamBackground(bool passBeamBackgroundRemoval, std::vector<threshold_t> &thresholds) const;
216 
217  // bad channel mask
219  Gaudi::Property<std::vector<std::string> > m_problemsToMask{this,"ProblemsToMask",{}, "Bad-Channel categories to mask"};
220 
221  std::vector<threshold_t> m_thresholds;
222 
223  // Identifer helpers and such
224 
226 
227  SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
228  SG::ReadCondHandleKey<LArBadChannelCont> m_BCKey {this, "BadChanKey", "LArBadChannel", "SG key for LArBadChan object"};
229 
230  std::array<CaloMonitoring::LArCellBinning,MAXLAYER> m_binning;
231 
232  //Sporadic monitoring related variables and structs
233 
234 };
235 
236 #endif
237 
238 //Histograms dropped during the redesign in spring 2017:
239 // * All inverse-masking
240 // * Cell Occupancy Eta/Phi Vs LumiBlock
241 // * DBNoiseNormalizedEnergy per layer
242 // * doEtaPhiEnergyRMS per layer and threshold
243 // * DoEtaPhiRMSvsDBnoise per layer and threshold
244 
LArCellMonAlg::m_thresholdTitleTemplates
StringArrayProperty m_thresholdTitleTemplates
Definition: LArCellMonAlg.h:129
LArCellMonAlg::NONE
@ NONE
Definition: LArCellMonAlg.h:99
LArCellMonAlg::MAXTRIGTYPE
@ MAXTRIGTYPE
Definition: LArCellMonAlg.h:100
LArCellMonAlg::m_timeThresholdProp
FloatArrayProperty m_timeThresholdProp
Definition: LArCellMonAlg.h:133
LArCellMonAlg::m_doEtaPhiTotalOccupancyNames
StringArrayProperty m_doEtaPhiTotalOccupancyNames
Definition: LArCellMonAlg.h:136
LArCellMonAlg::EMBA
@ EMBA
Definition: LArCellMonAlg.h:152
LArCellMonAlg::m_triggerNames
StringProperty m_triggerNames[NOTA]
Definition: LArCellMonAlg.h:103
LArCellMonAlg::MISC
@ MISC
Definition: LArCellMonAlg.h:100
LArCellMonAlg::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override final
adds event to the monitoring histograms
Definition: LArCellMonAlg.cxx:430
LArCellMonAlg::m_doEtaPhiAvgQualityNames
StringArrayProperty m_doEtaPhiAvgQualityNames
Definition: LArCellMonAlg.h:141
LArCellMonAlg::m_thresholdsProp
FloatArrayProperty m_thresholdsProp[MAXLYRNS]
Definition: LArCellMonAlg.h:149
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
LArCellMonAlg::HECC
@ HECC
Definition: LArCellMonAlg.h:152
ReadCellNoiseFromCool.cell
cell
Definition: ReadCellNoiseFromCool.py:53
LArCellMonAlg::m_eCutForTiming
FloatArrayProperty m_eCutForTiming
Definition: LArCellMonAlg.h:79
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
LArCellMonAlg::m_threshold_em_S0S1
FloatProperty m_threshold_em_S0S1
Definition: LArCellMonAlg.h:117
LArCellMonAlg::UNDER
@ UNDER
Definition: LArCellMonAlg.h:99
LArCellMonAlg::m_BCKey
SG::ReadCondHandleKey< LArBadChannelCont > m_BCKey
Definition: LArCellMonAlg.h:228
LArCellMonAlg::LArCellMonAlg
LArCellMonAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: LArCellMonAlg.cxx:32
LArCellMonAlg::m_doEtaOccupancyNames
StringArrayProperty m_doEtaOccupancyNames
Definition: LArCellMonAlg.h:138
LArCellMonAlg::m_doEtaPhiPercentageOccupancyNames
StringArrayProperty m_doEtaPhiPercentageOccupancyNames
Definition: LArCellMonAlg.h:137
Trig
The common trigger namespace for trigger analysis tools.
Definition: CaloTowerVecMon.h:44
LArCellMonAlg::m_doBeamBackgroundRemovalProp
BooleanArrayProperty m_doBeamBackgroundRemovalProp
Definition: LArCellMonAlg.h:108
LArCellMonAlg::m_sporadic_protc
UnsignedIntegerProperty m_sporadic_protc
Definition: LArCellMonAlg.h:120
LArCellMonAlg::m_doEtaPhiFractionOverQthNames
StringArrayProperty m_doEtaPhiFractionOverQthNames
Definition: LArCellMonAlg.h:142
LArCellMonAlg::CALO
@ CALO
Definition: LArCellMonAlg.h:100
LArCellMonAlg::m_doEnergyVsTime
BooleanProperty m_doEnergyVsTime
Definition: LArCellMonAlg.h:112
ReadCellNoiseFromCool.cabling
cabling
Definition: ReadCellNoiseFromCool.py:154
LArCellMonAlg::m_bcMask
LArBadChannelMask m_bcMask
Definition: LArCellMonAlg.h:218
LArCellMonAlg::~LArCellMonAlg
~LArCellMonAlg()
LArCellMonAlg::threshold_t::m_thrIndex
size_t m_thrIndex
Part of the histogram title (containing the threshold value, so per-layer)
Definition: LArCellMonAlg.h:172
LArCellMonAlg::m_triggersToExcludeProp
StringArrayProperty m_triggersToExcludeProp
Definition: LArCellMonAlg.h:128
LArCellMonAlg::strToLower
static std::string strToLower(const std::string &input)
Definition: LArCellMonAlg.cxx:685
LArCellMonAlg::BOTH
@ BOTH
Definition: LArCellMonAlg.h:99
TrigDecisionTool.h
LArCellMonAlg::m_useTrigger
BooleanProperty m_useTrigger
Definition: LArCellMonAlg.h:102
LArCellMonAlg::FCALA
@ FCALA
Definition: LArCellMonAlg.h:152
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
LArCellMonAlg::m_triggersToIncludeProp
StringArrayProperty m_triggersToIncludeProp
Definition: LArCellMonAlg.h:127
LArCellMonAlg::threshold_t::m_threshValue
std::array< float, MAXLYRNS > m_threshValue
Histogram title template.
Definition: LArCellMonAlg.h:170
LArCellMonAlg::m_inSigNoise
BooleanArrayProperty m_inSigNoise
Definition: LArCellMonAlg.h:131
LArCellMonAlg::m_ignoreKnownBadChannels
BooleanProperty m_ignoreKnownBadChannels
Definition: LArCellMonAlg.h:105
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
LArCellMonAlg::m_doEtaPhiFractionPastTthNames
StringArrayProperty m_doEtaPhiFractionPastTthNames
Definition: LArCellMonAlg.h:144
LArCellMonAlg::m_doPhiOccupancyNames
StringArrayProperty m_doPhiOccupancyNames
Definition: LArCellMonAlg.h:139
LArCellMonAlg::m_doKnownBadChannelsVsEtaPhi
BooleanProperty m_doKnownBadChannelsVsEtaPhi
Definition: LArCellMonAlg.h:109
LArCellMonAlg::EMBC
@ EMBC
Definition: LArCellMonAlg.h:152
LArCellMonAlg::initialize
virtual StatusCode initialize() override final
initialize
Definition: LArCellMonAlg.cxx:71
LArCellMonAlg::m_sporadic_switch
BooleanProperty m_sporadic_switch
Definition: LArCellMonAlg.h:116
LArCellMonAlg::Direction
Direction
Definition: LArCellMonAlg.h:99
LArCellMonAlg::EMECC
@ EMECC
Definition: LArCellMonAlg.h:152
LArCellMonAlg::sporadicNoiseCandidate
void sporadicNoiseCandidate(const CaloCell *cell, const LArCellMonAlg::LayerEnum iLyr, const float threshold, const LArOnOffIdMapping *cabling) const
LArBadChannelCont.h
LArCellMonAlg::m_groupnameFractionPastTthEtaPhi
Gaudi::Property< std::string > m_groupnameFractionPastTthEtaPhi
Definition: LArCellMonAlg.h:67
LArCellMonAlg::m_thresholdColumnType
StringArrayProperty m_thresholdColumnType
Definition: LArCellMonAlg.h:125
LArCellMonAlg::m_MonGroupNamePerJob
Gaudi::Property< std::string > m_MonGroupNamePerJob
Definition: LArCellMonAlg.h:58
LArCellMonAlg::m_doEtaPhiAvgTimeNames
StringArrayProperty m_doEtaPhiAvgTimeNames
Definition: LArCellMonAlg.h:143
LArCellMonAlg::threshold_t::m_doEtaPhiAverageTime
bool m_doEtaPhiAverageTime
Definition: LArCellMonAlg.h:197
LArCellMonAlg::m_problemsToMask
Gaudi::Property< std::vector< std::string > > m_problemsToMask
Definition: LArCellMonAlg.h:219
LArCellMonAlg::m_layerNcells
IntegerArrayProperty m_layerNcells
Definition: LArCellMonAlg.h:89
LArCellMonAlg::OVER
@ OVER
Definition: LArCellMonAlg.h:99
CaloMonAlgBase.h
CaloMonAlgBase::LayerEnum
LayerEnum
Definition: CaloMonAlgBase.h:48
LArOnOffIdMapping.h
LArCellMonAlg::m_doUnnormalized1DEnergy
BooleanProperty m_doUnnormalized1DEnergy
Definition: LArCellMonAlg.h:113
LArCellMonAlg::m_groupnameTotQualityEtaPhi
Gaudi::Property< std::string > m_groupnameTotQualityEtaPhi
Definition: LArCellMonAlg.h:64
LArCellMonAlg::MINBIAS
@ MINBIAS
Definition: LArCellMonAlg.h:100
LArCellMonAlg::m_thresholdNameProp
StringArrayProperty m_thresholdNameProp
Definition: LArCellMonAlg.h:124
LArCellMonAlg::m_layerEnumtoPartitionEnum
const std::array< PartitionEnum, MAXLAYER > m_layerEnumtoPartitionEnum
Definition: LArCellMonAlg.h:205
TileID
Helper class for TileCal offline identifiers.
Definition: TileID.h:68
LArCellMonAlg::threshold_t::m_doEtaPhiTotalEnergy
bool m_doEtaPhiTotalEnergy
Definition: LArCellMonAlg.h:191
LArCellMonAlg::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: LArCellMonAlg.h:227
LArCellMonAlg::m_MonGroupName
Gaudi::Property< std::string > m_MonGroupName
Definition: LArCellMonAlg.h:57
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArCellMonAlg::threshold_t::m_timeThreshold
float m_timeThreshold
Definition: LArCellMonAlg.h:178
LArCellMonAlg::threshold_t::m_threshDirection
Direction m_threshDirection
Absolute threshold or in sigma noise?
Definition: LArCellMonAlg.h:175
LArCellMonAlg::m_defaultThresholds
FloatArrayProperty m_defaultThresholds
Definition: LArCellMonAlg.h:130
LArCellMonAlg::NOTA
@ NOTA
Definition: LArCellMonAlg.h:100
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
LArCellMonAlg::m_toolmapAll
std::map< std::string, std::map< std::string, int > > m_toolmapAll
Definition: LArCellMonAlg.h:72
LArCellMonAlg::m_groupnameTotTimeEtaPhi
Gaudi::Property< std::string > m_groupnameTotTimeEtaPhi
Definition: LArCellMonAlg.h:66
LArCellMonAlg::threshold_t::m_doBeamBackgroundRemoval
bool m_doBeamBackgroundRemoval
Definition: LArCellMonAlg.h:176
LArCellMonAlg::m_groupnameTotalOccupancyEtaPhi
Gaudi::Property< std::string > m_groupnameTotalOccupancyEtaPhi
Definition: LArCellMonAlg.h:59
LArCellMonAlg::threshold_t::m_triggersToInclude
std::bitset< MAXTRIGTYPE > m_triggersToInclude
Definition: LArCellMonAlg.h:181
LArCellMonAlg::threshold_t::m_inSigNoise
bool m_inSigNoise
for filling in the eventCount plot
Definition: LArCellMonAlg.h:174
LArCellMonAlg::m_cellContainerKey
SG::ReadHandleKey< CaloCellContainer > m_cellContainerKey
Definition: LArCellMonAlg.h:55
LArCellMonAlg::threshold_t::m_doPhiOccupancy
bool m_doPhiOccupancy
Definition: LArCellMonAlg.h:189
LArCellMonAlg::m_qualityFactorThresholdProp
FloatArrayProperty m_qualityFactorThresholdProp
Definition: LArCellMonAlg.h:134
LArCellMonAlg::threshold_t::m_doEtaPhiFractionOverQth
bool m_doEtaPhiFractionOverQth
Definition: LArCellMonAlg.h:195
LArCellMonAlg::threshold_t::m_threshName
std::string m_threshName
Definition: LArCellMonAlg.h:168
LArCellMonAlg::EMECA
@ EMECA
Definition: LArCellMonAlg.h:152
LArCellMonAlg::MET
@ MET
Definition: LArCellMonAlg.h:100
LArCellMonAlg::threshold_t::m_qualityFactorThreshold
float m_qualityFactorThreshold
Definition: LArCellMonAlg.h:177
LArCellMonAlg
Definition: LArCellMonAlg.py:1
LArCellMonAlg::RNDM
@ RNDM
Definition: LArCellMonAlg.h:100
ReadCondHandleKey.h
CaloNoise
Definition: CaloNoise.h:16
LArCellMonAlg::threshold_t::m_doPercentageOccupancy
bool m_doPercentageOccupancy
Definition: LArCellMonAlg.h:186
LArCellMonAlg::HECA
@ HECA
Definition: LArCellMonAlg.h:152
LArCellMonAlg::threshold_t::m_doEtaOccupancy
bool m_doEtaOccupancy
Definition: LArCellMonAlg.h:188
CaloMonAlgBase::MAXLYRNS
@ MAXLYRNS
Definition: CaloMonAlgBase.h:55
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
IdentifierHash.h
CaloNoise.h
LArCellMonAlg::FCALC
@ FCALC
Definition: LArCellMonAlg.h:152
threshold
Definition: chainparser.cxx:74
LArCellMonAlg::initThresh
StatusCode initThresh()
Definition: LArCellMonAlg.cxx:119
LArCellBinning.h
LArCellMonAlg::createPerJobHistograms
StatusCode createPerJobHistograms(const CaloCellContainer *cellcont, const CaloNoise *noisep) const
Definition: LArCellMonAlg.cxx:629
LArOnlineID
Definition: LArOnlineID.h:20
LArCellMonAlg::m_doEtaPhiTotEnergyNames
StringArrayProperty m_doEtaPhiTotEnergyNames
Definition: LArCellMonAlg.h:140
CaloCellContainer
Container class for CaloCell.
Definition: CaloCellContainer.h:55
LArCellMonAlg::m_thresholdDirectionProp
StringArrayProperty m_thresholdDirectionProp
Definition: LArCellMonAlg.h:126
LArCellMonAlg::m_minSporadicNoiseEventsPerCell
UnsignedIntegerProperty m_minSporadicNoiseEventsPerCell
Definition: LArCellMonAlg.h:121
SG::ReadCondHandleKey< CaloNoise >
LArCellMonAlg::m_noiseCDOKey
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
Definition: LArCellMonAlg.h:69
LArCellMonAlg::m_groupnamePercentageOccupancyEtaPhi
Gaudi::Property< std::string > m_groupnamePercentageOccupancyEtaPhi
Definition: LArCellMonAlg.h:60
LArCellMonAlg::m_LArOnlineIDHelper
const LArOnlineID * m_LArOnlineIDHelper
Definition: LArCellMonAlg.h:225
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
LArCellMonAlg::isThrListed
static bool isThrListed(const std::vector< std::string > &vec, const std::string &s)
Definition: LArCellMonAlg.cxx:693
LArCellMonAlg::threshold_t::m_threshTitles
std::array< std::string, MAXLYRNS > m_threshTitles
The actual threshold (per layer)
Definition: LArCellMonAlg.h:171
LArCellMonAlg::m_binning
std::array< CaloMonitoring::LArCellBinning, MAXLAYER > m_binning
Definition: LArCellMonAlg.h:230
LArCellMonAlg::checkTriggerAndBeamBackground
void checkTriggerAndBeamBackground(bool passBeamBackgroundRemoval, std::vector< threshold_t > &thresholds) const
Definition: LArCellMonAlg.cxx:289
LArCellMonAlg::threshold_t::m_doEtaPhiFractionPastTth
bool m_doEtaPhiFractionPastTth
Definition: LArCellMonAlg.h:198
LArCellMonAlg::threshold_t::m_threshTriggerDecision
bool m_threshTriggerDecision
Definition: LArCellMonAlg.h:183
LArCellMonAlg::threshold_t::m_threshTitleTemplate
std::string m_threshTitleTemplate
Name of this threshold.
Definition: LArCellMonAlg.h:169
LArCellMonAlg::m_sporadicPlotLimit
UnsignedIntegerProperty m_sporadicPlotLimit
Definition: LArCellMonAlg.h:119
LArCellMonAlg::threshold_t::m_triggersToExclude
std::bitset< MAXTRIGTYPE > m_triggersToExclude
Definition: LArCellMonAlg.h:182
LArCellMonAlg::m_groupnameTotEnergyEtaPhi
Gaudi::Property< std::string > m_groupnameTotEnergyEtaPhi
Definition: LArCellMonAlg.h:63
LArCellMonAlg::setLArCellBinning
void setLArCellBinning()
Definition: LArCellMonAlgSetBinning.cxx:8
CaloMonAlgBase
Definition: CaloMonAlgBase.py:1
LArCellMonAlg::m_doDatabaseNoiseVsEtaPhi
BooleanProperty m_doDatabaseNoiseVsEtaPhi
Definition: LArCellMonAlg.h:110
LArCellMonAlg::threshold_t::m_doEtaPhiOccupancy
bool m_doEtaPhiOccupancy
Definition: LArCellMonAlg.h:187
LArCellMonAlg::MAXPARTITIONS
@ MAXPARTITIONS
Definition: LArCellMonAlg.h:152
LArCellMonAlg::threshold_t::m_doEtaPhiAverageQuality
bool m_doEtaPhiAverageQuality
Definition: LArCellMonAlg.h:194
LArCellMonAlg::TriggerType
TriggerType
Definition: LArCellMonAlg.h:100
LArCellMonAlg::m_thresholds
std::vector< threshold_t > m_thresholds
Definition: LArCellMonAlg.h:221
LArBadChannelMask.h
LArCellMonAlg::PartitionEnum
PartitionEnum
Definition: LArCellMonAlg.h:152
LArCellMonAlg::threshold_t
Definition: LArCellMonAlg.h:166
LArCellMonAlg::m_maskNoCondChannels
BooleanProperty m_maskNoCondChannels
Definition: LArCellMonAlg.h:106
LArCellMonAlg::m_partitionNames
StringArrayProperty m_partitionNames
Definition: LArCellMonAlg.h:95
LArCellMonAlg::m_layerNames
StringArrayProperty m_layerNames
Definition: LArCellMonAlg.h:84
LArCellMonAlg::m_groupnameOccupancyPhi
Gaudi::Property< std::string > m_groupnameOccupancyPhi
Definition: LArCellMonAlg.h:62
LArOnlineID.h
LArCellMonAlg::m_groupnameFractionOverQthEtaPhi
Gaudi::Property< std::string > m_groupnameFractionOverQthEtaPhi
Definition: LArCellMonAlg.h:65
LArCellMonAlg::m_threshold_HECFCALEMS2S3
FloatProperty m_threshold_HECFCALEMS2S3
Definition: LArCellMonAlg.h:118
LArBadChannelMask
Definition: LArBadChannelMask.h:18
LArOnOffIdMapping
Definition: LArOnOffIdMapping.h:20
LArCellMonAlg::m_groupnameOccupancyEta
Gaudi::Property< std::string > m_groupnameOccupancyEta
Definition: LArCellMonAlg.h:61