BmnRoot
Loading...
Searching...
No Matches
SrcInnerTrackingRun7.h
Go to the documentation of this file.
1/*
2 * File: SrcInnerTrackingRun7.h
3 * Author: Sergei Merts
4 *
5 * Created on April 6, 2020
6 *
7 *
8 */
9
10#ifndef SRCINNERTRACKINGRUN7_H
11#define SRCINNERTRACKINGRUN7_H
12
13// Base Class Headers ----------------
14
15#include <map>
16#include <vector>
17
18#include "BmnCellDuet.h"
20#include "BmnGlobalTrack.h"
21#include "BmnKalmanFilter.h"
22#include "BmnMath.h"
23#include "BmnSteering.h"
24#include "BmnTrack.h"
25#include "CbmMCTrack.h"
26#include "FairMCPoint.h"
27#include "FairTask.h"
28#include "FairTrackParam.h"
29#include "TClonesArray.h"
30#include "TString.h"
31
32using namespace std;
33
34class SrcInnerTrackingRun7 : public FairTask {
35 public:
36 // Constructors/Destructors ---------
37
39 SrcInnerTrackingRun7(Int_t run, Bool_t target);
40 virtual ~SrcInnerTrackingRun7();
41
42 virtual InitStatus Init();
43 virtual void Exec(Option_t* opt);
44 virtual void Finish();
45
46 private:
47 BmnStatus SortHits(vector<BmnHit*>* sortedHits);
48
49 BmnStatus FindTracks_3of6();
50 BmnStatus FindTracks_6of6();
51 BmnStatus FindTracks_5of6();
52 BmnStatus FindTracks_4of6();
53
54 BmnStatus MatchHit(BmnTrack* cand, vector<BmnHit*> sortedHits, Bool_t downstream);
55 //BmnStatus FindCandidateByFourStations(Short_t st0, Short_t st1, Short_t st2, Short_t st3, Short_t skip0, Short_t skip1);
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);
59
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);
64
65 Double_t CalcQp(BmnTrack* track, Bool_t doSimple);
66 BmnStatus CalculateTrackParams(BmnTrack* tr);
67 BmnStatus CalcCovMatrix(BmnTrack* tr);
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);
72 BmnStatus DrawHits();
73
74 BmnGemStripStationSet* fGemDetector;
75 TString fGemHitsBranchName;
76 TString fGlobTracksBranchName;
77 TString fGemTracksBranchName;
78
79 TClonesArray* fGlobTracksArray;
80 TClonesArray* fGemTracksArray;
81 TClonesArray* fGemHitsArray;
82 TClonesArray* fHitsArray;
83
84 TClonesArray* fMCTracksArray;
85 TClonesArray* fGemPointsArray;
86
87 BmnKalmanFilter* fKalman;
88
89 Bool_t fIsTarget; // run with target or not
90
91 UInt_t fEventNo;
92 Short_t fNStations;
93
94 FairField* fField;
95
96 Double_t fChiSquareCut;
97 Double_t* fHitXCutMin;
98 Double_t* fHitXCutMax;
99 Double_t* fHitYCutMin;
100 Double_t* fHitYCutMax;
101
102 Int_t fNHitsCut;
103 Double_t fDistCut;
104
105 TString fSteerFile;
106 BmnSteering* fSteering;
107
108 ClassDef(SrcInnerTrackingRun7, 1);
109};
110
111#endif /* SRCINNERTRACKINGRUN7_H */
BmnStatus
Definition BmnEnums.h:24
virtual InitStatus Init()
virtual void Exec(Option_t *opt)
-clang-format
STL namespace.