Belle II Software  release-05-02-19
KlongValidationModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Jo-Frederik Krohn *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <framework/core/Module.h>
14 #include <framework/datastore/StoreArray.h>
15 
16 #include <mdst/dataobjects/MCParticle.h>
17 #include <mdst/dataobjects/KLMCluster.h>
18 
19 #include <TFile.h>
20 #include <string>
21 #include <TH1F.h>
22 #include <TGraph.h>
23 
24 namespace Belle2 {
34  class KlongValidationModule : public Module {
35 
36  public:
37 
40 
43 
45  virtual void initialize() override;
46 
48  virtual void beginRun() override;
49 
51  virtual void event() override;
52 
54  virtual void endRun() override;
55 
57  virtual void terminate() override;
58 
59  protected:
60 
61  private:
62 
64  double m_momentum{ -1.};
66  double m_theta{ -1.};
68  double m_phi{ -1.};
70  double m_isKl{ -1.};
72  bool m_passed{false};
74  bool m_faked{false};
76  bool m_reconstructedAsKl{false};
78  float m_KlIdCut{ -1};
79 
81  bool m_isBeamBKG{false};
82  // use TH1F histogramms to calculate efficiency
84  TH1F* m_effPhi{nullptr};
86  TH1F* m_effTheta{nullptr};
88  TH1F* m_effMom{nullptr};
90  TH1F* m_fakePhi{nullptr};
92  TH1F* m_fakeTheta{nullptr};
94  TH1F* m_fakeMom{nullptr};
96  TH1F* m_Phi_Pass{nullptr};
98  TH1F* m_Theta_Pass{nullptr};
100  TH1F* m_Mom_Pass{nullptr};
101 
103  TH1F* m_Phi_all{nullptr};
105  TH1F* m_Theta_all{nullptr};
107  TH1F* m_Mom_all{nullptr};
109  TH1F* m_Mom_all_plot{nullptr};
111  TH1F* m_fakePhi_Pass{nullptr};
113  TH1F* m_fakeTheta_Pass{nullptr};
115  TH1F* m_fakeMom_Pass{nullptr};
117  TH1F* m_time{nullptr};
119  TH1F* m_trackSep{nullptr};
121  TH1F* m_energy{nullptr};
123  TH1F* m_nLayer{nullptr};
125  TH1F* m_innermostLayer{nullptr};
127  TH1F* m_trackFlag{nullptr};
129  TH1F* m_ECLFlag{nullptr};
131  TH1F* m_bkgPhi{nullptr};
133  TH1F* m_bkgTheta{nullptr};
135  TH1F* m_bkgMom{nullptr};
137  TH1F* m_klidFake{nullptr};
139  TH1F* m_klidTrue{nullptr};
141  TH1F* m_klidAll{nullptr};
143  TGraph* m_ROC{nullptr};
145  TGraph* m_backRej{nullptr};
146 
147 
152 
154  const std::vector<double> m_xbins =
155  {0, 0.001, 0.01, 0.1, 0.15, 0.175, 0.2, 0.3, 0.4, 0.5, 1};
156 
158  std::string m_outputName = "K_long_full_validation_sample.root";
159 
161  TFile* m_f = nullptr;
162 
163  }; // end class
164 
166 } // end namespace Belle2
167 
Belle2::KlongValidationModule::m_nLayer
TH1F * m_nLayer
layer count plot
Definition: KlongValidationModule.h:131
Belle2::KlongValidationModule::m_mcParticles
StoreArray< MCParticle > m_mcParticles
storearrays
Definition: KlongValidationModule.h:159
Belle2::KlongValidationModule::m_Mom_all
TH1F * m_Mom_all
momentum efficiency
Definition: KlongValidationModule.h:115
Belle2::KlongValidationModule::m_f
TFile * m_f
root tree etc.
Definition: KlongValidationModule.h:169
Belle2::KlongValidationModule::m_fakePhi_Pass
TH1F * m_fakePhi_Pass
fake phi, angle in x-y
Definition: KlongValidationModule.h:119
Belle2::KlongValidationModule::m_effPhi
TH1F * m_effPhi
efficiency in x-y plane
Definition: KlongValidationModule.h:92
Belle2::KlongValidationModule::m_klidTrue
TH1F * m_klidTrue
used for roc
Definition: KlongValidationModule.h:147
Belle2::KlongValidationModule::m_fakeTheta_Pass
TH1F * m_fakeTheta_Pass
fake theta, angle to z
Definition: KlongValidationModule.h:121
Belle2::KlongValidationModule::m_klmClusters
StoreArray< KLMCluster > m_klmClusters
storearrays
Definition: KlongValidationModule.h:157
Belle2::KlongValidationModule::event
virtual void event() override
process event
Definition: KlongValidationModule.cc:103
Belle2::KlongValidationModule::m_fakeMom
TH1F * m_fakeMom
fake momentum plot
Definition: KlongValidationModule.h:102
Belle2::KlongValidationModule::beginRun
virtual void beginRun() override
beginn run
Definition: KlongValidationModule.cc:95
Belle2::KlongValidationModule::m_effMom
TH1F * m_effMom
momentum efficiency
Definition: KlongValidationModule.h:96
Belle2::KlongValidationModule::m_Phi_all
TH1F * m_Phi_all
efficiency in x-y plane
Definition: KlongValidationModule.h:111
Belle2::KlongValidationModule::m_phi
double m_phi
angle in x-y
Definition: KlongValidationModule.h:76
Belle2::KlongValidationModule::m_KlIdCut
float m_KlIdCut
of > 0 use Klid else use trackflag as reconstruction criterion
Definition: KlongValidationModule.h:86
Belle2::KlongValidationModule::m_ROC
TGraph * m_ROC
roc
Definition: KlongValidationModule.h:151
Belle2::KlongValidationModule::m_trackSep
TH1F * m_trackSep
track separation distance plot
Definition: KlongValidationModule.h:127
Belle2::KlongValidationModule::m_Theta_Pass
TH1F * m_Theta_Pass
efficiency in angle to z
Definition: KlongValidationModule.h:106
Belle2::KlongValidationModule::m_Mom_Pass
TH1F * m_Mom_Pass
momentum efficiency
Definition: KlongValidationModule.h:108
Belle2::KlongValidationModule::m_reconstructedAsKl
bool m_reconstructedAsKl
cluster reconstructed as K0L?
Definition: KlongValidationModule.h:84
Belle2::KlongValidationModule::m_bkgTheta
TH1F * m_bkgTheta
beambkg
Definition: KlongValidationModule.h:141
Belle2::KlongValidationModule::m_ECLFlag
TH1F * m_ECLFlag
ECL flag.
Definition: KlongValidationModule.h:137
Belle2::KlongValidationModule::m_klidAll
TH1F * m_klidAll
used for roc
Definition: KlongValidationModule.h:149
Belle2::KlongValidationModule::m_passed
bool m_passed
did cluster pass selection of algorythm?
Definition: KlongValidationModule.h:80
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::KlongValidationModule::m_Theta_all
TH1F * m_Theta_all
efficiency in angle to z
Definition: KlongValidationModule.h:113
Belle2::KlongValidationModule::m_faked
bool m_faked
cluster wrongly reconstructed as K0L?
Definition: KlongValidationModule.h:82
Belle2::KlongValidationModule::m_time
TH1F * m_time
cluster timing plot
Definition: KlongValidationModule.h:125
Belle2::KlongValidationModule::m_momentum
double m_momentum
momentum
Definition: KlongValidationModule.h:72
Belle2::KlongValidationModule::m_klidFake
TH1F * m_klidFake
used for roc
Definition: KlongValidationModule.h:145
Belle2::KlongValidationModule::m_trackFlag
TH1F * m_trackFlag
track flag
Definition: KlongValidationModule.h:135
Belle2::KlongValidationModule::endRun
virtual void endRun() override
end run
Definition: KlongValidationModule.cc:99
Belle2::KlongValidationModule::KlongValidationModule
KlongValidationModule()
Constructor
Definition: KlongValidationModule.cc:31
Belle2::KlongValidationModule::m_innermostLayer
TH1F * m_innermostLayer
innermostlayer
Definition: KlongValidationModule.h:133
Belle2::KlongValidationModule::m_Phi_Pass
TH1F * m_Phi_Pass
efficiency in x-y plane
Definition: KlongValidationModule.h:104
Belle2::KlongValidationModule::m_theta
double m_theta
angle in z-plane
Definition: KlongValidationModule.h:74
Belle2::KlongValidationModule::m_bkgPhi
TH1F * m_bkgPhi
beambkg
Definition: KlongValidationModule.h:139
Belle2::KlongValidationModule::m_Mom_all_plot
TH1F * m_Mom_all_plot
momentum efficiency
Definition: KlongValidationModule.h:117
Belle2::KlongValidationModule::m_bkgMom
TH1F * m_bkgMom
beambkg
Definition: KlongValidationModule.h:143
Belle2::KlongValidationModule::terminate
virtual void terminate() override
terminate
Definition: KlongValidationModule.cc:236
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::KlongValidationModule::m_energy
TH1F * m_energy
energy plot
Definition: KlongValidationModule.h:129
Belle2::KlongValidationModule::m_fakeTheta
TH1F * m_fakeTheta
fake theta, angle to z
Definition: KlongValidationModule.h:100
Belle2::KlongValidationModule::~KlongValidationModule
virtual ~KlongValidationModule()
Destructor
Definition: KlongValidationModule.cc:42
Belle2::KlongValidationModule::initialize
virtual void initialize() override
initialize
Definition: KlongValidationModule.cc:46
Belle2::KlongValidationModule::m_effTheta
TH1F * m_effTheta
efficiency in angle to z
Definition: KlongValidationModule.h:94
Belle2::KlongValidationModule::m_backRej
TGraph * m_backRej
background rejection
Definition: KlongValidationModule.h:153
Belle2::KlongValidationModule::m_isBeamBKG
bool m_isBeamBKG
is beam bkg
Definition: KlongValidationModule.h:89
Belle2::KlongValidationModule::m_outputName
std::string m_outputName
output file name
Definition: KlongValidationModule.h:166
Belle2::KlongValidationModule::m_isKl
double m_isKl
K0L truth
Definition: KlongValidationModule.h:78
Belle2::KlongValidationModule::m_fakePhi
TH1F * m_fakePhi
fake phi, angle in x-y
Definition: KlongValidationModule.h:98
Belle2::KlongValidationModule::m_xbins
const std::vector< double > m_xbins
bins used for the ROC plots
Definition: KlongValidationModule.h:162
Belle2::KlongValidationModule::m_fakeMom_Pass
TH1F * m_fakeMom_Pass
fake momentum plot
Definition: KlongValidationModule.h:123