]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/TRD/AliTRDcheckTRK.h
Remove not needed histograms
[u/mrichter/AliRoot.git] / PWG1 / TRD / AliTRDcheckTRK.h
1 #ifndef ALITRDCHECKTRK_H
2 #define ALITRDCHECKTRK_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7 ////////////////////////////////////////////////////////////////////////////
8 //                                                                        //
9 //  TRD tracker systematic                                                //
10 //                                                                        //
11 //  Authors:                                                              //
12 //    Alexandru Bercuci <A.Bercuci@gsi.de>                                //
13 //                                                                        //
14 ////////////////////////////////////////////////////////////////////////////
15
16 #ifndef ALITRDRECOTASK_H
17 #include "AliTRDrecoTask.h"
18 #endif
19
20 template <typename Value> class TVectorT;
21 typedef struct TVectorT<Double_t> TVectorD;
22 class TH1;
23 class TObjArray;
24 class AliExternalTrackParam;
25 class AliTRDtrackV1;
26 class AliTRDcheckTRK : public AliTRDrecoTask
27 {
28 public:
29   enum ETRDcheckTRKconst {
30      kNbunchCross = 3  // no of classes for bunch crossing
31     ,kNpt         = 24 // no of log bins in pt spectrum
32     ,kNcharge     = 2
33   };
34   enum ETRDcheckTRKclasses {
35      kEntry = 0
36     ,kPropagation
37     ,kNclasses
38   };
39   enum ETRDcheckTRKprojs {
40     kBC    = 0 // bunch cross
41     ,kPhi
42     ,kEta
43     ,kSpeciesChgRC
44     ,kPt
45     ,kYrez
46     ,kZrez
47     ,kPrez
48     ,kNdim  // no of dimensions in the THnSparse
49   };
50   AliTRDcheckTRK();
51   AliTRDcheckTRK(char* name);
52   virtual ~AliTRDcheckTRK();
53   static Float_t  GetKalmanStep()                      { return fgKalmanStep;}
54   Int_t           GetSpeciesByMass(Float_t m);
55   Int_t           GetPtBin(Float_t pt);
56   Bool_t          GetRefFigure(Int_t ifig);
57   static Bool_t   HasClRecalibrate()                   { return fgClRecalibrate;}
58   static Bool_t   HasKalmanUpdate()                    { return fgKalmanUpdate;}
59   TObjArray*      Histos();
60   TH1*            PlotEntry(const AliTRDtrackV1 *t=NULL);
61   TH1*            PlotPropagation(const AliTRDtrackV1 *t=NULL);
62   static Bool_t   PropagateKalman(const AliTRDtrackV1 *t, AliExternalTrackParam *ref,
63                     TVectorD *dx, TVectorD *dy, TVectorD *dz, TVectorD *dphi,
64                     TVectorD *pt, TVectorD *phi, TVectorD *eta,
65                     TVectorD *budget=NULL, TVectorD *c=NULL, Option_t *opt="");
66   static void     SetKalmanStep(Float_t step)          { fgKalmanStep=step;}
67   static void     SetClRecalibrate(Bool_t set=kTRUE)   { fgClRecalibrate=set;}
68   static void     SetKalmanUpdate(Bool_t set=kTRUE)    { fgKalmanUpdate=set;}
69
70 private:
71   AliTRDcheckTRK(const AliTRDcheckTRK&);
72   AliTRDcheckTRK& operator=(const AliTRDcheckTRK&);
73   Bool_t          MakeProjectionEtaPhi();
74
75   // kalman related settings
76   static Bool_t  fgKalmanUpdate;  // update Kalman with TRD point
77   static Bool_t  fgClRecalibrate; // recalibrate clusters and recalculate tracklet fit
78   static Float_t fgKalmanStep;    // Kalman stepping
79
80   Double_t       fPtBins[kNpt+1]; // discretization of pt range
81   TH1            *fProj[10];      //! array of histo projections
82
83   ClassDef(AliTRDcheckTRK, 1) // TRD tracker systematic
84 };
85
86 #endif