]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/STEERBase/AliEMCALPIDResponse.h
Moving the classes that belong to the following libraries: STEERBase, ESD, CDB, AOD...
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliEMCALPIDResponse.h
1 #ifndef AliEMCALPIDResponse_h\r
2 #define AliEMCALPIDResponse_h\r
3 \r
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
5  * See cxx source for full Copyright notice                               */\r
6 \r
7 //////////////////////////////////////////////////////////////////////////\r
8 //                                                                      //\r
9 // AliEMCALPIDResponse                                                  //\r
10 //                                                                      //\r
11 // EMCAL class to perfom PID                                            //\r
12 // This is a prototype and still under development                      //\r
13 //                                                                      //\r
14 //                                                                      //\r
15 //////////////////////////////////////////////////////////////////////////\r
16 \r
17 #include "AliPID.h"\r
18 \r
19 class AliEMCALPIDResponse \r
20 {\r
21 public : \r
22              AliEMCALPIDResponse();    //ctor\r
23     virtual ~AliEMCALPIDResponse() {;} //dtor\r
24 \r
25 \r
26     // Getters\r
27     Int_t     GetPtBin(Float_t pt) const;\r
28     Int_t     GetNPtBins() const {return fNptBins;};\r
29 \r
30     Float_t   GetLowEoP() const {return fLowEoP;};\r
31     Float_t   GetHighEoP() const {return fHighEoP;};\r
32 \r
33     Double_t  GetExpectedSignal( Float_t pt, AliPID::EParticleType n,  Int_t charge) const;\r
34     Double_t  GetExpectedSigma ( Float_t pt, AliPID::EParticleType n,  Int_t charge) const;\r
35     Double_t  GetNumberOfSigmas( Float_t pt,  Float_t eop, AliPID::EParticleType n,  Int_t charge) const;\r
36     Double_t  GetExpectedNorm  ( Float_t pt, AliPID::EParticleType n,  Int_t charge) const;\r
37     Double_t  GetLowProb       ( Float_t pt, AliPID::EParticleType n,  Int_t charge) const;\r
38     Double_t  GetHighProb      ( Float_t pt, AliPID::EParticleType n,  Int_t charge) const;\r
39 \r
40     //Setters\r
41     void   SetPtBoundary();\r
42     void   SetParametrizations();\r
43 \r
44     // EMCAL probability -> should go to another place?\r
45     Double_t ComputeEMCALProbability( Float_t pt, Float_t eop, Int_t charge, Double_t *pEMCAL) const;\r
46 \r
47 protected:\r
48   \r
49 private:\r
50   AliEMCALPIDResponse( AliEMCALPIDResponse& r);                //dummy copy ructor\r
51   AliEMCALPIDResponse &operator=( AliEMCALPIDResponse& r);     //dummy assignment operator\r
52 \r
53   TF1 *fNorm;                            // Gauss function for normalizing NON electron probabilities \r
54 \r
55   static const Int_t fNptBins   = 6;     // number of momentum bins\r
56   static const Float_t fLowEoP  = 0.5;   // lower E/p threshold for NON electrons\r
57   static const Float_t fHighEoP = 1.5;   // upper E/p threshold for NON electrons\r
58 \r
59   Float_t fPtCutMin[fNptBins+1];                       // min values for pt bins\r
60   Float_t fMeanEoP[2*AliPID::kSPECIES][fNptBins];      // mean value of E/p distribution (charge dependent)\r
61   Float_t fSigmaEoP[2*AliPID::kSPECIES][fNptBins];     // mean value of E/p distribution (charge dependent)\r
62   Float_t fProbLow[2*AliPID::kSPECIES][fNptBins];      // probability below E/p threshold for NON electrons (charge dependent)\r
63   Float_t fProbHigh[2*AliPID::kSPECIES][fNptBins];     // probability above E/p threshold for NON electrons (charge dependent)\r
64 \r
65 \r
66   ClassDef(AliEMCALPIDResponse,0)\r
67 };\r
68 \r
69 #endif // #ifdef AliEMCALPIDResponse_cxx\r
70 \r