]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/AliTPCcalibLaser.h
Adding pad type correction (Marian)
[u/mrichter/AliRoot.git] / TPC / AliTPCcalibLaser.h
1 #ifndef ALITPCCALIBLASER_H
2 #define ALITPCCALIBLASER_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 ////
10
11 #include "TObject.h"
12 #include "TObjArray.h"
13 #include "TLinearFitter.h"
14 #include "AliTPCcalibBase.h"
15 #include "TH1.h"
16
17
18 class AliExternalTrackParam;
19 class AliESDtrack;
20 class AliESDEvent;
21 class AliESDfriend;
22 class TGraphErrors;
23 class TTree;
24
25 class AliTPCcalibLaser:public AliTPCcalibBase {
26 public:
27   AliTPCcalibLaser();
28   AliTPCcalibLaser(const Text_t *name, const Text_t *title);
29   virtual ~AliTPCcalibLaser();
30   virtual void     Process(AliESDEvent *event);
31   virtual void Analyze();
32   virtual Long64_t Merge(TCollection *li);
33   virtual void DumpMeanInfo(Float_t bfield, Int_t minEntries=100);
34   static  void DumpScanInfo(TTree * tree);
35   //
36   //
37   virtual void DumpLaser(Int_t id);
38   virtual void RefitLaser(Int_t id);
39   virtual void RefitLaserJW(Int_t id);
40   void         FitDriftV();
41   void         MakeDistHisto();
42   void         AddCut(Double_t xcut, Double_t ycut, Double_t ncl){fEdgeXcuts[fNcuts]=xcut; fEdgeYcuts[fNcuts]=ycut; fNClCuts[fNcuts]=ncl; fNcuts++;}
43
44   Int_t  FindMirror(AliESDtrack *track, AliTPCseed *seed);
45   Bool_t AcceptLaser(Int_t id);
46   
47   AliESDEvent  * fESD;             //! ESD event  - not OWNER
48   AliESDfriend * fESDfriend;       //! ESD event  - not OWNER
49   TObjArray      fTracksMirror;    //! tracks with mirror information
50   TObjArray      fTracksEsd;       //! tracks with reconstructed information - 
51   //                               not owner ESD
52   TObjArray      fTracksEsdParam;  //! tracks with reconstructed information - 
53   //                               is owner ESD at mirror
54   TObjArray      fTracksTPC;       //! tracks with reconstructed information - TPC
55   //
56   TObjArray      fDeltaZ;          //-> array of histograms of delta z for each track
57   TObjArray      fDeltaPhi;        //-> array of histograms of delta z for each track
58   TObjArray      fDeltaPhiP;       //-> array of histograms of delta z for each track
59   TObjArray      fSignals;         //->Array of dedx signals
60   //
61   // Residual histograms
62   //
63   TObjArray      fDeltaYres;       //-> array of histograms of delta y residuals for each track
64   TObjArray      fDeltaZres;       //-> array of histograms of delta z residuals for each track
65   // Fit Parameter histograms
66   TObjArray      fPol2Par2InY;      //-> array of histograms. 2nd derivative of pol2 fits per track (Inner chamber)
67   TObjArray      fDiffPar1InY;      //-> array of histograms. difference of 1st derivative of pol1 and pol2 fits per track (Inner chamber)
68   TObjArray      fPol2Par2OutY;     //-> array of histograms. 2nd derivative of pol2 fits per track (Outer chamber)
69   TObjArray      fDiffPar1OutY;     //-> array of histograms. difference of 1st derivative of pol1 and pol2 fits per track (Outer chamber)
70   TObjArray      fPol2Par2InZ;      //-> array of histograms. 2nd derivative of pol2 fits per track (Inner chamber)
71   TObjArray      fDiffPar1InZ;      //-> array of histograms. difference of 1st derivative of pol1 and pol2 fits per track (Inner chamber)
72   TObjArray      fPol2Par2OutZ;     //-> array of histograms. 2nd derivative of pol2 fits per track (Outer chamber)
73   TObjArray      fDiffPar1OutZ;     //-> array of histograms. difference of 1st derivative of pol1 and pol2 fits per track (Outer chamber)
74   //
75   TVectorD*      fFitAside;        //! drift fit - A side
76   TVectorD*      fFitCside;        //! drift fit - C- side
77   //
78   TVectorD       fEdgeXcuts;       //! cuts in local x direction; used in the refit of the laser tracks
79   TVectorD       fEdgeYcuts;       //! cuts in local y direction; used in the refit of the laser tracks
80   TVectorD       fNClCuts;         //! cuts on the number of clusters per tracklet; used in the refit of the laser tracks
81   Int_t          fNcuts;           //! number of cuts
82   //
83   Int_t          fRun;             // current run number
84   Int_t          fEvent;           // cuttent event - internal counter
85 private:
86   ClassDef(AliTPCcalibLaser,1)
87 };
88
89
90
91
92
93 #endif