]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDpidLQ.h
TFlukaCerenkov added.
[u/mrichter/AliRoot.git] / TRD / AliTRDpidLQ.h
1 #ifndef ALITRDPIDLQ_H
2 #define ALITRDPIDLQ_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8
9 ///////////////////////////////////////////////////////////////////////////////
10 //                                                                           //
11 //   The TRD particle identification class                                   //
12 //                                                                           //
13 //   Its main purposes are:                                                  //
14 //      - Creation and bookkeeping of the propability distributions          //
15 //      - Assignment of a e/pi propability to a given track based on         //
16 //        the LQ method                                                      //
17 //                                                                           //
18 ///////////////////////////////////////////////////////////////////////////////
19
20 #include "AliTRDpid.h"
21
22 class AliTRDpidLQ : public AliTRDpid {
23
24  public:
25
26   AliTRDpidLQ();
27   AliTRDpidLQ(const char* name, const char* title);
28   AliTRDpidLQ(const AliTRDpidLQ &p);
29   virtual ~AliTRDpidLQ();
30   AliTRDpidLQ &operator=(const AliTRDpidLQ &p);
31
32   virtual void          Copy(TObject &p);
33   virtual Bool_t        Init();
34   virtual Bool_t        AssignLikelihood(AliTRDtrack *t);
35   virtual Bool_t        CreateHistograms(Int_t nmom, Float_t minmom, Float_t maxmom);
36   virtual Bool_t        FillSpectra(const AliTRDtrack *t);
37
38   Int_t         GetIndex(const AliTRDtrack *t);
39   Int_t         GetIndex(Int_t imom, Int_t ipid);
40   Int_t         GetIndex(Float_t mom, Int_t ipid);
41
42           TObjArray*    GetHist() const                     { return fHist;        };
43
44           Float_t       GetChargeMin() const                { return fChargeMin;   };
45           Int_t         GetNClusterMin() const              { return fNClusterMin; };
46
47           Int_t         GetNLh() const                      { return fNLh;         };
48           Float_t       GetMinLh() const                    { return fMinLh;       };
49           Float_t       GetMaxLh() const                    { return fMaxLh;       };
50
51           void          SetChargeMin(Float_t min)     { fChargeMin   = min;  };
52           void          SetNClusterMin(Int_t min)     { fNClusterMin = min;  };
53
54           void          SetNLh(Int_t n)               { fNLh         = n;    };
55           void          SetMinLh(Float_t min)         { fMinLh       = min;  };
56           void          SetMaxLh(Float_t max)         { fMaxLh       = max;  };
57
58  protected:
59
60   Int_t           fNMom;             //  Number of momentum bins
61   Float_t         fMinMom;           //  Lower momentum
62   Float_t         fMaxMom;           //  Upper momentum
63   Float_t         fWidMom;           //  Width of the momentum bins
64   TObjArray      *fHist;             //  Array of histograms
65
66   Int_t           fNLh;              //  Number of bins of the likelihood spectra
67   Float_t         fMinLh;            //  Lower range of the likelihood spectra
68   Float_t         fMaxLh;            //  Upper range of the likelihood spectra
69
70   Float_t         fChargeMin;        //  Minimum charge required in one plane
71   Int_t           fNClusterMin;      //  Minimum number of clusters required in one plane
72
73   ClassDef(AliTRDpidLQ,1)            //  Assigns e/pi propability to the tracks based on LQ method 
74
75 };
76 #endif