Belle II Software  release-06-01-15
hitXPDerivate.cc
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 
9 #include <tracking/dataobjects/hitXPDerivate.h>
10 #include <tracking/dataobjects/MCParticleInfo.h>
11 
12 using namespace Belle2;
13 
14 hitXPDerivate::hitXPDerivate(const SVDTrueHit& hit, const SVDCluster& cluster, const MCParticle& particle,
15  const VXD::SensorInfoBase& sensor)
16 {
17  m_positionMid = sensor.pointToGlobal(TVector3(hit.getU(), hit.getV(), hit.getW()), false);
18  m_positionEntry = sensor.pointToGlobal(TVector3(hit.getEntryU(), hit.getEntryV(), hit.getEntryW()),
19  false);
20  m_positionExit = sensor.pointToGlobal(TVector3(hit.getExitU(), hit.getExitV(), hit.getExitW()), false);
21  m_momentumMid = sensor.vectorToGlobal(hit.getMomentum(), false);
22  m_momentumEntry = sensor.vectorToGlobal(hit.getEntryMomentum(), false);
23  m_momentumExit = sensor.vectorToGlobal(hit.getExitMomentum(), false);
24  m_positionLocalMid = TVector3(hit.getU(), hit.getV(), hit.getW());
25  m_positionLocalEntry = TVector3(hit.getEntryU(), hit.getEntryV(), hit.getEntryW());
26  m_positionLocalExit = TVector3(hit.getExitU(), hit.getExitV(), hit.getExitW());
27  m_momentumLocalMid = hit.getMomentum();
28  m_momentumLocalEntry = hit.getEntryMomentum();
29  m_momentumLocalExit = hit.getExitMomentum();
30  m_PDGID = particle.getPDG();
31  m_position0 = particle.getVertex();
32  m_momentum0 = particle.getMomentum();
33  m_time = hit.getGlobalTime();
34  m_sensorSensor = hit.getSensorID().getSensorNumber();
35  m_sensorLayer = hit.getSensorID().getLayerNumber();
36  m_sensorLadder = hit.getSensorID().getLadderNumber();
37  m_info_d0 = MCParticleInfo(particle, TVector3(0, 0, 1.5)).getD0();
38  m_info_z0 = MCParticleInfo(particle, TVector3(0, 0, 1.5)).getZ0();
39  m_info_phi0 = MCParticleInfo(particle, TVector3(0, 0, 1.5)).getPhi();
40  m_info_tanlambda = MCParticleInfo(particle, TVector3(0, 0, 1.5)).getOmega();
41  m_info_omega = tan(MCParticleInfo(particle, TVector3(0, 0, 1.5)).getLambda());
42  m_clusterU = cluster.isUCluster();
43  m_clusterV = cluster.isUCluster() ? 0 : 1;
44  m_reconstructed = false;
45  m_charge = particle.getCharge();
46 }
47 
48 
49 hitXPDerivate::hitXPDerivate(const PXDTrueHit& hit, const MCParticle& particle, const VXD::SensorInfoBase& sensor)
50 {
51  m_positionMid = sensor.pointToGlobal(TVector3(hit.getU(), hit.getV(), hit.getW()), false);
52  m_positionEntry = sensor.pointToGlobal(TVector3(hit.getEntryU(), hit.getEntryV(), hit.getEntryW()),
53  false);
54  m_positionExit = sensor.pointToGlobal(TVector3(hit.getExitU(), hit.getExitV(), hit.getExitW()), false);
55  m_momentumMid = sensor.vectorToGlobal(hit.getMomentum(), false);
56  m_momentumEntry = sensor.vectorToGlobal(hit.getEntryMomentum(), false);
57  m_momentumExit = sensor.vectorToGlobal(hit.getExitMomentum(), false);
58  m_positionLocalMid = TVector3(hit.getU(), hit.getV(), hit.getW());
59  m_positionLocalEntry = TVector3(hit.getEntryU(), hit.getEntryV(), hit.getEntryW());
60  m_positionLocalExit = TVector3(hit.getExitU(), hit.getExitV(), hit.getExitW());
61  m_momentumLocalMid = hit.getMomentum();
62  m_momentumLocalEntry = hit.getEntryMomentum();
63  m_momentumLocalExit = hit.getExitMomentum();
64  m_PDGID = particle.getPDG();
65  m_position0 = particle.getVertex();
66  m_momentum0 = particle.getMomentum();
67  m_time = hit.getGlobalTime();
68  m_sensorSensor = hit.getSensorID().getSensorNumber();
69  m_sensorLayer = hit.getSensorID().getLayerNumber();
70  m_sensorLadder = hit.getSensorID().getLadderNumber();
71  m_info_d0 = MCParticleInfo(particle, TVector3(0, 0, 1.5)).getD0();
72  m_info_z0 = MCParticleInfo(particle, TVector3(0, 0, 1.5)).getZ0();
73  m_info_phi0 = MCParticleInfo(particle, TVector3(0, 0, 1.5)).getPhi();
74  m_info_tanlambda = MCParticleInfo(particle, TVector3(0, 0, 1.5)).getOmega();
75  m_info_omega = tan(MCParticleInfo(particle, TVector3(0, 0,
76  1.5)).getLambda());
77  m_reconstructed = false;
78  m_charge = particle.getCharge();
79 }
This struct is used by the TrackingPerformanceEvaluation Module to save information of reconstructed ...
double getZ0()
Getter for Z0.
double getPhi()
Getter for Phi.
double getOmega()
Getter for Omega.
double getD0()
Getter for D0.
A Class to store the Monte Carlo particle information.
Definition: MCParticle.h:32
Class PXDTrueHit - Records of tracks that either enter or leave the sensitive volume.
Definition: PXDTrueHit.h:31
The SVD Cluster class This class stores all information about reconstructed SVD clusters.
Definition: SVDCluster.h:28
Class SVDTrueHit - Records of tracks that either enter or leave the sensitive volume.
Definition: SVDTrueHit.h:33
Base class to provide Sensor Information for PXD and SVD.
hitXPDerivate()
empy constructor
Definition: hitXPDerivate.h:32
TVector3 m_momentumMid
momentum of hit at midpoint of layer
Definition: hitXP.h:38
double m_info_phi0
phi0 from MCParticle info evaluation.
Definition: hitXP.h:56
int m_sensorLadder
ladder of the hit
Definition: hitXP.h:53
TVector3 m_momentumEntry
momentum of hit at entry of layer
Definition: hitXP.h:39
double m_time
time of the hit
Definition: hitXP.h:50
double m_info_d0
d0 from MCParticle info evaluation.
Definition: hitXP.h:54
TVector3 m_positionMid
poition of hit at midpoint of layer
Definition: hitXP.h:35
int m_clusterV
flag for v cluster
Definition: hitXP.h:60
double m_info_tanlambda
tanlambda from MCParticle info evaluation.
Definition: hitXP.h:57
int m_sensorLayer
layer of the hit
Definition: hitXP.h:52
TVector3 m_positionExit
poition of hit at exitpoint of layer
Definition: hitXP.h:37
TVector3 m_momentum0
momentum at IP
Definition: hitXP.h:49
bool m_reconstructed
flag for reconstructed track
Definition: hitXP.h:61
int m_clusterU
flag for u cluster
Definition: hitXP.h:59
double m_info_z0
z0 from MCParticle info evaluation.
Definition: hitXP.h:55
TVector3 m_positionLocalEntry
poition of hit at entrypoint of layer, local coordinate
Definition: hitXP.h:42
double m_charge
charge of the track
Definition: hitXP.h:62
TVector3 m_positionLocalMid
poition of hit at midpoint of layer, local coordinate
Definition: hitXP.h:41
TVector3 m_positionLocalExit
poition of hit at exitpoint of layer, local coordinate
Definition: hitXP.h:43
TVector3 m_positionEntry
poition of hit at entrypoint of layer
Definition: hitXP.h:36
TVector3 m_position0
position at IP
Definition: hitXP.h:48
double m_info_omega
omega from MCParticle info evaluation.
Definition: hitXP.h:58
TVector3 m_momentumLocalEntry
momentum of hit at entrypoint of layer, local coordinate
Definition: hitXP.h:45
int m_PDGID
PDGID.
Definition: hitXP.h:47
TVector3 m_momentumLocalMid
momentum of hit at midpoint of layer, local coordinate
Definition: hitXP.h:44
TVector3 m_momentumExit
momentum of hit at exit of layer
Definition: hitXP.h:40
TVector3 m_momentumLocalExit
momentum of hit at exitpoint of layer, local coordinate
Definition: hitXP.h:46
int m_sensorSensor
sensor of the hit
Definition: hitXP.h:51
Abstract base class for different kinds of events.