Belle II Software development
KlongValidationModule.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#pragma once
10
11#include <framework/core/Module.h>
12#include <framework/datastore/StoreArray.h>
13
14#include <TFile.h>
15#include <string>
16#include <TH1F.h>
17#include <TGraph.h>
18
19namespace Belle2 {
24 class KLMCluster;
25 class MCParticle;
26
29
30 public:
31
34
36 virtual ~KlongValidationModule();
37
39 virtual void initialize() override;
40
42 virtual void beginRun() override;
43
45 virtual void event() override;
46
48 virtual void endRun() override;
49
51 virtual void terminate() override;
52
53 protected:
54
55 private:
56
58 double m_momentum{ -1.};
60 double m_theta{ -1.};
62 double m_phi{ -1.};
64 double m_isKl{ -1.};
66 bool m_passed{false};
68 bool m_faked{false};
72 float m_KlIdCut{ -1};
73
75 bool m_isBeamBKG{false};
76 // use TH1F histogramms to calculate efficiency
78 TH1F* m_effPhi{nullptr};
80 TH1F* m_effTheta{nullptr};
82 TH1F* m_effMom{nullptr};
84 TH1F* m_fakePhi{nullptr};
86 TH1F* m_fakeTheta{nullptr};
88 TH1F* m_fakeMom{nullptr};
90 TH1F* m_Phi_Pass{nullptr};
92 TH1F* m_Theta_Pass{nullptr};
94 TH1F* m_Mom_Pass{nullptr};
95
97 TH1F* m_Phi_all{nullptr};
99 TH1F* m_Theta_all{nullptr};
101 TH1F* m_Mom_all{nullptr};
103 TH1F* m_Mom_all_plot{nullptr};
105 TH1F* m_fakePhi_Pass{nullptr};
107 TH1F* m_fakeTheta_Pass{nullptr};
109 TH1F* m_fakeMom_Pass{nullptr};
111 TH1F* m_time{nullptr};
113 TH1F* m_trackSep{nullptr};
115 TH1F* m_nLayer{nullptr};
117 TH1F* m_innermostLayer{nullptr};
119 TH1F* m_trackFlag{nullptr};
121 TH1F* m_ECLFlag{nullptr};
123 TH1F* m_bkgPhi{nullptr};
125 TH1F* m_bkgTheta{nullptr};
127 TH1F* m_bkgMom{nullptr};
129 TH1F* m_klidFake{nullptr};
131 TH1F* m_klidTrue{nullptr};
133 TH1F* m_klidAll{nullptr};
135 TGraph* m_ROC{nullptr};
137 TGraph* m_backRej{nullptr};
138
139
144
146 const std::vector<double> m_xbins =
147 {0, 0.001, 0.01, 0.1, 0.15, 0.175, 0.2, 0.3, 0.4, 0.5, 1};
148
150 std::string m_outputName = "K_long_full_validation_sample.root";
151
153 std::string m_contact = "";
154
156 TFile* m_f = nullptr;
157
158 }; // end class
159
161} // end namespace Belle2
162
KLM cluster data.
Definition KLMCluster.h:29
TH1F * m_Mom_Pass
momentum efficiency
TH1F * m_effTheta
efficiency in angle to z
bool m_passed
did cluster pass selection of algorythm?
TH1F * m_trackSep
track separation distance plot
TH1F * m_Mom_all_plot
momentum efficiency
TH1F * m_Theta_Pass
efficiency in angle to z
TH1F * m_fakeMom_Pass
fake momentum plot
StoreArray< KLMCluster > m_klmClusters
storearrays
std::string m_contact
contact email address
virtual void initialize() override
initialize
TGraph * m_backRej
background rejection
TH1F * m_fakePhi_Pass
fake phi, angle in x-y
virtual void event() override
process event
const std::vector< double > m_xbins
bins used for the ROC plots
virtual void endRun() override
end run
virtual void terminate() override
terminate
TH1F * m_fakeTheta_Pass
fake theta, angle to z
TH1F * m_Phi_Pass
efficiency in x-y plane
TH1F * m_Phi_all
efficiency in x-y plane
virtual void beginRun() override
beginn run
std::string m_outputName
output file name
TH1F * m_time
cluster timing plot
float m_KlIdCut
of > 0 use Klid else use trackflag as reconstruction criterion
virtual ~KlongValidationModule()
Destructor.
StoreArray< MCParticle > m_mcParticles
storearrays
bool m_faked
cluster wrongly reconstructed as K0L?
bool m_reconstructedAsKl
cluster reconstructed as K0L?
TH1F * m_fakeTheta
fake theta, angle to z
TH1F * m_effMom
momentum efficiency
TH1F * m_effPhi
efficiency in x-y plane
TH1F * m_Mom_all
momentum efficiency
TH1F * m_fakeMom
fake momentum plot
TH1F * m_fakePhi
fake phi, angle in x-y
TH1F * m_Theta_all
efficiency in angle to z
A Class to store the Monte Carlo particle information.
Definition MCParticle.h:32
Module()
Constructor.
Definition Module.cc:30
Accessor to arrays stored in the data store.
Definition StoreArray.h:113
Abstract base class for different kinds of events.