ATLAS Offline Software
Loading...
Searching...
No Matches
LArRampValidationAlg.h
Go to the documentation of this file.
1//Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
5*/
6
7
14
15
16
17
18#ifndef LARRAMPVALIDATIONALG_H
19#define LARRAMPVALIDATIONALG_H
20
21#include <vector>
22#include <string>
23
28
30
31
39
41
42 public:
46 LArRampValidationAlg (const std::string& name, ISvcLocator* pSvcLocator);
47
48 private:
51 bool validateChannel(const LArCondObj& ref, const LArCondObj& val, const HWIdentifier chid, const int gain, const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont) override final;
52
53 LArCondObj getRefObj(const HWIdentifier chid, const int gain) const override final;
54
56 virtual StatusCode summary(const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont) override;
57
59 virtual StatusCode preLoop() override;
60
62 std::vector<std::string> m_contKey;
67
69 std::vector<std::string> m_toleranceInit;
70
73
75 std::vector<std::string> m_toleranceInitFEB;
76
79
82
83 //The following is for keeping track of entire FEBs
85 bool febSummary(const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont);
86
87 //The following is used to look for channels deviating from average
88 bool deviateFromAvg(const LArCondObj& val, const HWIdentifier chid, const int gain, const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont);
89
91 public:
92 double rampVal=.0;
93 double rmsVal=.0;
94 double rampRef=.0;
95 double rmsRef=.0;
96 unsigned nEntries=0;
97 };
98
99
100 std::unordered_map<HWIdentifier,DataPerRegion> m_vDataPerFEB;
101 std::unordered_map<Identifier,DataPerRegion> m_vDataPerSector;
102
104
105 //The following is for keeping track of the global average
109};
110
111
112#endif
113
const boost::regex ref(r_ef)
LArBadXCont< LArBadChannel > LArBadChannelCont
LArCalibValidationAlg< LArRampComplete, ILArRamp > LArRampValidationBase
Algorithm to validate LAr Autocorr;.
LArRampValidationAlg(const std::string &name, ISvcLocator *pSvcLocator)
Regular algorithm constructor.
CaloCellGroupList m_toleranceFEB
Ramp tolerance (FEB average) as initializer string CaloCellGroup object.
float m_rawrampTimeADC
Raw Ramp ADC (job-Property)
bool deviateFromAvg(const LArCondObj &val, const HWIdentifier chid, const int gain, const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont)
virtual StatusCode summary(const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont) override
Summary method executed after the loop over all channels.
float m_rawrampTimeTolerance
Raw Ramp time tolerance (in ns) (job-Property)
bool m_hasRawRampContainer
To check if Raw Ramps are found.
std::unordered_map< Identifier, DataPerRegion > m_vDataPerSector
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 ramps single readout channels.
CaloCellGroupList m_tolerance
Ramp tolerance as CaloCellGroup object.
LArCondObj getRefObj(const HWIdentifier chid, const int gain) const override final
Method implmented in derived class to get the reference object from ref-container.
std::vector< std::string > m_contKey
To store Gain Keys for Raw Ramps (job-Property)
bool febSummary(const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont)
Method to compare FEB averages.
std::vector< std::string > m_toleranceInitFEB
Ramp tolerance (FEB average) as CaloCellGroup object (job-Property)
virtual StatusCode preLoop() override
Executed before the loop over all channels to reset global sums.
std::vector< std::string > m_toleranceInit
Ramp tolerance as init string for CellGroupObject (job-Property)
std::unordered_map< HWIdentifier, DataPerRegion > m_vDataPerFEB
LArRawRampContainer * m_rawRampContainer