11#include <framework/gearbox/Unit.h>
12#include <framework/gearbox/Const.h>
13#include <tracking/dataobjects/RecoTrack.h>
14#include <genfit/MeasuredStateOnPlane.h>
30 const double A_Si = 28.085;
41 const double A =
A_Si,
46 return K / 2 * Z / A * z * z * rho;
56 const double A =
A_Si,
59 return std::sqrt(rho * Z / A) * 28.816 *
Unit::eV;
70 double betaGamma = mom / mass;
71 if (betaGamma <= 100)
return 0.0;
72 double beta2 = 1. / (1. + 1. / betaGamma / betaGamma);
74 return xi * log(2 * mass * xi / pow(
hbarWp(), 2) + 0.2);
88 return VxdID(
id / 1000, (
id % 1000) / 10,
id % 10);
101 RecoTrack& recoTrack,
double lambda = 0.0);
128 return (umin == 0 || umax == (uedgemax - 1));
139 return ((
id.getSensorNumber() == 1 && vmax == (vedgemax - 1))
140 || (
id.getSensorNumber() == 2 && vmin == 0));
151 return ((
id.getSensorNumber() == 2 && vmax == (vedgemax - 1))
152 || (
id.getSensorNumber() == 1 && vmin == 0));
161 inline unsigned short getBinU(
VxdID id,
unsigned int uid,
unsigned int vid,
unsigned short nBinsU)
164 return (uid * 4 + vid % 4) / drainsPerBin;
171 inline unsigned short getBinV(
VxdID id,
unsigned int vid,
unsigned short nBinsV)
174 return vid / rowsPerBin;
static const double electronMass
electron mass
This is the Reconstruction Event-Data Model Track.
static const double eV
[electronvolt]
static const double MeV
[megaelectronvolt]
static const double cm
Standard units with the value = 1.
static const double g_cm3
Practical units with the value set at 1.
const SensorInfoBase & getSensorInfo(Belle2::VxdID id) const
Return a referecne to the SensorInfo of a given SensorID.
static GeoCache & getInstance()
Return a reference to the singleton instance.
Base class to provide Sensor Information for PXD and SVD.
int getVCells() const
Return number of pixel/strips in v direction.
int getUCells() const
Return number of pixel/strips in u direction.
Class to uniquely identify a any structure of the PXD and SVD.
baseType getSensorNumber() const
Get the sensor id.
baseType getLadderNumber() const
Get the ladder id.
baseType getLayerNumber() const
Get the layer id.
VxdID getVxdIDFromPXDModuleID(const unsigned short &id)
Helper function to get VxdID from DHE id like module iid.
bool isCloseToBorder(int u, int v, int checkDistance)
Helper function to check if a pixel is close to the border.
unsigned short getBinU(VxdID id, unsigned int uid, unsigned int vid, unsigned short nBinsU)
Function to return a bin number for equal sized binning in U.
std::shared_ptr< TrackState > getTrackStateOnModule(const VXD::SensorInfoBase &pxdSensorInfo, RecoTrack &recoTrack, double lambda=0.0)
Helper function to get a track state on a module.
const double A_Si
Atomic mass of silicon in g mol^-1.
const double rho_Si
Silicon density in g cm^-3.
unsigned short getPXDModuleID(const VxdID &sensorID)
Helper function to get DHE id like module id from VxdID.
double xiBeta2_L(const int Z=Z_Si, const double A=A_Si, const double rho=rho_Si, const int z=1)
xi = (K/2)*(Z/A)*z*z*(rho*L)/beta2 in MeV
bool isClusterAtUEdge(VxdID id, unsigned int umin, unsigned int umax)
Helper function to check if one of the end pixels are at the edge of the sensor.
genfit::MeasuredStateOnPlane TrackState
Typedef TrackState (genfit::MeasuredStateOnPlane)
bool isClusterAtVEdge(VxdID id, unsigned int vmin, unsigned int vmax)
Helper function to check if one of the end pixels are at the edge of the sensor.
double hbarWp(const int Z=Z_Si, const double A=A_Si, const double rho=rho_Si)
hbarWp = sqrt(rho*Z/A)*28.816 in eV
bool isClusterAtLadderJoint(VxdID id, unsigned int vmin, unsigned int vmax)
Helper function to check if one of the end pixels are at the ladder joint.
double getDeltaP(const double mom, const double length, const double mass=Const::electronMass)
helper function to estimate the most probable energy loss for a given track length.
const int Z_Si
Const and Const expressions Only valid when g_mol is the default unit.
bool isDefectivePixelClose(int u, int v, int checkDistance, const VxdID &moduleID)
Helper function to check if a defective (hot/dead) pixel is close.
unsigned short getBinV(VxdID id, unsigned int vid, unsigned short nBinsV)
Function to return a bin number for equal sized binning in V.
Abstract base class for different kinds of events.