ATLAS Offline Software
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 
18 #ifndef LARRAMPVALIDATIONALG_H
19 #define LARRAMPVALIDATIONALG_H
20 
21 #include <vector>
22 #include <string>
23 
28 
30 
31 
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 
90  class DataPerRegion {
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 
LArRampValidationAlg::m_rmsGlobalRef
double m_rmsGlobalRef
Definition: LArRampValidationAlg.h:107
LArRampComplete.h
LArRawRampContainer.h
LArRampValidationAlg::m_vDataPerSector
std::unordered_map< Identifier, DataPerRegion > m_vDataPerSector
Definition: LArRampValidationAlg.h:101
LArBadXCont
Conditions-Data class holding LAr Bad Channel or Bad Feb information.
Definition: LArBadChannelCont.h:28
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
ReadCellNoiseFromCool.cabling
cabling
Definition: ReadCellNoiseFromCool.py:154
CaloCellGroupList
Definition: CaloCellGroup.h:59
LArRampValidationAlg::m_hasRawRampContainer
bool m_hasRawRampContainer
To check if Raw Ramps are found.
Definition: LArRampValidationAlg.h:81
HWIdentifier
Definition: HWIdentifier.h:13
LArRampValidationAlg::m_rawrampTimeTolerance
float m_rawrampTimeTolerance
Raw Ramp time tolerance (in ns) (job-Property)
Definition: LArRampValidationAlg.h:64
LArRampValidationAlg::febSummary
bool febSummary(const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont)
Method to compare FEB averages.
Definition: LArRampValidationAlg.cxx:163
LArRampValidationAlg::m_toleranceInitFEB
std::vector< std::string > m_toleranceInitFEB
Ramp tolerance (FEB average) as CaloCellGroup object (job-Property)
Definition: LArRampValidationAlg.h:75
LArRampValidationAlg::deviateFromAvg
bool deviateFromAvg(const LArCondObj &val, const HWIdentifier chid, const int gain, const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont)
Definition: LArRampValidationAlg.cxx:220
LArRampValidationAlg::DataPerRegion::rmsRef
double rmsRef
Definition: LArRampValidationAlg.h:95
LArRampValidationAlg::LArRampValidationAlg
LArRampValidationAlg(const std::string &name, ISvcLocator *pSvcLocator)
Regular algorithm constructor.
Definition: LArRampValidationAlg.cxx:8
LArRampValidationAlg::DataPerRegion
Definition: LArRampValidationAlg.h:90
LArRampValidationAlg::m_rawrampTimeADC
float m_rawrampTimeADC
Raw Ramp ADC (job-Property)
Definition: LArRampValidationAlg.h:66
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArRampValidationAlg::DataPerRegion::rampVal
double rampVal
Definition: LArRampValidationAlg.h:92
LArRampValidationAlg::m_tolerance
CaloCellGroupList m_tolerance
Ramp tolerance as CaloCellGroup object.
Definition: LArRampValidationAlg.h:72
LArRampValidationAlg::m_vDataPerFEB
std::unordered_map< HWIdentifier, DataPerRegion > m_vDataPerFEB
Definition: LArRampValidationAlg.h:100
LArRampValidationAlg::m_rawRampContainer
LArRawRampContainer * m_rawRampContainer
Definition: LArRampValidationAlg.h:103
LArRampValidationAlg::m_toleranceInit
std::vector< std::string > m_toleranceInit
Ramp tolerance as init string for CellGroupObject (job-Property)
Definition: LArRampValidationAlg.h:69
LArCalibValidationAlg::LArCondObj
CONDITIONSCONTAINER::LArCondObj LArCondObj
Definition: LArCalibValidationAlg.h:80
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
LArRampValidationAlg::validateChannel
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.
Definition: LArRampValidationAlg.cxx:108
LArRampValidationAlg::DataPerRegion::nEntries
unsigned nEntries
Definition: LArRampValidationAlg.h:96
LArRampValidationAlg::m_rmsGlobalVal
double m_rmsGlobalVal
Definition: LArRampValidationAlg.h:106
CaloCellGroup.h
LArRampValidationAlg::m_contKey
std::vector< std::string > m_contKey
To store Gain Keys for Raw Ramps (job-Property)
Definition: LArRampValidationAlg.h:62
ref
const boost::regex ref(r_ef)
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
LArRawRampContainer
Definition: LArRawRampContainer.h:20
LArRampValidationAlg::DataPerRegion::rampRef
double rampRef
Definition: LArRampValidationAlg.h:94
LArCalibValidationAlg
Algorithm to validate LAr Autocorr;.
Definition: LArCalibValidationAlg.h:47
LArRampValidationAlg::m_rampGlobalVal
double m_rampGlobalVal
Definition: LArRampValidationAlg.h:106
LArRampValidationAlg::m_rampGlobalRef
double m_rampGlobalRef
Definition: LArRampValidationAlg.h:107
LArRampValidationAlg::preLoop
virtual StatusCode preLoop() override
Executed before the loop over all channels to reset global sums.
Definition: LArRampValidationAlg.cxx:30
LArRampValidationAlg::m_toleranceFEB
CaloCellGroupList m_toleranceFEB
Ramp tolerance (FEB average) as initializer string CaloCellGroup object.
Definition: LArRampValidationAlg.h:78
LArRampValidationAlg::DataPerRegion::rmsVal
double rmsVal
Definition: LArRampValidationAlg.h:93
LArCalibValidationAlg.h
LArRampValidationAlg::getRefObj
LArCondObj getRefObj(const HWIdentifier chid, const int gain) const override final
Method implmented in derived class to get the reference object from ref-container.
Definition: LArRampValidationAlg.cxx:265
LArRampValidationAlg::m_nEntriesGlobal
unsigned m_nEntriesGlobal
Definition: LArRampValidationAlg.h:108
LArRampValidationBase
LArCalibValidationAlg< LArRampComplete, ILArRamp > LArRampValidationBase
Definition: LArRampValidationAlg.h:29
LArRampValidationAlg::summary
virtual StatusCode summary(const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont) override
Summary method executed after the loop over all channels.
Definition: LArRampValidationAlg.cxx:243
LArRampValidationAlg
Definition: LArRampValidationAlg.h:40
LArOnOffIdMapping
Definition: LArOnOffIdMapping.h:20