33a848f6 |
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; |
32333a5e |
16 | const Int_t kNo_EnBins=250; |
33a848f6 |
17 | const Int_t kNo_TBins=20; |
18 | |
19 | class AliTRDprobdist : public TObject { |
20 | public: |
1642e650 |
21 | AliTRDprobdist(Int_t multiplicity=1); // multiplicity can take |
33a848f6 |
22 | // values 1, 2000, 4000, 6000, 8000 |
23 | // ~AliTRDprobdist(); |
24 | void FillData(); // Fills Data |
1642e650 |
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 GetData(Int_t ip, Double_t *ebin, Double_t *ppi, Double_t *pel) const { |
33a848f6 |
39 | for(Int_t ie=0; ie<fNEbins; ie++){ |
40 | ebin[ie]=fEnergyLoss[ip][ie]; |
41 | ppi[ie]=fProbPI[ip][ie]; |
42 | pel[ie]=fProbEL[ip][ie]; |
43 | } |
44 | } |
1642e650 |
45 | void GetDataT(Int_t ip, Int_t *tbin, Double_t *ppi, Double_t *pel) const { |
33a848f6 |
46 | for(Int_t it=0; it<fNTbins; it++){ |
47 | tbin[it]=fTimBin[ip][it]; |
48 | ppi[it]=fProbPIT[ip][it]; |
49 | pel[it]=fProbELT[ip][it]; |
50 | } |
51 | } |
33a848f6 |
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 | |