ATLAS Offline Software
Loading...
Searching...
No Matches
TileTBMonitorAlgorithm.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TILEMONITORING_TILETBMONITORALGORITHM_H
6#define TILEMONITORING_TILETBMONITORALGORITHM_H
7
10
12
16
17class TileID;
18class TileHWID;
19
23
25
26 public:
27
29 virtual ~TileTBMonitorAlgorithm() = default;
30 virtual StatusCode initialize() override;
31 virtual StatusCode fillHistograms(const EventContext& ctx) const override;
32
33 private:
34
36 "CaloCellContainer", "AllCalo", "Calo cell container name"};
37
38 Gaudi::Property<float> m_cellEnergyThreshold{this,
39 "CellEnergyThreshold", 100.0F, "Cell Energy threshold in MeV"};
40
41 Gaudi::Property<float> m_energyThresholdForTime{this,
42 "EnergyThresholdForTime", 500.0F, "Channel Energy threshold for time in MeV"};
43
44 Gaudi::Property<float> m_beamEnergy{this,
45 "BeamEnergy", 10000.0F, "Beam Energy in MeV"};
46
47 Gaudi::Property<std::vector<std::string>> m_masked{this,
48 "Masked", {}, "Masked channels: 'module gain channel,channel' (channels are separated by comma)"};
49
50 Gaudi::Property<std::vector<int>> m_fragIDs{this,
51 "TileFragIDs", {0x100, 0x101, 0x200, 0x201, 0x402}, "Tile Frag IDs of modules to process."};
52
53 Gaudi::Property<std::vector<std::vector<double>>> m_xCellLB_A{this,
54 "xCellLongBarrelSampleA", {{}}, "Bins X to be filled on Tile LB module 2D map for Cell A per tower"};
55
56 Gaudi::Property<std::vector<std::vector<double>>> m_xCellLB_BC{this,
57 "xCellLongBarrelSampleBC", {{}}, "Bins X to be filled on Tile LB module 2D map for Cell BC per tower"};
58
59 Gaudi::Property<std::vector<std::vector<double>>> m_xCellLB_D{this,
60 "xCellLongBarrelSampleD", {{}}, "Bins X to be filled on Tile LB module 2D map for Cell D per tower"};
61
62 Gaudi::Property<std::vector<std::vector<double>>> m_yCellLB_A{this,
63 "yCellLongBarrelSampleA", {{}}, "Bins Y to be filled on Tile LB module 2D map for Cell A per tower"};
64
65 Gaudi::Property<std::vector<std::vector<double>>> m_yCellLB_BC{this,
66 "yCellLongBarrelSampleBC", {{}}, "Bins Y to be filled on Tile LB module 2D map for Cell BC per tower"};
67
68 Gaudi::Property<std::vector<std::vector<double>>> m_yCellLB_D{this,
69 "yCellLongBarrelSampleD", {{}}, "Bins Y to be filled on Tile LB module 2D map for Cell D per tower"};
70
71 Gaudi::Property<std::vector<std::vector<double>>> m_xCellEB_A{this,
72 "xCellExtendedBarrelSampleA", {{}}, "Bins X to be filled on Tile EB module 2D map for Cell A per tower"};
73
74 Gaudi::Property<std::vector<std::vector<double>>> m_xCellEB_BC{this,
75 "xCellExtendedBarrelSampleBC", {{}}, "Bins X to be filled on Tile EB module 2D map for Cell BC per tower"};
76
77 Gaudi::Property<std::vector<std::vector<double>>> m_xCellEB_D{this,
78 "xCellExtendedBarrelSampleD", {{}}, "Bins X to be filled on Tile EB module 2D map for Cell D per tower"};
79
80 Gaudi::Property<std::vector<std::vector<double>>> m_yCellEB_A{this,
81 "yCellExtendedBarrelSampleA", {{}}, "Bins Y to be filled on Tile EB module 2D map for Cell A per tower"};
82
83 Gaudi::Property<std::vector<std::vector<double>>> m_yCellEB_BC{this,
84 "yCellExtendedBarrelSampleBC", {{}}, "Bins Y to be filled on Tile EB module 2D map for Cell BC per tower"};
85
86 Gaudi::Property<std::vector<std::vector<double>>> m_yCellEB_D{this,
87 "yCellExtendedBarrelSampleD", {{}}, "Bins Y to be filled on Tile EB module 2D map for Cell D per tower"};
88
93 "TileCablingSvc", "TileCablingSvc", "The Tile cabling service"};
94
95
96 std::map<std::string, int> m_timeGroups;
97 std::map<std::string, int> m_cellMapGroups;
98
99 const TileID* m_tileID{nullptr};
100 const TileHWID* m_tileHWID{nullptr};
101
102 std::vector<bool> m_monitoredDrawerIdx;
103
104 std::array<std::array<unsigned char, TileCalibUtils::MAX_CHAN>, TileCalibUtils::MAX_DRAWERIDX> m_maskedChannels = {{}};
105 std::vector<std::vector<IdentifierHash>> m_cellsNearTower{9};
106
107 std::vector<std::vector<std::vector<double>>> m_xCellLB;
108 std::vector<std::vector<std::vector<double>>> m_yCellLB;
109
110 std::vector<std::vector<std::vector<double>>> m_xCellEB;
111 std::vector<std::vector<std::vector<double>>> m_yCellEB;
112};
113
114
115#endif // TILEMONITORING_TILETBMONITORALGORITHM_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.
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Property holding a SG store/key/clid from which a ReadHandle is made.
static const unsigned int MAX_DRAWERIDX
Maximal drawer index.
Helper class for TileCal online (hardware) identifiers.
Definition TileHWID.h:49
Helper class for TileCal offline identifiers.
Definition TileID.h:67
Gaudi::Property< std::vector< std::vector< double > > > m_yCellEB_D
Gaudi::Property< std::vector< std::string > > m_masked
Gaudi::Property< std::vector< std::vector< double > > > m_yCellLB_D
std::vector< std::vector< std::vector< double > > > m_xCellLB
std::map< std::string, int > m_timeGroups
std::vector< std::vector< std::vector< double > > > m_yCellEB
Gaudi::Property< std::vector< std::vector< double > > > m_xCellLB_A
Gaudi::Property< std::vector< int > > m_fragIDs
Gaudi::Property< std::vector< std::vector< double > > > m_xCellEB_BC
Gaudi::Property< std::vector< std::vector< double > > > m_yCellEB_A
Gaudi::Property< std::vector< std::vector< double > > > m_xCellEB_A
Gaudi::Property< float > m_energyThresholdForTime
Gaudi::Property< float > m_cellEnergyThreshold
std::map< std::string, int > m_cellMapGroups
Gaudi::Property< std::vector< std::vector< double > > > m_xCellLB_D
SG::ReadHandleKey< CaloCellContainer > m_caloCellContainerKey
Gaudi::Property< std::vector< std::vector< double > > > m_yCellEB_BC
std::vector< bool > m_monitoredDrawerIdx
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
Gaudi::Property< std::vector< std::vector< double > > > m_yCellLB_A
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Gaudi::Property< float > m_beamEnergy
Gaudi::Property< std::vector< std::vector< double > > > m_xCellLB_BC
std::vector< std::vector< std::vector< double > > > m_xCellEB
Gaudi::Property< std::vector< std::vector< double > > > m_xCellEB_D
std::array< std::array< unsigned char, TileCalibUtils::MAX_CHAN >, TileCalibUtils::MAX_DRAWERIDX > m_maskedChannels
virtual ~TileTBMonitorAlgorithm()=default
std::vector< std::vector< std::vector< double > > > m_yCellLB
std::vector< std::vector< IdentifierHash > > m_cellsNearTower
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Gaudi::Property< std::vector< std::vector< double > > > m_yCellLB_BC
void initialize()