ATLAS Offline Software
MdtRawDataValAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // Package : MdtRawDataMonitoring
7 // Author: N. Benekos(Illinois) - G. Dedes(MPI) - Orin Harris (University of Washington)
8 // Sept. 2007
9 //
10 // DESCRIPTION:
11 // Subject: MDT-->Offline Muon Data Quality
13 
14 #ifndef MdtRawDataValAlg_H
15 #define MdtRawDataValAlg_H
16 
17 #include <cstdlib>
18 #include <fstream>
19 #include <iostream>
20 #include <memory>
21 
24 #include "GaudiKernel/ServiceHandle.h"
25 #include "GaudiKernel/ToolHandle.h"
26 #include "MDTChamber.h"
27 #include "MDTMonGroupStruct.h"
28 #include "MDTNoisyTubes.h"
30 #include "MuonChamberIDSelector.h"
38 #include "xAODMuon/MuonContainer.h"
40 
41 class MuonDQAHistList;
42 
43 namespace Muon {
44  class MdtPrepData;
45 }
46 
47 // stl includes
48 #include <map>
49 #include <set>
50 #include <sstream>
51 #include <string>
52 #include <vector>
53 
54 // root includes
55 class TH1;
56 class TH2;
57 class TString;
58 class TH1F_LW;
59 class TH2F_LW;
60 class TColor;
61 
63 
65 public:
66  TubeTraversedBySegment(const std::string& hn, int tb, bool ih, IdentifierHash idh) :
67  hardware_name(hn),
68  tubeBin(tb),
69  isHit(ih),
70  idHash(idh)
71  {
72  }
73  std::string hardware_name;
74  int tubeBin;
75  bool isHit;
77 };
78 
79 // Be careful here -- changes to this can break whether insertions to set are unique
80 // JG remove expensive hardware_name comparison w/ idHash comparison
81 // Hope I was careful ;)
84  if (A.idHash > B.idHash) {
85  return true;
86  } else {
87  if ((A.tubeBin > B.tubeBin) && (A.idHash == B.idHash)) {
88  return true;
89  } else {
90  if ((A.isHit > B.isHit) && (A.tubeBin == B.tubeBin) && (A.idHash == B.idHash)) { return true; }
91  }
92  }
93  return false;
94  }
95 };
96 
97 template <class ConcreteAlgorithm> class AlgFactory;
99 public:
100  MdtRawDataValAlg(const std::string& type, const std::string& name, const IInterface* parent);
101 
102  virtual ~MdtRawDataValAlg();
104  virtual StatusCode bookHistogramsRecurrent(/* bool newLumiBlock, bool newRun */);
105  virtual StatusCode fillHistograms();
106  virtual StatusCode procHistograms();
107 
108 private:
109  std::string m_title;
110 
111  bool m_atlas_ready{false};
112  bool isATLASReady() const { return m_atlas_ready; }
113  void setIsATLASReady();
114 
115  std::unique_ptr<MDTMonGroupStruct> m_mg;
116  std::unique_ptr<MDTNoisyTubes> m_masked_tubes;
117 
118  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
119  ToolHandle<CP::IMuonSelectionTool> m_muonSelectionTool;
120 
121  // MuonDetectorManager from the conditions store
122  SG::ReadCondHandleKey<MuonGM::MuonDetectorManager> m_DetectorManagerKey{this, "DetectorManagerKey", "MuonDetectorManager",
123  "Key of input MuonDetectorManager condition data"};
124 
125  virtual StatusCode bookMDTHistograms(MDTChamber* chamber, Identifier digcoll_id); // book chamber by chamber histos
126  virtual StatusCode fillMDTHistograms(const Muon::MdtPrepData*); // fill chamber by chamber histos
127  virtual StatusCode bookMDTSummaryHistograms(bool newLumiBlock, bool newRun); // Those over barrel/encap layer etc.
128  virtual StatusCode fillMDTSummaryHistograms(const Muon::MdtPrepData*, std::set<std::string>, bool& isNoiseBurstCandidate);
129  virtual StatusCode bookMDTOverviewHistograms(bool newLumiBlock, bool newRun);
130  virtual StatusCode fillMDTOverviewHistograms(const Muon::MdtPrepData*, bool& isNoiseBurstCandidate);
131  StatusCode handleEvent_effCalc(const Trk::SegmentCollection* segms); //, const Muon::MdtPrepDataContainer* mdt_container );
132 
133  static bool AinB(int A, std::vector<int>& B);
134  virtual StatusCode binMdtGlobal(TH2*, char ecap);
135  virtual StatusCode binMdtRegional(TH2*, std::string_view xAxis);
136  virtual StatusCode binMdtGlobal_byLayer(TH2*, TH2*, TH2*);
137  virtual StatusCode binMdtOccVsLB(TH2*& h, int region, int layer);
138  virtual StatusCode binMdtOccVsLB_Crate(TH2*& h, int region, int crate);
139  static void TubeID_to_ID_L_ML(int& tubeID, std::string_view hardware_name, int& tube, int& layer, int& ML, int max);
140  static void ChamberTubeNumberCorrection(int& tubeNum, std::string_view hardware_name, int tubePos, int numLayers);
141  static void CorrectTubeMax(const std::string& hardware_name, int& numTubes);
142  static void CorrectLayerMax(const std::string& hardware_name, int& numLayers);
143  virtual StatusCode bookMDTHisto_overview(TH1*&, TString, TString, TString, int, float, float, MonGroup&);
144  virtual StatusCode bookMDTHisto_chambers(TH1F_LW*&, TString, TString, TString, int, float, float, MonGroup&);
145  virtual StatusCode bookMDTHisto_overview_2D(TH2*& h, TString, TString, TString, int, float, float, int, float, float, MonGroup&);
146  virtual StatusCode bookMDTHisto_chambers_2D(TH2F_LW*& h, TString, TString, TString, int, float, float, int, float, float, MonGroup&);
147  virtual StatusCode bookMDTHisto_OccVsLB(TH2*& h, TString, TString, TString, int, float, float, int, float, float, MonGroup&);
148  virtual StatusCode fillMDTMaskedTubes(IdentifierHash, const std::string&, TH1F_LW*& h);
149  static void putBox(TH2* h, float x1, float y1, float x2, float y2);
150  static void putLine(TH2* h, float x1, float y1, float x2, float y2, Color_t c = kBlack);
151  static int get_bin_for_LB_hist(int region, int layer, int phi, int eta, bool isBIM);
152  int get_bin_for_LB_crate_hist(int region, int layer, int phi, int eta, std::string_view chamber);
153  // private function to initialize the selection of a certain region
154  void mdtchamberId();
155  // private function to find mdt mezz cards
156  int mezzmdt(Identifier);
157  int GetTubeMax(const Identifier& digcoll_id, std::string_view hardware_name);
159  void StoreTriggerType(int type);
160  int GetTriggerType() { return m_trigtype; }
161  bool HasTrigBARREL() { return m_trig_BARREL; }
162  bool HasTrigENDCAP() { return m_trig_ENDCAP; }
166  void initDeadChannels(const MuonGM::MdtReadoutElement* mydetEl);
167 
168  ToolHandleArray<IDQFilterTool> m_MdtDQFilterTools;
169  int m_lumiblock{0};
170  int m_eventNum{0};
171  int m_firstEvent{0};
175 
176  SG::ReadHandleKey<Trk::SegmentCollection> m_segm_type{this, "Eff_segm_type", "TrackMuonSegments", "muon segments"};
177 
178  static int returnInt(const std::string& s) {
179  std::stringstream ss(s);
180  int n;
181  ss >> n;
182  return n;
183  }
184 
185  std::vector<Identifier> m_chambersId;
186  std::vector<IdentifierHash> m_chambersIdHash;
187  std::set<std::string> m_hardware_name_list;
188  std::set<int> m_hashId_list;
189  std::map<std::string, float> m_hitsperchamber_map;
190 
191  std::map<std::string, float> m_tubesperchamber_map;
192 
194 
195  // to book or not bookMDTTDCplots --> /Chambers/tmp/ directory
199  bool m_chamber_2D; // Set this to true/false in the Job Options in order to see/not see chamber by chamber 2d adc vs tdc plots.
200 
201  std::string m_chamberName;
202  std::string m_StationSize;
203  SG::ReadHandleKey<Muon::MdtPrepDataContainer> m_key_mdt{this, "MdtPrepDataContainer", "MDT_DriftCircles", "MDT PRDs"};
204  SG::ReadHandleKey<Muon::RpcPrepDataContainer> m_key_rpc{this, "RpcPrepDataContainer", "RPC_Measurements", "RPC PRDs"};
205  SG::ReadHandleKey<xAOD::MuonRoIContainer> m_l1RoiKey{this, "L1RoiKey", "LVL1MuonRoIs", "L1 muon ROIs"};
206  SG::ReadHandleKey<xAOD::MuonContainer> m_muonKey{this, "MuonKey", "Muons", "muons"};
207  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfo{this, "EventInfo", "EventInfo", "event info"};
210 
211  int m_trigtype = 0;
212  bool m_trig_BARREL{false};
213  bool m_trig_ENDCAP{false};
214  // Define configurable adccut and TGC/RPC keys
215  float m_ADCCut;
217  float m_curTime = 0.0F;
218 
219  // From Old BS
220  TH2* m_overalltdcadcLumi{}; // all chambers tdc vs adc superimposed
221  TH2* m_overalltdcadcPRLumi[4]{}; // all chambers tdc vs adc superimposed
222  TH1* m_overalltdccutLumi{}; // all chambers tdc superimposed with adc cut
223  TH1* m_overalltdccut_segm_Lumi{}; // all chambers tdc superimposed with adc cut
224  TH1* m_overalladc_segm_Lumi{}; // all chambers adc on segm
225  TH1* m_overalladc_Lumi{}; // all chambers adc
226  TH1* m_overalltdccut_segm_PR_Lumi[4]{}; // all chambers tdc superimposed with adc cut per region
227  TH1* m_overalltdccutPRLumi[4]{}; // all chambers tdc superimposed with adc cut per region
228  TH1* m_overalladc_segm_PR_Lumi[4]{}; // all chambers adc superimposed per region
229  TH1* m_overalladcPRLumi[4]{}; // all chambers adc superimposed per region
230  TH1* m_overalladccutPRLumi[4]{}; // all chambers adc superimposed per region with adc noise cut
231  TH1* m_overalltdccutPRLumi_RPCtrig[4]{}; // all chambers tdc superimposed with adc cut per region
232  TH1* m_overalltdccutPRLumi_TGCtrig[4]{}; // all chambers tdc superimposed with adc cut per region
233 
234  TH2* m_overalltdcadcHighOcc{}; // all chambers tdc vs adc superimposed, events with > m_HighOccThreshold hits
235  TH1* m_overalltdcHighOcc{}; // all chambers tdc superimposed, events with > m_HighOccThreshold hits
236  TH1* m_overalltdcHighOcc_ADCCut{}; // all chambers tdc (with ADC>80) superimposed, events with > m_HighOccThreshold hits
237  TH1* m_overalladc_HighOcc{}; // all chambers adc superimposed, events with > m_HighOccThreshold hits
238  TH2* m_overalltdcadcPR_HighOcc[4]{}; // all chambers tdc vs adc superimposed
239  TH1* m_overalltdcPR_HighOcc[4]{}; // all chambers tdc superimposed per region
240  TH1* m_overalltdcPR_HighOcc_ADCCut[4]{}; // all chambers tdc superimposed with adc cut per region
241  TH1* m_overalladcPR_HighOcc[4]{}; // all chambers tdc superimposed with adc cut per region
242 
248 
249  TH1* m_mdteventscutLumi{}; // Total number of MDT digits with a cut on ADC
250  TH1* m_mdteventscutLumi_big{}; // Total number of MDT digits with a cut on ADC (for high mult. evt)
251  TH1* m_mdteventsLumi{}; // Total number of MDT digits without a cut on ADC
252  TH1* m_mdteventsLumi_big{}; // Total number of MDT digits without a cut on ADC (for high mult. evt)
253 
255 
256  TH1* m_nummdtchamberswithhits{}; // Number of MDT chambers with hits
257  TH1* m_nummdtchamberswithhits_ADCCut{}; // Number of MDT chambers with hits
258  TH1* m_nummdtchamberswithHighOcc{}; // Number of MDT chambers with > 1% occupancy
259 
262  TH1* m_mdtChamberHits[4][4][16]{};
271  TH2* m_mdthitsperML_byLayer[3]{}; // These are alternative Global hit coverage plots
272  TH2* m_mdtoccvslb[4][3]{};
276 
278 
280  TH1* m_mdttdccut_sector[4][4][16]{};
281 
282  // Chamber by Chamber Plots
283  std::vector<std::unique_ptr<MDTChamber>> m_hist_hash_list{};
284 
285  std::string getChamberName(const Muon::MdtPrepData*);
286  std::string getChamberName(const Identifier& id);
288 
289  // Control for which histograms to add
319 
320  float m_nb_hits; // minimum number of hits in segment
321  float m_road_width; // road width for pattern recognition
322  float m_chi2_cut; // track chi2 cut;
323  float m_HighOccThreshold; // minimum number of hits to consider an event a possible noise burst
324  bool m_BMGpresent{false};
325  int m_BMGid{-1};
326  std::map<Identifier, std::vector<Identifier> > m_DeadChannels;
327 
328  int cachedTubeMax(const Identifier& id) const;
329  int cachedTubeLayerMax(const Identifier& id) const;
331 };
332 
333 #endif
MdtRawDataValAlg::ChamberTubeNumberCorrection
static void ChamberTubeNumberCorrection(int &tubeNum, std::string_view hardware_name, int tubePos, int numLayers)
Definition: MDTRawDataUtils.cxx:929
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
MdtRawDataValAlg::m_chambersIdHash
std::vector< IdentifierHash > m_chambersIdHash
Definition: MdtRawDataValAlg.h:186
MdtRawDataValAlg::binMdtOccVsLB_Crate
virtual StatusCode binMdtOccVsLB_Crate(TH2 *&h, int region, int crate)
Definition: MDTRawDataUtils.cxx:1588
MdtRawDataValAlg::bookMDTHisto_chambers_2D
virtual StatusCode bookMDTHisto_chambers_2D(TH2F_LW *&h, TString, TString, TString, int, float, float, int, float, float, MonGroup &)
Definition: MDTRawDataUtils.cxx:996
MdtRawDataValAlg::m_mdttdccut_sector
TH1 * m_mdttdccut_sector[4][4][16]
Definition: MdtRawDataValAlg.h:280
MdtRawDataValAlg::m_overalltdcHighOcc
TH1 * m_overalltdcHighOcc
Definition: MdtRawDataValAlg.h:235
MdtRawDataValAlg::m_DetectorManagerKey
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_DetectorManagerKey
Definition: MdtRawDataValAlg.h:122
MdtRawDataValAlg::m_eventNum
int m_eventNum
Definition: MdtRawDataValAlg.h:170
MdtRawDataValAlg::m_nummdtchamberswithHighOcc
TH1 * m_nummdtchamberswithHighOcc
Definition: MdtRawDataValAlg.h:258
plotBeamSpotCompare.x1
x1
Definition: plotBeamSpotCompare.py:216
MdtRawDataValAlg::m_chamber_2D
bool m_chamber_2D
Definition: MdtRawDataValAlg.h:199
Trk::PrepRawDataType::MdtPrepData
@ MdtPrepData
MdtRawDataValAlg::m_HighOccThreshold
float m_HighOccThreshold
Definition: MdtRawDataValAlg.h:323
MdtRawDataValAlg::m_hist_hash_list
std::vector< std::unique_ptr< MDTChamber > > m_hist_hash_list
Definition: MdtRawDataValAlg.h:283
MdtRawDataValAlg::m_key_mdt
SG::ReadHandleKey< Muon::MdtPrepDataContainer > m_key_mdt
Definition: MdtRawDataValAlg.h:203
TubeTraversedBySegment::isHit
bool isHit
Definition: MdtRawDataValAlg.h:75
MdtRawDataValAlg::m_do_mdttube_fornoise
bool m_do_mdttube_fornoise
Definition: MdtRawDataValAlg.h:308
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
MdtRawDataValAlg::setIsATLASReady
void setIsATLASReady()
Definition: MDTRawDataUtils.cxx:1157
MdtRawDataValAlg::m_muonSelectionTool
ToolHandle< CP::IMuonSelectionTool > m_muonSelectionTool
Definition: MdtRawDataValAlg.h:119
max
#define max(a, b)
Definition: cfImp.cxx:41
MdtRawDataValAlg::m_do_mdt_DRvsSegD
bool m_do_mdt_DRvsSegD
Definition: MdtRawDataValAlg.h:316
MdtRawDataValAlg::m_do_mdttdccut_RPCtrig_ML2
bool m_do_mdttdccut_RPCtrig_ML2
Definition: MdtRawDataValAlg.h:300
PowhegControl_ttHplus_NLO.ss
ss
Definition: PowhegControl_ttHplus_NLO.py:83
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
MDTNoisyTubes.h
TubeTraversedBySegment_cmp
Definition: MdtRawDataValAlg.h:82
MdtRawDataValAlg::m_do_mdttdccut_RPCtrig_ML1
bool m_do_mdttdccut_RPCtrig_ML1
Definition: MdtRawDataValAlg.h:298
MdtRawDataValAlg::m_do_mdt_DRvsDRerr
bool m_do_mdt_DRvsDRerr
Definition: MdtRawDataValAlg.h:315
MdtRawDataValAlg::m_overalladcPRLumi
TH1 * m_overalladcPRLumi[4]
Definition: MdtRawDataValAlg.h:229
MdtRawDataValAlg::m_StationEta
int m_StationEta
Definition: MdtRawDataValAlg.h:208
MdtRawDataValAlg::m_chambersId
std::vector< Identifier > m_chambersId
Definition: MdtRawDataValAlg.h:185
MdtRawDataValAlg::m_curTime
float m_curTime
Definition: MdtRawDataValAlg.h:217
MdtRawDataValAlg::m_maskNoisyTubes
bool m_maskNoisyTubes
Definition: MdtRawDataValAlg.h:198
ManagedMonitorToolBase
Provides functionality for users to implement and save histograms, ntuples, and summary data,...
Definition: ManagedMonitorToolBase.h:74
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
MdtRawDataValAlg::CorrectLayerMax
static void CorrectLayerMax(const std::string &hardware_name, int &numLayers)
Definition: MDTRawDataUtils.cxx:953
calibdata.chamber
chamber
Definition: calibdata.py:32
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
TubeTraversedBySegment_cmp::operator()
bool operator()(const TubeTraversedBySegment &A, const TubeTraversedBySegment &B) const
Definition: MdtRawDataValAlg.h:83
MuonRoIContainer.h
MdtRawDataValAlg::m_mdteventsLumi_big
TH1 * m_mdteventsLumi_big
Definition: MdtRawDataValAlg.h:252
MdtRawDataValAlg::m_hitsperchamber_map
std::map< std::string, float > m_hitsperchamber_map
Definition: MdtRawDataValAlg.h:189
MdtRawDataValAlg::m_mdtoccvslb_by_crate
TH2 * m_mdtoccvslb_by_crate[4][4]
Definition: MdtRawDataValAlg.h:273
MdtRawDataValAlg::m_mdtoccvslb_ontrack_by_crate
TH2 * m_mdtoccvslb_ontrack_by_crate[4][4]
Definition: MdtRawDataValAlg.h:274
plotBeamSpotCompare.x2
x2
Definition: plotBeamSpotCompare.py:218
MdtRawDataValAlg::m_overalltdcadcLumi
TH2 * m_overalltdcadcLumi
Definition: MdtRawDataValAlg.h:220
MdtRawDataValAlg::m_isOnline
bool m_isOnline
Definition: MdtRawDataValAlg.h:197
MdtRawDataValAlg::m_masked_tubes
std::unique_ptr< MDTNoisyTubes > m_masked_tubes
Definition: MdtRawDataValAlg.h:116
MdtRawDataValAlg::bookMDTSummaryHistograms
virtual StatusCode bookMDTSummaryHistograms(bool newLumiBlock, bool newRun)
Definition: MdtRawDataValAlg.cxx:850
MdtRawDataValAlg::m_firstEvent
int m_firstEvent
Definition: MdtRawDataValAlg.h:171
MdtRawDataValAlg::m_overalltdcadcPR_HighOcc
TH2 * m_overalltdcadcPR_HighOcc[4]
Definition: MdtRawDataValAlg.h:238
MdtRawDataValAlg::get_bin_for_LB_hist
static int get_bin_for_LB_hist(int region, int layer, int phi, int eta, bool isBIM)
Definition: MDTRawDataUtils.cxx:1229
MdtRawDataValAlg::m_overalltdcHighOcc_ADCCut
TH1 * m_overalltdcHighOcc_ADCCut
Definition: MdtRawDataValAlg.h:236
MdtRawDataValAlg::mdtchamberId
void mdtchamberId()
Definition: MDTRawDataUtils.cxx:1054
MdtRawDataValAlg::m_atlas_ready
bool m_atlas_ready
Definition: MdtRawDataValAlg.h:111
L1_ENDCAP
@ L1_ENDCAP
Definition: MdtRawDataValAlg.h:62
MdtRawDataValAlg::getChamber
StatusCode getChamber(IdentifierHash id, MDTChamber *&chamber)
Definition: MDTRawDataUtils.cxx:1220
MdtRawDataValAlg::m_mdteventsLumi
TH1 * m_mdteventsLumi
Definition: MdtRawDataValAlg.h:251
MdtRawDataValAlg::m_mdteventscutLumi_big
TH1 * m_mdteventscutLumi_big
Definition: MdtRawDataValAlg.h:250
MdtRawDataValAlg::m_numberOfEvents
int m_numberOfEvents
Definition: MdtRawDataValAlg.h:174
MdtRawDataValAlg::CorrectTubeMax
static void CorrectTubeMax(const std::string &hardware_name, int &numTubes)
Definition: MDTRawDataUtils.cxx:948
MdtRawDataValAlg::m_segm_type
SG::ReadHandleKey< Trk::SegmentCollection > m_segm_type
Definition: MdtRawDataValAlg.h:176
MdtRawDataValAlg::m_nummdtchamberswithhits
TH1 * m_nummdtchamberswithhits
Definition: MdtRawDataValAlg.h:256
MdtRawDataValAlg::m_mdteffpermultilayer
TH2 * m_mdteffpermultilayer[4][4]
Definition: MdtRawDataValAlg.h:266
TubeTraversedBySegment::tubeBin
int tubeBin
Definition: MdtRawDataValAlg.h:74
MdtRawDataValAlg::HasTrigENDCAP
bool HasTrigENDCAP()
Definition: MdtRawDataValAlg.h:162
MuonPrepDataContainer.h
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
MdtRawDataValAlg::m_firstTime
uint32_t m_firstTime
Definition: MdtRawDataValAlg.h:173
MdtRawDataValAlg::cachedTubeLayerMax
int cachedTubeLayerMax(const Identifier &id) const
Definition: MDTRawDataUtils.cxx:2101
MdtRawDataValAlg::m_StationSize
std::string m_StationSize
Definition: MdtRawDataValAlg.h:202
MdtRawDataValAlg::m_overalltdcadcHighOcc
TH2 * m_overalltdcadcHighOcc
Definition: MdtRawDataValAlg.h:234
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
MdtRawDataValAlg::m_do_mdtChamberHits
bool m_do_mdtChamberHits
Definition: MdtRawDataValAlg.h:291
MdtRawDataValAlg::m_MdtDQFilterTools
ToolHandleArray< IDQFilterTool > m_MdtDQFilterTools
Definition: MdtRawDataValAlg.h:168
MdtRawDataValAlg::AinB
static bool AinB(int A, std::vector< int > &B)
Definition: MDTRawDataUtils.cxx:1132
MdtRawDataValAlg::returnInt
static int returnInt(const std::string &s)
Definition: MdtRawDataValAlg.h:178
MdtRawDataValAlg::m_nummdtchamberswithhits_ADCCut
TH1 * m_nummdtchamberswithhits_ADCCut
Definition: MdtRawDataValAlg.h:257
MdtRawDataValAlg::m_chamberName
std::string m_chamberName
Definition: MdtRawDataValAlg.h:201
MdtRawDataValAlg::getChamberName
std::string getChamberName(const Muon::MdtPrepData *)
Definition: MDTRawDataUtils.cxx:1209
MdtRawDataValAlg::m_do_mdttdccut_sector
bool m_do_mdttdccut_sector
Definition: MdtRawDataValAlg.h:292
MdtRawDataValAlg::m_road_width
float m_road_width
Definition: MdtRawDataValAlg.h:321
MdtRawDataValAlg::GetTubeMax
int GetTubeMax(const Identifier &digcoll_id, std::string_view hardware_name)
Definition: MDTRawDataUtils.cxx:1096
MdtRawDataValAlg::m_do_mdtlayer
bool m_do_mdtlayer
Definition: MdtRawDataValAlg.h:305
MdtRawDataValAlg::m_do_mdttube_bkgrd
bool m_do_mdttube_bkgrd
Definition: MdtRawDataValAlg.h:307
MdtRawDataValAlg::procHistograms
virtual StatusCode procHistograms()
An inheriting class should either override this function or finalHists().
Definition: MdtRawDataValAlg.cxx:540
MdtRawDataValAlg::m_hardware_name_list
std::set< std::string > m_hardware_name_list
Definition: MdtRawDataValAlg.h:187
makeTRTBarrelCans.y1
tuple y1
Definition: makeTRTBarrelCans.py:15
MdtRawDataValAlg::m_do_mdttube
bool m_do_mdttube
Definition: MdtRawDataValAlg.h:306
MdtRawDataValAlg::bookMDTHisto_OccVsLB
virtual StatusCode bookMDTHisto_OccVsLB(TH2 *&h, TString, TString, TString, int, float, float, int, float, float, MonGroup &)
Definition: MDTRawDataUtils.cxx:1012
MdtRawDataValAlg::m_mdteffperchamber_InnerMiddleOuter
TH2 * m_mdteffperchamber_InnerMiddleOuter[4]
Definition: MdtRawDataValAlg.h:270
MdtRawDataValAlg::handleEvent_effCalc
StatusCode handleEvent_effCalc(const Trk::SegmentCollection *segms)
Definition: MdtRawDataValAlg.cxx:1711
MdtRawDataValAlg::m_overalltdccut_segm_PR_Lumi
TH1 * m_overalltdccut_segm_PR_Lumi[4]
Definition: MdtRawDataValAlg.h:226
MdtRawDataValAlg::m_overalltdccut_segm_Lumi
TH1 * m_overalltdccut_segm_Lumi
Definition: MdtRawDataValAlg.h:223
MdtRawDataValAlg::m_trig_BARREL
bool m_trig_BARREL
Definition: MdtRawDataValAlg.h:212
MdtRawDataValAlg::bookMDTHisto_overview
virtual StatusCode bookMDTHisto_overview(TH1 *&, TString, TString, TString, int, float, float, MonGroup &)
Definition: MDTRawDataUtils.cxx:957
dqt_zlumi_alleff_HIST.A
A
Definition: dqt_zlumi_alleff_HIST.py:110
MdtRawDataValAlg::m_do_mdttubenoise
bool m_do_mdttubenoise
Definition: MdtRawDataValAlg.h:317
TubeTraversedBySegment::TubeTraversedBySegment
TubeTraversedBySegment(const std::string &hn, int tb, bool ih, IdentifierHash idh)
Definition: MdtRawDataValAlg.h:66
IMuonSelectionTool.h
Execution.tb
tb
Definition: Execution.py:15
ManagedMonitorToolBase.h
MdtRawDataValAlg::m_do_mdtadc
bool m_do_mdtadc
Definition: MdtRawDataValAlg.h:302
MdtRawDataValAlg::m_overalltdccutPRLumi
TH1 * m_overalltdccutPRLumi[4]
Definition: MdtRawDataValAlg.h:227
MdtRawDataValAlg::m_detMgr
const MuonGM::MuonDetectorManager * m_detMgr
Definition: MdtRawDataValAlg.h:330
MdtRawDataValAlg::cachedTubeMax
int cachedTubeMax(const Identifier &id) const
Definition: MDTRawDataUtils.cxx:2097
TH1F_LW
Definition: TH1F_LW.h:23
MdtRawDataValAlg::GetTriggerType
int GetTriggerType()
Definition: MdtRawDataValAlg.h:160
MdtRawDataValAlg::m_overallPR_mdt_DRvsSegD
TH2 * m_overallPR_mdt_DRvsSegD[4]
Definition: MdtRawDataValAlg.h:246
MDTChamber
Definition: MDTChamber.h:22
MdtRawDataValAlg::m_StationPhi
int m_StationPhi
Definition: MdtRawDataValAlg.h:209
TubeTraversedBySegment
Definition: MdtRawDataValAlg.h:64
MdtRawDataValAlg::m_overalladcPR_HighOcc
TH1 * m_overalladcPR_HighOcc[4]
Definition: MdtRawDataValAlg.h:241
MdtRawDataValAlg::GetEventNum
StatusCode GetEventNum()
Definition: MDTRawDataUtils.cxx:1175
MdtRawDataValAlg::m_overalltdcPR_HighOcc_ADCCut
TH1 * m_overalltdcPR_HighOcc_ADCCut[4]
Definition: MdtRawDataValAlg.h:240
L1_BARREL
@ L1_BARREL
Definition: MdtRawDataValAlg.h:62
MuonGM::MdtReadoutElement
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MdtReadoutElement.h:50
MuonChamberIDSelector.h
MdtRawDataValAlg
Definition: MdtRawDataValAlg.h:98
MdtRawDataValAlg::bookMDTOverviewHistograms
virtual StatusCode bookMDTOverviewHistograms(bool newLumiBlock, bool newRun)
Definition: MdtRawDataValAlg.cxx:1318
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MdtRawDataValAlg::m_do_mdttube_masked
bool m_do_mdttube_masked
Definition: MdtRawDataValAlg.h:309
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
makeTRTBarrelCans.y2
tuple y2
Definition: makeTRTBarrelCans.py:18
MdtRawDataValAlg::m_mdtChamberHits
TH1 * m_mdtChamberHits[4][4][16]
Definition: MdtRawDataValAlg.h:262
DQAtlasReadyFilterTool.h
MdtRawDataValAlg::m_do_mdt_effCounts
bool m_do_mdt_effCounts
Definition: MdtRawDataValAlg.h:312
MdtRawDataValAlg::isATLASReady
bool isATLASReady() const
Definition: MdtRawDataValAlg.h:112
MdtRawDataValAlg::m_l1RoiKey
SG::ReadHandleKey< xAOD::MuonRoIContainer > m_l1RoiKey
Definition: MdtRawDataValAlg.h:205
MdtRawDataValAlg::get_bin_for_LB_crate_hist
int get_bin_for_LB_crate_hist(int region, int layer, int phi, int eta, std::string_view chamber)
Definition: MDTRawDataUtils.cxx:1886
test_pyathena.parent
parent
Definition: test_pyathena.py:15
MdtRawDataValAlg::m_overallPR_mdt_DRvsDT
TH2 * m_overallPR_mdt_DRvsDT[4]
Definition: MdtRawDataValAlg.h:245
MdtRawDataValAlg::~MdtRawDataValAlg
virtual ~MdtRawDataValAlg()
MdtRawDataValAlg::m_do_mdttdcadc
bool m_do_mdttdcadc
Definition: MdtRawDataValAlg.h:303
MdtRawDataValAlg::m_do_mdtadc_onSegm_ML2
bool m_do_mdtadc_onSegm_ML2
Definition: MdtRawDataValAlg.h:297
MdtRawDataValAlg::binMdtGlobal_byLayer
virtual StatusCode binMdtGlobal_byLayer(TH2 *, TH2 *, TH2 *)
Definition: MDTRawDataUtils.cxx:756
MdtRawDataValAlg::fillHistograms
virtual StatusCode fillHistograms()
An inheriting class should either override this function or fillHists().
Definition: MdtRawDataValAlg.cxx:293
MdtRawDataValAlg::m_overall_mdt_DRvsSegD
TH2 * m_overall_mdt_DRvsSegD
Definition: MdtRawDataValAlg.h:244
MdtRawDataValAlg::fillMDTHistograms
virtual StatusCode fillMDTHistograms(const Muon::MdtPrepData *)
Definition: MdtRawDataValAlg.cxx:1441
MdtRawDataValAlg::m_mg
std::unique_ptr< MDTMonGroupStruct > m_mg
Definition: MdtRawDataValAlg.h:115
MuonDQAHistMap.h
MdtRawDataValAlg::m_key_rpc
SG::ReadHandleKey< Muon::RpcPrepDataContainer > m_key_rpc
Definition: MdtRawDataValAlg.h:204
MdtRawDataValAlg::bookMDTHisto_chambers
virtual StatusCode bookMDTHisto_chambers(TH1F_LW *&, TString, TString, TString, int, float, float, MonGroup &)
Definition: MDTRawDataUtils.cxx:970
MdtRawDataValAlg::m_do_mdttdctube
bool m_do_mdttdctube
Definition: MdtRawDataValAlg.h:318
MdtRawDataValAlg::m_mdthitsperML_byLayer
TH2 * m_mdthitsperML_byLayer[3]
Definition: MdtRawDataValAlg.h:271
MdtRawDataValAlg::m_do_mdtmultil
bool m_do_mdtmultil
Definition: MdtRawDataValAlg.h:304
DataVector< Trk::Segment >
TH2
Definition: rootspy.cxx:373
MdtRawDataValAlg::m_lumiblock
int m_lumiblock
Definition: MdtRawDataValAlg.h:169
MdtRawDataValAlg::m_overalladccutPRLumi
TH1 * m_overalladccutPRLumi[4]
Definition: MdtRawDataValAlg.h:230
MdtRawDataValAlg::fillMDTMaskedTubes
virtual StatusCode fillMDTMaskedTubes(IdentifierHash, const std::string &, TH1F_LW *&h)
Definition: MDTRawDataUtils.cxx:1027
MdtRawDataValAlg::m_mdtchamberstat
TH1 * m_mdtchamberstat
Definition: MdtRawDataValAlg.h:260
TubeTraversedBySegment::idHash
IdentifierHash idHash
Definition: MdtRawDataValAlg.h:76
MdtRawDataValAlg::m_do_mdt_effEntries
bool m_do_mdt_effEntries
Definition: MdtRawDataValAlg.h:311
MdtRawDataValAlg::binMdtOccVsLB
virtual StatusCode binMdtOccVsLB(TH2 *&h, int region, int layer)
Definition: MDTRawDataUtils.cxx:1324
MdtRawDataValAlg::binMdtRegional
virtual StatusCode binMdtRegional(TH2 *, std::string_view xAxis)
Definition: MDTRawDataUtils.cxx:379
MdtRawDataValAlg::mezzmdt
int mezzmdt(Identifier)
Definition: MDTRawDataUtils.cxx:1081
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
MdtRawDataValAlg::m_overalladc_segm_PR_Lumi
TH1 * m_overalladc_segm_PR_Lumi[4]
Definition: MdtRawDataValAlg.h:228
MdtRawDataValAlg::m_overalltdccutPRLumi_TGCtrig
TH1 * m_overalltdccutPRLumi_TGCtrig[4]
Definition: MdtRawDataValAlg.h:232
MdtRawDataValAlg::m_do_mdttdccut_ML2
bool m_do_mdttdccut_ML2
Definition: MdtRawDataValAlg.h:295
MdtRawDataValAlg::m_do_mdttdc
bool m_do_mdttdc
Definition: MdtRawDataValAlg.h:293
MdtRawDataValAlg::m_mdthitspermultilayerLumi
TH2 * m_mdthitspermultilayerLumi[4][4]
Definition: MdtRawDataValAlg.h:265
MdtRawDataValAlg::putBox
static void putBox(TH2 *h, float x1, float y1, float x2, float y2)
Definition: MDTRawDataUtils.cxx:1185
MdtRawDataValAlg::m_overalltdcadcPRLumi
TH2 * m_overalltdcadcPRLumi[4]
Definition: MdtRawDataValAlg.h:221
MdtRawDataValAlg::m_overall_mdt_DRvsDT
TH2 * m_overall_mdt_DRvsDT
Definition: MdtRawDataValAlg.h:243
dqt_zlumi_alleff_HIST.B
B
Definition: dqt_zlumi_alleff_HIST.py:110
HI::TowerBins::numLayers
constexpr unsigned int numLayers()
Definition: HIEventDefs.h:23
MdtRawDataValAlg::m_overalladc_HighOcc
TH1 * m_overalladc_HighOcc
Definition: MdtRawDataValAlg.h:237
MdtRawDataValAlg::bookHistogramsRecurrent
virtual StatusCode bookHistogramsRecurrent()
An inheriting class should either override this function, bookHists() or bookHistograms().
Definition: MdtRawDataValAlg.cxx:223
Muon::MdtPrepData
Class to represent measurements from the Monitored Drift Tubes.
Definition: MdtPrepData.h:37
L1_UNKNOWN
@ L1_UNKNOWN
Definition: MdtRawDataValAlg.h:62
MuonDetectorManager.h
MdtRawDataValAlg::m_do_mdtmezz
bool m_do_mdtmezz
Definition: MdtRawDataValAlg.h:310
MuonDQAHistList
Definition: MuonDQAHistMap.h:31
MdtRawDataValAlg::m_do_mdtadc_onSegm_ML1
bool m_do_mdtadc_onSegm_ML1
Definition: MdtRawDataValAlg.h:296
MdtRawDataValAlg::m_BMGid
int m_BMGid
Definition: MdtRawDataValAlg.h:325
MdtRawDataValAlg::bookMDTHisto_overview_2D
virtual StatusCode bookMDTHisto_overview_2D(TH2 *&h, TString, TString, TString, int, float, float, int, float, float, MonGroup &)
Definition: MDTRawDataUtils.cxx:981
EventInfo.h
MdtRawDataValAlg::initialize
StatusCode initialize()
Definition: MdtRawDataValAlg.cxx:121
MuonContainer.h
MdtRawDataValAlg::StoreTriggerType
StatusCode StoreTriggerType()
MdtRawDataValAlg::m_mdtxydet
TH2 * m_mdtxydet[3]
Definition: MdtRawDataValAlg.h:263
MdtRawDataValAlg::m_do_mdttdccut_ML1
bool m_do_mdttdccut_ML1
Definition: MdtRawDataValAlg.h:294
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager >
MdtRawDataValAlg::m_mdtoccvslb_summaryPerSector
TH2 * m_mdtoccvslb_summaryPerSector
Definition: MdtRawDataValAlg.h:275
MdtRawDataValAlg::m_eventInfo
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo
Definition: MdtRawDataValAlg.h:207
MdtRawDataValAlg::m_doMdtESD
bool m_doMdtESD
Definition: MdtRawDataValAlg.h:193
MdtRawDataValAlg::m_mdtoccvslb
TH2 * m_mdtoccvslb[4][3]
Definition: MdtRawDataValAlg.h:272
MdtRawDataValAlg::m_mdtglobalhitstime
TH1 * m_mdtglobalhitstime
Definition: MdtRawDataValAlg.h:254
MdtRawDataValAlg::m_chi2_cut
float m_chi2_cut
Definition: MdtRawDataValAlg.h:322
MdtRawDataValAlg::m_hashId_list
std::set< int > m_hashId_list
Definition: MdtRawDataValAlg.h:188
MdtRawDataValAlg::m_muonKey
SG::ReadHandleKey< xAOD::MuonContainer > m_muonKey
Definition: MdtRawDataValAlg.h:206
MdtRawDataValAlg::m_do_mdt_DRvsDT
bool m_do_mdt_DRvsDT
Definition: MdtRawDataValAlg.h:314
MdtRawDataValAlg::m_MdtNHitsvsRpcNHits
TH2 * m_MdtNHitsvsRpcNHits
Definition: MdtRawDataValAlg.h:247
MdtRawDataValAlg::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MdtRawDataValAlg.h:118
h
MdtRawDataValAlg::m_trig_ENDCAP
bool m_trig_ENDCAP
Definition: MdtRawDataValAlg.h:213
MdtRawDataValAlg::m_title
std::string m_title
Definition: MdtRawDataValAlg.h:109
MuonGM::MuonDetectorManager
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:49
TubeTraversedBySegment::hardware_name
std::string hardware_name
Definition: MdtRawDataValAlg.h:73
MdtRawDataValAlg::fillLumiBlock
StatusCode fillLumiBlock()
Definition: MDTRawDataUtils.cxx:1166
MdtRawDataValAlg::m_tubesperchamber_map
std::map< std::string, float > m_tubesperchamber_map
Definition: MdtRawDataValAlg.h:191
MdtRawDataValAlg::m_mdthitsperchamber_InnerMiddleOuterLumi
TH2 * m_mdthitsperchamber_InnerMiddleOuterLumi[2]
Definition: MdtRawDataValAlg.h:267
MdtRawDataValAlg::m_mdthitsperchamber_onSegm_InnerMiddleOuterLumi
TH2 * m_mdthitsperchamber_onSegm_InnerMiddleOuterLumi[2]
Definition: MdtRawDataValAlg.h:269
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TH1
Definition: rootspy.cxx:268
MdtRawDataValAlg::m_overalltdccutPRLumi_RPCtrig
TH1 * m_overalltdccutPRLumi_RPCtrig[4]
Definition: MdtRawDataValAlg.h:231
MdtRawDataValAlg::m_ADCCut
float m_ADCCut
Definition: MdtRawDataValAlg.h:215
MdtRawDataValAlg::m_ADCCut_Bkgrd
float m_ADCCut_Bkgrd
Definition: MdtRawDataValAlg.h:216
MdtRawDataValAlg::m_mdteventscutLumi
TH1 * m_mdteventscutLumi
Definition: MdtRawDataValAlg.h:249
MdtRawDataValAlg::TubeID_to_ID_L_ML
static void TubeID_to_ID_L_ML(int &tubeID, std::string_view hardware_name, int &tube, int &layer, int &ML, int max)
Definition: MDTRawDataUtils.cxx:880
MdtRawDataValAlg::m_overalladc_Lumi
TH1 * m_overalladc_Lumi
Definition: MdtRawDataValAlg.h:225
AlgFactory
Definition: RootNtupleOutputStream.h:26
MdtRawDataValAlg::m_overalltdccutLumi
TH1 * m_overalltdccutLumi
Definition: MdtRawDataValAlg.h:222
MdtRawDataValAlg::m_overalltdcPR_HighOcc
TH1 * m_overalltdcPR_HighOcc[4]
Definition: MdtRawDataValAlg.h:239
MdtRawDataValAlg::m_trigtype
int m_trigtype
Definition: MdtRawDataValAlg.h:211
MdtRawDataValAlg::m_mdtchamberstatphislice
TH1 * m_mdtchamberstatphislice[16]
Definition: MdtRawDataValAlg.h:261
TH2F_LW
Definition: TH2F_LW.h:23
MdtRawDataValAlg::binMdtGlobal
virtual StatusCode binMdtGlobal(TH2 *, char ecap)
Definition: MDTRawDataUtils.cxx:29
MdtRawDataValAlg::m_time
uint32_t m_time
Definition: MdtRawDataValAlg.h:172
IdentifierHash
Definition: IdentifierHash.h:38
MdtRawDataValAlg::m_do_mdt_effPerTube
bool m_do_mdt_effPerTube
Definition: MdtRawDataValAlg.h:313
MdtRawDataValAlg::MdtRawDataValAlg
MdtRawDataValAlg(const std::string &type, const std::string &name, const IInterface *parent)
Definition: MdtRawDataValAlg.cxx:64
MdtRawDataValAlg::m_mdthitsperchamber_InnerMiddleOuter_HighOcc
TH2 * m_mdthitsperchamber_InnerMiddleOuter_HighOcc[2]
Definition: MdtRawDataValAlg.h:268
MdtRawDataValAlg::m_mdtrzdet
TH2 * m_mdtrzdet[3]
Definition: MdtRawDataValAlg.h:264
MdtRawDataValAlg::m_doChamberHists
bool m_doChamberHists
Definition: MdtRawDataValAlg.h:196
python.compressB64.c
def c
Definition: compressB64.py:93
MdtRawDataValAlg::fillMDTSummaryHistograms
virtual StatusCode fillMDTSummaryHistograms(const Muon::MdtPrepData *, std::set< std::string >, bool &isNoiseBurstCandidate)
Definition: MdtRawDataValAlg.cxx:1512
MdtRawDataValAlg::GetTimingInfo
StatusCode GetTimingInfo()
Definition: MDTRawDataUtils.cxx:1139
MdtRawDataValAlg::HasTrigBARREL
bool HasTrigBARREL()
Definition: MdtRawDataValAlg.h:161
calibdata.tube
tube
Definition: calibdata.py:31
MdtRawDataValAlg::m_BMGpresent
bool m_BMGpresent
Definition: MdtRawDataValAlg.h:324
MdtRawDataValAlg::initDeadChannels
void initDeadChannels(const MuonGM::MdtReadoutElement *mydetEl)
Definition: MdtRawDataValAlg.cxx:1970
IMuonIdHelperSvc.h
MdtRawDataValAlg::m_do_mdttdccut_TGCtrig_ML2
bool m_do_mdttdccut_TGCtrig_ML2
Definition: MdtRawDataValAlg.h:301
SegmentCollection.h
MDTMonGroupStruct.h
MdtRawDataValAlg::bookMDTHistograms
virtual StatusCode bookMDTHistograms(MDTChamber *chamber, Identifier digcoll_id)
Definition: MdtRawDataValAlg.cxx:706
MdtRawDataValAlg::m_DeadChannels
std::map< Identifier, std::vector< Identifier > > m_DeadChannels
Definition: MdtRawDataValAlg.h:326
MdtRawDataValAlg::m_nb_hits
float m_nb_hits
Definition: MdtRawDataValAlg.h:320
MdtRawDataValAlg::m_do_mdttdccut_TGCtrig_ML1
bool m_do_mdttdccut_TGCtrig_ML1
Definition: MdtRawDataValAlg.h:299
ServiceHandle< Muon::IMuonIdHelperSvc >
MdtRawDataValAlg::fillMDTOverviewHistograms
virtual StatusCode fillMDTOverviewHistograms(const Muon::MdtPrepData *, bool &isNoiseBurstCandidate)
Definition: MdtRawDataValAlg.cxx:1614
MdtRawDataValAlg::putLine
static void putLine(TH2 *h, float x1, float y1, float x2, float y2, Color_t c=kBlack)
Definition: MDTRawDataUtils.cxx:1201
MDTChamber.h
MdtRawDataValAlg::m_overalladc_segm_Lumi
TH1 * m_overalladc_segm_Lumi
Definition: MdtRawDataValAlg.h:224
MdtRawDataValAlg::m_do_mdtchamberstatphislice
bool m_do_mdtchamberstatphislice
Definition: MdtRawDataValAlg.h:290