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"
20 /*template <typename Value> class TVectorT;
21 typedef struct TVectorT<Double_t> TVectorD;*/
24 class AliTRDcheckTRK : public AliTRDresolution
27 enum ETRDcheckTRKconst {
28 kNbunchCross = 3 // no of classes for bunch crossing
29 ,kNpt = 24 // no of log bins in pt spectrum
32 enum ETRDcheckTRKclasses {
38 AliTRDcheckTRK(char* name);
39 virtual ~AliTRDcheckTRK();
40 static Float_t GetKalmanStep() { return fgKalmanStep;}
41 static Float_t* GetCalib(Int_t det) { return fgCalib[det];}
42 Int_t GetSpeciesByMass(Float_t m);
43 Int_t GetPtBin(Float_t pt);
44 static Bool_t HasClRecalibrate() { return fgClRecalibrate;}
45 static Bool_t HasKalmanUpdate() { return fgKalmanUpdate;}
46 static void LoadCalib(Float_t *calib) { memcpy(fgCalib, calib, 540*2*sizeof(Float_t));}
47 TH1* PlotTrack(const AliTRDtrackV1 *t=NULL);
48 static Bool_t PropagateKalman(AliTRDtrackV1 &t);
49 static void SetKalmanStep(Float_t step) { fgKalmanStep=step;}
50 static void SetClRecalibrate(Bool_t set=kTRUE) { fgClRecalibrate=set;}
51 static void SetKalmanUpdate(Bool_t set=kTRUE) { fgKalmanUpdate=set;}
54 AliTRDcheckTRK(const AliTRDcheckTRK&);
55 AliTRDcheckTRK& operator=(const AliTRDcheckTRK&);
57 // kalman related settings
58 static Bool_t fgKalmanUpdate; // update Kalman with TRD point
59 static Bool_t fgClRecalibrate; // recalibrate clusters and recalculate tracklet fit
60 static Float_t fgKalmanStep; // Kalman stepping
61 static Float_t fgCalib[540][2]; //! test new calibration params [method][detector][vd/exb]
63 ClassDef(AliTRDcheckTRK, 1) // TRD tracker systematic