Belle II Software  release-05-02-19
KLMClusterEfficiencyModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Kirill Chilikin *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 /* Belle 2 headers. */
14 #include <framework/core/Module.h>
15 #include <framework/datastore/StoreArray.h>
16 #include <mdst/dataobjects/KLMCluster.h>
17 #include <mdst/dataobjects/MCParticle.h>
18 
19 /* ROOT headers. */
20 #include <TFile.h>
21 #include <TTree.h>
22 
23 namespace Belle2 {
32  class KLMClusterEfficiencyModule : public Module {
33 
34  public:
35 
40 
45 
49  void initialize() override;
50 
54  void beginRun() override;
55 
59  void event() override;
60 
64  void endRun() override;
65 
69  void terminate() override;
70 
71  private:
72 
74  bool m_SaveClusterData;
75 
78 
80  std::string m_OutputFileName;
81 
84 
86  TFile* m_OutputFile;
87 
89  TTree* m_ClusterTree;
90 
92  TTree* m_ReconstructionTree;
93 
95  float m_DecayVertexX;
96 
98  float m_DecayVertexY;
99 
101  float m_DecayVertexZ;
102 
105 
107  float m_ClusterX;
108 
110  float m_ClusterY;
111 
113  float m_ClusterZ;
114 
116  float m_MaxClusterHitAngle;
117 
119  int m_KL0Clusters;
120 
123 
125  int m_OtherClusters;
126 
129 
135 
141 
148 
151 
154 
157 
158  };
159 
161 }
Belle2::KLMClusterEfficiencyModule::m_ReconstructedKL03Clusters
int m_ReconstructedKL03Clusters
Number of K_L0 reconstructed as >= 2 clusters.
Definition: KLMClusterEfficiencyModule.h:158
Belle2::KLMClusterEfficiencyModule::~KLMClusterEfficiencyModule
~KLMClusterEfficiencyModule()
Destructor.
Definition: KLMClusterEfficiencyModule.cc:49
Belle2::KLMClusterEfficiencyModule::m_ReconstructionTree
TTree * m_ReconstructionTree
Reconstruction tree.
Definition: KLMClusterEfficiencyModule.h:100
Belle2::KLMClusterEfficiencyModule::beginRun
void beginRun() override
Called when entering a new run.
Definition: KLMClusterEfficiencyModule.cc:93
Belle2::KLMClusterEfficiencyModule::m_OutputFileName
std::string m_OutputFileName
Output file name.
Definition: KLMClusterEfficiencyModule.h:88
Belle2::KLMClusterEfficiencyModule::m_DecayVertexX
float m_DecayVertexX
MCParticle decay vertex X coordinate.
Definition: KLMClusterEfficiencyModule.h:103
Belle2::KLMClusterEfficiencyModule::m_MaxClusterHitAngle
float m_MaxClusterHitAngle
Maximal angle between KLM cluster and its hits.
Definition: KLMClusterEfficiencyModule.h:124
Belle2::KLMClusterEfficiencyModule::m_ExactlyReconstructedKL0
int m_ExactlyReconstructedKL0
Number of K_L0 reconstructed as 1 cluster, and this cluster should be related only to 1 (K_L0 ) MCPar...
Definition: KLMClusterEfficiencyModule.h:148
Belle2::KLMClusterEfficiencyModule::m_OtherClusters
int m_OtherClusters
Number of clusters from other particles.
Definition: KLMClusterEfficiencyModule.h:133
Belle2::KLMClusterEfficiencyModule::m_SaveReconstructionData
bool m_SaveReconstructionData
Whether to save reconstruction data or not.
Definition: KLMClusterEfficiencyModule.h:85
Belle2::KLMClusterEfficiencyModule::m_KL0Clusters
int m_KL0Clusters
Number of clusters from a K_L0.
Definition: KLMClusterEfficiencyModule.h:127
Belle2::KLMClusterEfficiencyModule::m_ClusterZ
float m_ClusterZ
Cluster Z coordinate.
Definition: KLMClusterEfficiencyModule.h:121
Belle2::KLMClusterEfficiencyModule::m_KLMClusters
StoreArray< KLMCluster > m_KLMClusters
KLM clusters.
Definition: KLMClusterEfficiencyModule.h:161
Belle2::KLMClusterEfficiencyModule::m_NonreconstructedKL0
int m_NonreconstructedKL0
Number of nonreconstructed K_L0.
Definition: KLMClusterEfficiencyModule.h:136
Belle2::KLMClusterEfficiencyModule::m_DecayVertexY
float m_DecayVertexY
MCParticle decay vertex Y coordinate.
Definition: KLMClusterEfficiencyModule.h:106
Belle2::KLMClusterEfficiencyModule::KLMClusterEfficiencyModule
KLMClusterEfficiencyModule()
Constructor.
Definition: KLMClusterEfficiencyModule.cc:28
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::KLMClusterEfficiencyModule::m_SaveClusterData
bool m_SaveClusterData
Whether to save cluster data or not.
Definition: KLMClusterEfficiencyModule.h:82
Belle2::KLMClusterEfficiencyModule::m_PartlyKL0Clusters
int m_PartlyKL0Clusters
Number of clusters from a K_L0 + other particles.
Definition: KLMClusterEfficiencyModule.h:130
Belle2::KLMClusterEfficiencyModule::m_MaxDecayVertexHitAngle
float m_MaxDecayVertexHitAngle
Maximal angle between MCParticle decay vertex and its hits.
Definition: KLMClusterEfficiencyModule.h:112
Belle2::KLMClusterEfficiencyModule::m_EventsClusterHistograms
int m_EventsClusterHistograms
Draw cluster histograms for this number of events.
Definition: KLMClusterEfficiencyModule.h:91
Belle2::KLMClusterEfficiencyModule::m_OutputFile
TFile * m_OutputFile
Output file.
Definition: KLMClusterEfficiencyModule.h:94
Belle2::KLMClusterEfficiencyModule::initialize
void initialize() override
Initializer.
Definition: KLMClusterEfficiencyModule.cc:53
Belle2::KLMClusterEfficiencyModule::m_ClusterX
float m_ClusterX
Cluster X coordinate.
Definition: KLMClusterEfficiencyModule.h:115
Belle2::KLMClusterEfficiencyModule::m_ClusterTree
TTree * m_ClusterTree
Cluster data tree.
Definition: KLMClusterEfficiencyModule.h:97
Belle2::KLMClusterEfficiencyModule::m_ClusterY
float m_ClusterY
Cluster Y coordinate.
Definition: KLMClusterEfficiencyModule.h:118
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::KLMClusterEfficiencyModule::m_ReconstructedKL02Clusters
int m_ReconstructedKL02Clusters[6]
Number of K_L0 reconstructed as 2 clusters in (2 * BKLM, BKLM + BKLM/EKLM, BKLM + EKLM,...
Definition: KLMClusterEfficiencyModule.h:155
Belle2::KLMClusterEfficiencyModule::m_ReconstructedKL01Cluster
int m_ReconstructedKL01Cluster[3]
Number of K_L0 reconstructed as 1 cluster in (BKLM, BKLM/EKLM, EKLM).
Definition: KLMClusterEfficiencyModule.h:142
Belle2::KLMClusterEfficiencyModule::terminate
void terminate() override
This method is called at the end of the event processing.
Definition: KLMClusterEfficiencyModule.cc:339
Belle2::KLMClusterEfficiencyModule::endRun
void endRun() override
This method is called if the current run ends.
Definition: KLMClusterEfficiencyModule.cc:335
Belle2::KLMClusterEfficiencyModule::m_DecayVertexZ
float m_DecayVertexZ
MCParticle decay vertex Z coordinate.
Definition: KLMClusterEfficiencyModule.h:109
Belle2::KLMClusterEfficiencyModule::m_MCParticles
StoreArray< MCParticle > m_MCParticles
MC particles.
Definition: KLMClusterEfficiencyModule.h:164
Belle2::KLMClusterEfficiencyModule::event
void event() override
This method is called for each event.
Definition: KLMClusterEfficiencyModule.cc:97