10#ifndef SRCINNERTRACKINGRUN7_H
11#define SRCINNERTRACKINGRUN7_H
19#include "BmnGemStripStationSet.h"
20#include "BmnGlobalTrack.h"
21#include "BmnKalmanFilter.h"
23#include "BmnSteering.h"
25#include "CbmMCTrack.h"
26#include "FairMCPoint.h"
28#include "FairTrackParam.h"
29#include "TClonesArray.h"
43 virtual void Exec(Option_t* opt);
47 BmnStatus SortHits(vector<BmnHit*>* sortedHits);
54 BmnStatus MatchHit(
BmnTrack* cand, vector<BmnHit*> sortedHits, Bool_t downstream);
56 BmnStatus FindCandidateByThreeStations(Short_t st0, Short_t st1, Short_t st2, vector<BmnTrack>& candidates, vector<BmnHit*>* sortedHits);
57 BmnStatus FindCandidateByFourStations(Short_t st0, Short_t st1, Short_t st2, Short_t st3, vector<BmnTrack>& candidates, vector<BmnHit*>* sortedHits);
58 BmnStatus FindCandidateByFiveStations(Short_t st0, Short_t st1, Short_t st2, Short_t st3, Short_t st4, vector<BmnTrack>& candidates, vector<BmnHit*>* sortedHits);
60 BmnStatus TrackUpdateByKalman(vector<BmnTrack>& cands);
61 BmnStatus TrackUpdateByLine(vector<BmnTrack>& cands);
62 BmnStatus SortTracks(vector<BmnTrack>& inTracks, vector<BmnTrack>& sortedTracks);
63 BmnStatus TrackSelection(vector<BmnTrack>& cands);
65 Double_t CalcQp(
BmnTrack* track, Bool_t doSimple);
68 TVector2 CalcMeanSigma(vector<Double_t>);
69 Double_t CalculateLength(
BmnTrack* tr);
70 BmnStatus CheckSharedHits(vector<BmnTrack>& sortedTracks);
71 void SetHitsUsing(
BmnTrack* tr, Bool_t use);
75 TString fGemHitsBranchName;
76 TString fGlobTracksBranchName;
77 TString fGemTracksBranchName;
79 TClonesArray* fGlobTracksArray;
80 TClonesArray* fGemTracksArray;
81 TClonesArray* fGemHitsArray;
82 TClonesArray* fHitsArray;
84 TClonesArray* fMCTracksArray;
85 TClonesArray* fGemPointsArray;
96 Double_t fChiSquareCut;
97 Double_t* fHitXCutMin;
98 Double_t* fHitXCutMax;
99 Double_t* fHitYCutMin;
100 Double_t* fHitYCutMax;
SrcInnerTrackingRun7(Int_t run, Bool_t target)
virtual InitStatus Init()
virtual ~SrcInnerTrackingRun7()
virtual void Exec(Option_t *opt)