Belle II Software development
DQMHistAnalysisPXDTrackCharge.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8//+
9// File : DQMHistAnalysisPXDTrackCharge.h
10// Description : DQM Analysis for PXD Tracked Cluster Charges
11//-
12
13#pragma once
14
15#include <dqm/core/DQMHistAnalysis.h>
16
17#include <vxd/dataobjects/VxdID.h>
18
19#include <TH2.h>
20#include <TF1.h>
21#include <TLine.h>
22#include <TGraphErrors.h>
23
24#include <RooRealVar.h>
25#include <RooWorkspace.h>
26
27namespace Belle2 {
35
36 // Public functions
37 public:
38
43
48
52 void initialize(void) override final;
53
57 void beginRun(void) override final;
58
62 void event(void) override final;
63
67 void endRun(void) override final;
68
72 void terminate(void) override final;
73
74 private:
75 // Data members
76
80 double m_rangeLow;
84 std::vector<int> m_excluded;
85
87 std::vector<VxdID> m_PXDModules;
88
90 RooWorkspace* m_rfws{};
92 RooRealVar* m_x{};
93
95 TF1* m_fMean = nullptr;
97 TGraphErrors* m_gCharge = nullptr;
99 TCanvas* m_cCharge = nullptr;
101 std::map<VxdID, TCanvas*> m_cChargeMod {};
103 std::map<VxdID, std::array<std::array<TCanvas*, 4>, 6>> m_cChargeModASIC {};
105 TH1F* m_hTrackedClusters = nullptr;
107 TCanvas* m_cTrackedClusters = nullptr;
109 std::map<VxdID, TH2F*> m_hChargeModASIC2d {};
111 std::map<VxdID, TCanvas*> m_cChargeModASIC2d {};
112
114 TLine* m_line_up{};
116 TLine* m_line_mean{};
118 TLine* m_line_low{};
119
121 bool m_color = true;
122
125
126 };
128} // end namespace Belle2
129
The base class for the histogram analysis module.
DQM Histogram Analysis for PXD Cluster Charge.
void terminate(void) override final
This method is called at the end of the event processing.
bool m_color
Whether to use the color code for warnings and errors.
std::map< VxdID, std::array< std::array< TCanvas *, 4 >, 6 > > m_cChargeModASIC
Final Canvases for Fit and Ref per ASIC.
std::map< VxdID, TH2F * > m_hChargeModASIC2d
Final Canvas Fit and Ref per ASIC.
void initialize(void) override final
Initializer.
void endRun(void) override final
This method is called if the current run ends.
TLine * m_line_up
TLine object for upper limit of track cluster charge.
TGraphErrors * m_gCharge
Graph covering all modules.
std::vector< VxdID > m_PXDModules
IDs of all PXD Modules to iterate over.
std::string m_histogramDirectoryName
name of histogram directory
TLine * m_line_mean
TLine object for mean of track cluster charge.
TLine * m_line_low
TLine object for lower limit of track cluster charge.
std::vector< int > m_excluded
Indizes of excluded PXD Modules.
TH1F * m_hTrackedClusters
Histogram for TrackedClusters.
TCanvas * m_cTrackedClusters
Final Canvas for TrackedClusters.
std::map< VxdID, TCanvas * > m_cChargeMod
Final Canvases for Fit and Ref.
void beginRun(void) override final
Called when entering a new run.
void event(void) override final
This method is called for each event.
std::map< VxdID, TCanvas * > m_cChargeModASIC2d
Final Canvas Fit and Ref per ASIC.
MonitoringObject is a basic object to hold data for the run-dependency monitoring Run summary TCanvas...
Abstract base class for different kinds of events.