FairRoot/PandaRoot
PndForwardTrackFinderTask.h
Go to the documentation of this file.
1 #ifndef PndForwardTrackFinderTask_H
2 #define PndForwardTrackFinderTask_H
3 
4 #include "FairTask.h"
5 #include "FairRuntimeDb.h"
6 #include "FairRunAna.h"
7 #include "FairHit.h"
8 
9 #include "PndGeoFtsPar.h"
10 #include "PndFtsMapCreator.h"
12 #include "PndTrackCombiner.h"
13 #include "PndLine.h"
14 #include "PndFtsLineApproximator.h"
15 #include "PndModuleCombiner.h"
16 #include "PndWayFollower.h"
17 #include "PndTrackCollection.h"
18 
19 #include "PndFtsPoint.h"
20 
21 #include "TClonesArray.h"
22 #include "TVector3.h"
23 
24 #include <iostream>
25 #include <vector>
26 #include <string>
27 
28 class PndForwardTrackFinderTask: public FairTask {
29 public:
30 
39  }
41 
42  virtual InitStatus Init();
43  virtual void SetParContainers();
44 
45  virtual void Exec(Option_t* opt);
46  virtual void FinishEvent();
47  virtual void Finish();
48 
49  void saveCombined(vector<PndLineApproximation> combined,Int_t branch,Int_t branchID,Bool_t useOrgHits);
50  void saveCorrectedTracklets(map<Int_t, vector<PndFtsExpandedTrackCand>>);
51  void saveTrackCollection(vector<PndTrackCollection> coll,Bool_t withOrgHits);
52 
53 private:
54  Int_t eventNumber;
55  //PndGeoFtsPar *fFtsParameters; // needed for FtsStrawMap
56  //TClonesArray *fTubeArray; // needed for FtsStrawMap
57  TClonesArray* fHits;
58  FairRootManager *fIoman;
59  std::vector<PndTrackCand> fFirstTrackCand;
60  string branchName = "FTSHitErr";
61 
62  TClonesArray* planes; //temp
63  TClonesArray* planesHit; //temp
64  TClonesArray* fFirstTrackCandArray;
65  TClonesArray* correctedTracklets;
66  TClonesArray* correctedHits;
67  TClonesArray* fLayerTracks;
68  TClonesArray* fLayerTracksHits;
69  TClonesArray* fGlobalTracks;
70  TClonesArray* fGlobalTracksHits;
71  TClonesArray* fFinalSolution;
72  TClonesArray* fTrackCollection;
73  TClonesArray* fTrackCollectionHits;
74 
75  TClonesArray* rootBranches[5];
76 
82  //ClassDef(PndForwardTrackFinderTask,1);
83 
86 
87  map<Int_t,PndFtsHit*> fOriginalHits;
88 
89  void createStatictcs(vector<PndTrackCollection> c,vector<PndLineApproximation> a);
90  PndLineApproximation getBest(PndTrackCollection &c,vector<PndLineApproximation> a);
91  Int_t getMcId(vector<PndFtsHit*> hits);
92  Int_t dists[20];
93  Int_t angles[20];
94 
96 };
97 
98 #endif
PndTransMap * map
Definition: sim_emc_apd.C:99
void createStatictcs(vector< PndTrackCollection > c, vector< PndLineApproximation > a)
static Double_t compAngle
static Double_t qualiT
static Double_t compDist
static Double_t compAngle
Int_t a
Definition: anaLmdDigi.C:126
std::vector< PndTrackCand > fFirstTrackCand
void saveTrackCollection(vector< PndTrackCollection > coll, Bool_t withOrgHits)
PndFtsLineApproximator * fPndFtsLineApproximator
ClassDef(PndForwardTrackFinderTask, 1)
Int_t getMcId(vector< PndFtsHit * > hits)
void saveCombined(vector< PndLineApproximation > combined, Int_t branch, Int_t branchID, Bool_t useOrgHits)
map< Int_t, PndFtsHit * > fOriginalHits
static Double_t compDist
void saveCorrectedTracklets(map< Int_t, vector< PndFtsExpandedTrackCand >>)
static Double_t compQuali
CbmHit * hits[nHits]
Definition: RiemannTest.C:19
virtual void Exec(Option_t *opt)
PndFtsCellTrackletGenerator * fPndFtsCellTrackletGenerator
PndLineApproximation getBest(PndTrackCollection &c, vector< PndLineApproximation > a)
static Double_t hitAddT