/* *===================================================== * * CBM Level 1 Reconstruction * * Authors: M.Zyzak * * e-mail : * *===================================================== * * Finds Particles: Lambdas, K0 * */ #ifndef _CbmKFTrackFitter_h_ #define _CbmKFTrackFitter_h_ #include "CbmL1Def.h" #include class CbmL1Track; //class CbmStsTrack; class L1TrackPar; class L1UMeasurementInfo; class L1MaterialInfo; class L1Station; class L1FieldRegion; class CbmKFVertex; class L1AlgoInputData; class L1Algo; class CbmKFTrackFitter { public: CbmKFTrackFitter(); ~CbmKFTrackFitter(); void AddMaterial( L1TrackPar &T, const L1MaterialInfo &info, fvec qp0, fvec &mass2, fvec &w ); void AddPipeMaterial( L1TrackPar &T, fvec qp0, fvec &mass2, fvec &w ); void FilterFirst( L1TrackPar &track,fvec &x, fvec &y, fvec &w, const L1Station &st ); void FilterLast ( L1TrackPar &track,fvec &x, fvec &y, fvec &w, const L1Station &st ); void Filter( L1TrackPar &T, const L1UMeasurementInfo &info, fvec &u , fvec &w); void Fit(std::vector &Tracks, fvec mass = 0.1395679f); void CalculateFieldRegion(const std::vector &Tracks,std::vector &Field); void GetChiToVertex(const std::vector &Tracks, std::vector &chiToVtx, CbmKFVertex &primVtx); void SetHits(const L1AlgoInputData* hits) {fHits = hits;} void SetAlgo(const L1Algo* algo) {fAlgo = algo;} private: const L1AlgoInputData* fHits; const L1Algo* fAlgo; //functions for fitting CbmStsTrack /* void Fit(std::vector &Tracks, int pidHypo = 211); void CalculateFieldRegion(std::vector &Tracks,std::vector &Field); void GetChiToVertex(std::vector &Tracks, std::vector &chiToVtx, CbmKFVertex &primVtx);*/ }; #endif