ATLAS Offline Software
Loading...
Searching...
No Matches
LArAutoCorrValidationAlg.h
Go to the documentation of this file.
1//Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
5*/
6
12
13#ifndef LARAUTOCORRVALIDATIONALG_H
14#define LARAUTOCORRVALIDATIONALG_H
15
16#include <vector>
17#include <string>
18
22
24
25
30
32{
33
34
35
36 public:
40 LArAutoCorrValidationAlg (const std::string& name, ISvcLocator* pSvcLocator);
41
42 private:
45 bool validateChannel(const LArCondObj& ref, const LArCondObj& val, const HWIdentifier chid, const int gain, const LArOnOffIdMapping *cabling,const LArBadChannelCont *bcCont) override final;
46
47 LArCondObj getRefObj(const HWIdentifier chid, const int gain) const override final{
48 return m_reference->get(chid,gain);
49 }
50
51
53 virtual StatusCode summary(const LArOnOffIdMapping *cabling,const LArBadChannelCont *bcCont) override;
54
56 virtual StatusCode preLoop() override;
57
58
60 //float m_covTolerance;
61 std::vector<std::string> m_covToleranceFEBInit;
63
65 //float m_covToleranceFEB;
66 std::vector<std::string> m_covToleranceInit;
68
71
73
74 //The following is for keeping track of entire FEBs
76 bool febSummary(const LArOnOffIdMapping *cabling,const LArBadChannelCont *bcCont);
77
78 class DataPerFEB {
79 public:
80 DataPerFEB () : chid(0), febid(0), gain(0),
81 covVal(0.),covRef(0.) {}
82 DataPerFEB (const HWIdentifier cid, const HWIdentifier fid, int g) : chid(cid), febid(fid), gain(g),
83 covVal(0.),covRef(0.),nEntries(0) {}
84 HWIdentifier chid{}; //We need to remember the first connected channel for the offline id conversion
86 int gain{};
87 double covVal{};
88 double covRef{};
89 unsigned nEntries{};
90 };
91
92 std::vector<DataPerFEB> m_vDataPerFEB;
93
94 //The following is for keeping track of the global average
96 unsigned m_nEntriesGlobal{};
97};
98
99
100#endif
101
const boost::regex ref(r_ef)
LArCalibValidationAlg< LArAutoCorrComplete, LArAutoCorrComplete > LArAutoCorrValidationBase
@LArAutoCorrValidatonAlg.h
LArBadXCont< LArBadChannel > LArBadChannelCont
DataPerFEB(const HWIdentifier cid, const HWIdentifier fid, int g)
virtual StatusCode preLoop() override
Executed before the loop over all channels to reset global sums.
unsigned m_nSamplesToCheck
Number of elements of the Covariance vector that should be checked.
std::vector< DataPerFEB > m_vDataPerFEB
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 readout channels.
std::vector< std::string > m_covToleranceInit
Covariance tolerance (job-Property)
LArAutoCorrValidationAlg(const std::string &name, ISvcLocator *pSvcLocator)
Regular algorithm constructor.
bool febSummary(const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont)
Method to compare FEB averages.
virtual StatusCode summary(const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont) override
Summary method executed after the loop over all channels.
std::vector< std::string > m_covToleranceFEBInit
Covariace tolerance of one FEB (job-Property)
LArCondObj getRefObj(const HWIdentifier chid, const int gain) const override final
Method implmented in derived class to get the reference object from ref-container.
Algorithm to validate LAr Autocorr;.