ATLAS Offline Software
Loading...
Searching...
No Matches
LArCaliWaveValidationAlg.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
13
14#ifndef LARCALIWAVEVALIDATIONALG_H
15#define LARCALIWAVEVALIDATIONALG_H
16
17#include <vector>
18#include <string>
19
24
26
27
35
37
38 public:
42 LArCaliWaveValidationAlg (const std::string& name, ISvcLocator* pSvcLocator);
43
44 private:
47 bool validateChannel(const LArCondObj& ref, const LArCondObj& val, const HWIdentifier chid, const int gain, const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont) override final;
48
49 LArCondObj getRefObj(const HWIdentifier chid, const int gain) const override final{
50 return m_reference->get(chid,gain);
51 }
52
53
55 virtual StatusCode summary(const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont) override;
56
58 virtual StatusCode preLoop() override;
59
60
62 std::vector<std::string> m_ampToleranceInit;
64
66 std::vector<std::string> m_ampToleranceFEBInit;
68
70 std::vector<std::string> m_fwhmToleranceInit;
72
74 std::vector<std::string> m_fwhmToleranceFEBInit;
76
78
79 //The following is for keeping track of entire FEBs
81 bool febSummary(const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont);
82
83 class DataPerFEB {
84 public:
85 DataPerFEB () : chid(0), febid(0), gain(0),
86 ampVal(0.),fwhmVal(0.),ampRef(0.),fwhmRef(0.), nEntries(0) {}
87 DataPerFEB (const HWIdentifier cid, const HWIdentifier fid, int g) :
88 chid(cid), febid(fid), gain(g), ampVal(0.),fwhmVal(0.),ampRef(0.),fwhmRef(0.),nEntries(0) {}
91 int gain;
92 double ampVal;
93 double fwhmVal;
94 double ampRef;
95 double fwhmRef;
96 unsigned nEntries;
97 };
98
99 std::vector<DataPerFEB> m_vDataPerFEB;
100
101 //The following is for keeping track of the global average
107
109
110};
111
112
113#endif
114
const boost::regex ref(r_ef)
LArBadXCont< LArBadChannel > LArBadChannelCont
LArCalibValidationAlg< LArCaliWaveContainer, LArCaliWaveContainer > LArCaliWaveValidationBase
DataPerFEB(const HWIdentifier cid, const HWIdentifier fid, int g)
virtual StatusCode summary(const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont) override
Summary method executed after the loop over all channels.
LArCaliWaveValidationAlg(const std::string &name, ISvcLocator *pSvcLocator)
Regular algorithm constructor.
bool febSummary(const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont)
Method to compare FEB averages.
std::vector< std::string > m_ampToleranceFEBInit
Tolerance for the average amplitude of one FEB (in permills) (job-Property)
std::vector< DataPerFEB > m_vDataPerFEB
LArCondObj getRefObj(const HWIdentifier chid, const int gain) const override final
Method implmented in derived class to get the reference object from ref-container.
virtual StatusCode preLoop() override
Executed before the loop over all channels to reset global sums.
bool validateChannel(const LArCondObj &ref, const LArCondObj &val, const HWIdentifier chid, const int gain, const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont) override final
Method to validate the pedestal single readout channels.
std::vector< std::string > m_ampToleranceInit
Amplitude tolerance (in permills) (job-Property)
std::vector< std::string > m_fwhmToleranceFEBInit
Tolerance for the average FWHM of one FEB (in permills) (job-Property)
std::vector< std::string > m_fwhmToleranceInit
FWHM tolerance (in permills) (job-Property)
Algorithm to validate LAr Autocorr;.