ATLAS Offline Software
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 
18 class TileID;
19 class TileHWID;
20 
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;
102  std::vector<int> m_cherenkovVsEnergyGroups;
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
TileTBBeamMonitorAlgorithm::m_maskedChannels
std::array< std::array< unsigned char, TileCalibUtils::MAX_CHAN >, TileCalibUtils::MAX_DRAWERIDX > m_maskedChannels
Definition: TileTBBeamMonitorAlgorithm.h:113
TileTBBeamMonitorAlgorithm::m_maskedMuPMTs
std::array< bool, N_MUON_WALL_PMT > m_maskedMuPMTs
Definition: TileTBBeamMonitorAlgorithm.h:112
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
TileCablingSvc.h
TileTBBeamMonitorAlgorithm::m_bc1VerticalOffset
Gaudi::Property< double > m_bc1VerticalOffset
Definition: TileTBBeamMonitorAlgorithm.h:63
TileTBBeamMonitorAlgorithm::m_tofDiffGroups
std::vector< int > m_tofDiffGroups
Definition: TileTBBeamMonitorAlgorithm.h:97
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:28
TileTBBeamMonitorAlgorithm::m_TBperiod
Gaudi::Property< int > m_TBperiod
Definition: TileTBBeamMonitorAlgorithm.h:50
TileTBBeamMonitorAlgorithm::m_beamElemContainerKey
SG::ReadHandleKey< TileBeamElemContainer > m_beamElemContainerKey
Definition: TileTBBeamMonitorAlgorithm.h:38
TileCalibUtils::MAX_DRAWERIDX
static const unsigned int MAX_DRAWERIDX
Maximal drawer index
Definition: TileCalibUtils.h:143
TileTBBeamMonitorAlgorithm::~TileTBBeamMonitorAlgorithm
virtual ~TileTBBeamMonitorAlgorithm()=default
TileTBBeamMonitorAlgorithm::m_maskMuonPMTs
Gaudi::Property< std::vector< unsigned int > > m_maskMuonPMTs
Definition: TileTBBeamMonitorAlgorithm.h:90
TileTBBeamMonitorAlgorithm::m_bc1VerticalSlope
Gaudi::Property< double > m_bc1VerticalSlope
Definition: TileTBBeamMonitorAlgorithm.h:60
TileTBBeamMonitorAlgorithm
Definition: TileTBBeamMonitorAlgorithm.py:1
TileTBBeamMonitorAlgorithm::m_monitoredDrawerIdx
std::array< bool, TileCalibUtils::MAX_DRAWERIDX > m_monitoredDrawerIdx
Definition: TileTBBeamMonitorAlgorithm.h:111
TileCalibUtils.h
SG::ReadHandleKey< TileBeamElemContainer >
TileTBBeamMonitorAlgorithm::BEAM_ELEMENTS_NUMBER
BEAM_ELEMENTS_NUMBER
Definition: TileTBBeamMonitorAlgorithm.h:106
TileTBBeamMonitorAlgorithm::m_fragIDs
Gaudi::Property< std::vector< int > > m_fragIDs
Definition: TileTBBeamMonitorAlgorithm.h:47
TileTBBeamMonitorAlgorithm::m_masked
Gaudi::Property< std::vector< std::string > > m_masked
Definition: TileTBBeamMonitorAlgorithm.h:87
TileTBBeamMonitorAlgorithm::N_TDC_CHANNELS
@ N_TDC_CHANNELS
Definition: TileTBBeamMonitorAlgorithm.h:106
AthMonitorAlgorithm
Base class for Athena Monitoring Algorithms.
Definition: AthMonitorAlgorithm.h:36
TileTBBeamMonitorAlgorithm::m_tofPairs
Gaudi::Property< std::vector< std::pair< int, int > > > m_tofPairs
Definition: TileTBBeamMonitorAlgorithm.h:93
TileTBBeamMonitorAlgorithm::N_S_COUNTER
@ N_S_COUNTER
Definition: TileTBBeamMonitorAlgorithm.h:106
TileHWID
Helper class for TileCal online (hardware) identifiers.
Definition: TileHWID.h:49
TileTBBeamMonitorAlgorithm::m_beamChamberGroups
std::map< std::string, int > m_beamChamberGroups
Definition: TileTBBeamMonitorAlgorithm.h:103
TileTBBeamMonitorAlgorithm::N_SCALER
@ N_SCALER
Definition: TileTBBeamMonitorAlgorithm.h:106
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
TileTBBeamMonitorAlgorithm::N_TOF
@ N_TOF
Definition: TileTBBeamMonitorAlgorithm.h:106
AthMonitorAlgorithm.h
TileTBBeamMonitorAlgorithm::m_tileID
const TileHWID * m_tileID
Definition: TileTBBeamMonitorAlgorithm.h:108
TileTBBeamMonitorAlgorithm::m_cherenkovVsTOFGroups
std::vector< std::vector< int > > m_cherenkovVsTOFGroups
Definition: TileTBBeamMonitorAlgorithm.h:104
TileTBBeamMonitorAlgorithm::m_cherenkovVsEnergyGroups
std::vector< int > m_cherenkovVsEnergyGroups
Definition: TileTBBeamMonitorAlgorithm.h:102
TileTBBeamMonitorAlgorithm::errorWrongChannel
void errorWrongChannel(int frag, int channel) const
Definition: TileTBBeamMonitorAlgorithm.cxx:557
TileTBBeamMonitorAlgorithm::m_caloCellContainerKey
SG::ReadHandleKey< CaloCellContainer > m_caloCellContainerKey
Definition: TileTBBeamMonitorAlgorithm.h:84
TileTBBeamMonitorAlgorithm::m_beamBC1Z
Gaudi::Property< double > m_beamBC1Z
Definition: TileTBBeamMonitorAlgorithm.h:78
TileTBBeamMonitorAlgorithm::m_tofGroups
std::vector< int > m_tofGroups
Definition: TileTBBeamMonitorAlgorithm.h:96
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
TileTBBeamMonitorAlgorithm::N_CHERENKOV
@ N_CHERENKOV
Definition: TileTBBeamMonitorAlgorithm.h:106
TileTBBeamMonitorAlgorithm::m_bc2VerticalOffset
Gaudi::Property< double > m_bc2VerticalOffset
Definition: TileTBBeamMonitorAlgorithm.h:75
TileTBBeamMonitorAlgorithm::m_bc2HorizontalSlope
Gaudi::Property< double > m_bc2HorizontalSlope
Definition: TileTBBeamMonitorAlgorithm.h:66
TileTBBeamMonitorAlgorithm::m_beamBC2Z
Gaudi::Property< double > m_beamBC2Z
Definition: TileTBBeamMonitorAlgorithm.h:81
TileTBBeamMonitorAlgorithm::m_cablingSvc
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
Definition: TileTBBeamMonitorAlgorithm.h:44
TileTBBeamMonitorAlgorithm::m_bc2VerticalSlope
Gaudi::Property< double > m_bc2VerticalSlope
Definition: TileTBBeamMonitorAlgorithm.h:72
TileTBBeamMonitorAlgorithm::m_bc1HorizontalOffset
Gaudi::Property< double > m_bc1HorizontalOffset
Definition: TileTBBeamMonitorAlgorithm.h:57
CaloCellContainer.h
TileTBBeamMonitorAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: TileTBBeamMonitorAlgorithm.cxx:16
TileTBBeamMonitorAlgorithm::m_bc2HorizontalOffset
Gaudi::Property< double > m_bc2HorizontalOffset
Definition: TileTBBeamMonitorAlgorithm.h:69
TileBeamElemContainer.h
AthMonitorAlgorithm::AthMonitorAlgorithm
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition: AthMonitorAlgorithm.cxx:7
TileTBBeamMonitorAlgorithm::N_MUON_WALL_PMT
@ N_MUON_WALL_PMT
Definition: TileTBBeamMonitorAlgorithm.h:106
TileTBBeamMonitorAlgorithm::m_cherenkovGroups
std::vector< int > m_cherenkovGroups
Definition: TileTBBeamMonitorAlgorithm.h:99
TileTBBeamMonitorAlgorithm::m_scalerGroups
std::vector< int > m_scalerGroups
Definition: TileTBBeamMonitorAlgorithm.h:100
TileTBBeamMonitorAlgorithm::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: TileTBBeamMonitorAlgorithm.cxx:127
TileTBBeamMonitorAlgorithm::m_tileHWID
const TileHWID * m_tileHWID
Definition: TileTBBeamMonitorAlgorithm.h:109
TileTBBeamMonitorAlgorithm::m_sCounterGroups
std::vector< int > m_sCounterGroups
Definition: TileTBBeamMonitorAlgorithm.h:98
TileTBBeamMonitorAlgorithm::m_bc1HorizontalSlope
Gaudi::Property< double > m_bc1HorizontalSlope
Definition: TileTBBeamMonitorAlgorithm.h:54
TileTBBeamMonitorAlgorithm::m_muonWallGroups
std::vector< int > m_muonWallGroups
Definition: TileTBBeamMonitorAlgorithm.h:101
ServiceHandle< TileCablingSvc >