Belle II Software development
StudyMaterialEffectsModule.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#pragma once
9
10#include <framework/core/Module.h>
11#include <framework/datastore/StoreArray.h>
12#include <framework/datastore/StoreObjPtr.h>
13#include <framework/pcore/RootMergeable.h>
14
15#include <tracking/spacePointCreation/SpacePoint.h>
16
17#include <svd/dataobjects/SVDTrueHit.h>
18
19#include <TTree.h>
20#include <TFile.h>
21
22
23namespace Belle2 {
33
34 public:
35
38
40 void initialize() override;
42 void event() override;
44 void terminate() override;
45
46
47
49 B2Vector3D getGlobalPosition(const SVDTrueHit* trueHit, VxdID vxdID, bool useEntry);
50
52 B2Vector3D getGlobalMomentumVector(const SVDTrueHit* trueHit, VxdID vxdID, bool useEntry);
53
55 const SVDTrueHit* getTrueHit(const SpacePoint& aSP);
56
57 protected:
58
59 //Member variables:
62
65
67 TFile* m_file = nullptr;
68
70 double m_PhiL3L3 = 0;
71
73 double m_PhiL3L4 = 0;
74
76 double m_PhiL3L6 = 0;
77
79 double m_ThetaL3L3 = 0;
80
82 double m_ThetaL3L4 = 0;
83
85 double m_ThetaL3L6 = 0;
86
89
92
95
98
101
104
107
110
113
115 double m_distXY = 0;
116
118 double m_deltaPL3L3 = 0;
119
121 double m_deltaPL3L4 = 0;
122
124 double m_deltaPL3L6 = 0;
125
128 };
130} // end namespace Belle2
131
Base class for Modules.
Definition: Module.h:72
Class SVDTrueHit - Records of tracks that either enter or leave the sensitive volume.
Definition: SVDTrueHit.h:33
SpacePoint typically is build from 1 PXDCluster or 1-2 SVDClusters.
Definition: SpacePoint.h:42
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:96
double m_ScatterAngleL3L6
residual of hit.scatteringAngle (sqrt(theta^2 + phi^2)) between layer 3 begin and 6 end.
double m_deltaPL3L6
residual of hit.momentum between layer 3 begin and 6 end.
double m_distXY
residual of hit distance between layer 3 begin and 4 begin.
double m_ScatterAngleGradL3L6
residual of hit.scatteringAngle ((outerHit-innerHit).Angle(innerHit))*180/pi between layer 3 begin an...
B2Vector3D getGlobalPosition(const SVDTrueHit *trueHit, VxdID vxdID, bool useEntry)
takes SVDTrueHit and sensorID to get global position of the hit.
double m_ScatterAngleV3GradL3L4
residual of hit.scatteringAngle (outerHit.Momentum).Angle(innerHit.Momentum))*180/pi between layer 3 ...
B2Vector3D getGlobalMomentumVector(const SVDTrueHit *trueHit, VxdID vxdID, bool useEntry)
takes SVDTrueHit and sensorID to get global momentum of the hit.
void initialize() override
Init the module.
double m_PhiL3L6
residual of hit.phi between layer 3 begin and 6 end.
StoreArray< Belle2::SpacePoint > m_spacePoints
Space Points.
double m_PhiL3L4
residual of hit.phi between layer 3 begin and 4 begin.
const SVDTrueHit * getTrueHit(const SpacePoint &aSP)
takes SpacePoint to get the (first) corresponding trueHit connected to the same particle.
double m_ThetaL3L6
residual of hit.theta between layer 3 begin and 6 end.
double m_ScatterAngleGradL3L4
residual of hit.scatteringAngle ((outerHit-innerHit).Angle(innerHit))*180/pi between layer 3 begin an...
void terminate() override
Don't break the terminal.
int m_COUNTERsuccessfullEvents
Counter for successfully processed events.
double m_ScatterAngleL3L3
residual of hit.scatteringAngle (sqrt(theta^2 + phi^2)) between layer 3 begin and 3 end.
double m_PhiL3L3
residual of hit.phi between layer 3 begin and 3 end.
double m_deltaPL3L4
residual of hit.momentum between layer 3 begin and 4 begin.
TFile * m_file
a pointer to the file where the Tree shall be stored.
double m_ScatterAngleV3GradL3L6
residual of hit.scatteringAngle (outerHit.Momentum).Angle(innerHit.Momentum))*180/pi between layer 3 ...
double m_ScatterAngleL3L4
residual of hit.scatteringAngle (sqrt(theta^2 + phi^2)) between layer 3 begin and 4 begin.
double m_ThetaL3L3
residual of hit.theta between layer 3 begin and 3 end.
StoreObjPtr< RootMergeable< TTree > > m_tree
ROOT Tree.
double m_ScatterAngleGradL3L3
residual of hit.scatteringAngle ((outerHit-innerHit).Angle(innerHit))*180/pi between layer 3 begin an...
double m_ScatterAngleV3GradL3L3
residual of hit.scatteringAngle ((outerHit.Momentum).Angle(innerHit.Momentum))*180/pi between layer 3...
double m_ThetaL3L4
residual of hit.theta between layer 3 begin and 4 begin.
double m_deltaPL3L3
residual of hit.momentum between layer 3 begin and 3 end.
Class to uniquely identify a any structure of the PXD and SVD.
Definition: VxdID.h:33
Abstract base class for different kinds of events.