Belle II Software  release-05-01-25
DQMHistAnalysisPXDTrackCharge.h
1 //+
2 // File : DQMHistAnalysisPXDTrackCharge.h
3 // Description : DQM Analysis for PXD Tracked Cluster Charges
4 //
5 // Author : Bjoern Spruck, University Mainz
6 // Date : 2019
7 //-
8 
9 #pragma once
10 
11 #ifdef _BELLE2_EPICS
12 // EPICS
13 #include "cadef.h"
14 #endif
15 
16 #include <dqm/analysis/modules/DQMHistAnalysis.h>
17 #include <vxd/dataobjects/VxdID.h>
18 
19 #include <vector>
20 #include <array>
21 #include <TF1.h>
22 #include "TF1Convolution.h"
23 #include <TCanvas.h>
24 #include <TLine.h>
25 #include <TGraphErrors.h>
26 #include <TFile.h>
27 #include <TH2.h>
28 
29 #include <RooRealVar.h>
30 #include <RooWorkspace.h>
31 
32 namespace Belle2 {
40 
41  // Public functions
42  public:
43 
48  private:
49 
51  void initialize(void) override final;
52 
54  void beginRun(void) override final;
55  void event(void) override final;
56  void endRun(void) override final;
57  void terminate(void) override final;
58 
64  TH1* GetHisto(TString histoname);
65 
66  // Data members
67 
71  std::string m_pvPrefix;
73  double m_rangeLow;
75  double m_rangeHigh;
76 
78  std::vector<VxdID> m_PXDModules;
79 
81  RooWorkspace* m_rfws{};
83  RooRealVar* m_x{};
84 
86  TF1* m_fMean = nullptr;
88  TGraphErrors* m_gCharge = nullptr;
90  TCanvas* m_cCharge = nullptr;
92  std::map<VxdID, TCanvas*> m_cChargeMod {};
94  std::map<VxdID, std::array<std::array<TCanvas*, 4>, 6>> m_cChargeModASIC {};
96  TH1F* m_hTrackedClusters = nullptr;
98  TCanvas* m_cTrackedClusters = nullptr;
100  std::map<VxdID, TH2F*> m_hChargeModASIC2d {};
102  std::map<VxdID, TCanvas*> m_cChargeModASIC2d {};
103 
105  TLine* m_line_up{};
107  TLine* m_line_mean{};
109  TLine* m_line_low{};
110 
112  std::string m_refFileName;
114  TFile* m_refFile = nullptr;
116  bool m_color = true;
117 
120 
123 
124 #ifdef _BELLE2_EPICS
125  std::vector <chid> mychid;
127 #endif
128  };
130 } // end namespace Belle2
131 
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_line_up
TLine * m_line_up
TLine object for upper limit of track cluster charge.
Definition: DQMHistAnalysisPXDTrackCharge.h:105
Belle2::DQMHistAnalysisPXDTrackChargeModule::beginRun
void beginRun(void) override final
Module functions to be called from event process.
Definition: DQMHistAnalysisPXDTrackCharge.cc:165
Belle2::DQMHistAnalysisPXDTrackChargeModule::~DQMHistAnalysisPXDTrackChargeModule
~DQMHistAnalysisPXDTrackChargeModule()
Destructor.
Definition: DQMHistAnalysisPXDTrackCharge.cc:54
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_cChargeModASIC2d
std::map< VxdID, TCanvas * > m_cChargeModASIC2d
Final Canvas Fit and Ref per ASIC.
Definition: DQMHistAnalysisPXDTrackCharge.h:102
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_rangeHigh
double m_rangeHigh
fit range hi edge for landau
Definition: DQMHistAnalysisPXDTrackCharge.h:75
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_cChargeMod
std::map< VxdID, TCanvas * > m_cChargeMod
Final Canvases for Fit and Ref.
Definition: DQMHistAnalysisPXDTrackCharge.h:92
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_refFileName
std::string m_refFileName
Reference Histogram Root file name.
Definition: DQMHistAnalysisPXDTrackCharge.h:112
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_line_low
TLine * m_line_low
TLine object for lower limit of track cluster charge.
Definition: DQMHistAnalysisPXDTrackCharge.h:109
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_cCharge
TCanvas * m_cCharge
Final Canvas.
Definition: DQMHistAnalysisPXDTrackCharge.h:90
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_line_mean
TLine * m_line_mean
TLine object for mean of track cluster charge.
Definition: DQMHistAnalysisPXDTrackCharge.h:107
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_PXDModules
std::vector< VxdID > m_PXDModules
IDs of all PXD Modules to iterate over.
Definition: DQMHistAnalysisPXDTrackCharge.h:78
Belle2::DQMHistAnalysisPXDTrackChargeModule::terminate
void terminate(void) override final
This method is called at the end of the event processing.
Definition: DQMHistAnalysisPXDTrackCharge.cc:475
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_histogramDirectoryName
std::string m_histogramDirectoryName
name of histogram directory
Definition: DQMHistAnalysisPXDTrackCharge.h:69
Belle2::DQMHistAnalysisPXDTrackChargeModule::event
void event(void) override final
This method is the core of the module.
Definition: DQMHistAnalysisPXDTrackCharge.cc:172
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_hChargeModASIC2d
std::map< VxdID, TH2F * > m_hChargeModASIC2d
Final Canvas Fit and Ref per ASIC.
Definition: DQMHistAnalysisPXDTrackCharge.h:100
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_pvPrefix
std::string m_pvPrefix
prefix for EPICS PVs
Definition: DQMHistAnalysisPXDTrackCharge.h:71
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_color
bool m_color
Whether to use the color code for warnings and errors.
Definition: DQMHistAnalysisPXDTrackCharge.h:116
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_rangeLow
double m_rangeLow
fit range lo edge for landau
Definition: DQMHistAnalysisPXDTrackCharge.h:73
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_x
RooRealVar * m_x
RooFit variable.
Definition: DQMHistAnalysisPXDTrackCharge.h:83
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_gCharge
TGraphErrors * m_gCharge
Graph covering all modules.
Definition: DQMHistAnalysisPXDTrackCharge.h:88
Belle2::DQMHistAnalysisPXDTrackChargeModule
DQM Histogram Analysis for PXD Cluster Charge.
Definition: DQMHistAnalysisPXDTrackCharge.h:39
Belle2::DQMHistAnalysisPXDTrackChargeModule::initialize
void initialize(void) override final
Module functions to be called from main process.
Definition: DQMHistAnalysisPXDTrackCharge.cc:63
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_refFile
TFile * m_refFile
The pointer to the reference file.
Definition: DQMHistAnalysisPXDTrackCharge.h:114
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_cTrackedClusters
TCanvas * m_cTrackedClusters
Final Canvas for TrackedClusters.
Definition: DQMHistAnalysisPXDTrackCharge.h:98
Belle2::DQMHistAnalysisPXDTrackChargeModule::endRun
void endRun(void) override final
This method is called if the current run ends.
Definition: DQMHistAnalysisPXDTrackCharge.cc:469
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_fMean
TF1 * m_fMean
Fit the Mean for all modules.
Definition: DQMHistAnalysisPXDTrackCharge.h:86
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_rfws
RooWorkspace * m_rfws
RooFit Workspace.
Definition: DQMHistAnalysisPXDTrackCharge.h:81
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_hTrackedClusters
TH1F * m_hTrackedClusters
Histogram for TrackedClusters.
Definition: DQMHistAnalysisPXDTrackCharge.h:96
Belle2::DQMHistAnalysisPXDTrackChargeModule::GetHisto
TH1 * GetHisto(TString histoname)
Get histogram by its name.
Definition: DQMHistAnalysisPXDTrackCharge.cc:489
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_monObj
MonitoringObject * m_monObj
Monitoring Object.
Definition: DQMHistAnalysisPXDTrackCharge.h:119
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_cChargeModASIC
std::map< VxdID, std::array< std::array< TCanvas *, 4 >, 6 > > m_cChargeModASIC
Final Canvases for Fit and Ref per ASIC.
Definition: DQMHistAnalysisPXDTrackCharge.h:94
Belle2::DQMHistAnalysisPXDTrackChargeModule::m_useEpics
bool m_useEpics
flag if to export to EPICS
Definition: DQMHistAnalysisPXDTrackCharge.h:122
Belle2::DQMHistAnalysisPXDTrackChargeModule::DQMHistAnalysisPXDTrackChargeModule
DQMHistAnalysisPXDTrackChargeModule()
Constructor.
Definition: DQMHistAnalysisPXDTrackCharge.cc:35
Belle2::MonitoringObject
MonitoringObject is a basic object to hold data for the run-dependency monitoring Run summary TCanvas...
Definition: MonitoringObject.h:41
Belle2::DQMHistAnalysisModule
The base class for the histogram analysis module.
Definition: DQMHistAnalysis.h:27