HARPO  5.1.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HarpoKalmanTracking.h
Go to the documentation of this file.
1  #ifndef HARPOKALMANTRACKING_H
2 #define HARPOKALMANTRACKING_H
3 
5 //
6 // HarpoKalmanTracking
7 //
8 // Dummy analise which print all run events.
9 //
10 
11 #include "TObject.h"
12 #include "HarpoAnalyse.h"
13 #include "HarpoEvent.h"
14 #include "HarpoRecoEvent.h"
15 #include "HarpoKalman.h"
16 #include "TProfile.h"
17 #include "TH1F.h"
18 #include "TH2F.h"
19 #include "TCanvas.h"
20 #include "TPolyLine.h"
21 #include "TMatrixD.h"
22 #include "TGraphErrors.h"
23 
24 #define NTRACK 100
25 
26 
28 
29  public:
30 
31  virtual ~HarpoKalmanTracking() {}
32 
34 
35  void Init();
36  void Save(char *mode=NULL);
37  void process();
38  void print();
39 
40  TH1F* hNcl;
41  TGraph* GetGraph(Int_t i, Int_t plane = 0) {
42  if(plane<0 || plane>1) return 0;
43  if(fId[i][plane]<0) return 0;
44  if(i>=0 && i<fNtr[plane]) return fGraphs[plane][fId[i][plane]];
45  //if(i>=0 && i<fNtr[plane]) return fGraphs[plane][i];
46  else return 0;
47  }
48  Int_t GetNtr(Int_t plane){if(plane<0 || plane>1) return 0; return fNtr[plane];}
49  Int_t GetId(Int_t i,Int_t plane) {return fId[i][plane];}
50 
51  void SetCanvas(TVirtualPad* c, Int_t plane){fCanvas[plane] = c;}
52  void SetHist(TH2F* h, Int_t plane){fHist[plane] = h;}
53 
54  private:
55 
56  Int_t InitPlane(TClonesArray* clArray, Int_t plane);
57  Int_t GetMapEdges(TClonesArray* clArray, Int_t plane, Int_t &iMin, Int_t &iMax, Int_t &jMin, Int_t &jMax);
58  void FindTrack(TClonesArray* clArray, Int_t icl0, Int_t icl1, TMatrixD Corig, Int_t plane, Int_t &color);
59  Int_t AddTrack(TClonesArray* clArray, Int_t plane);
60  void SpliceTracks(Int_t plane);
61  Double_t GetQtrack(Int_t itr, Int_t plane);
62  Double_t GetQtracks(Int_t plane);
63 
64  Int_t fId[NTRACK][2];
65  Double_t fQcommon[NTRACK][NTRACK];
66  TGraph* fGraphs[2][NTRACK];
67 
68  Double_t fQtot;
69  Double_t fQused;
70 
71 
72  /* TMatrixD H; */
73  /* TMatrixD Ht; */
74  /* TMatrixD Q; */
75  /* TMatrixD G; */
76  /* TMatrixD V; */
77  /* TMatrixD I; */
78  /* TMatrixD Corig; */
79 
80  Int_t fNclMin;
81  Int_t fNclMin2;
82 
83  ClassDef(HarpoKalmanTracking,1) //Run AnalysePrint
84 };
85 
86 #endif
void print()
Ovreloaded medod whic do all job.
void SpliceTracks(Int_t plane)
#define NTRACK
Int_t InitPlane(TClonesArray *clArray, Int_t plane)
void SetHist(TH2F *h, Int_t plane)
Int_t fId[NTRACK][2]
Double_t GetQtrack(Int_t itr, Int_t plane)
Double_t fQcommon[NTRACK][NTRACK]
Int_t AddTrack(TClonesArray *clArray, Int_t plane)
A virtual class for Kalman tracking.
Definition: HarpoKalman.h:26
Int_t GetMapEdges(TClonesArray *clArray, Int_t plane, Int_t &iMin, Int_t &iMax, Int_t &jMin, Int_t &jMax)
Track finder with Kalman filter.
TGraph * fGraphs[2][NTRACK]
TVirtualPad * fCanvas[2]
Definition: HarpoKalman.h:100
Double_t GetQtracks(Int_t plane)
void Save(char *mode=NULL)
Int_t GetId(Int_t i, Int_t plane)
void SetCanvas(TVirtualPad *c, Int_t plane)
TH1F * hNcl
Redefine empty default.
Int_t fNtr[2]
Definition: HarpoKalman.h:72
Int_t GetNtr(Int_t plane)
TGraph * GetGraph(Int_t i, Int_t plane=0)
void FindTrack(TClonesArray *clArray, Int_t icl0, Int_t icl1, TMatrixD Corig, Int_t plane, Int_t &color)
TH2F * fHist[2]
Definition: HarpoKalman.h:101