Belle II Software  release-05-02-19
DataWriterModule.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 #ifndef DataWriterModule_H
11 #define DataWriterModule_H
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 #include <mdst/dataobjects/ECLCluster.h>
19 
20 #include <TTree.h>
21 #include <TFile.h>
22 #include <string>
23 
24 namespace Belle2 {
31  class DataWriterModule : public Module {
32 
33  public:
34 
37 
39  virtual ~DataWriterModule();
40 
42  virtual void initialize() override;
43 
45  virtual void beginRun() override;
46 
48  virtual void event() override;
49 
51  virtual void endRun() override;
52 
54  virtual void terminate() override;
55 
56  protected:
57 
58  private:
59 
61  std::string m_outPath = "KlIdBKGClassifierTrainingTuples.root";
62 
64  // KLM cluster variables for pure KLM and KLM+ECL Klongs
66  Float_t m_KLMnCluster;
68  Float_t m_KLMnLayer;
70  Float_t m_KLMnInnermostLayer;
72  Float_t m_KLMglobalZ;
74  Float_t m_KLMtime;
78  Float_t m_KLMhitDepth;
80  Float_t m_KLMenergy;
82  Float_t m_KLMinvM;
84  Float_t m_KLMTruth;
91 
99  Float_t m_KLMAngleToMC;
100 
101 
102  // variables of closest ECL cluster with respect to KLM cluster
104  Float_t m_KLMECLDist;
106  Float_t m_KLMECLE;
108  Float_t m_KLMECLdeltaL; // new
110  Float_t m_KLMECLminTrackDist; //new
112  Float_t m_KLMECLE9oE25;
114  Float_t m_KLMECLTiming;
116  Float_t m_KLMECLTerror;
118  Float_t m_KLMECLEerror;
122  Float_t m_KLMKLid;
124  Float_t m_KLMMCMom;
126  Float_t m_KLMMCPhi;
128  Float_t m_KLMMCTheta;
130  Float_t m_KLMMom;
132  Float_t m_KLMPhi;
134  Float_t m_KLMTheta;
135 
137  Float_t m_KLMMCStatus ;
139  Float_t m_KLMMCLifetime;
141  Float_t m_KLMMCPDG ;
143  Float_t m_KLMMCPrimaryPDG ;
145  Float_t m_KLMECLHypo;
147  Float_t m_KLMECLZMVA;
149  Float_t m_KLMECLZ40;
151  Float_t m_KLMECLZ51;
157  Float_t m_KLMMCWeight;
159  Float_t m_KLMtrackFlag;
161  Float_t m_KLMeclFlag;
162 
163 
164  // ECL cluster variables for pure ECL Klongs
166  Float_t m_ECLE;
168  Float_t m_ECLE9oE25;
170  Float_t m_ECLTiming;
172  Float_t m_ECLR;
174  Float_t m_ECLEerror;
176  Float_t m_ECLminTrkDistance; // new
178  Float_t m_ECLdeltaL; // new
179 
180 
182  Float_t m_ECLZ51;
184  Float_t m_ECLZ40;
186  Float_t m_ECLE1oE9;
188  Float_t m_ECL2ndMom;
192  Float_t m_ECLLAT;
194  Float_t m_ECLZMVA;
196  Float_t m_ECLKLid;
198  Float_t m_ECLMCStatus ;
202  Float_t m_ECLMCPDG ;
205  Float_t m_ECLMCPrimaryPDG ;
207  Float_t m_ECLDeltaTime ;
209  Float_t m_ECLUncertaintyEnergy;
211  Float_t m_ECLUncertaintyTheta ;
215  Float_t m_ECLMCMom;
217  Float_t m_ECLMCPhi;
219  Float_t m_ECLMCTheta;
221  Float_t m_ECLMom;
223  Float_t m_ECLPhi;
225  Float_t m_ECLTheta;
227  Float_t m_ECLZ;
229  Float_t m_ECLTruth;
231  Float_t m_isBeamBKG;
233  Float_t m_ECLMCWeight;
234 
236  Float_t m_isSignal;
237 
238 
245 
247  TFile* m_f = nullptr; //
249  TTree* m_treeKLM = nullptr;
251  TTree* m_treeECLhadron = nullptr;
253  TTree* m_treeECLgamma = nullptr;
254 
256  bool m_useKLM;
257 
259  bool m_useECL;
260 
261 
262  }; // end class
264 } // end namespace Belle2
265 
266 #endif
Belle2::DataWriterModule::m_ECLMCWeight
Float_t m_ECLMCWeight
mc weight
Definition: DataWriterModule.h:241
Belle2::DataWriterModule::m_ECLE1oE9
Float_t m_ECLE1oE9
central crystal devided by 3x3 area with it in its center
Definition: DataWriterModule.h:194
Belle2::DataWriterModule::beginRun
virtual void beginRun() override
beginn run
Definition: DataWriterModule.cc:201
Belle2::DataWriterModule::terminate
virtual void terminate() override
terminate
Definition: DataWriterModule.cc:442
Belle2::DataWriterModule::m_isSignal
Float_t m_isSignal
isSignal for the classifier
Definition: DataWriterModule.h:244
Belle2::DataWriterModule::m_KLMTrackClusterSepAngle
Float_t m_KLMTrackClusterSepAngle
angle between trach momentum and cluster (measured from ip)
Definition: DataWriterModule.h:105
Belle2::DataWriterModule::m_ECLnumChrystals
Float_t m_ECLnumChrystals
number of crystals in the cluster
Definition: DataWriterModule.h:198
Belle2::DataWriterModule::m_ECLTruth
Float_t m_ECLTruth
ECL trarget variable.
Definition: DataWriterModule.h:237
Belle2::DataWriterModule::m_ECLEerror
Float_t m_ECLEerror
uncertainty on E measurement in ECL
Definition: DataWriterModule.h:182
Belle2::DataWriterModule::m_KLMTrackSepAngle
Float_t m_KLMTrackSepAngle
angular distance from track separation object
Definition: DataWriterModule.h:98
Belle2::DataWriterModule::m_KLMPhi
Float_t m_KLMPhi
measured phi
Definition: DataWriterModule.h:140
Belle2::DataWriterModule::m_useECL
bool m_useECL
write out KLM data
Definition: DataWriterModule.h:267
Belle2::DataWriterModule::m_KLMnLayer
Float_t m_KLMnLayer
number of layers hit in KLM cluster
Definition: DataWriterModule.h:76
Belle2::DataWriterModule::m_KLMTheta
Float_t m_KLMTheta
measured theta
Definition: DataWriterModule.h:142
Belle2::DataWriterModule::m_KLMMCPrimaryPDG
Float_t m_KLMMCPrimaryPDG
pdg code of MCparticles mother, for example pi0 for some gammas
Definition: DataWriterModule.h:151
Belle2::DataWriterModule::m_ECLZ40
Float_t m_ECLZ40
Zernike moment 4,0 see Belle2 note on that.
Definition: DataWriterModule.h:192
Belle2::DataWriterModule::m_ECLUncertaintyEnergy
Float_t m_ECLUncertaintyEnergy
measured energy uncertainty
Definition: DataWriterModule.h:217
Belle2::DataWriterModule::m_KLMinvM
Float_t m_KLMinvM
invariant mass calculated from root vector
Definition: DataWriterModule.h:90
Belle2::DataWriterModule::m_KLMMCPDG
Float_t m_KLMMCPDG
pdg code of matched MCparticle
Definition: DataWriterModule.h:149
Belle2::DataWriterModule::m_treeECLgamma
TTree * m_treeECLgamma
tree containing ntuples for ECL cluster with N1 (photon hypothesis)
Definition: DataWriterModule.h:261
Belle2::DataWriterModule::m_useKLM
bool m_useKLM
write out KLM data
Definition: DataWriterModule.h:264
Belle2::DataWriterModule::m_KLMAngleToMC
Float_t m_KLMAngleToMC
angle between KLMcluster and Mcparticle
Definition: DataWriterModule.h:107
Belle2::DataWriterModule::m_KLMECLHypo
Float_t m_KLMECLHypo
hypotheis id of closest ecl cluster 5: gamma, 6:hadron
Definition: DataWriterModule.h:153
Belle2::DataWriterModule::m_ECLminTrkDistance
Float_t m_ECLminTrkDistance
more sophisticated distaqnce to track in ECL
Definition: DataWriterModule.h:184
Belle2::DataWriterModule::m_KLMECLZMVA
Float_t m_KLMECLZMVA
zernike mva output for closest ECL cluster (based on around 10 z-moments)
Definition: DataWriterModule.h:155
Belle2::DataWriterModule::m_KLMECLZ40
Float_t m_KLMECLZ40
zernike moment 4,0 of closest ecl cluster
Definition: DataWriterModule.h:157
Belle2::DataWriterModule::m_KLMECLZ51
Float_t m_KLMECLZ51
zernike moment 5,1 of closest ECL cluster
Definition: DataWriterModule.h:159
Belle2::DataWriterModule::m_f
TFile * m_f
root file
Definition: DataWriterModule.h:255
Belle2::DataWriterModule::m_KLMECLdeltaL
Float_t m_KLMECLdeltaL
distance between track entry point and cluster center, might be removed
Definition: DataWriterModule.h:116
Belle2::DataWriterModule::m_KLMnInnermostLayer
Float_t m_KLMnInnermostLayer
number of innermost layers hit
Definition: DataWriterModule.h:78
Belle2::DataWriterModule::m_ECLE
Float_t m_ECLE
measured energy
Definition: DataWriterModule.h:174
Belle2::DataWriterModule::m_KLMECLEerror
Float_t m_KLMECLEerror
uncertainty on E in associated ECL cluster
Definition: DataWriterModule.h:126
Belle2::DataWriterModule::endRun
virtual void endRun() override
end run
Definition: DataWriterModule.cc:205
Belle2::DataWriterModule::m_klmClusters
StoreArray< KLMCluster > m_klmClusters
Store array
Definition: DataWriterModule.h:250
Belle2::DataWriterModule::m_ECLMCTheta
Float_t m_ECLMCTheta
MC particle momentum; -999 if not MCparticle.
Definition: DataWriterModule.h:227
Belle2::DataWriterModule::m_KLMMCLifetime
Float_t m_KLMMCLifetime
MC partilces life time.
Definition: DataWriterModule.h:147
Belle2::DataWriterModule::m_KLMKLid
Float_t m_KLMKLid
KlId for that object.
Definition: DataWriterModule.h:130
Belle2::DataWriterModule::m_ECLMom
Float_t m_ECLMom
measured momentum
Definition: DataWriterModule.h:229
Belle2::DataWriterModule::m_ECLR
Float_t m_ECLR
distance of cluster to IP
Definition: DataWriterModule.h:180
Belle2::DataWriterModule::m_ECLMCLifetime
Float_t m_ECLMCLifetime
MC particles lifetime.
Definition: DataWriterModule.h:208
Belle2::DataWriterModule::m_ECLDeltaTime
Float_t m_ECLDeltaTime
KlId for that object.
Definition: DataWriterModule.h:215
Belle2::DataWriterModule::m_KLMnCluster
Float_t m_KLMnCluster
varibales to write out.
Definition: DataWriterModule.h:74
Belle2::DataWriterModule::m_KLMenergy
Float_t m_KLMenergy
Energy deposit in KLM (0.2 GeV * nHitCells)
Definition: DataWriterModule.h:88
Belle2::DataWriterModule::m_KLMECLminTrackDist
Float_t m_KLMECLminTrackDist
track distance between associated ECL cluster and track extrapolated into ECL
Definition: DataWriterModule.h:118
Belle2::DataWriterModule::m_ECLMCStatus
Float_t m_ECLMCStatus
mc status, seen in detector etc.
Definition: DataWriterModule.h:206
Belle2::DataWriterModule::m_ECLMCPrimaryPDG
Float_t m_ECLMCPrimaryPDG
pdg code of higher order MC particle, a cluster related to a photon that originates from a pi0 decay ...
Definition: DataWriterModule.h:213
Belle2::DataWriterModule::m_KLMECLTerror
Float_t m_KLMECLTerror
uncertainty on time in associated ECL cluster
Definition: DataWriterModule.h:124
Belle2::DataWriterModule::m_ECLPhi
Float_t m_ECLPhi
measured phi
Definition: DataWriterModule.h:231
Belle2::DataWriterModule::m_KLMInitialTrackSepAngle
Float_t m_KLMInitialTrackSepAngle
angular distance from track to cluster at track starting point
Definition: DataWriterModule.h:101
Belle2::DataWriterModule::m_KLMMom
Float_t m_KLMMom
measured momentum
Definition: DataWriterModule.h:138
Belle2::DataWriterModule::m_ECLTheta
Float_t m_ECLTheta
measured theta
Definition: DataWriterModule.h:233
Belle2::DataWriterModule::m_ECLMCMom
Float_t m_ECLMCMom
MC particle momentum; -999 if not MCparticle.
Definition: DataWriterModule.h:223
Belle2::DataWriterModule::m_KLMMCMom
Float_t m_KLMMCMom
momentum of matched mc particle
Definition: DataWriterModule.h:132
Belle2::DataWriterModule::m_KLMECLUncertaintyTheta
Float_t m_KLMECLUncertaintyTheta
theta uncertainty of closest ECL cluster
Definition: DataWriterModule.h:163
Belle2::DataWriterModule::m_KLMtrackFlag
Float_t m_KLMtrackFlag
track flag for belle comparision
Definition: DataWriterModule.h:167
Belle2::DataWriterModule::m_KLMtime
Float_t m_KLMtime
timing of KLM Cluster
Definition: DataWriterModule.h:82
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::DataWriterModule::m_isBeamBKG
Float_t m_isBeamBKG
is beam bkg
Definition: DataWriterModule.h:239
Belle2::DataWriterModule::event
virtual void event() override
process event
Definition: DataWriterModule.cc:209
Belle2::DataWriterModule::m_KLMMCStatus
Float_t m_KLMMCStatus
MC particles status.
Definition: DataWriterModule.h:145
Belle2::DataWriterModule::m_treeKLM
TTree * m_treeKLM
tree for klm data
Definition: DataWriterModule.h:257
Belle2::DataWriterModule::m_KLMhitDepth
Float_t m_KLMhitDepth
hit depth in KLM, distance to IP
Definition: DataWriterModule.h:86
Belle2::DataWriterModule::initialize
virtual void initialize() override
init
Definition: DataWriterModule.cc:54
Belle2::DataWriterModule::m_treeECLhadron
TTree * m_treeECLhadron
tree containing ntuples for ECL cluster with N2 (hadron hypothesis)
Definition: DataWriterModule.h:259
Belle2::DataWriterModule::m_KLMECLE9oE25
Float_t m_KLMECLE9oE25
E in surrounding 9 crystals divided by surrounding 25 crydtalls.
Definition: DataWriterModule.h:120
Belle2::DataWriterModule::m_ECLZMVA
Float_t m_ECLZMVA
output of a BDT that was fitted on some Zernike Moments on a connected region
Definition: DataWriterModule.h:202
Belle2::DataWriterModule::m_KLMMCWeight
Float_t m_KLMMCWeight
mc weight
Definition: DataWriterModule.h:165
Belle2::DataWriterModule::m_ECLUncertaintyTheta
Float_t m_ECLUncertaintyTheta
measured uncertainty on theta
Definition: DataWriterModule.h:219
Belle2::DataWriterModule::m_KLMavInterClusterDist
Float_t m_KLMavInterClusterDist
average distance between all KLM clusters
Definition: DataWriterModule.h:84
Belle2::DataWriterModule::DataWriterModule
DataWriterModule()
Constructor.
Definition: DataWriterModule.cc:38
Belle2::DataWriterModule::m_KLMECLUncertaintyPhi
Float_t m_KLMECLUncertaintyPhi
phi uncertainty oof closeest ecl cluster
Definition: DataWriterModule.h:161
Belle2::DataWriterModule::m_ECLZ51
Float_t m_ECLZ51
Zernike moment 5,1 see Belle2 note on that.
Definition: DataWriterModule.h:190
Belle2::DataWriterModule::m_KLMglobalZ
Float_t m_KLMglobalZ
global Z position in KLM
Definition: DataWriterModule.h:80
Belle2::DataWriterModule::m_ECLZ
Float_t m_ECLZ
measured Z-coordinate
Definition: DataWriterModule.h:235
Belle2::DataWriterModule::m_KLMMCPhi
Float_t m_KLMMCPhi
phi of matched mc particle
Definition: DataWriterModule.h:134
Belle2::DataWriterModule::m_KLMeclFlag
Float_t m_KLMeclFlag
ecl flag for belle comparision
Definition: DataWriterModule.h:169
Belle2::DataWriterModule::m_ECLdeltaL
Float_t m_ECLdeltaL
distance between track entrace into cluster and cluster center
Definition: DataWriterModule.h:186
Belle2::DataWriterModule::m_ECLLAT
Float_t m_ECLLAT
lateral shower shape
Definition: DataWriterModule.h:200
Belle2::DataWriterModule::m_KLMTrackSepDist
Float_t m_KLMTrackSepDist
distance from track separation object
Definition: DataWriterModule.h:96
Belle2::DataWriterModule::m_ECLKLid
Float_t m_ECLKLid
classifier output
Definition: DataWriterModule.h:204
Belle2::DataWriterModule::m_KLMnextCluster
Float_t m_KLMnextCluster
distance to next KLM cluster
Definition: DataWriterModule.h:94
Belle2::DataWriterModule::m_KLMMCTheta
Float_t m_KLMMCTheta
theta of matched mc particle
Definition: DataWriterModule.h:136
Belle2::DataWriterModule::m_mcParticles
StoreArray< MCParticle > m_mcParticles
Store array
Definition: DataWriterModule.h:248
Belle2::DataWriterModule::m_ECLMCPDG
Float_t m_ECLMCPDG
pdg code of the MCparticle directly related to the cluster
Definition: DataWriterModule.h:210
Belle2::DataWriterModule::m_ECL2ndMom
Float_t m_ECL2ndMom
second moment, shower shape
Definition: DataWriterModule.h:196
Belle2::DataWriterModule::m_outPath
std::string m_outPath
Output path variable.
Definition: DataWriterModule.h:69
Belle2::StoreArray< MCParticle >
Belle2::DataWriterModule::m_ECLUncertaintyPhi
Float_t m_ECLUncertaintyPhi
measured uncertainty of phi
Definition: DataWriterModule.h:221
Belle2::DataWriterModule::m_eclClusters
StoreArray< ECLCluster > m_eclClusters
Store array
Definition: DataWriterModule.h:252
Belle2::DataWriterModule::m_KLMTruth
Float_t m_KLMTruth
target variable for KLM classification
Definition: DataWriterModule.h:92
Belle2::DataWriterModule::m_ECLMCPhi
Float_t m_ECLMCPhi
MC particle phi; -999 if not MCparticle
Definition: DataWriterModule.h:225
Belle2::DataWriterModule::m_ECLTiming
Float_t m_ECLTiming
timing of ECL
Definition: DataWriterModule.h:178
Belle2::DataWriterModule::m_KLMECLDist
Float_t m_KLMECLDist
distance associated ECL <-> KLM cluster
Definition: DataWriterModule.h:112
Belle2::DataWriterModule::m_KLMECLE
Float_t m_KLMECLE
energy measured in associated ECL cluster
Definition: DataWriterModule.h:114
Belle2::DataWriterModule::~DataWriterModule
virtual ~DataWriterModule()
Destructor.
Definition: DataWriterModule.cc:49
Belle2::DataWriterModule::m_KLMECLTiming
Float_t m_KLMECLTiming
timing of associated ECL cluster
Definition: DataWriterModule.h:122
Belle2::DataWriterModule::m_KLMtrackToECL
Float_t m_KLMtrackToECL
primitive distance cluster <-> track for associated ECL cluster
Definition: DataWriterModule.h:128
Belle2::DataWriterModule::m_KLMTrackRotationAngle
Float_t m_KLMTrackRotationAngle
angle between track at poca and trackbeginning
Definition: DataWriterModule.h:103
Belle2::DataWriterModule::m_ECLE9oE25
Float_t m_ECLE9oE25
energy of 9/25 chrystall rings (E dispersion shape)
Definition: DataWriterModule.h:176