ATLAS Offline Software
Loading...
Searching...
No Matches
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
21
23
24 public:
25
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] = {};
94};
95
96
97#endif // TILEMONITORING_TILERAWCHANNELMONITORALGORITHM_H
Header file to be included by clients of the Monitored infrastructure.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
TileCalibMonitorAlgorithm(const std::string &name, ISvcLocator *svcLocator)
std::vector< std::vector< int > > m_timeCorrGroups
std::vector< std::vector< int > > m_ampGroups
SG::ReadHandleKey< TileRawChannelContainer > m_dspRawChannelContainerKey
std::vector< std::vector< int > > m_dspTimeGroups
std::vector< std::vector< int > > m_ampDiffGroups
SG::ReadCondHandleKey< TileEMScale > m_emScaleKey
Name of TileEMScale in condition store.
std::vector< std::vector< int > > m_ampVsQ100Groups
std::vector< std::vector< int > > m_ampOverQ5Groups
virtual ~TileRawChannelMonitorAlgorithm()=default
std::vector< std::vector< int > > m_dspChi2VsAmpGroups
std::vector< std::vector< int > > m_time100Groups
std::vector< std::vector< int > > m_dspAmpGroups
std::vector< std::vector< int > > m_dspChi2Groups
std::vector< std::vector< int > > m_timeVsTime100Groups
std::vector< std::vector< int > > m_timeDiffGroups
std::vector< std::vector< int > > m_ampOverQ100Groups
std::vector< std::vector< int > > m_timeVsTime5Groups
TileCalibMonitorAlgorithm(const std::string &name, ISvcLocator *svcLocator)
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
std::vector< std::vector< int > > m_ampVsQ5Groups
std::vector< std::vector< int > > m_timeGroups
SG::ReadHandleKey< TileDigitsContainer > m_digitsContainerKey
std::vector< std::vector< int > > m_time5Groups
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerKey
void initialize()