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 ALITRDRESOLUTION_H
17 #include "AliTRDresolution.h"
22 class AliTRDcheckTRK : public AliTRDresolution
25 enum ETRDcheckTRKsteer {
31 enum ETRDcheckTRKconst {
32 kNptBins = 25 // no of log bins in pt spectrum
33 ,kNSigmaBins = 25 // no of sigma bins
34 ,kNclusters = 19 // no of no of clusters
35 ,kNdim = 7 // no of dimensions in THnSparse
38 AliTRDcheckTRK(char* name);
39 virtual ~AliTRDcheckTRK();
40 static Float_t GetKalmanStep() { return fgKalmanStep;}
41 static Bool_t HasClRecalibrate() { return TESTBIT(fgSteer, kClRecalibrate);}
42 static Bool_t HasKalmanUpdate() { return TESTBIT(fgSteer, kKalmanUpdate);}
43 static Bool_t HasTrkltRefit() { return TESTBIT(fgSteer, kTrkltRefit);}
44 virtual TObjArray* Histos();
45 TH1* PlotTrack(const AliTRDtrackV1 *t=NULL);
46 TH1* DoRoads(const AliTRDtrackV1 *t=NULL);
47 static Bool_t PropagateKalman(AliTRDtrackV1 &t, AliExternalTrackParam *ref);
48 static void SetKalmanStep(Float_t step) { fgKalmanStep=step;}
49 static void SetClRecalibrate(Bool_t s=kTRUE) { if(s){SETBIT(fgSteer, kClRecalibrate); SetTrkltRefit();} else CLRBIT(fgSteer, kClRecalibrate);}
50 static void SetKalmanUpdate(Bool_t s=kTRUE) { if(s) SETBIT(fgSteer, kKalmanUpdate); else CLRBIT(fgSteer, kKalmanUpdate);}
51 static void SetTrkltRefit(Bool_t s=kTRUE) { if(s) SETBIT(fgSteer, kTrkltRefit); else CLRBIT(fgSteer, kTrkltRefit);}
52 static void SetUseITS(Bool_t s=kTRUE) { if(s) SETBIT(fgSteer, kUseITS); else CLRBIT(fgSteer, kUseITS);}
53 static Bool_t UseITS() { return TESTBIT(fgSteer, kUseITS);}
55 AliTRDcheckTRK(const AliTRDcheckTRK&);
56 AliTRDcheckTRK& operator=(const AliTRDcheckTRK&);
57 void MakePtCalib(Float_t pt0=0.3, Float_t dpt=0.002);
58 Int_t GetPtBinCalib(Float_t pt);
60 // kalman related settings
61 static UChar_t fgSteer; // steering bit map
62 static Float_t fgKalmanStep; // Kalman stepping
63 Float_t fPtBinCalib[kNptBins+1]; //! pt segmentation
65 ClassDef(AliTRDcheckTRK, 1) // TRD tracker systematic