13#include "KFParticleTopoReconstructor.h"
30 double fMass{std::numeric_limits<double>::quiet_NaN()};
31 double fDca{std::numeric_limits<double>::quiet_NaN()};
32 double fBeta{std::numeric_limits<double>::quiet_NaN()};
33 double fQp{std::numeric_limits<double>::quiet_NaN()};
179 const std::vector<RecoResults::HitId_t>& tofHitIds,
181 ParticleInfo& pidInfo);
197 void CollectT0(gsl::span<const bmon::Hit> bmonHits);
230 bool SelectTrack(
const ParticleInfo& particleInfo)
const;
269 std::vector<std::pair<ca::Track::TrackParam_t, ca::Track::TrackParam_t>>
fvTrackParam;
274 std::unique_ptr<KFParticleTopoReconstructor>
fpTopoReconstructor{std::make_unique<KFParticleTopoReconstructor>()};
A structure to store different triggers in parallel to the CbmEvent (implementation)
A monitor for the V0Finder.
A structure for reconstructed results: digi-events, hits and tracks.
Class to store different triggers for a given event.
A vector that is partitioned into multiple subvectors.
TrackParam classes of different types.
const std::unique_ptr< KFParticleTopoReconstructor > & GetTopoReconstructor() const
Accessor to topology reconstructor.
double EstimateBeta(const tof::Hit &tofHit, double t0) const
Estimates speed of particle, using TOF measurement.
static constexpr bool kUseAverageSpeed
If an average speed of tof hits is used.
const V0FinderMonitorData_t & GetEventMonitor() const
Gets monitor data.
double fMinProtonDca
Minimum DCA to PV for protons.
void InitTrackParamVectors(const ca::Vector< ca::Track > &tracks)
Initializes copies of track parameter vectors.
V0Finder(const V0Finder &)=delete
Copy constructor.
void SetLdLCut2D(float cut)
Sets cut on for 2-daughter decays.
~V0Finder()=default
Destructor.
V0Finder(V0Finder &&)=delete
Move constructor.
void SetChiPrimaryCut2D(float cut)
Sets cut on of each track for 2-daughter decays.
CbmEventTriggers Process(const RecoResults &recoEvent)
Processes a reconstructed data sample, returns a collection of fired triggers.
const std::array< float, 3 > & GetOrigin() const
Gets origin.
void SetKfpTrackParameters(KFPTrackVector &kfpTrkVector, uint32_t iKfpTrk, uint32_t iCaTrk, const ca::Track::TrackParam_t &trkParam, const ParticleInfo &particleInfo) const
Sets KFP track parameters.
const std::vector< ParticleInfo > & GetParticleInfo() const
Gets a vector of particle info.
double fQpAssignedUncertainty
Assigned relative uncertainty for q/p estimation.
static constexpr int32_t kUndefPdg
PDG for tracks, which PID cannot be inferred.
double fTzeroOffset
Offset for T0.
bool SelectTrack(const ParticleInfo &particleInfo) const
Applies selection cut on the track.
V0Finder()=default
Default constructor.
std::vector< std::pair< ca::Track::TrackParam_t, ca::Track::TrackParam_t > > fvTrackParam
A copy of track parameters (first, last)
double fMinPionDca
Minimum DCA to PV for pions.
void SetMinPionDca(double dca)
void AddDecayToReconstructionList(int pdg)
Adds particle to reconstruction list.
void SetTzeroOffset(double offset)
Sets an offset to t0.
V0Finder & operator=(V0Finder &&)=delete
Move assignment operator.
std::array< float, 3 > fOrigin
Coordinates of origin [cm].
double fMinBetaPion
Minimal proton velocity (beta) [c].
void SetPrimaryAssignedPdg(int pdg)
Sets the assigned PDG for primary particles.
void SetBmonPartitionIndex(int iPartition)
Sets an address of a reference BMON diamond.
double EstimateDca(const sts::Hit &fst, const sts::Hit &snd) const
Estimate DCA of a track to origin.
double GetSelectedT0() const
Gets selected t0.
void SetLCut(float cut)
Sets cut on the distance to the primary vertex from the decay vertex.
KFParticleFinder * GetKFParticleFinder()
Mutable access to the KfParticleFinder of the run topology reconstructor.
const std::vector< uint32_t > & GetSelectedTrackIds() const
Gets indices of selected tracks.
int fBmonPartitionIndex
Index of selected partition in BMON hit vector.
bool AssignMomentum(const PartitionedVector< tof::Hit > &tofHits, const std::vector< RecoResults::HitId_t > &tofHitIds, double t0, ParticleInfo &pidInfo)
Assigns momentum based on the TOF measurement.
std::vector< double > fvT0s
Found t0s [ns] (in event)
void AssignPid(ParticleInfo &info)
Assigns PID info based on the estimated DCA.
double fSelectedT0
A t0 value selected by the lambda-finder.
int fPrimaryAssignedPdg
Assigned PDG hypothesis for primary particles.
std::vector< uint32_t > fvSelectedTrackIds
IDs of selected tracks (in event)
void SetOrigin(double x, double y, double z)
Sets origin.
double fMaxBetaPion
Maximal proton velocity (beta) [c].
void SetQpAssignedUncertainty(double uncertainty)
Assignes an uncertainty to the momentum measurement.
double fMaxBetaProton
Maximal proton velocity (beta) [c].
V0Finder & operator=(const V0Finder &)=delete
Copy assignment operator.
const auto & GetTrackAssignedParams() const
Gets track parameters.
double fMinBetaProton
Minimal proton velocity (beta) [c].
void SetMinProtonDca(double dca)
Sets minimal proton DCA to primary vertex.
void SetProtonVelocityRange(double vMin, double vMax)
Sets proton velocity range.
void SetChi2Cut2D(float cut)
Sets cut on for 2-daughter decays.
static KFVertex MakeKfpPrimaryVertex(const std::array< float, 3 > &r)
Makes a KF vertex.
V0FinderMonitorData_t fEventMonitor
Main monitor data instance.
void SetPionVelocityRange(double vMin, double vMax)
Sets minimal pion DCA to primary vertex.
std::vector< ParticleInfo > fvParticleInfo
PID info of tracks (in event)
const std::vector< double > & GetT0s() const
Gets found t0s.
void Init()
Initializes the instance (called in the beginning of the run)
std::unique_ptr< KFParticleTopoReconstructor > fpTopoReconstructor
An instance of the topology reconstructor.
static constexpr double kProtonMass
Proton mass [GeV/c2].
const KFParticleFinder * GetKFParticleFinder() const
Constant access to the KfParticleFinder of the run topology reconstructor.
static constexpr double kSpeedOfLight
Speed of light [cm/ns].
static constexpr double kPionMass
Pion mass [GeV/c2].
@ FindV0Candidates
V0-finder procedure for a given t0.
@ CollectT0
Collecting T0s.
@ CollectDca
Estimating DCAs.
A structure to keep temporary PID information for tracks.