11#include <reconstruction/dataobjects/DedxConstants.h>
12#include <framework/datastore/RelationsObject.h>
13#include <framework/gearbox/Const.h>
38 void addHit(
int sid,
int layer,
int adcCount,
double dx,
double dEdx);
41 void addDedx(
int layer,
double distance,
double dedxValue);
102 void addLogLikelihoods(
const std::vector<const TH2F*>& PDFs, Dedx::Detector detector,
bool truncated);
124 void addLogLikelihoods(
const std::vector<const TH2F*>& PDFs,
double dedxValue,
double minPDFValue);
static const unsigned int c_SetSize
Number of elements (for use in array bounds etc.)
EDetector
Enum for identifying the detector components (detector and subdetector).
Defines interface for accessing relations of objects in StoreArray.
Extract dE/dx from fitted tracks.
Debug output for VXDDedxPID module.
bool areLogLikelihoodsAvailable() const
Are log likelihoods available?
int getSensorID(int i) const
Return the sensor ID for this hit.
int getADCCount(int i) const
Return the adcCount for this hit.
double m_p
momentum at the IP
int m_trackID
ID number of the Track.
int getNHitsUsed() const
Return the number of hits used to determine the truncated mean.
std::vector< double > m_dx
path length in layer
int getLayer(int i) const
Return the (global) layer number.
double m_dedxAvgTruncated[2]
dE/dx truncated mean per track
VXDDedxTrack()=default
Default constructor.
short m_nHitsUsed
number of hits on this track used in the truncated mean
short m_charge
particle charge from tracking (+1 or -1)
int eventID() const
Return the event ID.
double getDedxOfHit(int i) const
Return the dE/dx value for this hit.
double getDx(int i) const
Return the path length through the layer.
std::vector< int > m_layer
VXD layer number.
std::vector< int > m_adcCount
adcCount per hit
double m_motherPDG
MC PID of mother particle.
int m_eventID
event in which this Track was found
double getCosTheta() const
Return cos(theta) for this yrack.
double getTrueMomentum() const
Return the MC truemomentum valid at the IP.
int trackID() const
Return the track ID.
const double * getLogLikelihoods() const
Get the array of log likelihoods.
double m_cosTheta
cos(theta) for the track
double m_vxdLogl[Const::ChargedStable::c_SetSize]
log likelihood for each particle
double m_length
total distance travelled by the track
std::vector< int > m_sensorID
unique sensor ID
double m_dedxAvgTruncatedErr[2]
standard deviation of m_dedxAvgTruncated
int m_numAdded
counter of added log likelihood values
ClassDef(VXDDedxTrack, 4)
class version for ROOT streamer
double m_dedxAvg[2]
dE/dx mean value per track
double m_pTrue
MC true momentum.
std::vector< double > dist
distance flown through active medium in current segment
short m_nHits
number of hits on this track
std::vector< double > m_dEdx
charge per path length
std::vector< double > dedxLayer
layer id corresponding to dE/dx measurement
std::vector< double > dedx
extracted dE/dx (arb.
int size() const
Return the number of hits for this track.
const std::vector< double > & getDedxList() const
Return the vector of dE/dx values for this track.
double getMomentum() const
Return the momentum valid at the IP.
void addHit(int sid, int layer, int adcCount, double dx, double dEdx)
Add a single hit to the object.
void addDedx(int layer, double distance, double dedxValue)
add dE/dx information for a VXD layer
void addLogLikelihoods(const std::vector< const TH2F * > &PDFs, Dedx::Detector detector, bool truncated)
Calculate and add log likelihoods to array m_vxdLogl.
void clearLogLikelihoods()
Clear log likelihoods (set to zero) and reset the counter of added log likelihood values.
double getDedxError(Const::EDetector detector) const
Get the error on the dE/dx truncated mean for given detector.
double getDedxMean(Const::EDetector detector) const
Get the dE/dx mean for given detector.
double getDedx(Const::EDetector detector) const
Get dE/dx truncated mean for given detector.
Abstract base class for different kinds of events.