Belle II Software  release-08-01-10
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 
23 namespace 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 
88  double m_ScatterAngleL3L3 = 0;
89 
91  double m_ScatterAngleL3L4 = 0;
92 
94  double m_ScatterAngleL3L6 = 0;
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
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.