New response functions for tracking updates
[u/mrichter/AliRoot.git] / TRD / AliTRDprobdist.h
CommitLineData
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
15const Int_t kNo_Mom=7;
32333a5e 16const Int_t kNo_EnBins=250;
33a848f6 17const Int_t kNo_TBins=20;
18
19class 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