CbmRoot
Loading...
Searching...
No Matches
CbmL1PFFitter.h
Go to the documentation of this file.
1/* Copyright (C) 2011-2016 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Maksym Zyzak [committer] */
4
5/*
6 *=====================================================
7 *
8 * CBM Level 1 Reconstruction
9 *
10 * Authors: M.Zyzak
11 *
12 * e-mail :
13 *
14 *=====================================================
15 *
16 * Finds Particles: Lambdas, K0
17 *
18 */
19
20#ifndef _CbmL1PFFitter_h_
21#define _CbmL1PFFitter_h_
22
23#include "CaSimd.h"
24#include "KfFieldRegion.h"
25
26#include <vector>
27
28class CbmMvdHit;
29class CbmStsHit;
30class CbmStsTrack;
31class CbmKFVertex;
32class TClonesArray;
33
35 public:
36 // A container for parameters of kf::FieldRegion
45
48
49 //functions for fitting CbmStsTrack
50 void Fit(std::vector<CbmStsTrack>& Tracks, const std::vector<CbmMvdHit>& vMvdHits,
51 const std::vector<CbmStsHit>& vStsHits, const std::vector<int>& pidHypo);
52 void Fit(std::vector<CbmStsTrack>& Tracks, const std::vector<int>& pidHypo);
53 void CalculateFieldRegion(std::vector<CbmStsTrack>& Tracks, std::vector<PFFieldRegion>& Field);
54 void CalculateFieldRegionAtLastPoint(std::vector<CbmStsTrack>& Tracks, std::vector<PFFieldRegion>& field);
55 void GetChiToVertex(std::vector<CbmStsTrack>& Tracks, std::vector<PFFieldRegion>& field, std::vector<float>& chiToVtx,
56 CbmKFVertex& primVtx, float chiPrim = -1);
57
58 private:
59 void Initialize();
60 int GetMvdStationIndex(const CbmMvdHit* h);
61 int GetStsStationIndex(const CbmStsHit* h);
62
63 private:
64 bool fIsInitialised = {false}; // is the fitter initialised
65 int fNmvdStationsActive = {0}; // n MVD stations
66 int fNstsStationsActive = {0}; // n STS stations
67 TClonesArray* fMvdHitArray{nullptr}; // pointer to MVD hits
68 TClonesArray* fStsHitArray{nullptr}; // pointer to STS hits
69};
70#endif
Magnetic flux density interpolation along the track vs. z-coordinate (header)
int GetMvdStationIndex(const CbmMvdHit *h)
TClonesArray * fStsHitArray
TClonesArray * fMvdHitArray
void GetChiToVertex(std::vector< CbmStsTrack > &Tracks, std::vector< PFFieldRegion > &field, std::vector< float > &chiToVtx, CbmKFVertex &primVtx, float chiPrim=-1)
void Fit(std::vector< CbmStsTrack > &Tracks, const std::vector< CbmMvdHit > &vMvdHits, const std::vector< CbmStsHit > &vStsHits, const std::vector< int > &pidHypo)
int GetStsStationIndex(const CbmStsHit *h)
void CalculateFieldRegion(std::vector< CbmStsTrack > &Tracks, std::vector< PFFieldRegion > &Field)
void CalculateFieldRegionAtLastPoint(std::vector< CbmStsTrack > &Tracks, std::vector< PFFieldRegion > &field)
data class for a reconstructed 3-d hit in the STS
Definition CbmStsHit.h:35
Data class with information on a STS local track.
Magnetic field region, corresponding to a hit triplet.
void getL1FieldRegion(cbm::algo::kf::FieldRegion< cbm::algo::kf::fvec > &, int i)
void setFromL1FieldRegion(const cbm::algo::kf::FieldRegion< cbm::algo::kf::fvec > &, int i)