ATLAS Offline Software
TileRawChannelMonitorAlgorithm.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TILEMONITORING_TILERAWCHANNELMONITORALGORITHM_H
6 #define TILEMONITORING_TILERAWCHANNELMONITORALGORITHM_H
7 
13 
17 
23 
24  public:
25 
27  virtual ~TileRawChannelMonitorAlgorithm() = default;
28  virtual StatusCode initialize() override;
29  virtual StatusCode fillHistograms(const EventContext& ctx) const override;
30 
31  private:
32 
33  bool isDmuHeaderError(uint32_t header) const;
34 
35  Gaudi::Property<float> m_minAmpForCorrectedTime{this,
36  "MinAmpForCorrectedTime", 0.5, "Minimum amplitude to use channel for time correction calculation"};
37 
38  Gaudi::Property<float> m_minOfflineAmp{this,
39  "MinOfflineAmp", 0.3, "Minimum offline amplitude for DSP check"};
40 
41  Gaudi::Property<int> m_calibUnit{this,
42  "CalibUnit", TileRawChannelUnit::Invalid, ""};
43 
44  Gaudi::Property<bool> m_fillHistogramsForDSP{this,
45  "fillHistogramsForDSP", false, "Create and fill histograms for raw channels from DSP"};
46 
47  Gaudi::Property<bool> m_fill2DHistograms{this,
48  "fill2DHistograms", true, "Create and fill 2D histograms"};
49 
51  "TileDigitsContainer", "TileDigitsCnt", "Input Tile digits container key"};
52 
54  "TileRawChannelContainer", "", "Input Tile raw channel container key"};
55 
57  "TileRawChannelContainerDSP", "TileRawChannelCnt", "Input DSP Tile raw channel container key"};
58 
63  "TileEMScale", "TileEMScale", "Input Tile EMS calibration constants"};
64 
65  std::vector<std::vector<int>> m_ampGroups;
66  std::vector<std::vector<int>> m_timeGroups;
67  std::vector<std::vector<int>> m_timeCorrGroups;
68 
69  // For 5 pF capacitor
70  std::vector<std::vector<int>> m_ampOverQ5Groups;
71  std::vector<std::vector<int>> m_ampVsQ5Groups;
72  std::vector<std::vector<int>> m_time5Groups;
73  std::vector<std::vector<int>> m_timeVsTime5Groups;
74 
75  // For 100 pF capacitor
76  std::vector<std::vector<int>> m_ampOverQ100Groups;
77  std::vector<std::vector<int>> m_ampVsQ100Groups;
78  std::vector<std::vector<int>> m_time100Groups;
79  std::vector<std::vector<int>> m_timeVsTime100Groups;
80 
81  std::vector<std::vector<int>> m_dspAmpGroups;
82  std::vector<std::vector<int>> m_dspTimeGroups;
83  std::vector<std::vector<int>> m_dspChi2Groups;
84  std::vector<std::vector<int>> m_dspChi2VsAmpGroups;
85 
86  std::vector<std::vector<int>> m_ampDiffGroups;
87  std::vector<std::vector<int>> m_timeDiffGroups;
88 
89  static const int MAX_DMU{16};
91 
92  double m_dac2Charge[2] = {};
93  bool m_runTypeIsNotCIS{true};
94 };
95 
96 
97 #endif // TILEMONITORING_TILERAWCHANNELMONITORALGORITHM_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
TileRawChannelMonitorAlgorithm::m_calibUnit
Gaudi::Property< int > m_calibUnit
Definition: TileRawChannelMonitorAlgorithm.h:41
TileRawChannelMonitorAlgorithm::m_timeVsTime5Groups
std::vector< std::vector< int > > m_timeVsTime5Groups
Definition: TileRawChannelMonitorAlgorithm.h:73
TileRawChannelMonitorAlgorithm
Definition: TileRawChannelMonitorAlgorithm.py:1
TileEMScale.h
TileCalibMonitorAlgorithm
Base class for Tile calibration runs monitoring.
Definition: TileCalibMonitorAlgorithm.h:21
header
Definition: hcg.cxx:526
TileRawChannelMonitorAlgorithm::m_ampOverQ100Groups
std::vector< std::vector< int > > m_ampOverQ100Groups
Definition: TileRawChannelMonitorAlgorithm.h:76
TileCalibMonitorAlgorithm::TileCalibMonitorAlgorithm
TileCalibMonitorAlgorithm(const std::string &name, ISvcLocator *svcLocator)
Definition: TileCalibMonitorAlgorithm.h:25
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
TileRawChannelMonitorAlgorithm::m_ampOverQ5Groups
std::vector< std::vector< int > > m_ampOverQ5Groups
Definition: TileRawChannelMonitorAlgorithm.h:70
TileRawChannelMonitorAlgorithm::m_time100Groups
std::vector< std::vector< int > > m_time100Groups
Definition: TileRawChannelMonitorAlgorithm.h:78
TileRawChannelMonitorAlgorithm::m_fill2DHistograms
Gaudi::Property< bool > m_fill2DHistograms
Definition: TileRawChannelMonitorAlgorithm.h:47
TileRawChannelMonitorAlgorithm::m_timeVsTime100Groups
std::vector< std::vector< int > > m_timeVsTime100Groups
Definition: TileRawChannelMonitorAlgorithm.h:79
TileRawChannelMonitorAlgorithm::m_ampGroups
std::vector< std::vector< int > > m_ampGroups
Definition: TileRawChannelMonitorAlgorithm.h:65
TileRawChannelMonitorAlgorithm::m_rawChannelContainerKey
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerKey
Definition: TileRawChannelMonitorAlgorithm.h:53
TileRawChannelMonitorAlgorithm::m_emScaleKey
SG::ReadCondHandleKey< TileEMScale > m_emScaleKey
Name of TileEMScale in condition store.
Definition: TileRawChannelMonitorAlgorithm.h:62
SG::ReadHandleKey< TileDigitsContainer >
TileRawChannelMonitorAlgorithm::m_digitsContainerKey
SG::ReadHandleKey< TileDigitsContainer > m_digitsContainerKey
Definition: TileRawChannelMonitorAlgorithm.h:50
TileCalibMonitorAlgorithm.h
TileRawChannelMonitorAlgorithm::m_dspChi2VsAmpGroups
std::vector< std::vector< int > > m_dspChi2VsAmpGroups
Definition: TileRawChannelMonitorAlgorithm.h:84
TileRawChannelMonitorAlgorithm::m_timeCorrGroups
std::vector< std::vector< int > > m_timeCorrGroups
Definition: TileRawChannelMonitorAlgorithm.h:67
TileRawChannelMonitorAlgorithm::m_minOfflineAmp
Gaudi::Property< float > m_minOfflineAmp
Definition: TileRawChannelMonitorAlgorithm.h:38
TileRawChannelMonitorAlgorithm::m_fillHistogramsForDSP
Gaudi::Property< bool > m_fillHistogramsForDSP
Definition: TileRawChannelMonitorAlgorithm.h:44
TileRawChannelMonitorAlgorithm::m_runTypeIsNotCIS
bool m_runTypeIsNotCIS
Definition: TileRawChannelMonitorAlgorithm.h:93
TileRawChannelContainer.h
TileRawChannelMonitorAlgorithm::m_minAmpForCorrectedTime
Gaudi::Property< float > m_minAmpForCorrectedTime
Definition: TileRawChannelMonitorAlgorithm.h:35
TileRawChannelMonitorAlgorithm::MAX_DMU
static const int MAX_DMU
Definition: TileRawChannelMonitorAlgorithm.h:89
TileRawChannelMonitorAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: TileRawChannelMonitorAlgorithm.cxx:12
TileRawChannelMonitorAlgorithm::m_dspAmpGroups
std::vector< std::vector< int > > m_dspAmpGroups
Definition: TileRawChannelMonitorAlgorithm.h:81
TileDigitsContainer.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TileRawChannelUnit::Invalid
@ Invalid
Definition: TileRawChannelUnit.h:26
TileRawChannelMonitorAlgorithm::m_dspChi2Groups
std::vector< std::vector< int > > m_dspChi2Groups
Definition: TileRawChannelMonitorAlgorithm.h:83
TileRawChannelMonitorAlgorithm::m_timeDiffGroups
std::vector< std::vector< int > > m_timeDiffGroups
Definition: TileRawChannelMonitorAlgorithm.h:87
TileRawChannelUnit::UNIT
UNIT
Definition: TileRawChannelUnit.h:16
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
ReadCondHandleKey.h
TileRawChannelMonitorAlgorithm::m_dspRawChannelContainerKey
SG::ReadHandleKey< TileRawChannelContainer > m_dspRawChannelContainerKey
Definition: TileRawChannelMonitorAlgorithm.h:56
TileRawChannelMonitorAlgorithm::m_ampVsQ5Groups
std::vector< std::vector< int > > m_ampVsQ5Groups
Definition: TileRawChannelMonitorAlgorithm.h:71
TileRawChannelMonitorAlgorithm::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: TileRawChannelMonitorAlgorithm.cxx:111
TileRawChannelUnit.h
SG::ReadCondHandleKey< TileEMScale >
TileRawChannelMonitorAlgorithm::m_dac2Charge
double m_dac2Charge[2]
Definition: TileRawChannelMonitorAlgorithm.h:92
TileRawChannelMonitorAlgorithm::isDmuHeaderError
bool isDmuHeaderError(uint32_t header) const
Definition: TileRawChannelMonitorAlgorithm.cxx:387
TileRawChannelMonitorAlgorithm::~TileRawChannelMonitorAlgorithm
virtual ~TileRawChannelMonitorAlgorithm()=default
TileRawChannelMonitorAlgorithm::m_time5Groups
std::vector< std::vector< int > > m_time5Groups
Definition: TileRawChannelMonitorAlgorithm.h:72
TileRawChannelMonitorAlgorithm::m_ampVsQ100Groups
std::vector< std::vector< int > > m_ampVsQ100Groups
Definition: TileRawChannelMonitorAlgorithm.h:77
TileRawChannelMonitorAlgorithm::m_finalRawChannelUnit
TileRawChannelUnit::UNIT m_finalRawChannelUnit
Definition: TileRawChannelMonitorAlgorithm.h:90
TileRawChannelMonitorAlgorithm::m_ampDiffGroups
std::vector< std::vector< int > > m_ampDiffGroups
Definition: TileRawChannelMonitorAlgorithm.h:86
TileRawChannelMonitorAlgorithm::m_timeGroups
std::vector< std::vector< int > > m_timeGroups
Definition: TileRawChannelMonitorAlgorithm.h:66
TileRawChannelMonitorAlgorithm::m_dspTimeGroups
std::vector< std::vector< int > > m_dspTimeGroups
Definition: TileRawChannelMonitorAlgorithm.h:82