HARPO  5.1.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HarpoVertexing.h
Go to the documentation of this file.
1 #ifndef HARPOVERTEXING_H
2 #define HARPOVERTEXING_H
3 
5 //
6 // HarpoVertexing
7 //
8 // Dummy analysis which creates basic test histograms
9 //
10 
11 #include "TObject.h"
12 #include "HarpoAnalyse.h"
13 #include "HarpoEvent.h"
14 #include "TProfile.h"
15 #include "TH1F.h"
16 #include "TH2F.h"
17 #include "TGraph2D.h"
18 #include "TGNumberEntry.h"
19 #include "TGraphErrors.h"
20 
21 class HarpoVertexing : public HarpoAnalyse {
22 
23  public:
24 
26 
27  void Init();
28  void Save(char *mode=NULL);
29  void process();
30  void print();
31 
32 
33  Double_t GetFraction(Int_t ndet, Double_t x, Double_t z, Double_t &phi0, Double_t &phi1);
34  void GetConnex(Int_t i, Int_t j, Int_t n, Int_t n0, HarpoDccMap* m, TH2F* h);
35  // TH1F* GetCircle(TH2F* hMap, Double_t x, Double_t z, Double_t phi0, Double_t radius);
36 
37  // TGraph* ReduceData(Int_t ndet, Int_t rebin, Double_t &z0, Double_t &x0);
38  /* void GetThrust(Int_t nPoints, Double_t* z, Double_t* x, Double_t &tz, Double_t &tx); */
39  /* void GetThrust2(Int_t nPoints, Double_t* z, Double_t* x, Double_t* q, Double_t &zM, Double_t &xM, Double_t &tz, Double_t &tx); */
40  // void GetMoments(Int_t plane, Double_t &xM, Double_t &zM, Double_t &xxM, Double_t &zzM, Double_t &xzM, Double_t &xxxM, Double_t &zzzM, Double_t &xxzM, Double_t &xzzM);
41  void DisplayAnalysis(TRootEmbeddedCanvas* ecTab, TGListBox* infobox);
42  void ConfigFrame(TGMainFrame* fMain, Int_t id);
43  void SetConfig();
44 
45  void FindVertexes();
46  void RefineVertexPosition();
47  void FillVertexAngles();
48 
49  TArrayD* GetPeaks2(TH1F* h);
50  TArrayD* GetPeaks(Int_t n, Double_t *x, Double_t *w, Int_t plane, Int_t v);
51  void GetPeak(Int_t n, Double_t *x, Double_t *w, Double_t &muOut, Double_t &sigOut, Int_t plane, Int_t v);
52 
53  void FitVertex(TH2F* h, HarpoRecoVertex* vertex);
54  TGraph* GetGraph(TH2F* h, Int_t n, Double_t x0, Double_t z0, Double_t px, Double_t pz);
55  TArrayD* FitGraph(TGraph* g, const Int_t nFit);
56 
57 
58 
59  private:
60 
61 
62  TGNumberEntry* fChooseRadiusX;
63  TGNumberEntry* fChooseRadiusZ;
64  TGNumberEntry* fChooseMinFrac;
65  TGNumberEntry* fChooseSeparation;
66  TGNumberEntry* fChooseQmin;
67 
68  Double_t fRadiusX;
69  Double_t fRadiusZ;
70  Double_t fMinFrac;
71  Double_t fSeparation;
72  Double_t fQmin;
73 
74  TH1F* fHist[2][10][3];
75  TH1F* fHist2[2][10][3];
76 
77  TH2F* fHistProj2Draw[20];
78  TH2F* fHistProj2D[20];
79  TH1F* fHistMean[20];
80  TH2F* fHistMap[20];
81  TH1F* fHistDiff;
82 
83  Int_t fNbins;
84  Int_t fNbinsTheta;
85 
86  Bool_t fDisplay;
87  ClassDef(HarpoVertexing,1) //Run AnalysePrint
88 };
89 
90 #endif
TGNumberEntry * fChooseSeparation
Double_t fRadiusX
TArrayD * FitGraph(TGraph *g, const Int_t nFit)
Double_t fMinFrac
void FitVertex(TH2F *h, HarpoRecoVertex *vertex)
TArrayD * GetPeaks(Int_t n, Double_t *x, Double_t *w, Int_t plane, Int_t v)
TH1F * fHist[2][10][3]
TH2F * fHistProj2Draw[20]
A virtual class which define intrafece between HARPO Reader and Event Analysis code.
Definition: HarpoAnalyse.h:47
TGNumberEntry * fChooseRadiusZ
TArrayD * GetPeaks2(TH1F *h)
TGraph * GetGraph(TH2F *h, Int_t n, Double_t x0, Double_t z0, Double_t px, Double_t pz)
void GetPeak(Int_t n, Double_t *x, Double_t *w, Double_t &muOut, Double_t &sigOut, Int_t plane, Int_t v)
TH2F * fHistProj2D[20]
Double_t fSeparation
2D vertex object, containing position, angle and associated track numbers, and quality info ...
TH1F * fHist2[2][10][3]
void DisplayAnalysis(TRootEmbeddedCanvas *ecTab, TGListBox *infobox)
Double_t GetFraction(Int_t ndet, Double_t x, Double_t z, Double_t &phi0, Double_t &phi1)
Redefine empty default.
unpacked dcc data The class contains the data map for DCC or Feminos The data is stored as a 2D TMatr...
Definition: HarpoDccMap.h:29
TH2F * fHistMap[20]
Dummy analysis to run as test and example. Give basic histograms of the data.
TGNumberEntry * fChooseMinFrac
void ConfigFrame(TGMainFrame *fMain, Int_t id)
TH1F * fHistMean[20]
void RefineVertexPosition()
void print()
Overloaded method which do all job.
TGNumberEntry * fChooseRadiusX
void Save(char *mode=NULL)
Double_t fRadiusZ
void GetConnex(Int_t i, Int_t j, Int_t n, Int_t n0, HarpoDccMap *m, TH2F *h)
TGNumberEntry * fChooseQmin