ATLAS Offline Software
Loading...
Searching...
No Matches
TileTBCellMonitorAlgorithm.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TILEMONITORING_TILETBCELLMONITORALGORITHM_H
6#define TILEMONITORING_TILETBCELLMONITORALGORITHM_H
7
10
12
15#include <array>
16
17class TileInfo;
18class TileID;
19class TileHWID;
20
24
26
27 public:
28
30 virtual ~TileTBCellMonitorAlgorithm() = default;
31 virtual StatusCode initialize() override;
32 virtual StatusCode fillHistograms(const EventContext& ctx) const override;
33
34 private:
35
40 "TileCablingSvc", "TileCablingSvc", "The Tile cabling service"};
41
43 "CaloCellContainer", "AllCalo", "Calo cell container name"};
44
45 Gaudi::Property<std::vector<int>> m_fragIDs{this,
46 "TileFragIDs", {0x100, 0x101, 0x200, 0x201, 0x402}, "Tile Frag IDs of modules to process."};
47
48 Gaudi::Property<int> m_TBperiod{this,
49 "TBperiod", 2016, "Tile TB period."};
50
51 Gaudi::Property<std::vector<std::string>> m_masked{this,
52 "Masked", {}, "Masked channels: 'module gain channel,channel' (channels are separated by comma)"};
53
54 Gaudi::Property<float> m_energyThresholdForTime{this,
55 "EnergyThresholdForTime", 100.0F, "Energy threshold for timing in MeV"};
56
57 Gaudi::Property<bool> m_fillHistogramsPerChannel{this,
58 "fillHistogramsPerChannel", true, "Fill time and energy histograms per channel"};
59
60 Gaudi::Property<float> m_scaleFactor{this,
61 "ScaleFactor", 1.0, "Scale factor to apply to cell energy"};
62
63 std::map<std::string, int> m_sampleEnergyGroups;
64 std::map<std::string, int> m_energyGroups;
65 std::map<std::string, int> m_energyDiffGroups;
66 std::map<std::string, int> m_energy2VsEnergy1Groups;
67 std::map<std::string, int> m_timeGroups;
68 std::map<std::string, int> m_timeDiffGroups;
69 std::map<std::string, int> m_time2VsTime1Groups;
70 std::map<std::string, int> m_channelEnergyGroups;
71 std::map<std::string, int> m_channelTimeGroups;
72
73 const TileID* m_tileID{nullptr};
74 const TileHWID* m_tileHWID{nullptr};
76
78
79 std::array<unsigned int, TileCalibUtils::MAX_DRAWERIDX> m_drawerIdxToROS{};
80 std::array<unsigned int, TileCalibUtils::MAX_DRAWERIDX> m_drawerIdxToDrawer{};
81 std::array<bool, TileCalibUtils::MAX_DRAWERIDX> m_monitoredDrawerIdx{};
82 std::array<std::array<unsigned char, TileCalibUtils::MAX_CHAN>, TileCalibUtils::MAX_DRAWERIDX> m_maskedChannels{{}};
83};
84
85
86#endif // TILEMONITORING_TILETBCELLMONITORALGORITHM_H
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
std::map< std::string, int > m_energyDiffGroups
const TileCablingService * m_cabling
std::map< std::string, int > m_channelTimeGroups
std::array< unsigned int, TileCalibUtils::MAX_DRAWERIDX > m_drawerIdxToDrawer
std::map< std::string, int > m_timeDiffGroups
Gaudi::Property< std::vector< std::string > > m_masked
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
std::map< std::string, int > m_channelEnergyGroups
Gaudi::Property< float > m_scaleFactor
std::map< std::string, int > m_energyGroups
std::map< std::string, int > m_sampleEnergyGroups
std::map< std::string, int > m_timeGroups
Gaudi::Property< bool > m_fillHistogramsPerChannel
std::array< unsigned int, TileCalibUtils::MAX_DRAWERIDX > m_drawerIdxToROS
Gaudi::Property< float > m_energyThresholdForTime
std::map< std::string, int > m_time2VsTime1Groups
virtual ~TileTBCellMonitorAlgorithm()=default
std::array< std::array< unsigned char, TileCalibUtils::MAX_CHAN >, TileCalibUtils::MAX_DRAWERIDX > m_maskedChannels
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
SG::ReadHandleKey< CaloCellContainer > m_caloCellContainerKey
Gaudi::Property< std::vector< int > > m_fragIDs
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
std::map< std::string, int > m_energy2VsEnergy1Groups
std::array< bool, TileCalibUtils::MAX_DRAWERIDX > m_monitoredDrawerIdx
void initialize()