ATLAS Offline Software
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 
17 class TileID;
18 class TileHWID;
19 
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
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
TileTBMonitorAlgorithm::m_xCellLB_BC
Gaudi::Property< std::vector< std::vector< double > > > m_xCellLB_BC
Definition: TileTBMonitorAlgorithm.h:56
TileCablingSvc.h
TileTBMonitorAlgorithm::m_yCellLB
std::vector< std::vector< std::vector< double > > > m_yCellLB
Definition: TileTBMonitorAlgorithm.h:108
TileTBMonitorAlgorithm::m_yCellLB_BC
Gaudi::Property< std::vector< std::vector< double > > > m_yCellLB_BC
Definition: TileTBMonitorAlgorithm.h:65
TileCalibUtils::MAX_DRAWERIDX
static const unsigned int MAX_DRAWERIDX
Maximal drawer index
Definition: TileCalibUtils.h:143
TileTBMonitorAlgorithm::m_yCellEB_A
Gaudi::Property< std::vector< std::vector< double > > > m_yCellEB_A
Definition: TileTBMonitorAlgorithm.h:80
TileTBMonitorAlgorithm::m_cellMapGroups
std::map< std::string, int > m_cellMapGroups
Definition: TileTBMonitorAlgorithm.h:97
TileTBMonitorAlgorithm::m_yCellLB_D
Gaudi::Property< std::vector< std::vector< double > > > m_yCellLB_D
Definition: TileTBMonitorAlgorithm.h:68
TileTBMonitorAlgorithm::m_energyThresholdForTime
Gaudi::Property< float > m_energyThresholdForTime
Definition: TileTBMonitorAlgorithm.h:41
TileCalibUtils.h
SG::ReadHandleKey< CaloCellContainer >
TileTBMonitorAlgorithm::m_yCellLB_A
Gaudi::Property< std::vector< std::vector< double > > > m_yCellLB_A
Definition: TileTBMonitorAlgorithm.h:62
TileTBMonitorAlgorithm::m_monitoredDrawerIdx
std::vector< bool > m_monitoredDrawerIdx
Definition: TileTBMonitorAlgorithm.h:102
TileTBMonitorAlgorithm::m_xCellEB_BC
Gaudi::Property< std::vector< std::vector< double > > > m_xCellEB_BC
Definition: TileTBMonitorAlgorithm.h:74
AthMonitorAlgorithm
Base class for Athena Monitoring Algorithms.
Definition: AthMonitorAlgorithm.h:36
TileHWID
Helper class for TileCal online (hardware) identifiers.
Definition: TileHWID.h:49
TileTBMonitorAlgorithm::m_xCellLB
std::vector< std::vector< std::vector< double > > > m_xCellLB
Definition: TileTBMonitorAlgorithm.h:107
TileTBMonitorAlgorithm::m_xCellLB_D
Gaudi::Property< std::vector< std::vector< double > > > m_xCellLB_D
Definition: TileTBMonitorAlgorithm.h:59
TileTBMonitorAlgorithm::m_xCellEB_A
Gaudi::Property< std::vector< std::vector< double > > > m_xCellEB_A
Definition: TileTBMonitorAlgorithm.h:71
TileTBMonitorAlgorithm::m_yCellEB
std::vector< std::vector< std::vector< double > > > m_yCellEB
Definition: TileTBMonitorAlgorithm.h:111
TileID
Helper class for TileCal offline identifiers.
Definition: TileID.h:68
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthMonitorAlgorithm.h
TileTBMonitorAlgorithm::m_fragIDs
Gaudi::Property< std::vector< int > > m_fragIDs
Definition: TileTBMonitorAlgorithm.h:50
TileTBMonitorAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: TileTBMonitorAlgorithm.cxx:17
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
TileTBMonitorAlgorithm::m_maskedChannels
std::array< std::array< unsigned char, TileCalibUtils::MAX_CHAN >, TileCalibUtils::MAX_DRAWERIDX > m_maskedChannels
Definition: TileTBMonitorAlgorithm.h:104
TileTBMonitorAlgorithm::m_cablingSvc
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
Definition: TileTBMonitorAlgorithm.h:92
TileTBMonitorAlgorithm::m_yCellEB_D
Gaudi::Property< std::vector< std::vector< double > > > m_yCellEB_D
Definition: TileTBMonitorAlgorithm.h:86
TileTBMonitorAlgorithm::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: TileTBMonitorAlgorithm.cxx:195
TileTBMonitorAlgorithm::m_caloCellContainerKey
SG::ReadHandleKey< CaloCellContainer > m_caloCellContainerKey
Definition: TileTBMonitorAlgorithm.h:35
TileTBMonitorAlgorithm::m_tileHWID
const TileHWID * m_tileHWID
Definition: TileTBMonitorAlgorithm.h:100
TileTBMonitorAlgorithm::m_masked
Gaudi::Property< std::vector< std::string > > m_masked
Definition: TileTBMonitorAlgorithm.h:47
TileTBMonitorAlgorithm::m_cellEnergyThreshold
Gaudi::Property< float > m_cellEnergyThreshold
Definition: TileTBMonitorAlgorithm.h:38
TileTBMonitorAlgorithm::m_tileID
const TileID * m_tileID
Definition: TileTBMonitorAlgorithm.h:99
TileTBMonitorAlgorithm::m_yCellEB_BC
Gaudi::Property< std::vector< std::vector< double > > > m_yCellEB_BC
Definition: TileTBMonitorAlgorithm.h:83
CaloCellContainer.h
AthMonitorAlgorithm::AthMonitorAlgorithm
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition: AthMonitorAlgorithm.cxx:7
TileTBMonitorAlgorithm::m_cellsNearTower
std::vector< std::vector< IdentifierHash > > m_cellsNearTower
Definition: TileTBMonitorAlgorithm.h:105
TileTBMonitorAlgorithm::m_xCellEB
std::vector< std::vector< std::vector< double > > > m_xCellEB
Definition: TileTBMonitorAlgorithm.h:110
TileTBMonitorAlgorithm::m_beamEnergy
Gaudi::Property< float > m_beamEnergy
Definition: TileTBMonitorAlgorithm.h:44
TileTBMonitorAlgorithm::m_timeGroups
std::map< std::string, int > m_timeGroups
Definition: TileTBMonitorAlgorithm.h:96
TileTBMonitorAlgorithm::m_xCellEB_D
Gaudi::Property< std::vector< std::vector< double > > > m_xCellEB_D
Definition: TileTBMonitorAlgorithm.h:77
TileTBMonitorAlgorithm::m_xCellLB_A
Gaudi::Property< std::vector< std::vector< double > > > m_xCellLB_A
Definition: TileTBMonitorAlgorithm.h:53
TileTBMonitorAlgorithm
Definition: TileTBMonitorAlgorithm.py:1
TileTBMonitorAlgorithm::~TileTBMonitorAlgorithm
virtual ~TileTBMonitorAlgorithm()=default
ServiceHandle< TileCablingSvc >