FairRoot/PandaRoot
PndAnalysisForwardTask.h
Go to the documentation of this file.
1 /*
2  * PndAnalysisForwardTask.h
3  *
4  * Created on: Jul 15, 2016
5  * Author: kibellus
6  */
7 
8 #ifndef PNDTOOLS_PNDFORWARDTRACKFINDER_PNDANALYSISFORWARDTASK_H_
9 #define PNDTOOLS_PNDFORWARDTRACKFINDER_PNDANALYSISFORWARDTASK_H_
10 
11 #include "FairTask.h"
12 #include "FairRuntimeDb.h"
13 #include "FairRunAna.h"
14 #include "FairHit.h"
15 
16 #include "PndGeoFtsPar.h"
17 #include "PndFtsMapCreator.h"
19 #include "PndTrackCombiner.h"
20 #include "PndLine.h"
21 #include "PndFtsLineApproximator.h"
22 #include "PndFtsPoint.h"
23 
24 #include "TClonesArray.h"
25 #include "TVector3.h"
26 
27 #include <iostream>
28 #include <vector>
29 #include <fstream>
30 
31 class PndAnalysisForwardTask : public FairTask {
32 public:
34  for(int i=0;i<10;i++){
35  hitArray[i] = 0;
36  momentumArray[i] = 0;
37  trackCountArray[i] = 0;
38  hitArray2[i] = 0;
39  momentumArray2[i] = 0;
40  trackCountArray2[i] = 0;
41  }
42  }
43  virtual ~PndAnalysisForwardTask();
44 
45  virtual InitStatus Init();
46 
47  virtual void Exec(Option_t* opt);
48  virtual void FinishEvent();
49  virtual void Finish();
50 
51  map<Int_t,vector<PndFtsHit*>> getMcTracks();
52  map<Int_t,vector<PndFtsHit*>*> getReconstructedTracks();
53  void analyzeMCTracks(vector<PndFtsHit*> hits,map<Int_t,vector<PndFtsHit*>*> tracks, Int_t trackID, Int_t trackCount);
54  vector<Int_t> analyzeMCTrack(vector<PndFtsHit*> mcHits,vector<PndFtsHit*>* reconstructedHits);
55  void anaSpecialCases(map<Int_t,vector<PndFtsHit*>> mcTracks);
56 
57 private:
58  FairRootManager *fIoman;
59  TClonesArray* fHits;
60  TClonesArray* fSolution;
61  TClonesArray* fMCTracks;
62  TClonesArray* fIdealTrack;
63  Int_t eventNum;
64 
65  Int_t completeClean = 0;
66  Int_t completeUnclean = 0;
67  Int_t incompleteClean = 0;
68  Int_t incompleteUnclean = 0;
69  Int_t notEnoughFound = 0;
70  Int_t notFound = 0;
71 
72  map<Int_t, Int_t> mcToHitCount;
73  map<Int_t, Double_t> momentum;
74 
75  Int_t hitArray[10];
77  Int_t trackCountArray[10];
78 
79  Int_t hitArray2[10];
81  Int_t trackCountArray2[10];
82 
83  Int_t oneHitPerLayer = 0;
84  Int_t moreThan3Hits = 0;
85  Int_t twoTracksOneTube = 0;
86 
88 };
89 
90 #endif /* PNDTOOLS_PNDFORWARDTRACKFINDER_PNDANALYSISFORWARDTASK_H_ */
Int_t i
Definition: run_full.C:25
PndTransMap * map
Definition: sim_emc_apd.C:99
map< Int_t, Int_t > mcToHitCount
vector< Int_t > analyzeMCTrack(vector< PndFtsHit * > mcHits, vector< PndFtsHit * > *reconstructedHits)
virtual void Exec(Option_t *opt)
map< Int_t, vector< PndFtsHit * > * > getReconstructedTracks()
map< Int_t, Double_t > momentum
Double_t
ClassDef(PndAnalysisForwardTask, 1)
map< Int_t, vector< PndFtsHit * > > getMcTracks()
void analyzeMCTracks(vector< PndFtsHit * > hits, map< Int_t, vector< PndFtsHit * > * > tracks, Int_t trackID, Int_t trackCount)
CbmHit * hits[nHits]
Definition: RiemannTest.C:19
void anaSpecialCases(map< Int_t, vector< PndFtsHit * >> mcTracks)