ATLAS Offline Software
Loading...
Searching...
No Matches
LArCoherentNoisefractionMonAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
10
11#ifndef LARMONITORING_LARCNFMON_H
12#define LARMONITORING_LARCNFMON_H
13
14//inheritance:
16
17
18//LAr services:
23
24
25//STL:
26#include <string>
27
28
29
30class LArOnlineID;
31class HWIdentifier;
32
33
35{
36
37
38public:
39 LArCoherentNoisefractionMonAlg(const std::string& name, ISvcLocator* pSvcLocator);
40
43
44
45
46 virtual StatusCode initialize() override;
47 virtual StatusCode fillHistograms(const EventContext& ctx) const override;
48
49
50private:
51
54
56 SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
57
59 SG::ReadCondHandleKey<ILArPedestal> m_keyPedestal{this,"LArPedestalKey","LArPedestal","SG key of LArPedestal CDO"};
60
61
63
65
66 Gaudi::Property<bool> m_plotCustomFEBSset {this, "PlotCustomFEBSset", false};
67 Gaudi::Property<std::vector<std::string> > m_FEBlist {this, "FEBlist", std::vector<std::string>(0)};
68 Gaudi::Property<std::vector<std::string> > m_groupNames {this, "ListOfGroupNames", std::vector<std::string>(0)};
69 Gaudi::Property<std::vector<unsigned> > m_groupNChan {this, "GroupNchan", std::vector<unsigned>(0)};
70 Gaudi::Property<std::vector<bool> > m_processGroup {this, "GroupsToMonitor", std::vector<bool>(0)};
71
72
74 Gaudi::Property<bool> m_isCalibrationRun {this, "IsCalibrationRun", false};
75
77 SG::ReadHandleKey<LArDigitContainer> m_LArDigitContainerKey{this,"LArDigitContainerKey","FREE","SG key of LArDigitContainer read from Bytestream"};
78
80 std::vector<std::map<std::string,int> > m_histoGroups;
81
82 std::string febString(const HWIdentifier) const;
83
84 std::vector<HWIdentifier> m_febMap;
85
86 double calc_dev(std::vector<float> *input_vector) const;
87 double calc_sum_dev(std::vector<float> *input_vector) const;
88
89};
90
91#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Gaudi::Property< std::vector< std::string > > m_groupNames
double calc_sum_dev(std::vector< float > *input_vector) const
virtual StatusCode initialize() override
initialize
SG::ReadCondHandleKey< ILArPedestal > m_keyPedestal
Handle to pedestal.
double calc_dev(std::vector< float > *input_vector) const
virtual ~LArCoherentNoisefractionMonAlg()
Default destructor.
Gaudi::Property< std::vector< std::string > > m_FEBlist
SG::ReadHandleKey< LArDigitContainer > m_LArDigitContainerKey
Handle to digits.
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Gaudi::Property< std::vector< bool > > m_processGroup
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Handle to cabling.
std::vector< std::map< std::string, int > > m_histoGroups
the group array
Gaudi::Property< std::vector< unsigned > > m_groupNChan
Gaudi::Property< bool > m_isCalibrationRun
to avoid asking for triggers in case of a calibration run
Gaudi::Property< bool > m_plotCustomFEBSset
correlation histograms
std::string febString(const HWIdentifier) const
build the FEB string, following instructions from python config
const LArOnlineID * m_LArOnlineIDHelper
services
LArCoherentNoisefractionMonAlg(const std::string &name, ISvcLocator *pSvcLocator)
Property holding a SG store/key/clid from which a ReadHandle is made.