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

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Class with TOF reconstruction parameters                                  //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////


#include "AliDetectorRecoParam.h"

#include "AliTOFGeometry.h"

class AliTOFRecoParam : public AliDetectorRecoParam
{
 public: 
  AliTOFRecoParam();
  AliTOFRecoParam(const AliTOFRecoParam &p); //Copy Ctor 
  AliTOFRecoParam& operator=(const AliTOFRecoParam &p); // ass. op.
  virtual ~AliTOFRecoParam();

  virtual void PrintParameters() const;

  //Getters
  Bool_t   UseTimeZero()           const  { return fTimeZero;}
  Bool_t   GetTimeZerofromT0()     const  { return fTimeZerofromT0;}
  Bool_t   GetTimeZerofromTOF()    const  { return fTimeZerofromTOF;}
  Bool_t   GetTimeWalkCorr()       const  { return fTimeWalkCorr;}
  Bool_t   GetApplyPbPbCuts()      const  { return fApplyPbPbCuts;}

  Float_t  GetWindowSizeMaxY()     const  { return fWindowSizeMaxY;}
  Float_t  GetWindowSizeMaxZ()     const  { return fWindowSizeMaxZ;}
  Float_t  GetWindowScaleFact()    const  { return fWindowScaleFact;}
  Float_t  GetDistanceCut()        const  { return fDistanceCut;}
  Float_t  GetSensRadius()         const  { return fSensRadius;}
  Float_t  GetStepSize()           const  { return fStepSize;}
  Double_t  GetMaxChi2()           const  { return fMaxChi2;}
  Double_t  GetMaxChi2TRD()        const  { return fMaxChi2TRD;}
  Double_t  GetTimeResolution()    const  { return fTimeResolution;}
  Double_t  GetTimeNSigma()        const  { return fTimeNSigma;}
  Int_t     GetMaxDeltaTime()      const  { return fMaxDeltaTime;}
  Int_t     GetStartTimeType()     const  { return fStartTimeType;}

  //Setters

  void   SetTimeZero( Bool_t flag)        {fTimeZero=flag;}
  void   SetTimeZerofromT0( Bool_t flag)  {fTimeZerofromT0=flag;}
  void   SetTimeZerofromTOF(Bool_t flag)  {fTimeZerofromTOF=flag;}
  void   SetTimeWalkCorr(Bool_t flag)     {fTimeWalkCorr=flag;}
  void   SetApplyPbPbCuts(Bool_t flag)    {fApplyPbPbCuts=flag;}

  void  SetWindowSizeMaxY(Float_t in)   {fWindowSizeMaxY=in;}
  void  SetWindowSizeMaxZ(Float_t in)   {fWindowSizeMaxZ=in;}
  void  SetWindowScaleFact(Float_t in) {fWindowScaleFact=in;}
  void  SetDistanceCut(Float_t in)  {fDistanceCut=in;}
  void  SetSensRadius(Float_t in)  {fSensRadius=in;}
  void  SetStepSize(Float_t in)  {fStepSize=in;}
  void  SetMaxChi2(Double_t in)  {fMaxChi2=in;}
  void  SetMaxChi2TRD(Double_t in)  {fMaxChi2TRD=in;}
  void  SetTimeResolution(Double_t in)  {fTimeResolution=in;}
  void  SetTimeNSigma(Double_t in)  {fTimeNSigma=in;}
  void  SetMaxDeltaTime(Int_t a)   {fMaxDeltaTime = a;}; // to set deltaTime [bin number]
  void  SetMaxDeltaTime(Float_t a) {fMaxDeltaTime = (Int_t)(a/AliTOFGeometry::TdcBinWidth());}; // to set deltaTime [ps]
  void  SetStartTimeType(Int_t a) {fStartTimeType = a;};

  static   AliTOFRecoParam *GetPbPbparam();       // reco param for PbPb.
  static   AliTOFRecoParam *GetPPparam();         // reco param for PP
 private:

  Bool_t fTimeZero; //use Time Zero info in Pid
  Bool_t fTimeZerofromT0; // Use Time Zero as determined by T0
  Bool_t fTimeZerofromTOF; //Use Time Zero as determined from TOF
  Bool_t fTimeWalkCorr; // Correct for signal time walk in z
  Bool_t fApplyPbPbCuts; //apply "high flux" cuts

  Float_t fWindowSizeMaxY;  // cluster search window size, Y (cm)
  Float_t fWindowSizeMaxZ;  // cluster search window size, Z (cm)
  Float_t fWindowScaleFact;  // cluster search window, scale factor
  Float_t fDistanceCut;  // cut on the closest approach distance
  Float_t fSensRadius;  // Average radius of sensitive volumes (cm)
  Float_t fStepSize;  // Propagation step size (cm)
  Double_t fMaxChi2;  // maximum X2 track-tof clusters
  Double_t fMaxChi2TRD;  // maximum X2 track-tof clusters (TRD)
  Double_t fTimeResolution;  // Time resolution for resp. function in PID (ps)
  Double_t fTimeNSigma;  // N-Sigma Range used for resp. function in PID 
  Int_t    fMaxDeltaTime; // max time difference in between two tof
                          // measurements for two neighbouring pads
                          // [number of bins]
  Int_t fStartTimeType; // flag to set start_time to be used for TOF PID

  ClassDef(AliTOFRecoParam, 5)
};

#endif
 AliTOFRecoParam.h:1
 AliTOFRecoParam.h:2
 AliTOFRecoParam.h:3
 AliTOFRecoParam.h:4
 AliTOFRecoParam.h:5
 AliTOFRecoParam.h:6
 AliTOFRecoParam.h:7
 AliTOFRecoParam.h:8
 AliTOFRecoParam.h:9
 AliTOFRecoParam.h:10
 AliTOFRecoParam.h:11
 AliTOFRecoParam.h:12
 AliTOFRecoParam.h:13
 AliTOFRecoParam.h:14
 AliTOFRecoParam.h:15
 AliTOFRecoParam.h:16
 AliTOFRecoParam.h:17
 AliTOFRecoParam.h:18
 AliTOFRecoParam.h:19
 AliTOFRecoParam.h:20
 AliTOFRecoParam.h:21
 AliTOFRecoParam.h:22
 AliTOFRecoParam.h:23
 AliTOFRecoParam.h:24
 AliTOFRecoParam.h:25
 AliTOFRecoParam.h:26
 AliTOFRecoParam.h:27
 AliTOFRecoParam.h:28
 AliTOFRecoParam.h:29
 AliTOFRecoParam.h:30
 AliTOFRecoParam.h:31
 AliTOFRecoParam.h:32
 AliTOFRecoParam.h:33
 AliTOFRecoParam.h:34
 AliTOFRecoParam.h:35
 AliTOFRecoParam.h:36
 AliTOFRecoParam.h:37
 AliTOFRecoParam.h:38
 AliTOFRecoParam.h:39
 AliTOFRecoParam.h:40
 AliTOFRecoParam.h:41
 AliTOFRecoParam.h:42
 AliTOFRecoParam.h:43
 AliTOFRecoParam.h:44
 AliTOFRecoParam.h:45
 AliTOFRecoParam.h:46
 AliTOFRecoParam.h:47
 AliTOFRecoParam.h:48
 AliTOFRecoParam.h:49
 AliTOFRecoParam.h:50
 AliTOFRecoParam.h:51
 AliTOFRecoParam.h:52
 AliTOFRecoParam.h:53
 AliTOFRecoParam.h:54
 AliTOFRecoParam.h:55
 AliTOFRecoParam.h:56
 AliTOFRecoParam.h:57
 AliTOFRecoParam.h:58
 AliTOFRecoParam.h:59
 AliTOFRecoParam.h:60
 AliTOFRecoParam.h:61
 AliTOFRecoParam.h:62
 AliTOFRecoParam.h:63
 AliTOFRecoParam.h:64
 AliTOFRecoParam.h:65
 AliTOFRecoParam.h:66
 AliTOFRecoParam.h:67
 AliTOFRecoParam.h:68
 AliTOFRecoParam.h:69
 AliTOFRecoParam.h:70
 AliTOFRecoParam.h:71
 AliTOFRecoParam.h:72
 AliTOFRecoParam.h:73
 AliTOFRecoParam.h:74
 AliTOFRecoParam.h:75
 AliTOFRecoParam.h:76
 AliTOFRecoParam.h:77
 AliTOFRecoParam.h:78
 AliTOFRecoParam.h:79
 AliTOFRecoParam.h:80
 AliTOFRecoParam.h:81
 AliTOFRecoParam.h:82
 AliTOFRecoParam.h:83
 AliTOFRecoParam.h:84
 AliTOFRecoParam.h:85
 AliTOFRecoParam.h:86
 AliTOFRecoParam.h:87
 AliTOFRecoParam.h:88
 AliTOFRecoParam.h:89
 AliTOFRecoParam.h:90
 AliTOFRecoParam.h:91
 AliTOFRecoParam.h:92
 AliTOFRecoParam.h:93
 AliTOFRecoParam.h:94
 AliTOFRecoParam.h:95
 AliTOFRecoParam.h:96
 AliTOFRecoParam.h:97