|
ATLAS Offline Software
|
Go to the documentation of this file.
6 #ifndef CALOMONITORING_LARCELLMONALG_H
7 #define CALOMONITORING_LARCELLMONALG_H
31 #include <unordered_map>
57 Gaudi::Property<std::string>
m_MonGroupName {
this,
"MonGroupName",
"LArCellMonGroup"};
81 {1000., 1000., 3000., 1500., 3500., 3500., 3500., 3500., 1500., 3000., 3000., 2000., 10000., 10000., 10000.}
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"};
95 StringArrayProperty
m_partitionNames{
this,
"PartitionNames", {
"EMBA",
"EMBC",
"EMECA",
"EMECC",
"HECA",
"HECC",
"FCALA",
"FCALC"}};
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"};
141 StringArrayProperty
m_doEtaPhiAvgQualityNames{
this,
"DoEtaPhiAvgQualityNames", {},
"Turns on 'totQuality' and total 'Occupancy' plots. The ratio will be computed at post-processing stage"};
143 StringArrayProperty
m_doEtaPhiAvgTimeNames{
this,
"DoEtaPhiAvgTimeNames", {},
"Turns on 'totTime' and total 'Occupancy' plots. The ratio will be computed at post-processing stage"};
158 static bool isThrListed(
const std::vector<std::string>&
vec,
const std::string&
s) ;
219 Gaudi::Property<std::vector<std::string> >
m_problemsToMask{
this,
"ProblemsToMask",{},
"Bad-Channel categories to mask"};
230 std::array<CaloMonitoring::LArCellBinning,MAXLAYER>
m_binning;
StringArrayProperty m_thresholdTitleTemplates
FloatArrayProperty m_timeThresholdProp
StringArrayProperty m_doEtaPhiTotalOccupancyNames
StringProperty m_triggerNames[NOTA]
virtual StatusCode fillHistograms(const EventContext &ctx) const override final
adds event to the monitoring histograms
StringArrayProperty m_doEtaPhiAvgQualityNames
FloatArrayProperty m_thresholdsProp[MAXLYRNS]
FloatArrayProperty m_eCutForTiming
FloatProperty m_threshold_em_S0S1
SG::ReadCondHandleKey< LArBadChannelCont > m_BCKey
LArCellMonAlg(const std::string &name, ISvcLocator *pSvcLocator)
StringArrayProperty m_doEtaOccupancyNames
StringArrayProperty m_doEtaPhiPercentageOccupancyNames
The common trigger namespace for trigger analysis tools.
BooleanArrayProperty m_doBeamBackgroundRemovalProp
UnsignedIntegerProperty m_sporadic_protc
StringArrayProperty m_doEtaPhiFractionOverQthNames
BooleanProperty m_doEnergyVsTime
LArBadChannelMask m_bcMask
size_t m_thrIndex
Part of the histogram title (containing the threshold value, so per-layer)
StringArrayProperty m_triggersToExcludeProp
static std::string strToLower(const std::string &input)
BooleanProperty m_useTrigger
std::vector< size_t > vec
StringArrayProperty m_triggersToIncludeProp
std::array< float, MAXLYRNS > m_threshValue
Histogram title template.
BooleanArrayProperty m_inSigNoise
BooleanProperty m_ignoreKnownBadChannels
bool const RAWDATA *ch2 const
StringArrayProperty m_doEtaPhiFractionPastTthNames
StringArrayProperty m_doPhiOccupancyNames
BooleanProperty m_doKnownBadChannelsVsEtaPhi
virtual StatusCode initialize() override final
initialize
BooleanProperty m_sporadic_switch
void sporadicNoiseCandidate(const CaloCell *cell, const LArCellMonAlg::LayerEnum iLyr, const float threshold, const LArOnOffIdMapping *cabling) const
Gaudi::Property< std::string > m_groupnameFractionPastTthEtaPhi
StringArrayProperty m_thresholdColumnType
Gaudi::Property< std::string > m_MonGroupNamePerJob
StringArrayProperty m_doEtaPhiAvgTimeNames
bool m_doEtaPhiAverageTime
Gaudi::Property< std::vector< std::string > > m_problemsToMask
IntegerArrayProperty m_layerNcells
BooleanProperty m_doUnnormalized1DEnergy
Gaudi::Property< std::string > m_groupnameTotQualityEtaPhi
StringArrayProperty m_thresholdNameProp
const std::array< PartitionEnum, MAXLAYER > m_layerEnumtoPartitionEnum
Helper class for TileCal offline identifiers.
bool m_doEtaPhiTotalEnergy
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Gaudi::Property< std::string > m_MonGroupName
::StatusCode StatusCode
StatusCode definition for legacy code.
Direction m_threshDirection
Absolute threshold or in sigma noise?
FloatArrayProperty m_defaultThresholds
std::map< std::string, std::map< std::string, int > > m_toolmapAll
Gaudi::Property< std::string > m_groupnameTotTimeEtaPhi
bool m_doBeamBackgroundRemoval
Gaudi::Property< std::string > m_groupnameTotalOccupancyEtaPhi
std::bitset< MAXTRIGTYPE > m_triggersToInclude
bool m_inSigNoise
for filling in the eventCount plot
SG::ReadHandleKey< CaloCellContainer > m_cellContainerKey
FloatArrayProperty m_qualityFactorThresholdProp
bool m_doEtaPhiFractionOverQth
float m_qualityFactorThreshold
bool m_doPercentageOccupancy
StatusCode createPerJobHistograms(const CaloCellContainer *cellcont, const CaloNoise *noisep) const
StringArrayProperty m_doEtaPhiTotEnergyNames
Container class for CaloCell.
StringArrayProperty m_thresholdDirectionProp
UnsignedIntegerProperty m_minSporadicNoiseEventsPerCell
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
Gaudi::Property< std::string > m_groupnamePercentageOccupancyEtaPhi
const LArOnlineID * m_LArOnlineIDHelper
Data object for each calorimeter readout cell.
static bool isThrListed(const std::vector< std::string > &vec, const std::string &s)
std::array< std::string, MAXLYRNS > m_threshTitles
The actual threshold (per layer)
std::array< CaloMonitoring::LArCellBinning, MAXLAYER > m_binning
void checkTriggerAndBeamBackground(bool passBeamBackgroundRemoval, std::vector< threshold_t > &thresholds) const
bool m_doEtaPhiFractionPastTth
bool m_threshTriggerDecision
std::string m_threshTitleTemplate
Name of this threshold.
UnsignedIntegerProperty m_sporadicPlotLimit
std::bitset< MAXTRIGTYPE > m_triggersToExclude
Gaudi::Property< std::string > m_groupnameTotEnergyEtaPhi
BooleanProperty m_doDatabaseNoiseVsEtaPhi
bool m_doEtaPhiAverageQuality
std::vector< threshold_t > m_thresholds
BooleanProperty m_maskNoCondChannels
StringArrayProperty m_partitionNames
StringArrayProperty m_layerNames
Gaudi::Property< std::string > m_groupnameOccupancyPhi
Gaudi::Property< std::string > m_groupnameFractionOverQthEtaPhi
FloatProperty m_threshold_HECFCALEMS2S3
Gaudi::Property< std::string > m_groupnameOccupancyEta