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 */
7 ////////////////////////////////////////////////////////////////////////////
9 // TRD tracker systematic //
12 // Alexandru Bercuci <A.Bercuci@gsi.de> //
14 ////////////////////////////////////////////////////////////////////////////
16 #ifndef ALITRDRECOTASK_H
17 #include "AliTRDrecoTask.h"
20 template <typename Value> class TVectorT;
21 typedef struct TVectorT<Double_t> TVectorD;
24 class AliExternalTrackParam;
26 class AliTRDcheckTRK : public AliTRDrecoTask
29 enum ETRDcheckTRKconst {
30 kNbunchCross = 3 // no of classes for bunch crossing
31 ,kNpt = 24 // no of log bins in pt spectrum
34 enum ETRDcheckTRKclasses {
39 enum ETRDcheckTRKprojs {
40 kBC = 0 // bunch cross
48 ,kNdim // no of dimensions in the THnSparse
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;}
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;}
71 AliTRDcheckTRK(const AliTRDcheckTRK&);
72 AliTRDcheckTRK& operator=(const AliTRDcheckTRK&);
73 Bool_t MakeProjectionEtaPhi();
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
80 Double_t fPtBins[kNpt+1]; // discretization of pt range
81 TH1 *fProj[10]; //! array of histo projections
83 ClassDef(AliTRDcheckTRK, 1) // TRD tracker systematic