 |
Belle II Software
release-05-01-25
|
11 #ifndef CDCDEDXTRACK_H
12 #define CDCDEDXTRACK_H
14 #include <framework/datastore/RelationsObject.h>
15 #include <framework/gearbox/Const.h>
29 friend class CDCDedxPIDModule;
30 friend class CDCDedxScanModule;
31 friend class CDCDedxCorrectionModule;
55 void addDedx(
int nhitscombined,
int wirelongesthit,
int layer,
double distance,
double dedxValue)
67 void addHit(
int lwire,
int wire,
int layer,
double doca,
double docaRS,
double enta,
double entaRS,
68 int adcCount,
int adcbaseCount,
double dE,
double path,
double dedx,
double cellHeight,
double cellHalfWidth,
69 int driftT,
double driftD,
double driftDRes,
double wiregain,
double twodcor,
70 double onedcor,
int foundByTrackFinder,
double weightPionHypo,
double weightKaonHypo,
double weightProtHypo)
230 double getDE(
int i)
const {
return m_hdE[i]; }
double getPDG() const
Get the identity of the particle.
std::vector< int > m_hADCCount
adcCount per hit
std::vector< int > m_lWireLongestHit
wire id for the longest hit in the layer
double getDedxNoSat() const
Get dE/dx truncated mean without the saturation correction for this track.
int getHitLayer(int i) const
Return the (global) layer number for a hit.
std::vector< int > m_hLayer
layer number
std::vector< double > m_hEnta
entrance angle in CDC cell
static const unsigned int c_SetSize
Number of elements (for use in array bounds etc.)
double getWireGain(int i) const
Return the wire gain for this hit.
void setLayerDedx(int i, double dedx)
Set the total dE/dx for this layer.
std::vector< double > m_hCellHalfWidth
half-width of the CDC cell
double m_mcmass
MC PID mass.
double m_scale
scale factor to make electrons ~1
double getCellHeight(int i) const
Return the height of the CDC cell.
double m_cosThetaTrue
MC true cos(theta)
std::vector< double > m_hDedx
charge per path length (dE/dx)
double getDedx() const
Get dE/dx truncated mean for this track.
double getEntaRS(int i) const
Return rescaled enta value for cell height=width assumption.
double getChi(int i) const
Return the PID (chi) value.
void setDedxError(double error)
Set the error on the dE/dx truncated mean for this track.
int getWire(int i) const
Return the sensor ID for this hit: wire number for CDC (0-14336)
double m_motherPDG
MC PID of mother particle.
int getLayer(int i) const
Return the (global) layer number for a layer hit.
void setDedx(double mean)
Set the dE/dx truncated average for this track.
double m_cosCor
calibration cosine correction
double m_cosEdgeCor
calibration cosine edge correction
CDCDedxTrack()
Default constructor.
double getMomentum() const
Return the track momentum valid in the CDC.
std::vector< double > m_hWireGain
calibration hit gain (indexed on number of hits)
std::vector< int > m_lNHitsCombined
number of hits combined in the layer
double getDriftDRes(int i) const
Return the drift distance resolution for this hit.
std::vector< int > m_hLWire
wire ID within the layer
std::vector< double > m_hPath
path length in the CDC cell
std::vector< double > m_hWeightKaonHypo
weight for kaon hypothesis from KalmanFitterInfo
int getADCCount(int i) const
Return the adcCount for this hit.
void addDedx(int nhitscombined, int wirelongesthit, int layer, double distance, double dedxValue)
add dE/dx information for a CDC layer
double getLength() const
Return the total path length for this track.
void setSimulatedDedx(double dedx)
Set the track level MC dE/dx mean for this track.
std::vector< double > getDedxList() const
Return the vector of dE/dx values for this track.
double getCosineCorrection() const
Return the cosine correction for this track.
std::vector< double > m_hCellHeight
height of the CDC cell
double getLogl(int i) const
Return the PID (logL) value.
double getDE(int i) const
Return the ionization charge collected for this hit.
double getEnta(int i) const
Return the entrance angle in the CDC cell for this hit.
std::vector< double > m_hDriftD
drift distance for each hit
int size() const
Return the number of hits for this track.
std::vector< int > m_hDriftT
drift time for each hit
double getTwoDCorrection(int i) const
Return the 2D correction for this hit.
double getOneDCorrection(int i) const
Return the 1D correction for this hit.
double getLayerDedx(int i) const
Return the total dE/dx for this layer.
double m_dedxAvgTruncated
dE/dx truncated mean per track
std::vector< double > m_hDriftDRes
drift distance resolution for each hit
std::vector< double > m_hTwodCor
calibration 2-D correction (indexed on number of hits)
int getCharge() const
Return the charge for this track.
double m_dedxAvg
dE/dx mean value per track
double getDriftD(int i) const
Return the drift distance for this hit.
double m_cdcLogl[Const::ChargedStable::c_SetSize]
log likelihood for each particle, not including momentum prior
int getFoundByTrackFinder(int i) const
Return the TrackFinder which added the given hit to track.
std::vector< int > m_lLayer
layer id corresponding to dedx
double getPath(int i) const
Return the path length through the cell for this hit.
double getLayerPath(int i) const
Return the distance travelled in this layer.
Abstract base class for different kinds of events.
double m_pTrue
MC true momentum.
int getWireLongestHit(int i) const
Return the wire number of the longest hit per layer.
std::vector< double > m_hdE
charge per hit
double m_dedxAvgTruncatedErr
standard deviation of m_dedxAvgTruncated
double getDedxMean() const
Get the dE/dx mean for this track.
int m_charge
particle charge from tracking (+1 or -1)
int getWireInLayer(int i) const
Return the sensor ID for this hit: wire number in the layer.
double m_cdcChi[Const::ChargedStable::c_SetSize]
chi values for each particle type
double getDoca(int i) const
Return the distance of closest approach to the sense wire for this hit.
double getCosEdgeCorrection() const
Return the cosine correction for this track.
std::vector< double > m_hOnedCor
calibration 1-D correction (indexed on number of hits)
std::vector< int > m_hFoundByTrackFinder
the 'found by track finder' flag for the given hit
int getNHitsCombined(int i) const
Return the number of hits combined per layer.
int getDriftT(int i) const
Return the drift time for this hit.
double m_p
momentum at the IP
double getNLayerHitsUsed() const
Return the number of hits used to determine the truncated mean.
double getDedxError() const
Get the error on the dE/dx truncated mean for this track.
std::vector< double > m_lDedx
extracted dE/dx (arb.
double m_dedxAvgTruncatedNoSat
dE/dx truncated mean per track without the saturation correction
double getCellHalfWidth(int i) const
Return the half-width of the CDC cell.
int m_track
ID number of the Track.
int getADCBaseCount(int i) const
Return the base adcCount (no non-linearity) for this hit.
void setDedxMean(double mean)
Set the dE/dx mean for this track.
std::vector< int > m_hADCBaseCount
adcCount base count (uncorrected) per hit
ClassDef(CDCDedxTrack, 16)
Debug output for CDCDedxPID module.
double getPreso(int i) const
Return the PID (predicted reso) value.
double getWeightPionHypo(int i) const
Return the max weights from KalmanFitterInfo using pion hypothesis.
double getWeightKaonHypo(int i) const
Return the max weights from KalmanFitterInfo using kaon hypothesis.
std::vector< double > m_hEntaRS
entrance angle in CDC cell after rescalling cell L=W
std::vector< double > m_hDocaRS
distance of closest approach to sense wire after rescalling cell L=W
double getPmean(int i) const
Return the PID (predicted mean) value.
std::vector< double > m_lPath
distance flown through active medium in current segment
RelationsInterface< TObject > RelationsObject
Provides interface for getting/adding relations to objects in StoreArrays.
double trackID() const
Return the track ID.
void setDedxNoSat(double mean)
Set the dE/dx truncated average without the saturation correction for this track.
double m_cosTheta
cos(theta) for the track
double getCosTheta() const
Return cos(theta) for this track.
double m_pCDC
momentum at the inner layer of the CDC
double m_predres[Const::ChargedStable::c_SetSize]
predicted dE/dx resolution
std::vector< int > m_hWire
continuous wire ID in the CDC
std::vector< double > m_hWeightPionHypo
weight for pion hypothesis from KalmanFitterInfo
std::vector< double > m_hWeightProtHypo
weight for proton hypothesis from KalmanFitterInfo
void addHit(int lwire, int wire, int layer, double doca, double docaRS, double enta, double entaRS, int adcCount, int adcbaseCount, double dE, double path, double dedx, double cellHeight, double cellHalfWidth, int driftT, double driftD, double driftDRes, double wiregain, double twodcor, double onedcor, int foundByTrackFinder, double weightPionHypo, double weightKaonHypo, double weightProtHypo)
Add a single hit to the object.
double getRunGain() const
Return the run gain for this track.
double m_simDedx
track level MC dE/dx truncated mean
Debug output for CDCDedxPID module.
int getNLayerHits() const
Return the number of layer hits for this track.
Defines interface for accessing relations of objects in StoreArray.
double getDocaRS(int i) const
Return rescaled doca value for cell height=width assumption.
double m_length
total distance travelled by the track
double getWeightProtonHypo(int i) const
Return the max weights from KalmanFitterInfo using proton hypothesis.
double getSimulatedDedx() const
Get the track-level MC dE/dx mean for this track.
double getNonLADCCorrection(int i) const
Return the factor introduce for adcCount (non-linearity) correction.
double m_runGain
calibration run gain
double m_predmean[Const::ChargedStable::c_SetSize]
predicted dE/dx truncated mean
std::vector< double > m_hDoca
distance of closest approach to sense wire
int m_lNHitsUsed
number of hits on this track used for truncated mean