ATLAS Offline Software
Loading...
Searching...
No Matches
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
11
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
33class LArOnlineID;
34class HWIdentifier;
35
37{
38
39
40public:
41 //Delegate constructor
43
46
47
48 virtual StatusCode initialize() override;
49 virtual StatusCode fillHistograms(const EventContext& ctx) const override;
50
51
52private:
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
LArBadXCont< LArBadChannel > LArBadChannelCont
Property holding a SG store/key/clid from which a ReadHandle is made.
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
std::map< std::string, int > m_noiseCorrGroups
const LArOnlineID * m_LArOnlineIDHelper
services
Gaudi::Property< bool > m_isCalibrationRun
to avoid asking for triggers in case of a calibration run
Gaudi::Property< std::string > m_noiseCorrGroupName
the group array
Gaudi::Property< bool > m_ignoreKnownBadChannels
bool use to mask the bad channels
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
LArBadChannelMask m_bcMask
Handle to bad-channel mask.
std::map< HWIdentifier, perFeb_t > m_febMapModel
SG::ReadCondHandleKey< ILArPedestal > m_keyPedestal
Handle to pedestal.
SG::ReadHandleKey< LArDigitContainer > m_LArDigitContainerKey
Handle to digits.
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
bool isGoodChannel(const HWIdentifier id, const float ped, const LArOnOffIdMapping *cabling, const LArBadChannelCont *bc) const
check if channel is ok for monitoring
SG::ReadCondHandleKey< LArBadChannelCont > m_bcContKey
Gaudi::Property< bool > m_plotsOFF
Gaudi::Property< std::vector< std::string > > m_problemsToMask
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Handle to cabling.
Gaudi::Property< std::vector< std::string > > m_FEBlist
list of FEBs to monitor.
Property holding a SG store/key/clid from which a ReadHandle is made.
void initialize()
std::vector< std::pair< int, double > > m_meanSum
std::vector< std::pair< std::pair< int, int >, double > > m_partSum
std::vector< std::pair< const LArDigit *, double > > m_digitsAndPed
void sumSamples(const LArOnlineID *lArOnlineIDHelper)