Belle II Software  release-05-01-25
DQMHistAnalysisCDCMonObj.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Makoto Uchida *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 //DQM
14 #include <dqm/analysis/modules/DQMHistAnalysis.h>
15 #include <framework/datastore/StoreArray.h>
16 #include <framework/database/DBArray.h>
17 #include <framework/database/DBObjPtr.h>
18 #include <cdc/dataobjects/WireID.h>
19 #include <cdc/dbobjects/CDCChannelMap.h>
20 #include <cdc/dbobjects/CDCGeometry.h>
21 
22 #include <vector>
23 
24 #include <TCanvas.h>
25 #include <TLine.h>
26 #include <TH1F.h>
27 #include <TH2F.h>
28 #include <TH2Poly.h>
29 #include <TString.h>
30 
31 
32 namespace Belle2 {
41  class DQMHistAnalysisCDCMonObjModule : public DQMHistAnalysisModule {
42 
43  public:
44 
49 
54 
59  virtual void initialize() override;
60 
65  virtual void beginRun() override;
66 
70  virtual void event() override;
71 
76  virtual void endRun() override;
77 
82  virtual void terminate() override;
83 
89  TCanvas* find_canvas(TString cname);
90 
91 
95  void makeBadChannelList();
96 
97 
101  float getHistMean(TH1D* h);
102 
106  std::pair<int, int> getBoardChannel(unsigned short layer, unsigned short wire);
107 
111  void configureBins(TH2Poly* h);
112  protected:
113  //TObjects for DQM analysis
114  TCanvas* m_cMain = nullptr;
115  TCanvas* m_cADC = nullptr;
116  TCanvas* m_cTDC = nullptr;
117  TCanvas* m_cHit = nullptr;
119  MonitoringObject* m_monObj = nullptr;
121  TH1F* m_hfastTDC = nullptr;
122  TH2F* m_hADC = nullptr;
123  TH2F* m_hADCTOTCut = nullptr;
124  TH2F* m_hTDC = nullptr;
125  TH2F* m_hHit = nullptr;
126  TH1D* m_hADCs[300];
127  TH1D* m_hADCTOTCuts[300];
128  TH1D* m_hTDCs[300];
129  TH1D* m_hHits[56];
131  std::vector<std::pair<int, int>> m_badChannels = {};
132  std::map<WireID, std::pair<int, int>> m_chMap = {};
134  float m_senseR[56] = {};
135  float m_fieldR[57] = {};
136  float m_offset[56] = {};
137  int m_nSenseWires[56] = {};
138  DBObjPtr<CDCGeometry>* m_cdcGeo = nullptr;
139  };
140 
142 } // Belle2 namespace
143 
144 
Belle2::DQMHistAnalysisCDCMonObjModule::m_senseR
float m_senseR[56]
Radius of sense (+field) layer.
Definition: DQMHistAnalysisCDCMonObj.h:142
Belle2::DQMHistAnalysisCDCMonObjModule::m_cHit
TCanvas * m_cHit
main panel
Definition: DQMHistAnalysisCDCMonObj.h:125
Belle2::DQMHistAnalysisCDCMonObjModule::m_hHits
TH1D * m_hHits[56]
hit histograms for each layer (0-55)
Definition: DQMHistAnalysisCDCMonObj.h:137
Belle2::DQMHistAnalysisCDCMonObjModule::getBoardChannel
std::pair< int, int > getBoardChannel(unsigned short layer, unsigned short wire)
Get board/channel from layer/wire.
Definition: DQMHistAnalysisCDCMonObj.cc:195
Belle2::DQMHistAnalysisCDCMonObjModule::m_hADC
TH2F * m_hADC
Summary of ADC histograms
Definition: DQMHistAnalysisCDCMonObj.h:130
Belle2::DBArray
Class for accessing arrays of objects in the database.
Definition: DBArray.h:36
Belle2::DQMHistAnalysisCDCMonObjModule::m_hADCTOTCuts
TH1D * m_hADCTOTCuts[300]
ADC histograms with tot cut for each board (0-299)
Definition: DQMHistAnalysisCDCMonObj.h:135
Belle2::DQMHistAnalysisCDCMonObjModule::m_monObj
MonitoringObject * m_monObj
monitoring object
Definition: DQMHistAnalysisCDCMonObj.h:127
Belle2::DQMHistAnalysisCDCMonObjModule::m_fieldR
float m_fieldR[57]
Radius of field layer.
Definition: DQMHistAnalysisCDCMonObj.h:143
Belle2::DQMHistAnalysisCDCMonObjModule::m_hADCs
TH1D * m_hADCs[300]
ADC histograms for each board (0-299)
Definition: DQMHistAnalysisCDCMonObj.h:134
Belle2::DQMHistAnalysisCDCMonObjModule::m_hHit
TH2F * m_hHit
Summary of hit histograms.
Definition: DQMHistAnalysisCDCMonObj.h:133
Belle2::DQMHistAnalysisCDCMonObjModule::makeBadChannelList
void makeBadChannelList()
make bad channel list.
Definition: DQMHistAnalysisCDCMonObj.cc:172
Belle2::DQMHistAnalysisCDCMonObjModule::m_cADC
TCanvas * m_cADC
main panel
Definition: DQMHistAnalysisCDCMonObj.h:123
Belle2::DBObjPtr
Class for accessing objects in the database.
Definition: DBObjPtr.h:31
Belle2::DQMHistAnalysisCDCMonObjModule::m_nSenseWires
int m_nSenseWires[56]
number of wires for each layer.
Definition: DQMHistAnalysisCDCMonObj.h:145
Belle2::DQMHistAnalysisCDCMonObjModule::event
virtual void event() override
Event processor.
Definition: DQMHistAnalysisCDCMonObj.cc:142
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::DQMHistAnalysisCDCMonObjModule::m_cMain
TCanvas * m_cMain
main panel
Definition: DQMHistAnalysisCDCMonObj.h:122
Belle2::DQMHistAnalysisCDCMonObjModule::m_cdcGeo
DBObjPtr< CDCGeometry > * m_cdcGeo
Geometry of CDC.
Definition: DQMHistAnalysisCDCMonObj.h:146
Belle2::DQMHistAnalysisCDCMonObjModule::endRun
virtual void endRun() override
End-of-run action.
Definition: DQMHistAnalysisCDCMonObj.cc:208
Belle2::DQMHistAnalysisCDCMonObjModule::~DQMHistAnalysisCDCMonObjModule
virtual ~DQMHistAnalysisCDCMonObjModule()
Destructor.
Definition: DQMHistAnalysisCDCMonObj.cc:62
Belle2::DQMHistAnalysisCDCMonObjModule::m_hADCTOTCut
TH2F * m_hADCTOTCut
Summary of ADC histograms with tot cut.
Definition: DQMHistAnalysisCDCMonObj.h:131
Belle2::DQMHistAnalysisCDCMonObjModule::m_hfastTDC
TH1F * m_hfastTDC
Histogram of num.
Definition: DQMHistAnalysisCDCMonObj.h:129
Belle2::DQMHistAnalysisCDCMonObjModule::m_badChannels
std::vector< std::pair< int, int > > m_badChannels
bad wires list
Definition: DQMHistAnalysisCDCMonObj.h:139
Belle2::DQMHistAnalysisCDCMonObjModule::beginRun
virtual void beginRun() override
Called when entering a new run.
Definition: DQMHistAnalysisCDCMonObj.cc:105
Belle2::DQMHistAnalysisCDCMonObjModule::initialize
virtual void initialize() override
Initialize the Module.
Definition: DQMHistAnalysisCDCMonObj.cc:67
Belle2::DQMHistAnalysisCDCMonObjModule::m_offset
float m_offset[56]
Offset of sense layer
Definition: DQMHistAnalysisCDCMonObj.h:144
Belle2::DQMHistAnalysisCDCMonObjModule::m_hTDCs
TH1D * m_hTDCs[300]
TDC histograms for each board (0-299)
Definition: DQMHistAnalysisCDCMonObj.h:136
Belle2::DQMHistAnalysisCDCMonObjModule::m_cTDC
TCanvas * m_cTDC
bad wire panel
Definition: DQMHistAnalysisCDCMonObj.h:124
Belle2::DQMHistAnalysisCDCMonObjModule::m_channelMapFromDB
DBArray< CDCChannelMap > * m_channelMapFromDB
Channel map retrieved from DB.
Definition: DQMHistAnalysisCDCMonObj.h:141
Belle2::DQMHistAnalysisCDCMonObjModule::getHistMean
float getHistMean(TH1D *h)
Get mean of ADC histgram excluding 0-th bin.
Definition: DQMHistAnalysisCDCMonObj.cc:186
Belle2::DQMHistAnalysisCDCMonObjModule::m_chMap
std::map< WireID, std::pair< int, int > > m_chMap
Channel map retrieved
Definition: DQMHistAnalysisCDCMonObj.h:140
Belle2::DQMHistAnalysisCDCMonObjModule::DQMHistAnalysisCDCMonObjModule
DQMHistAnalysisCDCMonObjModule()
Constructor.
Definition: DQMHistAnalysisCDCMonObj.cc:48
Belle2::DQMHistAnalysisCDCMonObjModule::configureBins
void configureBins(TH2Poly *h)
Configure bins of TH2Poly.
Definition: DQMHistAnalysisCDCMonObj.cc:146
Belle2::DQMHistAnalysisCDCMonObjModule::find_canvas
TCanvas * find_canvas(TString cname)
Find canvas by name.
Belle2::DQMHistAnalysisCDCMonObjModule::m_hTDC
TH2F * m_hTDC
Summary of TDC histograms.
Definition: DQMHistAnalysisCDCMonObj.h:132
Belle2::DQMHistAnalysisCDCMonObjModule::terminate
virtual void terminate() override
Termination action.
Definition: DQMHistAnalysisCDCMonObj.cc:454
Belle2::MonitoringObject
MonitoringObject is a basic object to hold data for the run-dependency monitoring Run summary TCanvas...
Definition: MonitoringObject.h:41