Added another recoParam to the TOF recoParam object, i.e. time window to discriminate...
[u/mrichter/AliRoot.git] / TOF / AliTOFRecoParam.h
1 #ifndef ALITOFRECOPARAM_H
2 #define ALITOFRECOPARAM_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 // Class with TOF reconstruction parameters                                  //
9 //                                                                           //
10 ///////////////////////////////////////////////////////////////////////////////
11
12
13 #include "AliDetectorRecoParam.h"
14
15 #include "AliTOFGeometry.h"
16
17 class AliTOFRecoParam : public AliDetectorRecoParam
18 {
19  public: 
20   AliTOFRecoParam();
21   AliTOFRecoParam(const AliTOFRecoParam &p); //Copy Ctor 
22   AliTOFRecoParam& operator=(const AliTOFRecoParam &p); // ass. op.
23   virtual ~AliTOFRecoParam();
24
25   virtual void PrintParameters() const;
26
27   //Getters
28   Bool_t   UseTimeZero()           const  { return fTimeZero;}
29   Bool_t   GetTimeZerofromT0()     const  { return fTimeZerofromT0;}
30   Bool_t   GetTimeZerofromTOF()    const  { return fTimeZerofromTOF;}
31   Bool_t   GetTimeWalkCorr()       const  { return fTimeWalkCorr;}
32   Bool_t   GetApplyPbPbCuts()      const  { return fApplyPbPbCuts;}
33
34   Float_t  GetWindowSizeMaxY()     const  { return fWindowSizeMaxY;}
35   Float_t  GetWindowSizeMaxZ()     const  { return fWindowSizeMaxZ;}
36   Float_t  GetWindowScaleFact()    const  { return fWindowScaleFact;}
37   Float_t  GetDistanceCut()        const  { return fDistanceCut;}
38   Float_t  GetSensRadius()         const  { return fSensRadius;}
39   Float_t  GetStepSize()           const  { return fStepSize;}
40   Double_t  GetMaxChi2()           const  { return fMaxChi2;}
41   Double_t  GetMaxChi2TRD()        const  { return fMaxChi2TRD;}
42   Double_t  GetTimeResolution()    const  { return fTimeResolution;}
43   Double_t  GetTimeNSigma()        const  { return fTimeNSigma;}
44   Int_t     GetMaxDeltaTime()      const  { return fMaxDeltaTime;}
45
46   //Setters
47
48   void   SetTimeZero( Bool_t flag)        {fTimeZero=flag;}
49   void   SetTimeZerofromT0( Bool_t flag)  {fTimeZerofromT0=flag;}
50   void   SetTimeZerofromTOF(Bool_t flag)  {fTimeZerofromTOF=flag;}
51   void   SetTimeWalkCorr(Bool_t flag)     {fTimeWalkCorr=flag;}
52   void   SetApplyPbPbCuts(Bool_t flag)    {fApplyPbPbCuts=flag;}
53
54   void  SetWindowSizeMaxY(Float_t in)   {fWindowSizeMaxY=in;}
55   void  SetWindowSizeMaxZ(Float_t in)   {fWindowSizeMaxZ=in;}
56   void  SetWindowScaleFact(Float_t in) {fWindowScaleFact=in;}
57   void  SetDistanceCut(Float_t in)  {fDistanceCut=in;}
58   void  SetSensRadius(Float_t in)  {fSensRadius=in;}
59   void  SetStepSize(Float_t in)  {fStepSize=in;}
60   void  SetMaxChi2(Double_t in)  {fMaxChi2=in;}
61   void  SetMaxChi2TRD(Double_t in)  {fMaxChi2TRD=in;}
62   void  SetTimeResolution(Double_t in)  {fTimeResolution=in;}
63   void  SetTimeNSigma(Double_t in)  {fTimeNSigma=in;}
64   void  SetMaxDeltaTime(Int_t a)   {fMaxDeltaTime = a;}; // to set deltaTime [bin number]
65   void  SetMaxDeltaTime(Float_t a) {fMaxDeltaTime = (Int_t)(a/AliTOFGeometry::TdcBinWidth());}; // to set deltaTime [ps]
66
67   static   AliTOFRecoParam *GetPbPbparam();       // reco param for PbPb.
68   static   AliTOFRecoParam *GetPPparam();         // reco param for PP
69  private:
70
71   Bool_t fTimeZero; //use Time Zero info in Pid
72   Bool_t fTimeZerofromT0; // Use Time Zero as determined by T0
73   Bool_t fTimeZerofromTOF; //Use Time Zero as determined from TOF
74   Bool_t fTimeWalkCorr; // Correct for signal time walk in z
75   Bool_t fApplyPbPbCuts; //apply "high flux" cuts
76
77   Float_t fWindowSizeMaxY;  // cluster search window size, Y (cm)
78   Float_t fWindowSizeMaxZ;  // cluster search window size, Z (cm)
79   Float_t fWindowScaleFact;  // cluster search window, scale factor
80   Float_t fDistanceCut;  // cut on the closest approach distance
81   Float_t fSensRadius;  // Average radius of sensitive volumes (cm)
82   Float_t fStepSize;  // Propagation step size (cm)
83   Double_t fMaxChi2;  // maximum X2 track-tof clusters
84   Double_t fMaxChi2TRD;  // maximum X2 track-tof clusters (TRD)
85   Double_t fTimeResolution;  // Time resolution for resp. function in PID (ps)
86   Double_t fTimeNSigma;  // N-Sigma Range used for resp. function in PID 
87   Int_t    fMaxDeltaTime; // max time difference in between two tof
88                           // measurements for two neighbouring pads
89                           // [number of bins]
90
91   ClassDef(AliTOFRecoParam, 4)
92 };
93
94 #endif