ATLAS Offline Software
LArNoiseCorrelationMonAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
12 #ifndef LARMONITORING_LARCORRMON_H
13 #define LARMONITORING_LARCORRMON_H
14 
15 //inheritance:
17 
18 
19 //LAr services:
26 
27 
28 //STL:
29 #include <string>
30 
31 
32 
33 class LArOnlineID;
34 class HWIdentifier;
35 
37 {
38 
39 
40 public:
41  //Delegate constructor
43 
46 
47 
48  virtual StatusCode initialize() override;
49  virtual StatusCode fillHistograms(const EventContext& ctx) const override;
50 
51 
52 private:
53 
56 
59  SG::ReadCondHandleKey<LArBadChannelCont> m_bcContKey {this, "BadChanKey", "LArBadChannel", "SG key for LArBadChan object"};
60  Gaudi::Property<std::vector<std::string> > m_problemsToMask{this,"ProblemsToMask",{}, "Bad-Channel categories to mask"};
61 
63  SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
64 
66  SG::ReadCondHandleKey<ILArPedestal> m_keyPedestal{this,"LArPedestalKey","LArPedestal","SG key of LArPedestal CDO"};
67 
69  Gaudi::Property<std::vector<std::string> > m_FEBlist {this, "FEBlist", {}};
70 
71  Gaudi::Property<bool> m_plotsOFF {this, "PlotsOFF", false}; //to avoid plotting everything when online or in case the wrong custom list is passed
72 
74  Gaudi::Property<bool> m_isCalibrationRun {this, "IsCalibrationRun", false};
75 
77  Gaudi::Property<bool> m_ignoreKnownBadChannels{this, "IgnoreBadChannels", false};
78 
80  SG::ReadHandleKey<LArDigitContainer> m_LArDigitContainerKey{this,"LArDigitContainerKey","FREE","SG key of LArDigitContainer read from Bytestream"};
81 
83  Gaudi::Property<std::string> m_noiseCorrGroupName {this, "NoiseCorrGroupName", "NoiseCorr"};
84  std::map<std::string,int> m_noiseCorrGroups;
85 
86 
87  bool isGoodChannel(const HWIdentifier id,const float ped,const LArOnOffIdMapping *cabling,const LArBadChannelCont* bc) const;
88 
89  bool m_checkAbortGap=false;
90  const std::string m_abortGapTrig{"HLT_noalg_cosmiccalo_L1RD1_EMPTY"};
91 
93  struct perFeb_t {
94  perFeb_t(const std::string& n) : m_febName(n) {};
95  std::string m_febName;
96  std::vector<std::pair<const LArDigit*,double> > m_digitsAndPed;
97  std::vector<std::pair<int,double> > m_meanSum;
98  std::vector<std::pair<std::pair<int,int>,double> > m_partSum;
99  void sumSamples(const LArOnlineID* lArOnlineIDHelper);
100  };
101 
102  std::map<HWIdentifier,perFeb_t> m_febMapModel; //Pre-fill with elements known at initialize
103 
104 };
105 
106 #endif
LArNoiseCorrelationMonAlg::perFeb_t::sumSamples
void sumSamples(const LArOnlineID *lArOnlineIDHelper)
Definition: LArNoiseCorrelationMonAlg.cxx:206
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
LArNoiseCorrelationMonAlg::isGoodChannel
bool isGoodChannel(const HWIdentifier id, const float ped, const LArOnOffIdMapping *cabling, const LArBadChannelCont *bc) const
check if channel is ok for monitoring
Definition: LArNoiseCorrelationMonAlg.cxx:185
LArNoiseCorrelationMonAlg::m_problemsToMask
Gaudi::Property< std::vector< std::string > > m_problemsToMask
Definition: LArNoiseCorrelationMonAlg.h:60
LArNoiseCorrelationMonAlg::m_bcMask
LArBadChannelMask m_bcMask
Handle to bad-channel mask.
Definition: LArNoiseCorrelationMonAlg.h:58
LArNoiseCorrelationMonAlg::m_keyPedestal
SG::ReadCondHandleKey< ILArPedestal > m_keyPedestal
Handle to pedestal.
Definition: LArNoiseCorrelationMonAlg.h:66
LArNoiseCorrelationMonAlg::m_isCalibrationRun
Gaudi::Property< bool > m_isCalibrationRun
to avoid asking for triggers in case of a calibration run
Definition: LArNoiseCorrelationMonAlg.h:74
LArNoiseCorrelationMonAlg::m_bcContKey
SG::ReadCondHandleKey< LArBadChannelCont > m_bcContKey
Definition: LArNoiseCorrelationMonAlg.h:59
LArBadXCont
Conditions-Data class holding LAr Bad Channel or Bad Feb information.
Definition: LArBadChannelCont.h:28
ReadCellNoiseFromCool.cabling
cabling
Definition: ReadCellNoiseFromCool.py:154
LArNoiseCorrelationMonAlg::perFeb_t::perFeb_t
perFeb_t(const std::string &n)
Definition: LArNoiseCorrelationMonAlg.h:94
SG::ReadHandleKey< LArDigitContainer >
HWIdentifier
Definition: HWIdentifier.h:13
LArNoiseCorrelationMonAlg::m_plotsOFF
Gaudi::Property< bool > m_plotsOFF
Definition: LArNoiseCorrelationMonAlg.h:71
LArNoiseCorrelationMonAlg::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: LArNoiseCorrelationMonAlg.cxx:100
AthMonitorAlgorithm
Base class for Athena Monitoring Algorithms.
Definition: AthMonitorAlgorithm.h:36
LArNoiseCorrelationMonAlg::m_noiseCorrGroupName
Gaudi::Property< std::string > m_noiseCorrGroupName
the group array
Definition: LArNoiseCorrelationMonAlg.h:83
LArBadChannelCont.h
LArNoiseCorrelationMonAlg::initialize
virtual StatusCode initialize() override
initialize
Definition: LArNoiseCorrelationMonAlg.cxx:53
LArNoiseCorrelationMonAlg::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Handle to cabling.
Definition: LArNoiseCorrelationMonAlg.h:63
LArOnOffIdMapping.h
LArNoiseCorrelationMonAlg::m_febMapModel
std::map< HWIdentifier, perFeb_t > m_febMapModel
Definition: LArNoiseCorrelationMonAlg.h:102
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthMonitorAlgorithm.h
LArNoiseCorrelationMonAlg::perFeb_t::m_digitsAndPed
std::vector< std::pair< const LArDigit *, double > > m_digitsAndPed
Definition: LArNoiseCorrelationMonAlg.h:96
LArNoiseCorrelationMonAlg::m_FEBlist
Gaudi::Property< std::vector< std::string > > m_FEBlist
list of FEBs to monitor.
Definition: LArNoiseCorrelationMonAlg.h:69
LArNoiseCorrelationMonAlg::perFeb_t::m_meanSum
std::vector< std::pair< int, double > > m_meanSum
Definition: LArNoiseCorrelationMonAlg.h:97
LArNoiseCorrelationMonAlg::perFeb_t::m_partSum
std::vector< std::pair< std::pair< int, int >, double > > m_partSum
Definition: LArNoiseCorrelationMonAlg.h:98
LArNoiseCorrelationMonAlg::~LArNoiseCorrelationMonAlg
virtual ~LArNoiseCorrelationMonAlg()
Default destructor.
Definition: LArNoiseCorrelationMonAlg.cxx:47
ReadCondHandleKey.h
LArNoiseCorrelationMonAlg::m_checkAbortGap
bool m_checkAbortGap
Definition: LArNoiseCorrelationMonAlg.h:89
LArNoiseCorrelationMonAlg::m_noiseCorrGroups
std::map< std::string, int > m_noiseCorrGroups
Definition: LArNoiseCorrelationMonAlg.h:84
LArNoiseCorrelationMonAlg::m_ignoreKnownBadChannels
Gaudi::Property< bool > m_ignoreKnownBadChannels
bool use to mask the bad channels
Definition: LArNoiseCorrelationMonAlg.h:77
LArNoiseCorrelationMonAlg
Definition: LArNoiseCorrelationMonAlg.py:1
LArNoiseCorrelationMonAlg::perFeb_t
Internally used data structure.
Definition: LArNoiseCorrelationMonAlg.h:93
LArNoiseCorrelationMonAlg::perFeb_t::m_febName
std::string m_febName
Definition: LArNoiseCorrelationMonAlg.h:94
LArOnlineID
Definition: LArOnlineID.h:20
Example_ReadSampleNoise.ped
ped
Definition: Example_ReadSampleNoise.py:45
SG::ReadCondHandleKey
Definition: ReadCondHandleKey.h:20
ILArPedestal.h
AthMonitorAlgorithm::AthMonitorAlgorithm
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition: AthMonitorAlgorithm.cxx:7
LArNoiseCorrelationMonAlg::m_LArDigitContainerKey
SG::ReadHandleKey< LArDigitContainer > m_LArDigitContainerKey
Handle to digits.
Definition: LArNoiseCorrelationMonAlg.h:80
LArNoiseCorrelationMonAlg::m_abortGapTrig
const std::string m_abortGapTrig
Definition: LArNoiseCorrelationMonAlg.h:90
LArBadChannelMask.h
LArNoiseCorrelationMonAlg::m_LArOnlineIDHelper
const LArOnlineID * m_LArOnlineIDHelper
services
Definition: LArNoiseCorrelationMonAlg.h:55
LArBadChannelMask
Definition: LArBadChannelMask.h:18
LArOnOffIdMapping
Definition: LArOnOffIdMapping.h:20