ATLAS Offline Software
Loading...
Searching...
No Matches
TileTBBeamMonitorAlgorithm.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_TILETBBEAMMONITORALGORITHM_H
6#define TILEMONITORING_TILETBBEAMMONITORALGORITHM_H
7
11
13
17
18class TileID;
19class TileHWID;
20
24
26
27 public:
28
30 virtual ~TileTBBeamMonitorAlgorithm() = default;
31 virtual StatusCode initialize() override;
32 virtual StatusCode fillHistograms(const EventContext& ctx) const override;
33
34 private:
35
36 void errorWrongChannel(int frag, int channel) const;
37
39 "TileBeamElemContainer", "TileBeamElemCnt", "Input Tile beam elements container key"};
40
45 "TileCablingSvc", "TileCablingSvc", "The Tile cabling service"};
46
47 Gaudi::Property<std::vector<int>> m_fragIDs{this,
48 "TileFragIDs", {0x100, 0x101, 0x200, 0x201, 0x402}, "Tile Frag IDs of modules to process."};
49
50 Gaudi::Property<int> m_TBperiod{this,
51 "TBperiod", 2016, "Tile TB period."};
52
53 // Beam Chamber calibration with added offset results from the survey (tigran.mkrtchyan@cern.ch)
54 Gaudi::Property<double> m_bc1HorizontalSlope{this,
55 "BC1HorizontalSlope", -0.175657, "BC1 horizontal slope."};
56
57 Gaudi::Property<double> m_bc1HorizontalOffset{this,
58 "BC1HorizontalOffset", 0.181797 + 0.5, "BC1 horizontal offset."};
59
60 Gaudi::Property<double> m_bc1VerticalSlope{this,
61 "BC1VerticalSlope", -0.175965, "BC1 vertical slope."};
62
63 Gaudi::Property<double> m_bc1VerticalOffset{this,
64 "BC1VerticalOffset", -0.128910 - 1.9, "BC1 vertical offset."};
65
66 Gaudi::Property<double> m_bc2HorizontalSlope{this,
67 "BC2HorizontalSlope", -0.176735, "BC2 horizontal slope."};
68
69 Gaudi::Property<double> m_bc2HorizontalOffset{this,
70 "BC2HorizontalOffset", 0.622896039922 - 25., "BC2 horizontal offset."};
71
72 Gaudi::Property<double> m_bc2VerticalSlope{this,
73 "BC2VerticalSlope", -0.176182117624, "BC2 vertical slope."};
74
75 Gaudi::Property<double> m_bc2VerticalOffset{this,
76 "BC2VerticalOffset", 0.195954125116 + 17.7, "BC2 vertical offset."};
77
78 Gaudi::Property<double> m_beamBC1Z{this,
79 "BC1Z", 15600.0, "BC1 z position."};
80
81 Gaudi::Property<double> m_beamBC2Z{this,
82 "BC2Z", 2600.0, "BC2 z position."};
83
85 "CaloCellContainer", "AllCalo", "Calo cell container name"};
86
87 Gaudi::Property<std::vector<std::string>> m_masked{this,
88 "Masked", {}, "Masked channels: 'module gain channel,channel' (channels are separated by comma)"};
89
90 Gaudi::Property<std::vector<unsigned int>> m_maskMuonPMTs {this,
91 "MaskMuonPMTs", {}, "Masked muon wall PMTs"};
92
93 Gaudi::Property<std::vector<std::pair<int, int>>> m_tofPairs{this,
94 "TOFDifferencePairs", {}, "TOF pairs to monitor time differnce"};
95
96 std::vector<int> m_tofGroups;
97 std::vector<int> m_tofDiffGroups;
98 std::vector<int> m_sCounterGroups;
99 std::vector<int> m_cherenkovGroups;
100 std::vector<int> m_scalerGroups;
101 std::vector<int> m_muonWallGroups;
103 std::map<std::string, int> m_beamChamberGroups;
104 std::vector<std::vector<int>> m_cherenkovVsTOFGroups;
105
107
108 const TileHWID* m_tileID{nullptr};
109 const TileHWID* m_tileHWID{nullptr};
110
111 std::array<bool, TileCalibUtils::MAX_DRAWERIDX> m_monitoredDrawerIdx{};
112 std::array<bool, N_MUON_WALL_PMT> m_maskedMuPMTs = {};
113 std::array<std::array<unsigned char, TileCalibUtils::MAX_CHAN>, TileCalibUtils::MAX_DRAWERIDX> m_maskedChannels = {{}};
114};
115
116
117#endif // TILEMONITORING_TILETBBEAMMONITORALGORITHM_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
std::array< bool, N_MUON_WALL_PMT > m_maskedMuPMTs
Gaudi::Property< double > m_beamBC1Z
Gaudi::Property< std::vector< int > > m_fragIDs
Gaudi::Property< double > m_beamBC2Z
std::array< std::array< unsigned char, TileCalibUtils::MAX_CHAN >, TileCalibUtils::MAX_DRAWERIDX > m_maskedChannels
Gaudi::Property< double > m_bc2VerticalOffset
std::map< std::string, int > m_beamChamberGroups
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
Gaudi::Property< double > m_bc1VerticalSlope
Gaudi::Property< std::vector< unsigned int > > m_maskMuonPMTs
virtual ~TileTBBeamMonitorAlgorithm()=default
Gaudi::Property< double > m_bc2HorizontalSlope
std::vector< std::vector< int > > m_cherenkovVsTOFGroups
std::array< bool, TileCalibUtils::MAX_DRAWERIDX > m_monitoredDrawerIdx
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
void errorWrongChannel(int frag, int channel) const
Gaudi::Property< double > m_bc2HorizontalOffset
Gaudi::Property< std::vector< std::string > > m_masked
Gaudi::Property< double > m_bc1HorizontalOffset
SG::ReadHandleKey< TileBeamElemContainer > m_beamElemContainerKey
Gaudi::Property< double > m_bc1HorizontalSlope
SG::ReadHandleKey< CaloCellContainer > m_caloCellContainerKey
Gaudi::Property< std::vector< std::pair< int, int > > > m_tofPairs
Gaudi::Property< double > m_bc1VerticalOffset
Gaudi::Property< double > m_bc2VerticalSlope
void initialize()