add new mergeable classes for chamber status and trigger statistics
[u/mrichter/AliRoot.git] / PWGPP / TRD / AliTRDcheckTRK.h
CommitLineData
3ceb45ae 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
3ed01fbe 16#ifndef ALITRDRESOLUTION_H
17#include "AliTRDresolution.h"
3ceb45ae 18#endif
19
3ceb45ae 20class TObjArray;
3ceb45ae 21class AliTRDtrackV1;
3ed01fbe 22class AliTRDcheckTRK : public AliTRDresolution
3ceb45ae 23{
24public:
b9058d72 25 enum ETRDcheckTRKsteer {
26 kKalmanUpdate = 0
27 ,kTrkltRefit
28 ,kClRecalibrate
29 ,kUseITS
30 };
3ceb45ae 31 enum ETRDcheckTRKconst {
566c3d46 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
3ceb45ae 36 };
3ceb45ae 37 AliTRDcheckTRK();
38 AliTRDcheckTRK(char* name);
39 virtual ~AliTRDcheckTRK();
40 static Float_t GetKalmanStep() { return fgKalmanStep;}
b9058d72 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);}
566c3d46 44 virtual TObjArray* Histos();
3ed01fbe 45 TH1* PlotTrack(const AliTRDtrackV1 *t=NULL);
566c3d46 46 TH1* DoRoads(const AliTRDtrackV1 *t=NULL);
35983729 47 static Bool_t PropagateKalman(AliTRDtrackV1 &t, AliExternalTrackParam *ref);
3ceb45ae 48 static void SetKalmanStep(Float_t step) { fgKalmanStep=step;}
b9058d72 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);}
3ceb45ae 54private:
55 AliTRDcheckTRK(const AliTRDcheckTRK&);
56 AliTRDcheckTRK& operator=(const AliTRDcheckTRK&);
566c3d46 57 void MakePtCalib(Float_t pt0=0.3, Float_t dpt=0.002);
58 Int_t GetPtBinCalib(Float_t pt);
3ceb45ae 59
60 // kalman related settings
b9058d72 61 static UChar_t fgSteer; // steering bit map
3ceb45ae 62 static Float_t fgKalmanStep; // Kalman stepping
566c3d46 63 Float_t fPtBinCalib[kNptBins+1]; //! pt segmentation
3ceb45ae 64
65 ClassDef(AliTRDcheckTRK, 1) // TRD tracker systematic
66};
67
0d69a485 68#endif