init histogram arrays when they read for the Terminate execution
[u/mrichter/AliRoot.git] / TPC / AliTPCpidESD.h
1 #ifndef ALITPCpIDESD_H
2 #define ALITPCpIDESD_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 //-------------------------------------------------------
7 //                    TPC PID class
8 // A very naive design... Should be made better by the detector experts...
9 //   Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch 
10 // With many additions and modifications suggested by
11 //      Alexander Kalweit, GSI, alexander.philipp.kalweit@cern.ch
12 //      Dariusz Miskowiec, GSI, D.Miskowiec@gsi.de
13 //-------------------------------------------------------
14 #include <Rtypes.h>
15
16 #include "AliPID.h"
17
18 class AliESDEvent;
19 class AliESDtrack;
20
21 class AliTPCpidESD {
22 public:
23   AliTPCpidESD();
24   AliTPCpidESD(Double_t *param);
25   virtual ~AliTPCpidESD() {}
26   void SetBetheBlochParameters(Double_t kp1,
27                                Double_t kp2,
28                                Double_t kp3,
29                                Double_t kp4,
30                                Double_t kp5
31                                );
32   Int_t MakePID(AliESDEvent *event);
33   Double_t Bethe(Double_t bg) const;
34
35   Bool_t ExpectedSignals(const AliESDtrack *t, 
36                           Double_t s[], 
37                           Int_t n=AliPID::kSPECIES) const;
38   Bool_t ExpectedSigmas(const AliESDtrack *t, 
39                          Double_t s[],
40                          Int_t n=AliPID::kSPECIES) const;
41   Bool_t NumberOfSigmas(const AliESDtrack *t, 
42                          Double_t s[],
43                          Int_t n=AliPID::kSPECIES) const;
44
45   Double_t GetExpectedSignal(const AliESDtrack *t,
46                      AliPID::EParticleType n=AliPID::kKaon) const;
47   Double_t GetExpectedSigma(const AliESDtrack *t,
48                      AliPID::EParticleType n=AliPID::kKaon) const;
49   Double_t GetNumberOfSigmas(const AliESDtrack *t,
50                      AliPID::EParticleType n=AliPID::kKaon) const;
51
52 private:
53   Double_t fMIP;          // dEdx for MIP
54   Double_t fRes;          // relative dEdx resolution
55   Double_t fRange;        // one particle type PID range (in sigmas)
56
57   Double_t fKp1;   // Parameters
58   Double_t fKp2;   //    of
59   Double_t fKp3;   // the ALEPH
60   Double_t fKp4;   // Bethe-Bloch
61   Double_t fKp5;   // formula
62
63   ClassDef(AliTPCpidESD,2)   // TPC PID class
64 };
65
66 #endif
67
68