Belle II Software development
hitXPDerivate Class Reference

This class is the derivate of HitXP, and complete it with a constructor that use all other complex types (classes) of basf2. More...

#include <hitXPDerivate.h>

Inheritance diagram for hitXPDerivate:
hitXP

Public Member Functions

 hitXPDerivate ()
 empty constructor
 
 hitXPDerivate (const SVDTrueHit &hit, const SVDCluster &cluster, const MCParticle &particle, const VXD::SensorInfoBase &sensor)
 constructor for SVD hit with arguments: hit, cluster, particle, sensor info)
 
 hitXPDerivate (const PXDTrueHit &hit, const MCParticle &particle, const VXD::SensorInfoBase &sensor)
 constructor for PXD hit with arguments: hit, particle, sensor info)
 
 ClassDef (hitXPDerivate, 2)
 needed by root
 
ROOT::Math::XYZVector getPositionMid () const
 get the relative member
 
ROOT::Math::XYZVector getPositionEntry () const
 get the relative member
 
ROOT::Math::XYZVector getPositionExit () const
 get the relative member
 
ROOT::Math::XYZVector getMomentumMid () const
 get the relative member
 
ROOT::Math::XYZVector getMomentumEntry () const
 get the relative member
 
ROOT::Math::XYZVector getMomentumExit () const
 get the relative member
 
ROOT::Math::XYZVector getPositionLocalMid () const
 get the relative member
 
ROOT::Math::XYZVector getPositionLocalEntry () const
 get the relative member
 
ROOT::Math::XYZVector getPositionLocalExit () const
 get the relative member
 
ROOT::Math::XYZVector getMomentumLocalMid () const
 get the relative member
 
ROOT::Math::XYZVector getMomentumLocalEntry () const
 get the relative member
 
ROOT::Math::XYZVector getMomentumLocalExit () const
 get the relative member
 
int getPDGID () const
 get the relative member
 
ROOT::Math::XYZVector getPosition0 () const
 get the relative member
 
ROOT::Math::XYZVector getMomentum0 () const
 get the relative member
 
double getTime () const
 get the relative member
 
int getSensorSensor () const
 get the relative member
 
int getSensorLadder () const
 get the relative member
 
int getSensorLayer () const
 get the relative member
 
int getClusterU () const
 get the relative member
 
int getClusterV () const
 get the relative member
 
bool isReconstructed () const
 get the relative member
 
double getCharge () const
 get the relative member
 
void setPositionMid (ROOT::Math::XYZVector position)
 get the relative member
 
void setPositionEntry (ROOT::Math::XYZVector position)
 get the relative member
 
void setPositionExit (ROOT::Math::XYZVector position)
 get the relative member
 
void setMomentumMid (ROOT::Math::XYZVector momentum)
 get the relative member
 
void setMomentumEntry (ROOT::Math::XYZVector momentum)
 get the relative member
 
void setMomentumExit (ROOT::Math::XYZVector momentum)
 get the relative member
 
void setPositionLocalMid (ROOT::Math::XYZVector position)
 get the relative member
 
void setPositionLocalEntry (ROOT::Math::XYZVector position)
 get the relative member
 
void setPositionLocalExit (ROOT::Math::XYZVector position)
 get the relative member
 
void setMomentumLocalMid (ROOT::Math::XYZVector momentum)
 get the relative member
 
void setMomentumLocalEntry (ROOT::Math::XYZVector momentum)
 get the relative member
 
void setMomentumLocalExit (ROOT::Math::XYZVector momentum)
 get the relative member
 
void setPDGID (int pdgid)
 get the relative member
 
void setPosition0 (ROOT::Math::XYZVector position)
 get the relative member
 
void setMomentum0 (ROOT::Math::XYZVector momentum)
 get the relative member
 
void setTime (double Time)
 get the relative member
 
void setSensorSensor (int sensor)
 get the relative member
 
void setSensorLayer (int layer)
 get the relative member
 
void setSensorLadder (int ladder)
 get the relative member
 
void setClusterU (int cluster)
 get the relative member
 
void setClusterV (int cluster)
 get the relative member
 
void setReconstructed (bool isReconstructed)
 get the relative member
 
void setCharge (double charge)
 get the relative member
 
double omega (ROOT::Math::XYZVector xx, ROOT::Math::XYZVector p, double charge) const
 evaluates the parameter omega (1/curvature radius) of a helicoidal track starting from position and momentum of the hit input(hit position, hit momentum, hit charge) output(omega value)
 
double tanLambda (ROOT::Math::XYZVector xx, ROOT::Math::XYZVector p) const
 evaluates the parameter tanLambda (pz/pt) of a helicoidal track starting from position and momentum of the hit input(hit position, hit momentum) output(tanlambda value)
 
double d0 (ROOT::Math::XYZVector xx, ROOT::Math::XYZVector p, double charge) const
 evaluates the parameter d0 (impact parameter) of a helicoidal track starting from position and momentum of the hit input(hit position, hit momentum, hit charge) output(d0 value)
 
double phi0 (const ROOT::Math::XYZVector &xx, ROOT::Math::XYZVector p, double charge) const
 evaluates the parameter phi0 (angle between pT and x) of a helicoidal track starting from position and momentum of the hit input(hit position, hit momentum, hit charge) output(phi0 value)
 
double z0 (ROOT::Math::XYZVector xx, ROOT::Math::XYZVector p, double charge) const
 evaluates the parameter z0 (distance transverse plane-POCA) of a helicoidal track starting from position and momentum of the hit input(hit position, hit momentum, hit charge) output(z0 value)
 
double getOmegaMid () const
 evaluate relative parameter using midpoint position and momentum
 
double getOmegaEntry () const
 evaluate relative parameter using entrypoint position and momentum
 
double getOmegaExit () const
 evaluate relative parameter using exitpoint position and momentum
 
double getOmega0 () const
 evaluate relative parameter using IP position and momentum
 
double getTanLambdaMid () const
 evaluate relative parameter using midpoint position and momentum
 
double getTanLambdaEntry () const
 evaluate relative parameter using entrypoint position and momentum
 
double getTanLambdaExit () const
 evaluate relative parameter using exitpoint position and momentum
 
double getTanLambda0 () const
 evaluate relative parameter using IP position and momentum
 
double getD0Mid () const
 evaluate relative parameter using midpoint position and momentum
 
double getD0Entry () const
 evaluate relative parameter using entrypoint position and momentum
 
double getD0Exit () const
 evaluate relative parameter using exitpoint position and momentum
 
double getD00 () const
 evaluate relative parameter using IP position and momentum
 
double getPhi0Mid () const
 evaluate relative parameter using midpoint position and momentum
 
double getPhi0Entry () const
 evaluate relative parameter using entrypoint position and momentum
 
double getPhi0Exit () const
 evaluate relative parameter using exitpoint position and momentum
 
double getPhi00 () const
 evaluate relative parameter using IP position and momentum
 
double getZ0Mid () const
 evaluate relative parameter using midpoint position and momentum
 
double getZ0Entry () const
 evaluate relative parameter using entrypoint position and momentum
 
double getZ0Exit () const
 evaluate relative parameter using exitpoint position and momentum
 
double getZ00 () const
 evaluate relative parameter using IP position and momentum
 
 ClassDef (hitXP, 2)
 needed by root
 

Public Attributes

ROOT::Math::XYZVector m_positionMid
 poition of hit at midpoint of layer
 
ROOT::Math::XYZVector m_positionEntry
 poition of hit at entrypoint of layer
 
ROOT::Math::XYZVector m_positionExit
 poition of hit at exitpoint of layer
 
ROOT::Math::XYZVector m_momentumMid
 momentum of hit at midpoint of layer
 
ROOT::Math::XYZVector m_momentumEntry
 momentum of hit at entry of layer
 
ROOT::Math::XYZVector m_momentumExit
 momentum of hit at exit of layer
 
ROOT::Math::XYZVector m_positionLocalMid
 poition of hit at midpoint of layer, local coordinate
 
ROOT::Math::XYZVector m_positionLocalEntry
 poition of hit at entrypoint of layer, local coordinate
 
ROOT::Math::XYZVector m_positionLocalExit
 poition of hit at exitpoint of layer, local coordinate
 
ROOT::Math::XYZVector m_momentumLocalMid
 momentum of hit at midpoint of layer, local coordinate
 
ROOT::Math::XYZVector m_momentumLocalEntry
 momentum of hit at entrypoint of layer, local coordinate
 
ROOT::Math::XYZVector m_momentumLocalExit
 momentum of hit at exitpoint of layer, local coordinate
 
int m_PDGID = 0
 PDGID.
 
ROOT::Math::XYZVector m_position0
 position at IP
 
ROOT::Math::XYZVector m_momentum0
 momentum at IP
 
double m_time = 0
 time of the hit
 
int m_sensorSensor = 0
 sensor of the hit
 
int m_sensorLayer = 0
 layer of the hit
 
int m_sensorLadder = 0
 ladder of the hit
 
double m_info_d0 = 0
 d0 from MCParticle info evaluation.
 
double m_info_z0 = 0
 z0 from MCParticle info evaluation.
 
double m_info_phi0 = 0
 phi0 from MCParticle info evaluation.
 
double m_info_tanlambda = 0
 tanlambda from MCParticle info evaluation.
 
double m_info_omega = 0
 omega from MCParticle info evaluation.
 
int m_clusterU = 0
 flag for u cluster
 
int m_clusterV = 0
 flag for v cluster
 
bool m_reconstructed = 0
 flag for reconstructed track
 
double m_charge = 0
 charge of the track
 

Detailed Description

This class is the derivate of HitXP, and complete it with a constructor that use all other complex types (classes) of basf2.

It is necessary to build a hitXP object.

Definition at line 27 of file hitXPDerivate.h.

Constructor & Destructor Documentation

◆ hitXPDerivate() [1/3]

hitXPDerivate ( )
inline

empty constructor

Definition at line 32 of file hitXPDerivate.h.

32{}

◆ hitXPDerivate() [2/3]

hitXPDerivate ( const SVDTrueHit hit,
const SVDCluster cluster,
const MCParticle particle,
const VXD::SensorInfoBase sensor 
)

constructor for SVD hit with arguments: hit, cluster, particle, sensor info)

position at midpoint

position at entrypoint

position at exitpoint

momentum ad midpoint

momentum at entrypoint

momentum at exitpoint

local position at midpoint

local position at entrypoint

local position at exitpoint

local momentum at midpoint

local momentum ad entrypoint

local momentum at exitpoint

PDGID

position at IP

momentum at IP

time of the hit

sensor number

layer number

ladder number

d0 from particle info

z0 from particle info

phi0 from particle info

omega from particle info

omega from particle info

flag of u-cluser

return 1 if it is an V cluster. flag of v cluster

flag of reconstructed

charge of particle

Definition at line 15 of file hitXPDerivate.cc.

17{
18 m_positionMid = sensor.pointToGlobal(ROOT::Math::XYZVector(hit.getU(), hit.getV(), hit.getW()), false);
19 m_positionEntry = sensor.pointToGlobal(ROOT::Math::XYZVector(hit.getEntryU(), hit.getEntryV(), hit.getEntryW()),
20 false);
21 m_positionExit = sensor.pointToGlobal(ROOT::Math::XYZVector(hit.getExitU(), hit.getExitV(), hit.getExitW()),
22 false);
23 m_momentumMid = sensor.vectorToGlobal(hit.getMomentum(), false);
24 m_momentumEntry = sensor.vectorToGlobal(hit.getEntryMomentum(), false);
25 m_momentumExit = sensor.vectorToGlobal(hit.getExitMomentum(), false);
26 m_positionLocalMid = ROOT::Math::XYZVector(hit.getU(), hit.getV(), hit.getW());
27 m_positionLocalEntry = ROOT::Math::XYZVector(hit.getEntryU(), hit.getEntryV(), hit.getEntryW());
28 m_positionLocalExit = ROOT::Math::XYZVector(hit.getExitU(), hit.getExitV(), hit.getExitW());
29 m_momentumLocalMid = hit.getMomentum();
30 m_momentumLocalEntry = hit.getEntryMomentum();
31 m_momentumLocalExit = hit.getExitMomentum();
32 m_PDGID = particle.getPDG();
33 m_position0 = B2Vector3D(particle.getVertex());
34 m_momentum0 = B2Vector3D(particle.getMomentum());
35 m_time = hit.getGlobalTime();
36 m_sensorSensor = hit.getSensorID().getSensorNumber();
37 m_sensorLayer = hit.getSensorID().getLayerNumber();
38 m_sensorLadder = hit.getSensorID().getLadderNumber();
39 m_info_d0 = MCParticleInfo(particle, ROOT::Math::XYZVector(0, 0, 1.5)).getD0();
40 m_info_z0 = MCParticleInfo(particle, ROOT::Math::XYZVector(0, 0, 1.5)).getZ0();
41 m_info_phi0 = MCParticleInfo(particle, ROOT::Math::XYZVector(0, 0, 1.5)).getPhi();
42 m_info_tanlambda = MCParticleInfo(particle, ROOT::Math::XYZVector(0, 0, 1.5)).getOmega();
43 m_info_omega = tan(MCParticleInfo(particle, ROOT::Math::XYZVector(0, 0, 1.5)).getLambda());
44 m_clusterU = cluster.isUCluster();
45 m_clusterV = cluster.isUCluster() ? 0 : 1;
46 m_reconstructed = false;
47 m_charge = particle.getCharge();
48}
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.
ROOT::Math::XYZVector m_momentumEntry
momentum of hit at entry of layer
Definition: hitXP.h:39
double m_info_phi0
phi0 from MCParticle info evaluation.
Definition: hitXP.h:56
ROOT::Math::XYZVector m_momentumMid
momentum of hit at midpoint of layer
Definition: hitXP.h:38
int m_sensorLadder
ladder of the hit
Definition: hitXP.h:53
double m_time
time of the hit
Definition: hitXP.h:50
double m_info_d0
d0 from MCParticle info evaluation.
Definition: hitXP.h:54
ROOT::Math::XYZVector m_momentumExit
momentum of hit at exit of layer
Definition: hitXP.h:40
ROOT::Math::XYZVector m_positionEntry
poition of hit at entrypoint of layer
Definition: hitXP.h:36
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
ROOT::Math::XYZVector m_positionMid
poition of hit at midpoint of layer
Definition: hitXP.h:35
ROOT::Math::XYZVector m_positionLocalExit
poition of hit at exitpoint of layer, local coordinate
Definition: hitXP.h:43
ROOT::Math::XYZVector m_momentumLocalMid
momentum of hit at midpoint of layer, local coordinate
Definition: hitXP.h:44
ROOT::Math::XYZVector m_positionExit
poition of hit at exitpoint of layer
Definition: hitXP.h:37
bool m_reconstructed
flag for reconstructed track
Definition: hitXP.h:61
ROOT::Math::XYZVector m_positionLocalEntry
poition of hit at entrypoint of layer, local coordinate
Definition: hitXP.h:42
int m_clusterU
flag for u cluster
Definition: hitXP.h:59
double m_info_z0
z0 from MCParticle info evaluation.
Definition: hitXP.h:55
ROOT::Math::XYZVector m_positionLocalMid
poition of hit at midpoint of layer, local coordinate
Definition: hitXP.h:41
ROOT::Math::XYZVector m_momentumLocalEntry
momentum of hit at entrypoint of layer, local coordinate
Definition: hitXP.h:45
double m_charge
charge of the track
Definition: hitXP.h:62
ROOT::Math::XYZVector m_momentumLocalExit
momentum of hit at exitpoint of layer, local coordinate
Definition: hitXP.h:46
ROOT::Math::XYZVector m_momentum0
momentum at IP
Definition: hitXP.h:49
double m_info_omega
omega from MCParticle info evaluation.
Definition: hitXP.h:58
ROOT::Math::XYZVector m_position0
position at IP
Definition: hitXP.h:48
int m_PDGID
PDGID.
Definition: hitXP.h:47
int m_sensorSensor
sensor of the hit
Definition: hitXP.h:51
B2Vector3< double > B2Vector3D
typedef for common usage with double
Definition: B2Vector3.h:516

◆ hitXPDerivate() [3/3]

hitXPDerivate ( const PXDTrueHit hit,
const MCParticle particle,
const VXD::SensorInfoBase sensor 
)

constructor for PXD hit with arguments: hit, particle, sensor info)

position at midpoint

position at entrypoint

position at exitpoint

momentum ad midpoint

momentum at entrypoint

momentum at exitpoint

local position at midpoint

local position at entrypoint

local position at exitpoint

local momentum at midpoint

local momentum ad entrypoint

local momentum at exitpoint

PDGID

position at IP

momentum at IP

time of the hit

sensor number

layer number

ladder number

d0 from particle info DO NOT USE, use the get

z0 from particle info DO NOT USE, use the get

phi0 from particle info DO NOT USE, use the get

omega from particle info DO NOT USE, use the get

omega from particle info DO NOT USE, use the get

flag of reconstructed

charge of the particle

Definition at line 51 of file hitXPDerivate.cc.

52{
53 m_positionMid = sensor.pointToGlobal(ROOT::Math::XYZVector(hit.getU(), hit.getV(), hit.getW()), false);
54 m_positionEntry = sensor.pointToGlobal(ROOT::Math::XYZVector(hit.getEntryU(), hit.getEntryV(), hit.getEntryW()),
55 false);
56 m_positionExit = sensor.pointToGlobal(ROOT::Math::XYZVector(hit.getExitU(), hit.getExitV(), hit.getExitW()),
57 false);
58 m_momentumMid = sensor.vectorToGlobal(hit.getMomentum(), false);
59 m_momentumEntry = sensor.vectorToGlobal(hit.getEntryMomentum(), false);
60 m_momentumExit = sensor.vectorToGlobal(hit.getExitMomentum(), false);
61 m_positionLocalMid = ROOT::Math::XYZVector(hit.getU(), hit.getV(), hit.getW());
62 m_positionLocalEntry = ROOT::Math::XYZVector(hit.getEntryU(), hit.getEntryV(), hit.getEntryW());
63 m_positionLocalExit = ROOT::Math::XYZVector(hit.getExitU(), hit.getExitV(), hit.getExitW());
64 m_momentumLocalMid = hit.getMomentum();
65 m_momentumLocalEntry = hit.getEntryMomentum();
66 m_momentumLocalExit = hit.getExitMomentum();
67 m_PDGID = particle.getPDG();
68 m_position0 = B2Vector3D(particle.getVertex());
69 m_momentum0 = B2Vector3D(particle.getMomentum());
70 m_time = hit.getGlobalTime();
71 m_sensorSensor = hit.getSensorID().getSensorNumber();
72 m_sensorLayer = hit.getSensorID().getLayerNumber();
73 m_sensorLadder = hit.getSensorID().getLadderNumber();
74 m_info_d0 = MCParticleInfo(particle, ROOT::Math::XYZVector(0, 0, 1.5)).getD0();
75 m_info_z0 = MCParticleInfo(particle, ROOT::Math::XYZVector(0, 0, 1.5)).getZ0();
76 m_info_phi0 = MCParticleInfo(particle, ROOT::Math::XYZVector(0, 0,
77 1.5)).getPhi();
78 m_info_tanlambda = MCParticleInfo(particle, ROOT::Math::XYZVector(0, 0,
79 1.5)).getOmega();
80 m_info_omega = tan(MCParticleInfo(particle, ROOT::Math::XYZVector(0, 0,
81 1.5)).getLambda());
82 m_reconstructed = false;
83 m_charge = particle.getCharge();
84}

Member Function Documentation

◆ d0()

double d0 ( ROOT::Math::XYZVector  xx,
ROOT::Math::XYZVector  p,
double  charge 
) const
inherited

evaluates the parameter d0 (impact parameter) of a helicoidal track starting from position and momentum of the hit input(hit position, hit momentum, hit charge) output(d0 value)

Definition at line 32 of file hitXP.cc.

33{
34 ROOT::Math::XYZVector x(0.01 * xx.X(), 0.01 * xx.Y(), 0.01 * xx.Z());
35 double Bz = 1.5;
36 double Bze = Bz * charge * Const::speedOfLight / 100.;
37 double aux = sqrt((p.Y() / (Bze) + x.X()) * (p.Y() / (Bze) + x.X()) + (x.Y() - p.X() / (Bze)) * (x.Y() - p.X() / (Bze))) - sqrt((
38 p.X() * p.X() + p.Y() * p.Y()) / (Bze * Bze));
39 if (Bze < 0) {
40 aux = -aux;
41 }
42 aux = 100 * aux;
43 return aux;
44}
static const double speedOfLight
[cm/ns]
Definition: Const.h:695
double sqrt(double a)
sqrt for double
Definition: beamHelpers.h:28
double charge(int pdgCode)
Returns electric charge of a particle with given pdg code.
Definition: EvtPDLUtil.cc:44

◆ getCharge()

double getCharge ( ) const
inlineinherited

get the relative member

Definition at line 134 of file hitXP.h.

134{ return m_charge; }

◆ getClusterU()

int getClusterU ( ) const
inlineinherited

get the relative member

Definition at line 125 of file hitXP.h.

125{ return m_clusterU; }

◆ getClusterV()

int getClusterV ( ) const
inlineinherited

get the relative member

Definition at line 128 of file hitXP.h.

128{ return m_clusterV; }

◆ getD00()

double getD00 ( ) const
inlineinherited

evaluate relative parameter using IP position and momentum

Definition at line 355 of file hitXP.h.

355{ return d0(m_position0, m_momentum0, m_charge); }
double d0(ROOT::Math::XYZVector xx, ROOT::Math::XYZVector p, double charge) const
evaluates the parameter d0 (impact parameter) of a helicoidal track starting from position and moment...
Definition: hitXP.cc:32

◆ getD0Entry()

double getD0Entry ( ) const
inlineinherited

evaluate relative parameter using entrypoint position and momentum

Definition at line 349 of file hitXP.h.

◆ getD0Exit()

double getD0Exit ( ) const
inlineinherited

evaluate relative parameter using exitpoint position and momentum

Definition at line 352 of file hitXP.h.

◆ getD0Mid()

double getD0Mid ( ) const
inlineinherited

evaluate relative parameter using midpoint position and momentum

Definition at line 346 of file hitXP.h.

◆ getMomentum0()

ROOT::Math::XYZVector getMomentum0 ( ) const
inlineinherited

get the relative member

Definition at line 110 of file hitXP.h.

110{ return m_momentum0; }

◆ getMomentumEntry()

ROOT::Math::XYZVector getMomentumEntry ( ) const
inlineinherited

get the relative member

Definition at line 80 of file hitXP.h.

80{ return m_momentumEntry; }

◆ getMomentumExit()

ROOT::Math::XYZVector getMomentumExit ( ) const
inlineinherited

get the relative member

Definition at line 83 of file hitXP.h.

83{ return m_momentumExit; }

◆ getMomentumLocalEntry()

ROOT::Math::XYZVector getMomentumLocalEntry ( ) const
inlineinherited

get the relative member

Definition at line 98 of file hitXP.h.

98{ return m_momentumLocalEntry; }

◆ getMomentumLocalExit()

ROOT::Math::XYZVector getMomentumLocalExit ( ) const
inlineinherited

get the relative member

Definition at line 101 of file hitXP.h.

101{ return m_momentumLocalExit; }

◆ getMomentumLocalMid()

ROOT::Math::XYZVector getMomentumLocalMid ( ) const
inlineinherited

get the relative member

Definition at line 95 of file hitXP.h.

95{ return m_momentumLocalMid; }

◆ getMomentumMid()

ROOT::Math::XYZVector getMomentumMid ( ) const
inlineinherited

get the relative member

Definition at line 77 of file hitXP.h.

77{ return m_momentumMid; }

◆ getOmega0()

double getOmega0 ( ) const
inlineinherited

evaluate relative parameter using IP position and momentum

Definition at line 331 of file hitXP.h.

double omega(ROOT::Math::XYZVector xx, ROOT::Math::XYZVector p, double charge) const
evaluates the parameter omega (1/curvature radius) of a helicoidal track starting from position and m...
Definition: hitXP.cc:13

◆ getOmegaEntry()

double getOmegaEntry ( ) const
inlineinherited

evaluate relative parameter using entrypoint position and momentum

Definition at line 325 of file hitXP.h.

◆ getOmegaExit()

double getOmegaExit ( ) const
inlineinherited

evaluate relative parameter using exitpoint position and momentum

Definition at line 328 of file hitXP.h.

◆ getOmegaMid()

double getOmegaMid ( ) const
inlineinherited

evaluate relative parameter using midpoint position and momentum

Definition at line 322 of file hitXP.h.

◆ getPDGID()

int getPDGID ( ) const
inlineinherited

get the relative member

Definition at line 104 of file hitXP.h.

104{ return m_PDGID; }

◆ getPhi00()

double getPhi00 ( ) const
inlineinherited

evaluate relative parameter using IP position and momentum

Definition at line 367 of file hitXP.h.

double phi0(const ROOT::Math::XYZVector &xx, ROOT::Math::XYZVector p, double charge) const
evaluates the parameter phi0 (angle between pT and x) of a helicoidal track starting from position an...
Definition: hitXP.cc:46

◆ getPhi0Entry()

double getPhi0Entry ( ) const
inlineinherited

evaluate relative parameter using entrypoint position and momentum

Definition at line 361 of file hitXP.h.

◆ getPhi0Exit()

double getPhi0Exit ( ) const
inlineinherited

evaluate relative parameter using exitpoint position and momentum

Definition at line 364 of file hitXP.h.

◆ getPhi0Mid()

double getPhi0Mid ( ) const
inlineinherited

evaluate relative parameter using midpoint position and momentum

Definition at line 358 of file hitXP.h.

◆ getPosition0()

ROOT::Math::XYZVector getPosition0 ( ) const
inlineinherited

get the relative member

Definition at line 107 of file hitXP.h.

107{ return m_position0; }

◆ getPositionEntry()

ROOT::Math::XYZVector getPositionEntry ( ) const
inlineinherited

get the relative member

Definition at line 71 of file hitXP.h.

71{ return m_positionEntry; }

◆ getPositionExit()

ROOT::Math::XYZVector getPositionExit ( ) const
inlineinherited

get the relative member

Definition at line 74 of file hitXP.h.

74{ return m_positionExit; }

◆ getPositionLocalEntry()

ROOT::Math::XYZVector getPositionLocalEntry ( ) const
inlineinherited

get the relative member

Definition at line 89 of file hitXP.h.

89{ return m_positionLocalEntry; }

◆ getPositionLocalExit()

ROOT::Math::XYZVector getPositionLocalExit ( ) const
inlineinherited

get the relative member

Definition at line 92 of file hitXP.h.

92{ return m_positionLocalExit; }

◆ getPositionLocalMid()

ROOT::Math::XYZVector getPositionLocalMid ( ) const
inlineinherited

get the relative member

Definition at line 86 of file hitXP.h.

86{ return m_positionLocalMid; }

◆ getPositionMid()

ROOT::Math::XYZVector getPositionMid ( ) const
inlineinherited

get the relative member

Definition at line 68 of file hitXP.h.

68{ return m_positionMid; }

◆ getSensorLadder()

int getSensorLadder ( ) const
inlineinherited

get the relative member

Definition at line 119 of file hitXP.h.

119{ return m_sensorLadder; }

◆ getSensorLayer()

int getSensorLayer ( ) const
inlineinherited

get the relative member

Definition at line 122 of file hitXP.h.

122{ return m_sensorLayer; }

◆ getSensorSensor()

int getSensorSensor ( ) const
inlineinherited

get the relative member

Definition at line 116 of file hitXP.h.

116{ return m_sensorSensor; }

◆ getTanLambda0()

double getTanLambda0 ( ) const
inlineinherited

evaluate relative parameter using IP position and momentum

Definition at line 343 of file hitXP.h.

double tanLambda(ROOT::Math::XYZVector xx, ROOT::Math::XYZVector p) const
evaluates the parameter tanLambda (pz/pt) of a helicoidal track starting from position and momentum o...
Definition: hitXP.cc:24

◆ getTanLambdaEntry()

double getTanLambdaEntry ( ) const
inlineinherited

evaluate relative parameter using entrypoint position and momentum

Definition at line 337 of file hitXP.h.

◆ getTanLambdaExit()

double getTanLambdaExit ( ) const
inlineinherited

evaluate relative parameter using exitpoint position and momentum

Definition at line 340 of file hitXP.h.

◆ getTanLambdaMid()

double getTanLambdaMid ( ) const
inlineinherited

evaluate relative parameter using midpoint position and momentum

Definition at line 334 of file hitXP.h.

◆ getTime()

double getTime ( ) const
inlineinherited

get the relative member

Definition at line 113 of file hitXP.h.

113{ return m_time; }

◆ getZ00()

double getZ00 ( ) const
inlineinherited

evaluate relative parameter using IP position and momentum

Definition at line 379 of file hitXP.h.

379{ return z0(m_position0, m_momentum0, m_charge); }
double z0(ROOT::Math::XYZVector xx, ROOT::Math::XYZVector p, double charge) const
evaluates the parameter z0 (distance transverse plane-POCA) of a helicoidal track starting from posit...
Definition: hitXP.cc:62

◆ getZ0Entry()

double getZ0Entry ( ) const
inlineinherited

evaluate relative parameter using entrypoint position and momentum

Definition at line 373 of file hitXP.h.

◆ getZ0Exit()

double getZ0Exit ( ) const
inlineinherited

evaluate relative parameter using exitpoint position and momentum

Definition at line 376 of file hitXP.h.

◆ getZ0Mid()

double getZ0Mid ( ) const
inlineinherited

evaluate relative parameter using midpoint position and momentum

Definition at line 370 of file hitXP.h.

◆ isReconstructed()

bool isReconstructed ( ) const
inlineinherited

get the relative member

Definition at line 131 of file hitXP.h.

131{ return m_reconstructed; }

◆ omega()

double omega ( ROOT::Math::XYZVector  xx,
ROOT::Math::XYZVector  p,
double  charge 
) const
inherited

evaluates the parameter omega (1/curvature radius) of a helicoidal track starting from position and momentum of the hit input(hit position, hit momentum, hit charge) output(omega value)

Definition at line 13 of file hitXP.cc.

14{
15 ROOT::Math::XYZVector x(0.01 * xx.X(), 0.01 * xx.Y(), 0.01 * xx.Z());
16 double Bz = 1.5;
17 double Bze = Bz * charge * Const::speedOfLight / 100.;
18 double aux = Bze / sqrt(p.X() * p.X() + p.Y() * p.Y());
19 aux = aux / 100;
20 return aux;
21}

◆ phi0()

double phi0 ( const ROOT::Math::XYZVector &  xx,
ROOT::Math::XYZVector  p,
double  charge 
) const
inherited

evaluates the parameter phi0 (angle between pT and x) of a helicoidal track starting from position and momentum of the hit input(hit position, hit momentum, hit charge) output(phi0 value)

Definition at line 46 of file hitXP.cc.

47{
48 ROOT::Math::XYZVector x(0.01 * xx.X(), 0.01 * xx.Y(), 0.01 * xx.Z());
49 double Bz = 1.5;
50 double Bze = Bz * charge * Const::speedOfLight / 100.;
51 double aux;
52 double chi;
53 if (Bze > 0) {
54 chi = atan2((-p.X() * x.X() - p.Y() * x.Y()), ((p.X() * p.X() + p.Y() * p.Y()) / (Bze) + p.Y() * x.X() - p.X() * x.Y()));
55 } else {
56 chi = atan2(-(-p.X() * x.X() - p.Y() * x.Y()), -((p.X() * p.X() + p.Y() * p.Y()) / (Bze) + p.Y() * x.X() - p.X() * x.Y()));
57 }
58 aux = atan2(p.Y(), p.X()) - chi;
59 return aux;
60}

◆ setCharge()

void setCharge ( double  charge)
inlineinherited

get the relative member

Definition at line 279 of file hitXP.h.

279{ m_charge = charge; }

◆ setClusterU()

void setClusterU ( int  cluster)
inlineinherited

get the relative member

Definition at line 264 of file hitXP.h.

265 {
266 m_clusterU = cluster;
267 }

◆ setClusterV()

void setClusterV ( int  cluster)
inlineinherited

get the relative member

Definition at line 270 of file hitXP.h.

271 {
272 m_clusterV = cluster;
273 }

◆ setMomentum0()

void setMomentum0 ( ROOT::Math::XYZVector  momentum)
inlineinherited

get the relative member

Definition at line 244 of file hitXP.h.

245 {
246 m_momentum0.SetX(momentum.X());
247 m_momentum0.SetY(momentum.Y());
248 m_momentum0.SetZ(momentum.Z());
249 }

◆ setMomentumEntry()

void setMomentumEntry ( ROOT::Math::XYZVector  momentum)
inlineinherited

get the relative member

Definition at line 169 of file hitXP.h.

170 {
171 m_momentumEntry.SetX(momentum.X());
172 m_momentumEntry.SetY(momentum.Y());
173 m_momentumEntry.SetZ(momentum.Z());
174 }

◆ setMomentumExit()

void setMomentumExit ( ROOT::Math::XYZVector  momentum)
inlineinherited

get the relative member

Definition at line 177 of file hitXP.h.

178 {
179 m_momentumExit.SetX(momentum.X());
180 m_momentumExit.SetY(momentum.Y());
181 m_momentumExit.SetZ(momentum.Z());
182 }

◆ setMomentumLocalEntry()

void setMomentumLocalEntry ( ROOT::Math::XYZVector  momentum)
inlineinherited

get the relative member

Definition at line 217 of file hitXP.h.

218 {
219 m_momentumLocalEntry.SetX(momentum.X());
220 m_momentumLocalEntry.SetY(momentum.Y());
221 m_momentumLocalEntry.SetZ(momentum.Z());
222 }

◆ setMomentumLocalExit()

void setMomentumLocalExit ( ROOT::Math::XYZVector  momentum)
inlineinherited

get the relative member

Definition at line 225 of file hitXP.h.

226 {
227 m_momentumLocalExit.SetX(momentum.X());
228 m_momentumLocalExit.SetY(momentum.Y());
229 m_momentumLocalExit.SetZ(momentum.Z());
230 }

◆ setMomentumLocalMid()

void setMomentumLocalMid ( ROOT::Math::XYZVector  momentum)
inlineinherited

get the relative member

Definition at line 209 of file hitXP.h.

210 {
211 m_momentumLocalMid.SetX(momentum.X());
212 m_momentumLocalMid.SetY(momentum.Y());
213 m_momentumLocalMid.SetZ(momentum.Z());
214 }

◆ setMomentumMid()

void setMomentumMid ( ROOT::Math::XYZVector  momentum)
inlineinherited

get the relative member

Definition at line 161 of file hitXP.h.

162 {
163 m_momentumMid.SetX(momentum.X());
164 m_momentumMid.SetY(momentum.Y());
165 m_momentumMid.SetZ(momentum.Z());
166 }

◆ setPDGID()

void setPDGID ( int  pdgid)
inlineinherited

get the relative member

Definition at line 233 of file hitXP.h.

233{ m_PDGID = pdgid; }

◆ setPosition0()

void setPosition0 ( ROOT::Math::XYZVector  position)
inlineinherited

get the relative member

Definition at line 236 of file hitXP.h.

237 {
238 m_position0.SetX(position.X());
239 m_position0.SetY(position.Y());
240 m_position0.SetZ(position.Z());
241 }

◆ setPositionEntry()

void setPositionEntry ( ROOT::Math::XYZVector  position)
inlineinherited

get the relative member

Definition at line 145 of file hitXP.h.

146 {
147 m_positionEntry.SetX(position.X());
148 m_positionEntry.SetY(position.Y());
149 m_positionEntry.SetZ(position.Z());
150 }

◆ setPositionExit()

void setPositionExit ( ROOT::Math::XYZVector  position)
inlineinherited

get the relative member

Definition at line 153 of file hitXP.h.

154 {
155 m_positionExit.SetX(position.X());
156 m_positionExit.SetY(position.Y());
157 m_positionExit.SetZ(position.Z());
158 }

◆ setPositionLocalEntry()

void setPositionLocalEntry ( ROOT::Math::XYZVector  position)
inlineinherited

get the relative member

Definition at line 193 of file hitXP.h.

194 {
195 m_positionLocalEntry.SetX(position.X());
196 m_positionLocalEntry.SetY(position.Y());
197 m_positionLocalEntry.SetZ(position.Z());
198 }

◆ setPositionLocalExit()

void setPositionLocalExit ( ROOT::Math::XYZVector  position)
inlineinherited

get the relative member

Definition at line 201 of file hitXP.h.

202 {
203 m_positionLocalExit.SetX(position.X());
204 m_positionLocalExit.SetY(position.Y());
205 m_positionLocalExit.SetZ(position.Z());
206 }

◆ setPositionLocalMid()

void setPositionLocalMid ( ROOT::Math::XYZVector  position)
inlineinherited

get the relative member

Definition at line 185 of file hitXP.h.

186 {
187 m_positionLocalMid.SetX(position.X());
188 m_positionLocalMid.SetY(position.Y());
189 m_positionLocalMid.SetZ(position.Z());
190 }

◆ setPositionMid()

void setPositionMid ( ROOT::Math::XYZVector  position)
inlineinherited

get the relative member

Definition at line 137 of file hitXP.h.

138 {
139 m_positionMid.SetX(position.X());
140 m_positionMid.SetY(position.Y());
141 m_positionMid.SetZ(position.Z());
142 }

◆ setReconstructed()

void setReconstructed ( bool  isReconstructed)
inlineinherited

get the relative member

Definition at line 276 of file hitXP.h.

bool isReconstructed() const
get the relative member
Definition: hitXP.h:131

◆ setSensorLadder()

void setSensorLadder ( int  ladder)
inlineinherited

get the relative member

Definition at line 261 of file hitXP.h.

261{ m_sensorLadder = ladder; }

◆ setSensorLayer()

void setSensorLayer ( int  layer)
inlineinherited

get the relative member

Definition at line 258 of file hitXP.h.

258{ m_sensorLayer = layer; }

◆ setSensorSensor()

void setSensorSensor ( int  sensor)
inlineinherited

get the relative member

Definition at line 255 of file hitXP.h.

255{ m_sensorSensor = sensor; }

◆ setTime()

void setTime ( double  Time)
inlineinherited

get the relative member

Definition at line 252 of file hitXP.h.

252{ m_time = Time; }

◆ tanLambda()

double tanLambda ( ROOT::Math::XYZVector  xx,
ROOT::Math::XYZVector  p 
) const
inherited

evaluates the parameter tanLambda (pz/pt) of a helicoidal track starting from position and momentum of the hit input(hit position, hit momentum) output(tanlambda value)

Definition at line 24 of file hitXP.cc.

25{
26 ROOT::Math::XYZVector x(0.01 * xx.X(), 0.01 * xx.Y(), 0.01 * xx.Z());
27 double aux = p.Z() / sqrt(p.X() * p.X() + p.Y() * p.Y());
28 return aux;
29}

◆ z0()

double z0 ( ROOT::Math::XYZVector  xx,
ROOT::Math::XYZVector  p,
double  charge 
) const
inherited

evaluates the parameter z0 (distance transverse plane-POCA) of a helicoidal track starting from position and momentum of the hit input(hit position, hit momentum, hit charge) output(z0 value)

Definition at line 62 of file hitXP.cc.

63{
64 ROOT::Math::XYZVector x(0.01 * xx.X(), 0.01 * xx.Y(), 0.01 * xx.Z());
65 double Bz = 1.5;
66 double Bze = Bz * charge * Const::speedOfLight / 100.;
67 double aux;
68 double chi;
69 if (Bze > 0) {
70 chi = atan2((-p.X() * x.X() - p.Y() * x.Y()), ((p.X() * p.X() + p.Y() * p.Y()) / (Bze) + p.Y() * x.X() - p.X() * x.Y()));
71 } else {
72 chi = atan2(-(-p.X() * x.X() - p.Y() * x.Y()), -((p.X() * p.X() + p.Y() * p.Y()) / (Bze) + p.Y() * x.X() - p.X() * x.Y()));
73 }
74 aux = p.Z() * chi / (Bze) + x.Z();
75 aux = 100 * aux;
76 return aux;
77}

Member Data Documentation

◆ m_charge

double m_charge = 0
inherited

charge of the track

Definition at line 62 of file hitXP.h.

◆ m_clusterU

int m_clusterU = 0
inherited

flag for u cluster

Definition at line 59 of file hitXP.h.

◆ m_clusterV

int m_clusterV = 0
inherited

flag for v cluster

Definition at line 60 of file hitXP.h.

◆ m_info_d0

double m_info_d0 = 0
inherited

d0 from MCParticle info evaluation.

DO NOT USE, use the get

Definition at line 54 of file hitXP.h.

◆ m_info_omega

double m_info_omega = 0
inherited

omega from MCParticle info evaluation.

DO NOT USE, use the get

Definition at line 58 of file hitXP.h.

◆ m_info_phi0

double m_info_phi0 = 0
inherited

phi0 from MCParticle info evaluation.

DO NOT USE, use the get

Definition at line 56 of file hitXP.h.

◆ m_info_tanlambda

double m_info_tanlambda = 0
inherited

tanlambda from MCParticle info evaluation.

DO NOT USE, use the get

Definition at line 57 of file hitXP.h.

◆ m_info_z0

double m_info_z0 = 0
inherited

z0 from MCParticle info evaluation.

DO NOT USE, use the get

Definition at line 55 of file hitXP.h.

◆ m_momentum0

ROOT::Math::XYZVector m_momentum0
inherited

momentum at IP

Definition at line 49 of file hitXP.h.

◆ m_momentumEntry

ROOT::Math::XYZVector m_momentumEntry
inherited

momentum of hit at entry of layer

Definition at line 39 of file hitXP.h.

◆ m_momentumExit

ROOT::Math::XYZVector m_momentumExit
inherited

momentum of hit at exit of layer

Definition at line 40 of file hitXP.h.

◆ m_momentumLocalEntry

ROOT::Math::XYZVector m_momentumLocalEntry
inherited

momentum of hit at entrypoint of layer, local coordinate

Definition at line 45 of file hitXP.h.

◆ m_momentumLocalExit

ROOT::Math::XYZVector m_momentumLocalExit
inherited

momentum of hit at exitpoint of layer, local coordinate

Definition at line 46 of file hitXP.h.

◆ m_momentumLocalMid

ROOT::Math::XYZVector m_momentumLocalMid
inherited

momentum of hit at midpoint of layer, local coordinate

Definition at line 44 of file hitXP.h.

◆ m_momentumMid

ROOT::Math::XYZVector m_momentumMid
inherited

momentum of hit at midpoint of layer

Definition at line 38 of file hitXP.h.

◆ m_PDGID

int m_PDGID = 0
inherited

PDGID.

Definition at line 47 of file hitXP.h.

◆ m_position0

ROOT::Math::XYZVector m_position0
inherited

position at IP

Definition at line 48 of file hitXP.h.

◆ m_positionEntry

ROOT::Math::XYZVector m_positionEntry
inherited

poition of hit at entrypoint of layer

Definition at line 36 of file hitXP.h.

◆ m_positionExit

ROOT::Math::XYZVector m_positionExit
inherited

poition of hit at exitpoint of layer

Definition at line 37 of file hitXP.h.

◆ m_positionLocalEntry

ROOT::Math::XYZVector m_positionLocalEntry
inherited

poition of hit at entrypoint of layer, local coordinate

Definition at line 42 of file hitXP.h.

◆ m_positionLocalExit

ROOT::Math::XYZVector m_positionLocalExit
inherited

poition of hit at exitpoint of layer, local coordinate

Definition at line 43 of file hitXP.h.

◆ m_positionLocalMid

ROOT::Math::XYZVector m_positionLocalMid
inherited

poition of hit at midpoint of layer, local coordinate

Definition at line 41 of file hitXP.h.

◆ m_positionMid

ROOT::Math::XYZVector m_positionMid
inherited

poition of hit at midpoint of layer

Definition at line 35 of file hitXP.h.

◆ m_reconstructed

bool m_reconstructed = 0
inherited

flag for reconstructed track

Definition at line 61 of file hitXP.h.

◆ m_sensorLadder

int m_sensorLadder = 0
inherited

ladder of the hit

Definition at line 53 of file hitXP.h.

◆ m_sensorLayer

int m_sensorLayer = 0
inherited

layer of the hit

Definition at line 52 of file hitXP.h.

◆ m_sensorSensor

int m_sensorSensor = 0
inherited

sensor of the hit

Definition at line 51 of file hitXP.h.

◆ m_time

double m_time = 0
inherited

time of the hit

Definition at line 50 of file hitXP.h.


The documentation for this class was generated from the following files: