ATLAS Offline Software
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 
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 
30 class LArOnlineID;
31 class HWIdentifier;
32 
33 
35 {
36 
37 
38 public:
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 
50 private:
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 
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
LArCoherentNoisefractionMonAlg::m_LArOnlineIDHelper
const LArOnlineID * m_LArOnlineIDHelper
services
Definition: LArCoherentNoisefractionMonAlg.h:53
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
LArCoherentNoisefractionMonAlg::calc_dev
double calc_dev(std::vector< float > *input_vector) const
Definition: LArCoherentNoisefractionMonAlg.cxx:278
LArCoherentNoisefractionMonAlg
Definition: LArCoherentNoisefractionMonAlg.h:35
LArCoherentNoisefractionMonAlg::febString
std::string febString(const HWIdentifier) const
build the FEB string, following instructions from python config
Definition: LArCoherentNoisefractionMonAlg.cxx:270
LArCoherentNoisefractionMonAlg::m_keyPedestal
SG::ReadCondHandleKey< ILArPedestal > m_keyPedestal
Handle to pedestal.
Definition: LArCoherentNoisefractionMonAlg.h:59
LArCoherentNoisefractionMonAlg::m_plotCustomFEBSset
Gaudi::Property< bool > m_plotCustomFEBSset
correlation histograms
Definition: LArCoherentNoisefractionMonAlg.h:66
SG::ReadHandleKey< LArDigitContainer >
HWIdentifier
Definition: HWIdentifier.h:13
LArCoherentNoisefractionMonAlg::~LArCoherentNoisefractionMonAlg
virtual ~LArCoherentNoisefractionMonAlg()
Default destructor.
Definition: LArCoherentNoisefractionMonAlg.cxx:64
LArCoherentNoisefractionMonAlg::m_groupNChan
Gaudi::Property< std::vector< unsigned > > m_groupNChan
Definition: LArCoherentNoisefractionMonAlg.h:69
AthMonitorAlgorithm
Base class for Athena Monitoring Algorithms.
Definition: AthMonitorAlgorithm.h:36
LArCoherentNoisefractionMonAlg::m_groupNames
Gaudi::Property< std::vector< std::string > > m_groupNames
Definition: LArCoherentNoisefractionMonAlg.h:68
LArOnOffIdMapping.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthMonitorAlgorithm.h
LArCoherentNoisefractionMonAlg::m_febMap
std::vector< HWIdentifier > m_febMap
Definition: LArCoherentNoisefractionMonAlg.h:84
LArCoherentNoisefractionMonAlg::m_processGroup
Gaudi::Property< std::vector< bool > > m_processGroup
Definition: LArCoherentNoisefractionMonAlg.h:70
LArCoherentNoisefractionMonAlg::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: LArCoherentNoisefractionMonAlg.cxx:124
ReadCondHandleKey.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
LArCoherentNoisefractionMonAlg::calc_sum_dev
double calc_sum_dev(std::vector< float > *input_vector) const
Definition: LArCoherentNoisefractionMonAlg.cxx:287
LArCoherentNoisefractionMonAlg::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Handle to cabling.
Definition: LArCoherentNoisefractionMonAlg.h:56
LArOnlineID
Definition: LArOnlineID.h:20
LArCoherentNoisefractionMonAlg::m_LArDigitContainerKey
SG::ReadHandleKey< LArDigitContainer > m_LArDigitContainerKey
Handle to digits.
Definition: LArCoherentNoisefractionMonAlg.h:77
SG::ReadCondHandleKey< LArOnOffIdMapping >
LArCoherentNoisefractionMonAlg::m_histoGroups
std::vector< std::map< std::string, int > > m_histoGroups
the group array
Definition: LArCoherentNoisefractionMonAlg.h:80
LArCoherentNoisefractionMonAlg::m_FEBlist
Gaudi::Property< std::vector< std::string > > m_FEBlist
Definition: LArCoherentNoisefractionMonAlg.h:67
ILArPedestal.h
LArCoherentNoisefractionMonAlg::LArCoherentNoisefractionMonAlg
LArCoherentNoisefractionMonAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: LArCoherentNoisefractionMonAlg.cxx:57
LArCoherentNoisefractionMonAlg::m_isCalibrationRun
Gaudi::Property< bool > m_isCalibrationRun
to avoid asking for triggers in case of a calibration run
Definition: LArCoherentNoisefractionMonAlg.h:74
LArCoherentNoisefractionMonAlg::initialize
virtual StatusCode initialize() override
initialize
Definition: LArCoherentNoisefractionMonAlg.cxx:70