]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/STEERBase/AliEMCALPIDResponse.h
Memory leak corrected.
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliEMCALPIDResponse.h
CommitLineData
fdb4683b 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
fdb4683b 17#include "AliPID.h"\r
e96b9916 18class TF1;\r
fdb4683b 19\r
7cd9f4fb 20class AliEMCALPIDResponse: public TObject \r
fdb4683b 21{\r
22public : \r
e96b9916 23 AliEMCALPIDResponse(); //ctor\r
24 AliEMCALPIDResponse( const AliEMCALPIDResponse& other); //copy ructor\r
25 AliEMCALPIDResponse &operator=( const AliEMCALPIDResponse& other); //assignment operator\r
fdb4683b 26\r
9a2d18d5 27 virtual ~AliEMCALPIDResponse(); //dtor\r
e96b9916 28 \r
fdb4683b 29\r
30 // Getters\r
31 Int_t GetPtBin(Float_t pt) const;\r
32 Int_t GetNPtBins() const {return fNptBins;};\r
33\r
34 Float_t GetLowEoP() const {return fLowEoP;};\r
35 Float_t GetHighEoP() const {return fHighEoP;};\r
36\r
37 Double_t GetExpectedSignal( Float_t pt, AliPID::EParticleType n, Int_t charge) const;\r
38 Double_t GetExpectedSigma ( Float_t pt, AliPID::EParticleType n, Int_t charge) const;\r
39 Double_t GetNumberOfSigmas( Float_t pt, Float_t eop, AliPID::EParticleType n, Int_t charge) const;\r
40 Double_t GetExpectedNorm ( Float_t pt, AliPID::EParticleType n, Int_t charge) const;\r
41 Double_t GetLowProb ( Float_t pt, AliPID::EParticleType n, Int_t charge) const;\r
42 Double_t GetHighProb ( Float_t pt, AliPID::EParticleType n, Int_t charge) const;\r
43\r
44 //Setters\r
45 void SetPtBoundary();\r
46 void SetParametrizations();\r
47\r
48 // EMCAL probability -> should go to another place?\r
49 Double_t ComputeEMCALProbability( Float_t pt, Float_t eop, Int_t charge, Double_t *pEMCAL) const;\r
50\r
51protected:\r
52 \r
53private:\r
fdb4683b 54\r
55 TF1 *fNorm; // Gauss function for normalizing NON electron probabilities \r
56\r
57 static const Int_t fNptBins = 6; // number of momentum bins\r
58 static const Float_t fLowEoP = 0.5; // lower E/p threshold for NON electrons\r
59 static const Float_t fHighEoP = 1.5; // upper E/p threshold for NON electrons\r
60\r
61 Float_t fPtCutMin[fNptBins+1]; // min values for pt bins\r
62 Float_t fMeanEoP[2*AliPID::kSPECIES][fNptBins]; // mean value of E/p distribution (charge dependent)\r
63 Float_t fSigmaEoP[2*AliPID::kSPECIES][fNptBins]; // mean value of E/p distribution (charge dependent)\r
64 Float_t fProbLow[2*AliPID::kSPECIES][fNptBins]; // probability below E/p threshold for NON electrons (charge dependent)\r
65 Float_t fProbHigh[2*AliPID::kSPECIES][fNptBins]; // probability above E/p threshold for NON electrons (charge dependent)\r
66\r
67\r
e96b9916 68 ClassDef(AliEMCALPIDResponse, 1)\r
fdb4683b 69};\r
70\r
71#endif // #ifdef AliEMCALPIDResponse_cxx\r
72\r