]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliTOFPIDResponse.h
AliTPCclustererMI.cxx - printf statement
[u/mrichter/AliRoot.git] / STEER / AliTOFPIDResponse.h
1 #ifndef ALITOFPIDRESPONSE_H
2 #define ALITOFPIDRESPONSE_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //-------------------------------------------------------
8 //                    TOF PID class
9 //   Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch 
10 //-------------------------------------------------------
11
12 #include "TObject.h"
13 #include "AliPID.h"
14
15 class AliTOFPIDResponse : public TObject {
16 public:
17   AliTOFPIDResponse();
18   AliTOFPIDResponse(Double_t *param);
19  ~AliTOFPIDResponse(){}
20
21   void     SetTimeResolution(Float_t res) { fSigma = res; }
22   void     SetTimeZero(Double_t t0) { fTime0=t0; }
23   Double_t GetTimeZero() const { return fTime0; }
24
25   void     SetMaxMismatchProbability(Double_t p) {fPmax=p;}
26   Double_t GetMaxMismatchProbability() const {return fPmax;}
27
28   Double_t GetExpectedSigma(Float_t mom, Float_t tof, Float_t mass) const;
29
30
31   Double_t GetMismatchProbability(Double_t p,Double_t mass) const;
32
33   void     SetT0event(Float_t *t0event){for(Int_t i=0;i < fNmomBins;i++) fT0event[i] = t0event[i];};
34   void     SetT0resolution(Float_t *t0resolution){for(Int_t i=0;i < fNmomBins;i++) fT0resolution[i] = t0resolution[i];};
35   //  void     LoadT0infoFromESD(Option_t *option){}; // to be added
36   void     ResetT0info(){ for(Int_t i=0;i < fNmomBins;i++){ fT0event[i] = 0.0; fT0resolution[i] = 0.0;} };
37   void     SetMomBoundary();
38   Int_t    GetMomBin(Float_t p) const;
39   Int_t    GetNmomBins(){return fNmomBins;};
40   Float_t  GetMinMom(Int_t ibin){if(ibin >=0 && ibin <= fNmomBins) return fPCutMin[ibin]; else return 0.0;};
41   Float_t  GetMaxMom(Int_t ibin){if(ibin >=0 && ibin <= fNmomBins) return fPCutMin[ibin+1]; else return 0.0;};
42   void     SetT0bin(Int_t ibin,Float_t t0bin){if(ibin >=0 && ibin <= fNmomBins) fT0event[ibin] = t0bin;};
43   void     SetT0binRes(Int_t ibin,Float_t t0binRes){if(ibin >=0 && ibin <= fNmomBins) fT0resolution[ibin] = t0binRes;};
44   Float_t  GetT0bin(Int_t ibin){if(ibin >=0 && ibin <= fNmomBins) return fT0event[ibin]; else return 0.0;};
45   Float_t  GetT0binRes(Int_t ibin){if(ibin >=0 && ibin <= fNmomBins) return fT0resolution[ibin]; else return 0.0;};
46
47  private:
48   Double_t fSigma;        // intrinsic TOF resolution
49   Double_t fPmax;         // "maximal" probability of mismathing (at ~0.5 GeV/c)
50   Double_t fTime0;        // time zero
51
52   // About event time (t0) info
53   static const Int_t fNmomBins = 10; // number of momentum bin 
54   Float_t fT0event[fNmomBins];    // t0 (best, T0, T0-TOF, ...) of the event as a function of p 
55   Float_t fT0resolution[fNmomBins]; // t0 (best, T0, T0-TOF, ...) resolution as a function of p 
56   Float_t fPCutMin[fNmomBins+1]; // min values for p bins
57   
58   ClassDef(AliTOFPIDResponse,2)   // TOF PID class
59 };
60
61 #endif