ATLAS Offline Software
InDetGlobalBCMTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
16 #ifndef INDETGLOBALMONITORING_INDETGLOBALBCMTOOL_H
17 #define INDETGLOBALMONITORING_INDETGLOBALBCMTOOL_H
18 
19 //Local includes
21 //Framework
23 #include "VxVertex/VxContainer.h"
25 //Standard c++
26 #include <string>
27 //Predeclarations
28 class TH1F;
29 class TH2F;
30 class IInterface;
31 class StatusCode;
32 
35 {
36 public:
38  InDetGlobalBCMTool( const std::string & type,
39  const std::string & name,
40  const IInterface* parent);
41 
43  virtual ~InDetGlobalBCMTool() {}
44 
46  virtual StatusCode initialize() override;
47 
50 
52  virtual StatusCode bookHistogramsRecurrent() override;
53 
55  virtual StatusCode fillHistograms() override;
56 
58 
59 private:
60 
61  std::string m_detector;
62  std::string m_histFolder;
63  SG::ReadHandleKey<VxContainer> m_vxContainerName{this, "vxContainerName","VxPrimaryCandidate","Vertex Container for BCM Global Monitoring"};
64  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this, "EventInfoKey","EventInfo","Event Info Key for BCM Global Monitoring"};
65 
68 
69  // Example variables
70  int m_nExampleInt{};
71 
72  //BCM Side Histograms
73  TH1F *m_stat_pulse_position[2][2][2]{}; //station/pulse/gain
74  TH1F *m_stat_pulse_width[2][2][2]{}; //station/pulse/gain
75  TH1F *m_stat_pulse_position_gen[2][2]{}; //station/gain
76  TH1F *m_stat_pulse_width_gen[2][2]{}; //station/gain
77  TH1F *m_stat_lvl1a[2][2]{}; //station/gain
78 
79  //BCM Detector Histogram
80  TH1F* m_det_lvl1a[8][2]{};//detector/gain
81  TH1F* m_det_pulse_position[8][2][2]{};//detector/pulse/gain
82  TH1F* m_det_pulse_width[8][2][2]{};//detector/pulse/gain
83  TH1F* m_det_pulse_position_gen[8][2]{};//detector/gain
84  TH1F* m_det_pulse_width_gen[8][2]{};//detector/gain
85  TH2F* m_det_timewalk[8][2]{};//detector/gain
86 
87  // BCM Global Monitoring Histograms
91 
104 
108  TH1F* m_hits_lvl1a[2];//gain
109  TH1F* m_hits_bcid[2];//gain
114  TH1F* m_hitdistribution_pulse[2][2]{};//pulse/gain
115  TH1F* m_pulse_position[2][2]{};//pulse/gain
116  TH1F* m_pulse_width[2][2]{};//pulse/gain
118 
119  //Deltat Histograms
124  TH2F* m_deltat_vs_lb[2];//gain
137 
138  //LB
139  unsigned int m_current_LB{};
140 };
141  //cppcheck-suppress ctuOneDefinitionRuleViolation
142  class deltat_data{
143  public:
144  unsigned int bcid;
145  unsigned int bcid_max{};
146  unsigned int ecr;
147  unsigned int position;
148  unsigned int detector;
149  unsigned int lvl1a;
150  deltat_data();
151  bool operator<(const deltat_data &data) const;
152  // deltat_data min(const deltat_data &data);
153 
154  };
155 
156 #endif
InDetGlobalBCMTool::m_current_LB
unsigned int m_current_LB
Definition: InDetGlobalBCMTool.h:139
InDetGlobalBCMTool::m_AbortFractionVsECR
TH1F * m_AbortFractionVsECR
Definition: InDetGlobalBCMTool.h:100
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
InDetGlobalBCMTool
Template monitoring tool derived from InDetGlobalMotherMonTool.
Definition: InDetGlobalBCMTool.h:35
InDetGlobalBCMTool::m_sct_vs_pix_bkg
TH2F * m_sct_vs_pix_bkg[2]
Definition: InDetGlobalBCMTool.h:136
InDetGlobalBCMTool::m_pulse_position_all
TH1F * m_pulse_position_all[2]
Definition: InDetGlobalBCMTool.h:106
InDetGlobalBCMTool::m_hits_lvl1a_all
TH1F * m_hits_lvl1a_all
Definition: InDetGlobalBCMTool.h:92
InDetGlobalBCMTool::m_hitdistribution_pulse
TH1F * m_hitdistribution_pulse[2][2]
Definition: InDetGlobalBCMTool.h:114
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
InDetGlobalBCMTool::m_pulse_width_gen
TH1F * m_pulse_width_gen[2]
Definition: InDetGlobalBCMTool.h:112
deltat_data::ecr
unsigned int ecr
Definition: InDetGlobalBCMTool.h:146
InDetGlobalBCMTool::m_vxContainerName
SG::ReadHandleKey< VxContainer > m_vxContainerName
Definition: InDetGlobalBCMTool.h:63
InDetGlobalBCMTool::m_pulse_width_all
TH1F * m_pulse_width_all[2]
Definition: InDetGlobalBCMTool.h:107
InDetGlobalBCMTool::m_AbortFractionROD1VsBCID
TH1F * m_AbortFractionROD1VsBCID
Definition: InDetGlobalBCMTool.h:99
InDetGlobalBCMTool::m_det_pulse_position
TH1F * m_det_pulse_position[8][2][2]
Definition: InDetGlobalBCMTool.h:81
deltat_data::bcid
unsigned int bcid
Definition: InDetGlobalBCMTool.h:144
InDetGlobalBCMTool::m_ChannelVsECR
TH2F * m_ChannelVsECR
Definition: InDetGlobalBCMTool.h:90
TH2F
Definition: rootspy.cxx:420
InDetGlobalBCMTool::m_hitdistribution
TH1F * m_hitdistribution[2]
Definition: InDetGlobalBCMTool.h:110
InDetGlobalBCMTool::m_deltat_vs_scthitsEC
TH2F * m_deltat_vs_scthitsEC[2]
Definition: InDetGlobalBCMTool.h:133
InDetGlobalBCMTool::m_hits_lvl1a
TH1F * m_hits_lvl1a[2]
Definition: InDetGlobalBCMTool.h:108
InDetGlobalBCMTool::m_stat_pulse_width_gen
TH1F * m_stat_pulse_width_gen[2][2]
Definition: InDetGlobalBCMTool.h:76
InDetGlobalBCMTool::m_det_pulse_width
TH1F * m_det_pulse_width[8][2][2]
Definition: InDetGlobalBCMTool.h:82
InDetGlobalBCMTool::m_AbortFractionVsLB
TH2F * m_AbortFractionVsLB
Definition: InDetGlobalBCMTool.h:103
InDetGlobalBCMTool::m_hits_bcid
TH1F * m_hits_bcid[2]
Definition: InDetGlobalBCMTool.h:109
InDetGlobalBCMTool::m_pulse_position
TH1F * m_pulse_position[2][2]
Definition: InDetGlobalBCMTool.h:115
deltat_data::operator<
bool operator<(const deltat_data &data) const
Definition: InDetGlobalBCMTool.cxx:582
InDetGlobalBCMTool::m_AbortFractionROD0VsBCID
TH1F * m_AbortFractionROD0VsBCID
Definition: InDetGlobalBCMTool.h:98
InDetGlobalBCMTool::m_stat_lvl1a
TH1F * m_stat_lvl1a[2][2]
Definition: InDetGlobalBCMTool.h:77
InDetGlobalBCMTool::m_deltat_vs_pixhits
TH2F * m_deltat_vs_pixhits[2]
Definition: InDetGlobalBCMTool.h:129
InDetGlobalBCMTool::fillHistograms
virtual StatusCode fillHistograms() override
An inheriting class should either override this function or fillHists().
Definition: InDetGlobalBCMTool.cxx:590
SG::ReadHandleKey< VxContainer >
InDetGlobalBCMTool::m_strange_signals
TH1F * m_strange_signals[2]
Definition: InDetGlobalBCMTool.h:113
InDetGlobalBCMTool::m_stat_pulse_position
TH1F * m_stat_pulse_position[2][2][2]
Definition: InDetGlobalBCMTool.h:73
InDetGlobalBCMTool::m_nExamplePlot
TH1F * m_nExamplePlot
Example histogram.
Definition: InDetGlobalBCMTool.h:67
deltat_data::detector
unsigned int detector
Definition: InDetGlobalBCMTool.h:148
InDetGlobalBCMTool::m_pulse_width
TH1F * m_pulse_width[2][2]
Definition: InDetGlobalBCMTool.h:116
InDetGlobalBCMTool::m_det_pulse_width_gen
TH1F * m_det_pulse_width_gen[8][2]
Definition: InDetGlobalBCMTool.h:84
InDetGlobalBCMTool::m_deltat_vs_pixhitsBR
TH2F * m_deltat_vs_pixhitsBR[2]
Definition: InDetGlobalBCMTool.h:131
deltat_data::position
unsigned int position
Definition: InDetGlobalBCMTool.h:147
InDetGlobalBCMTool::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: InDetGlobalBCMTool.h:64
InDetGlobalBCMTool::m_deltat_vs_scthits
TH2F * m_deltat_vs_scthits[2]
Definition: InDetGlobalBCMTool.h:132
InDetGlobalBCMTool::m_deltat_aligned_vs_bcid
TH2F * m_deltat_aligned_vs_bcid[2]
Definition: InDetGlobalBCMTool.h:123
InDetGlobalBCMTool::m_histFolder
std::string m_histFolder
Definition: InDetGlobalBCMTool.h:62
InDetGlobalMotherMonTool
This tool derives from InDetGlobalMonitorToolBase The Mother tool interfaces to all subtools.
Definition: InDetGlobalMotherMonTool.h:75
InDetGlobalBCMTool::m_ChannelVsLvl1a
TH2F * m_ChannelVsLvl1a
Definition: InDetGlobalBCMTool.h:88
InDetGlobalBCMTool::m_highocc
TH1F * m_highocc
Definition: InDetGlobalBCMTool.h:117
InDetGlobalBCMTool::m_deltat_vs_bcid
TH2F * m_deltat_vs_bcid[2]
Definition: InDetGlobalBCMTool.h:122
InDetGlobalBCMTool::m_deltat_aligned_vs_ecr
TH2F * m_deltat_aligned_vs_ecr[2]
Definition: InDetGlobalBCMTool.h:127
InDetGlobalBCMTool::m_sct_vs_pix_col
TH2F * m_sct_vs_pix_col[2]
Definition: InDetGlobalBCMTool.h:135
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDetGlobalBCMTool::InDetGlobalBCMTool
InDetGlobalBCMTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
Definition: InDetGlobalBCMTool.cxx:51
InDetGlobalBCMTool::m_nExampleInt
int m_nExampleInt
Definition: InDetGlobalBCMTool.h:70
InDetGlobalBCMTool::m_deltat_aligned_vs_lb
TH2F * m_deltat_aligned_vs_lb[2]
Definition: InDetGlobalBCMTool.h:125
InDetGlobalBCMTool::m_pulse_position_gen
TH1F * m_pulse_position_gen[2]
Definition: InDetGlobalBCMTool.h:111
InDetGlobalBCMTool::m_timewalk_all
TH2F * m_timewalk_all
Definition: InDetGlobalBCMTool.h:93
test_pyathena.parent
parent
Definition: test_pyathena.py:15
deltat_data
Definition: InDetGlobalBCMTool.h:142
VxContainer.h
InDetGlobalBCMTool::m_deltat_vs_lb
TH2F * m_deltat_vs_lb[2]
Definition: InDetGlobalBCMTool.h:124
InDetGlobalBCMTool::m_NumberOfEvents
TH1F * m_NumberOfEvents
Definition: InDetGlobalBCMTool.h:105
InDetGlobalBCMTool::m_AbortFractionROD1
TH1F * m_AbortFractionROD1
Definition: InDetGlobalBCMTool.h:96
InDetGlobalBCMTool::m_ChannelVsBCID
TH2F * m_ChannelVsBCID
Definition: InDetGlobalBCMTool.h:89
InDetGlobalBCMTool::m_stat_pulse_position_gen
TH1F * m_stat_pulse_position_gen[2][2]
Definition: InDetGlobalBCMTool.h:75
InDetGlobalBCMTool::m_AbortFraction
TH1F * m_AbortFraction
Definition: InDetGlobalBCMTool.h:94
InDetGlobalBCMTool::~InDetGlobalBCMTool
virtual ~InDetGlobalBCMTool()
Virtual destructor.
Definition: InDetGlobalBCMTool.h:43
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
InDetGlobalBCMTool::initialize
virtual StatusCode initialize() override
Initialisation.
Definition: InDetGlobalBCMTool.cxx:86
InDetGlobalBCMTool::m_deltat_aligned_vs_hits
TH1F * m_deltat_aligned_vs_hits[2]
Definition: InDetGlobalBCMTool.h:121
InDetGlobalBCMTool::m_deltat_vs_pixhitsEC
TH2F * m_deltat_vs_pixhitsEC[2]
Definition: InDetGlobalBCMTool.h:130
EventInfo.h
InDetGlobalBCMTool::m_deltat_vs_hits
TH1F * m_deltat_vs_hits[2]
Definition: InDetGlobalBCMTool.h:120
InDetGlobalBCMTool::m_stat_pulse_width
TH1F * m_stat_pulse_width[2][2][2]
Definition: InDetGlobalBCMTool.h:74
InDetGlobalBCMTool::bookHistogramsRecurrent
virtual StatusCode bookHistogramsRecurrent() override
An inheriting class should either override this function or bookHists().
Definition: InDetGlobalBCMTool.cxx:95
TH1F
Definition: rootspy.cxx:320
InDetGlobalBCMTool::m_AbortFractionVsBCID
TH1F * m_AbortFractionVsBCID
Definition: InDetGlobalBCMTool.h:97
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
InDetGlobalBCMTool::m_AbortFractionROD0VsECR
TH1F * m_AbortFractionROD0VsECR
Definition: InDetGlobalBCMTool.h:101
InDetGlobalBCMTool::m_detector
std::string m_detector
Definition: InDetGlobalBCMTool.h:61
deltat_data::deltat_data
deltat_data()
Definition: InDetGlobalBCMTool.cxx:573
InDetGlobalBCMTool::m_deltat_vs_ecr
TH2F * m_deltat_vs_ecr[2]
Definition: InDetGlobalBCMTool.h:126
InDetGlobalMotherMonTool.h
InDetGlobalBCMTool::m_det_lvl1a
TH1F * m_det_lvl1a[8][2]
Definition: InDetGlobalBCMTool.h:80
InDetGlobalBCMTool::m_deltat_vs_scthitsBR
TH2F * m_deltat_vs_scthitsBR[2]
Definition: InDetGlobalBCMTool.h:134
InDetGlobalBCMTool::m_AbortFractionROD0
TH1F * m_AbortFractionROD0
Definition: InDetGlobalBCMTool.h:95
deltat_data::lvl1a
unsigned int lvl1a
Definition: InDetGlobalBCMTool.h:149
deltat_data::bcid_max
unsigned int bcid_max
Definition: InDetGlobalBCMTool.h:145
InDetGlobalBCMTool::m_det_pulse_position_gen
TH1F * m_det_pulse_position_gen[8][2]
Definition: InDetGlobalBCMTool.h:83
InDetGlobalBCMTool::m_AbortFractionROD1VsECR
TH1F * m_AbortFractionROD1VsECR
Definition: InDetGlobalBCMTool.h:102
InDetGlobalBCMTool::m_det_timewalk
TH2F * m_det_timewalk[8][2]
Definition: InDetGlobalBCMTool.h:85
InDetGlobalBCMTool::m_deltat_vs_PrVertex
TH2F * m_deltat_vs_PrVertex[2]
Definition: InDetGlobalBCMTool.h:128