Install macros
[u/mrichter/AliRoot.git] / TPC / Calib / AliTPCCorrectionFit.h
1 #ifndef ALITPCCORRECTIONFIT_H
2 #define ALITPCCORRECTIONFIT_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //
8 //
9 #include "TNamed.h"
10 class TObjArray;
11 class THnBase;
12 class THnSparse;
13 class TTreeSRedirector;
14 class TTree;
15
16 class AliTPCCorrectionFit:public TNamed { 
17 public:
18   AliTPCCorrectionFit();
19   virtual ~AliTPCCorrectionFit();
20   //
21   //
22   //
23   //static Double_t EvalAt(Double_t phi, Double_t refX, Double_t theta,Double_t evalX,  Int_t corr, Int_t ptype, Float_t wt=100, Float_t t1=1, Float_t t2=1);
24   static Double_t EvalAtPar(Double_t phi, Double_t snp, Double_t refX, Double_t evalX, Double_t theta, Int_t corr, Int_t ptype, Int_t nstep, Float_t wt=100,  Float_t t1=1, Float_t t2=1, Bool_t *pstatus=0);
25   static Double_t EvalAtHelix(Double_t phi, Double_t snp, Double_t refX, Double_t evalX, Double_t theta, Int_t corr, Int_t ptype, Int_t nstep,  Float_t wt=100, Float_t t1=1, Float_t t2=1, Bool_t *pstatus=0);
26   //
27   // Make distortion maps
28   //
29   static void  CreateAlignMaps(Double_t  bz, Int_t run);
30   static void  MakeClusterDistortionMap(THnBase * hisInput, TTreeSRedirector *pcstream, Int_t ptype, Int_t dtype=0);
31   static void  MakeDistortionMap(THnSparse * his0, TTreeSRedirector *pcstream, const char* hname, Int_t run,  Float_t refX, Int_t type, Int_t integ, Double_t bz);
32   static void  MakeDistortionMapCosmic(THnSparse * his0, TTreeSRedirector *pcstream, const char* hname, Int_t run,  Float_t refX, Int_t type);
33   static void  MakeDistortionMapSector(THnSparse * his0, TTreeSRedirector *pcstream, const char* hname, Int_t run, Int_t type, Double_t bz);
34   //
35   // Create a distortion trees with the numerical derivatives
36   // 
37   //static void MakeLaserDistortionTree(TTree* tree, TObjArray *corrArray, Int_t itype);
38   static void MakeTrackDistortionTree(TTree *tinput, Int_t dtype, Int_t ptype, const TObjArray * corrArray, Int_t step=1, Int_t offset=0, Bool_t debug=0);
39   static void MakeSectorDistortionTree(TTree *tinput, Int_t dtype, Int_t ptype, const TObjArray * corrArray, Int_t step=1, Int_t offset=0, Bool_t debug=0);
40   void SetMaxChi2(Double_t maxChi2) {fgMaxChi2HelixAt=maxChi2;}
41 private:
42
43 private:
44   static Double_t fgMaxChi2HelixAt;  // max chi2 per point in helix fit 
45   AliTPCCorrectionFit& operator=(const AliTPCCorrectionFit&); // not implemented
46   AliTPCCorrectionFit(const AliTPCCorrectionFit&); // not implemented
47   ClassDef(AliTPCCorrectionFit,1)
48 };
49
50 #endif