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 {
33
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
122
123 };
124
125} // end namespace Belle2
126
DQMHistAnalysisModule()
Constructor / Destructor.
void terminate(void) override final
This method is called at the end of the event processing.
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 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.