ROOT logo
#ifndef ALITRDCHECKTRK_H
#define ALITRDCHECKTRK_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */


////////////////////////////////////////////////////////////////////////////
//                                                                        //
//  TRD tracker systematic                                                //
//                                                                        //
//  Authors:                                                              //
//    Alexandru Bercuci <A.Bercuci@gsi.de>                                //
//                                                                        //
////////////////////////////////////////////////////////////////////////////

#ifndef ALITRDRESOLUTION_H
#include "AliTRDresolution.h"
#endif

class TObjArray;
class AliTRDtrackV1;
class AliTRDcheckTRK : public AliTRDresolution
{
public:
  enum ETRDcheckTRKsteer {
     kKalmanUpdate  = 0
    ,kTrkltRefit
    ,kClRecalibrate
    ,kUseITS
  };
  enum ETRDcheckTRKconst {
     kNptBins    = 25 // no of log bins in pt spectrum
    ,kNSigmaBins = 25 // no of sigma bins
    ,kNclusters  = 19 // no of no of clusters
    ,kNdim       = 7  // no of dimensions in THnSparse
  };
  AliTRDcheckTRK();
  AliTRDcheckTRK(char* name);
  virtual ~AliTRDcheckTRK();
  static Float_t  GetKalmanStep()                      { return fgKalmanStep;}
  static Bool_t   HasClRecalibrate()                   { return TESTBIT(fgSteer, kClRecalibrate);}
  static Bool_t   HasKalmanUpdate()                    { return TESTBIT(fgSteer, kKalmanUpdate);}
  static Bool_t   HasTrkltRefit()                      { return TESTBIT(fgSteer, kTrkltRefit);}
  virtual TObjArray*  Histos();
  TH1*            PlotTrack(const AliTRDtrackV1 *t=NULL);
  TH1*            DoRoads(const AliTRDtrackV1 *t=NULL);
  static Bool_t   PropagateKalman(AliTRDtrackV1 &t, AliExternalTrackParam *ref);
  static void     SetKalmanStep(Float_t step)          { fgKalmanStep=step;}
  static void     SetClRecalibrate(Bool_t s=kTRUE)     { if(s){SETBIT(fgSteer, kClRecalibrate); SetTrkltRefit();} else CLRBIT(fgSteer, kClRecalibrate);}
  static void     SetKalmanUpdate(Bool_t s=kTRUE)      { if(s) SETBIT(fgSteer, kKalmanUpdate); else CLRBIT(fgSteer, kKalmanUpdate);}
  static void     SetTrkltRefit(Bool_t s=kTRUE)        { if(s) SETBIT(fgSteer, kTrkltRefit); else CLRBIT(fgSteer, kTrkltRefit);}
  static void     SetUseITS(Bool_t s=kTRUE)            { if(s) SETBIT(fgSteer, kUseITS); else CLRBIT(fgSteer, kUseITS);}
  static Bool_t   UseITS()                             { return TESTBIT(fgSteer, kUseITS);}
private:
  AliTRDcheckTRK(const AliTRDcheckTRK&);
  AliTRDcheckTRK& operator=(const AliTRDcheckTRK&);
  void     MakePtCalib(Float_t pt0=0.3, Float_t dpt=0.002);
  Int_t    GetPtBinCalib(Float_t pt);

  // kalman related settings
  static UChar_t fgSteer;         // steering bit map
  static Float_t fgKalmanStep;    // Kalman stepping
  Float_t        fPtBinCalib[kNptBins+1];  //! pt segmentation

  ClassDef(AliTRDcheckTRK, 1) // TRD tracker systematic
};

#endif
 AliTRDcheckTRK.h:1
 AliTRDcheckTRK.h:2
 AliTRDcheckTRK.h:3
 AliTRDcheckTRK.h:4
 AliTRDcheckTRK.h:5
 AliTRDcheckTRK.h:6
 AliTRDcheckTRK.h:7
 AliTRDcheckTRK.h:8
 AliTRDcheckTRK.h:9
 AliTRDcheckTRK.h:10
 AliTRDcheckTRK.h:11
 AliTRDcheckTRK.h:12
 AliTRDcheckTRK.h:13
 AliTRDcheckTRK.h:14
 AliTRDcheckTRK.h:15
 AliTRDcheckTRK.h:16
 AliTRDcheckTRK.h:17
 AliTRDcheckTRK.h:18
 AliTRDcheckTRK.h:19
 AliTRDcheckTRK.h:20
 AliTRDcheckTRK.h:21
 AliTRDcheckTRK.h:22
 AliTRDcheckTRK.h:23
 AliTRDcheckTRK.h:24
 AliTRDcheckTRK.h:25
 AliTRDcheckTRK.h:26
 AliTRDcheckTRK.h:27
 AliTRDcheckTRK.h:28
 AliTRDcheckTRK.h:29
 AliTRDcheckTRK.h:30
 AliTRDcheckTRK.h:31
 AliTRDcheckTRK.h:32
 AliTRDcheckTRK.h:33
 AliTRDcheckTRK.h:34
 AliTRDcheckTRK.h:35
 AliTRDcheckTRK.h:36
 AliTRDcheckTRK.h:37
 AliTRDcheckTRK.h:38
 AliTRDcheckTRK.h:39
 AliTRDcheckTRK.h:40
 AliTRDcheckTRK.h:41
 AliTRDcheckTRK.h:42
 AliTRDcheckTRK.h:43
 AliTRDcheckTRK.h:44
 AliTRDcheckTRK.h:45
 AliTRDcheckTRK.h:46
 AliTRDcheckTRK.h:47
 AliTRDcheckTRK.h:48
 AliTRDcheckTRK.h:49
 AliTRDcheckTRK.h:50
 AliTRDcheckTRK.h:51
 AliTRDcheckTRK.h:52
 AliTRDcheckTRK.h:53
 AliTRDcheckTRK.h:54
 AliTRDcheckTRK.h:55
 AliTRDcheckTRK.h:56
 AliTRDcheckTRK.h:57
 AliTRDcheckTRK.h:58
 AliTRDcheckTRK.h:59
 AliTRDcheckTRK.h:60
 AliTRDcheckTRK.h:61
 AliTRDcheckTRK.h:62
 AliTRDcheckTRK.h:63
 AliTRDcheckTRK.h:64
 AliTRDcheckTRK.h:65
 AliTRDcheckTRK.h:66
 AliTRDcheckTRK.h:67
 AliTRDcheckTRK.h:68