ATLAS Offline Software
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 
14 #ifndef LARCALIWAVEVALIDATIONALG_H
15 #define LARCALIWAVEVALIDATIONALG_H
16 
17 #include <vector>
18 #include <string>
19 
24 
26 
27 
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
102  double m_ampGlobalVal=0;
103  double m_fwhmGlobalVal=0;
104  double m_ampGlobalRef=0;
105  double m_fwhmGlobalRef=0;
106  unsigned m_nEntriesGlobal=0;
107 
109 
110 };
111 
112 
113 #endif
114 
LArCaliWaveValidationAlg::m_fwhmTolerance
CaloCellGroupList m_fwhmTolerance
Definition: LArCaliWaveValidationAlg.h:71
LArCaliWaveValidationAlg::m_ampToleranceFEB
CaloCellGroupList m_ampToleranceFEB
Definition: LArCaliWaveValidationAlg.h:67
LArCaliWaveValidationAlg::m_nEntriesGlobal
unsigned m_nEntriesGlobal
Definition: LArCaliWaveValidationAlg.h:106
LArCaliWaveValidationAlg::m_ampToleranceInit
std::vector< std::string > m_ampToleranceInit
Amplitude tolerance (in permills) (job-Property)
Definition: LArCaliWaveValidationAlg.h:62
LArCalibValidationAlg::m_reference
const REFCONTAINER * m_reference
Pointer to container with reference values.
Definition: LArCalibValidationAlg.h:182
LArCaliWaveContainer.h
LArCaliWaveValidationAlg::DataPerFEB::nEntries
unsigned nEntries
Definition: LArCaliWaveValidationAlg.h:96
LArCaliWaveValidationAlg::DataPerFEB::ampRef
double ampRef
Definition: LArCaliWaveValidationAlg.h:94
LArCaliWaveValidationAlg::DataPerFEB::DataPerFEB
DataPerFEB(const HWIdentifier cid, const HWIdentifier fid, int g)
Definition: LArCaliWaveValidationAlg.h:87
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
LArWaveHelper
Definition: LArWaveHelper.h:14
CaloCellGroupList
Definition: CaloCellGroup.h:59
LArCaliWaveValidationAlg::m_ampTolerance
CaloCellGroupList m_ampTolerance
Definition: LArCaliWaveValidationAlg.h:63
LArCaliWaveValidationAlg::m_ampGlobalRef
double m_ampGlobalRef
Definition: LArCaliWaveValidationAlg.h:104
LArCaliWaveValidationAlg
Definition: LArCaliWaveValidationAlg.h:36
LArCaliWaveValidationAlg::DataPerFEB::DataPerFEB
DataPerFEB()
Definition: LArCaliWaveValidationAlg.h:85
HWIdentifier
Definition: HWIdentifier.h:13
LArCaliWaveValidationAlg::DataPerFEB::ampVal
double ampVal
Definition: LArCaliWaveValidationAlg.h:92
LArCaliWaveValidationAlg::febSummary
bool febSummary(const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont)
Method to compare FEB averages.
Definition: LArCaliWaveValidationAlg.cxx:181
LArCaliWaveValidationAlg::DataPerFEB::fwhmVal
double fwhmVal
Definition: LArCaliWaveValidationAlg.h:93
LArCaliWaveValidationBase
LArCalibValidationAlg< LArCaliWaveContainer, LArCaliWaveContainer > LArCaliWaveValidationBase
Definition: LArCaliWaveValidationAlg.h:25
LArCaliWaveValidationAlg::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 pedestal single readout channels.
Definition: LArCaliWaveValidationAlg.cxx:95
python.CaloCondTools.g
g
Definition: CaloCondTools.py:15
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArCaliWaveValidationAlg::m_fwhmToleranceFEB
CaloCellGroupList m_fwhmToleranceFEB
Definition: LArCaliWaveValidationAlg.h:75
LArCaliWaveValidationAlg::DataPerFEB
Definition: LArCaliWaveValidationAlg.h:83
LArCaliWaveValidationAlg::DataPerFEB::gain
int gain
Definition: LArCaliWaveValidationAlg.h:91
LArCaliWaveValidationAlg::m_fwhmToleranceFEBInit
std::vector< std::string > m_fwhmToleranceFEBInit
Tolerance for the average FWHM of one FEB (in permills) (job-Property)
Definition: LArCaliWaveValidationAlg.h:74
LArCalibValidationAlg::LArCondObj
CONDITIONSCONTAINER::LArCondObj LArCondObj
Definition: LArCalibValidationAlg.h:80
LArCaliWaveValidationAlg::DataPerFEB::fwhmRef
double fwhmRef
Definition: LArCaliWaveValidationAlg.h:95
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
LArCaliWaveValidationAlg::m_timeShift
bool m_timeShift
Definition: LArCaliWaveValidationAlg.h:77
LArCaliWaveValidationAlg::preLoop
virtual StatusCode preLoop() override
Executed before the loop over all channels to reset global sums.
Definition: LArCaliWaveValidationAlg.cxx:24
LArCaliWaveValidationAlg::m_fwhmGlobalRef
double m_fwhmGlobalRef
Definition: LArCaliWaveValidationAlg.h:105
LArCaliWaveValidationAlg::m_fwhmToleranceInit
std::vector< std::string > m_fwhmToleranceInit
FWHM tolerance (in permills) (job-Property)
Definition: LArCaliWaveValidationAlg.h:70
LArCaliWaveValidationAlg::m_waveHelper
LArWaveHelper m_waveHelper
Definition: LArCaliWaveValidationAlg.h:108
LArCaliWaveValidationAlg::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: LArCaliWaveValidationAlg.h:49
CaloCellGroup.h
LArCaliWaveValidationAlg::summary
virtual StatusCode summary(const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont) override
Summary method executed after the loop over all channels.
Definition: LArCaliWaveValidationAlg.cxx:216
LArWaveHelper.h
LArCaliWaveValidationAlg::m_fwhmGlobalVal
double m_fwhmGlobalVal
Definition: LArCaliWaveValidationAlg.h:103
ref
const boost::regex ref(r_ef)
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
LArCaliWaveValidationAlg::m_vDataPerFEB
std::vector< DataPerFEB > m_vDataPerFEB
Definition: LArCaliWaveValidationAlg.h:99
LArCaliWaveValidationAlg::DataPerFEB::chid
HWIdentifier chid
Definition: LArCaliWaveValidationAlg.h:89
LArCaliWaveValidationAlg::LArCaliWaveValidationAlg
LArCaliWaveValidationAlg(const std::string &name, ISvcLocator *pSvcLocator)
Regular algorithm constructor.
Definition: LArCaliWaveValidationAlg.cxx:8
LArCalibValidationAlg
Algorithm to validate LAr Autocorr;.
Definition: LArCalibValidationAlg.h:47
LArCalibValidationAlg.h
LArCaliWaveValidationAlg::m_ampGlobalVal
double m_ampGlobalVal
Definition: LArCaliWaveValidationAlg.h:102
LArCaliWaveValidationAlg::m_ampToleranceFEBInit
std::vector< std::string > m_ampToleranceFEBInit
Tolerance for the average amplitude of one FEB (in permills) (job-Property)
Definition: LArCaliWaveValidationAlg.h:66
LArCaliWaveValidationAlg::DataPerFEB::febid
HWIdentifier febid
Definition: LArCaliWaveValidationAlg.h:90
LArOnOffIdMapping
Definition: LArOnOffIdMapping.h:20