]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDprobdist.h
Adding the cluster center as new data member (M.Ivanov)
[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=11; 
16 const Int_t kNo_EnBins=250;
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) const { return fTrackMomentum[ip];}
30     Double_t GetMeanPI(Int_t ip) const;  // Gets mean of de/dx dist. of pi
31     Double_t GetMeanEL(Int_t ip) const;  // Gets mean of de/dx dist. of e
32     Double_t GetNormalizationPI(Int_t ip) const;  // Gets Norm. of de/dx dist. of pi
33     Double_t GetNormalizationEL(Int_t ip) const;  // Gets Norm. of de/dx dist. of e
34     Double_t GetProbability(Int_t k, Double_t mom, Double_t dedx) const;
35                           // Gets the Probability of having dedx
36     Double_t GetProbabilityT(Int_t k, Double_t mom, Int_t timbin) const;
37                         // Gets the Probability of having timbin
38     void SetADCNorm(Double_t norm);
39     void GetData(Int_t ip, Double_t *ebin, Double_t *ppi, Double_t *pel) const { 
40       for(Int_t ie=0; ie<fNEbins; ie++){
41         ebin[ie]=fEnergyLoss[ie];
42         ppi[ie]=fProbPI[ip][ie];
43         pel[ie]=fProbEL[ip][ie];
44       }
45     }
46     void GetDataT(Int_t ip, Int_t *tbin, Double_t *ppi, Double_t *pel) const { 
47       for(Int_t it=0; it<fNTbins; it++){
48         tbin[it]=fTimBin[it];
49         ppi[it]=fProbPIT[ip][it];
50         pel[it]=fProbELT[ip][it];
51       }
52     }
53   protected:
54     Double_t fADCNorm;               // Ratio of de/dx from Det. to prob. dist.
55     Int_t fNMom;                     // Number of momenta  
56     Double_t fTrackMomentum[kNo_Mom];           // Track Momentum 
57     Int_t fNEbins;                              // Number of Energy bins
58     Double_t fEnBinSize;                        // Size of Energy bin
59     Double_t fEnergyLoss[kNo_EnBins];  // dE/dx 
60     Double_t fProbPI[kNo_Mom][kNo_EnBins];      // Prob. of dEdx  for pi
61     Double_t fProbEL[kNo_Mom][kNo_EnBins];      // Prob. of dEdx  for e
62     Double_t fProbMU[kNo_Mom][kNo_EnBins];      // Prob. of dEdx  for muon
63     Double_t fProbKA[kNo_Mom][kNo_EnBins];      // Prob. of dEdx  for Kaon
64     Double_t fProbPR[kNo_Mom][kNo_EnBins];      // Prob. of dEdx  for proton
65
66     Int_t fNTbins;                             // Number of Tim bins=20      
67     Double_t fTBinSize;                        // Size of Time Bin =1 
68     Int_t fTimBin[kNo_TBins];      // Time Bin  
69     Double_t fProbPIT[kNo_Mom][kNo_TBins];      // Prob. of dEdx for pi
70     Double_t fProbELT[kNo_Mom][kNo_TBins];    // Prob. of dEdx for e
71     ClassDef(AliTRDprobdist,1)
72 };
73
74
75 #endif
76