]>
Commit | Line | Data |
---|---|---|
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; | |
16 | const Int_t kNo_EnBins=200; | |
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 |