]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDprobdist.h
Add AliTRDprobdist
[u/mrichter/AliRoot.git] / TRD / AliTRDprobdist.h
1 #ifndef ALITRDPROBDIST_H
2 #define ALITRDPROBDIST_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5 /*-----------------------------------------------------------------
6    Class for dE/dx and Time Bin of Max. Cluster for Electrons and 
7    pions in TRD. 
8    It is instantiated in class AliTRDpidESD for particle identification
9    in TRD
10    Prashant Shukla <shukla@pi0.physi.uni-heidelberg.de>
11    -----------------------------------------------------------------*/
12
13 #include "TObject.h"
14
15 const Int_t kNo_Mom=7; 
16 const Int_t kNo_EnBins=200;
17 const Int_t kNo_TBins=20;
18
19 class AliTRDprobdist : public TObject {
20   public:
21     AliTRDprobdist(Int_t Multiplicity=1);   // Multiplicity can take 
22                          // values 1, 2000, 4000, 6000, 8000
23     //    ~AliTRDprobdist(); 
24     void FillData();      // Fills Data 
25     //    void FillData2000();  // Fills Data of Multiplicity 2000
26     //    void FillData4000();  // Fills Data of Multiplicity 4000
27     //    void FillData6000();  // Fills Data of Multiplicity 6000
28     //    void FillData8000();  // Fills Data of Multiplicity 8000
29     Double_t GetBM(Int_t ip){ return fTrackMomentum[ip];}
30     void GetData(Int_t ip, Double_t *ebin, Double_t *ppi, Double_t *pel){ 
31       for(Int_t ie=0; ie<fNEbins; ie++){
32         ebin[ie]=fEnergyLoss[ip][ie];
33         ppi[ie]=fProbPI[ip][ie];
34         pel[ie]=fProbEL[ip][ie];
35       }
36     }
37     Double_t GetMeanPI(Int_t ip);  // Gets mean of de/dx dist. of pi
38     Double_t GetMeanEL(Int_t ip);  // Gets mean of de/dx dist. of e
39     Double_t GetNormalizationPI(Int_t ip);  // Gets Norm. of de/dx dist. of pi
40     Double_t GetNormalizationEL(Int_t ip);  // Gets Norm. of de/dx dist. of e
41     Double_t GetProbability(Int_t k, Double_t mom, Double_t dedx);
42                           // Gets the Probability of having dedx
43     void GetDataT(Int_t ip, Int_t *tbin, Double_t *ppi, Double_t *pel){ 
44       for(Int_t it=0; it<fNTbins; it++){
45         tbin[it]=fTimBin[ip][it];
46         ppi[it]=fProbPIT[ip][it];
47         pel[it]=fProbELT[ip][it];
48       }
49     }
50     Double_t GetProbabilityT(Int_t k, Double_t mom, Int_t timbin);
51                         // Gets the Probability of having timbin
52   protected:
53     Double_t fADCNorm;               // Ratio of de/dx from Det. to prob. dist.
54     Int_t fNMom;                     // Number of momenta  
55     Double_t fTrackMomentum[kNo_Mom];           // Track Momentum 
56     Int_t fNEbins;                              // Number of Energy bins
57     Double_t fEnBinSize;                        // Size of Energy bin
58     Double_t fEnergyLoss[kNo_Mom][kNo_EnBins];  // dE/dx 
59     Double_t fProbPI[kNo_Mom][kNo_EnBins];      // Prob. of dEdx  for pi
60     Double_t fProbEL[kNo_Mom][kNo_EnBins];      // Prob. of dEdx  for e
61
62     Int_t fNTbins;                             // Number of Tim bins=20      
63     Double_t fTBinSize;                        // Size of Time Bin =1 
64     Int_t fTimBin[kNo_Mom][kNo_TBins];      // Time Bin  
65     Double_t fProbPIT[kNo_Mom][kNo_TBins];      // Prob. of dEdx for pi
66     Double_t fProbELT[kNo_Mom][kNo_TBins];    // Prob. of dEdx for e
67     ClassDef(AliTRDprobdist,1)
68 };
69
70
71 #endif
72