-#ifndef AliEMCALPIDResponse_h\r
-#define AliEMCALPIDResponse_h\r
-\r
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
- * See cxx source for full Copyright notice */\r
-\r
-//////////////////////////////////////////////////////////////////////////\r
-// //\r
-// AliEMCALPIDResponse //\r
-// //\r
-// EMCAL class to perfom PID //\r
-// This is a prototype and still under development //\r
-// //\r
-// //\r
-//////////////////////////////////////////////////////////////////////////\r
-\r
-#include "AliPID.h"\r
-class TF1;\r
-\r
-class AliEMCALPIDResponse \r
-{\r
-public : \r
- AliEMCALPIDResponse(); //ctor\r
- AliEMCALPIDResponse( const AliEMCALPIDResponse& other); //copy ructor\r
- AliEMCALPIDResponse &operator=( const AliEMCALPIDResponse& other); //assignment operator\r
-\r
- virtual ~AliEMCALPIDResponse() {;} //dtor\r
- \r
-\r
- // Getters\r
- Int_t GetPtBin(Float_t pt) const;\r
- Int_t GetNPtBins() const {return fNptBins;};\r
-\r
- Float_t GetLowEoP() const {return fLowEoP;};\r
- Float_t GetHighEoP() const {return fHighEoP;};\r
-\r
- Double_t GetExpectedSignal( Float_t pt, AliPID::EParticleType n, Int_t charge) const;\r
- Double_t GetExpectedSigma ( Float_t pt, AliPID::EParticleType n, Int_t charge) const;\r
- Double_t GetNumberOfSigmas( Float_t pt, Float_t eop, AliPID::EParticleType n, Int_t charge) const;\r
- Double_t GetExpectedNorm ( Float_t pt, AliPID::EParticleType n, Int_t charge) const;\r
- Double_t GetLowProb ( Float_t pt, AliPID::EParticleType n, Int_t charge) const;\r
- Double_t GetHighProb ( Float_t pt, AliPID::EParticleType n, Int_t charge) const;\r
-\r
- //Setters\r
- void SetPtBoundary();\r
- void SetParametrizations();\r
-\r
- // EMCAL probability -> should go to another place?\r
- Double_t ComputeEMCALProbability( Float_t pt, Float_t eop, Int_t charge, Double_t *pEMCAL) const;\r
-\r
-protected:\r
- \r
-private:\r
-\r
- TF1 *fNorm; // Gauss function for normalizing NON electron probabilities \r
-\r
- static const Int_t fNptBins = 6; // number of momentum bins\r
- static const Float_t fLowEoP = 0.5; // lower E/p threshold for NON electrons\r
- static const Float_t fHighEoP = 1.5; // upper E/p threshold for NON electrons\r
-\r
- Float_t fPtCutMin[fNptBins+1]; // min values for pt bins\r
- Float_t fMeanEoP[2*AliPID::kSPECIES][fNptBins]; // mean value of E/p distribution (charge dependent)\r
- Float_t fSigmaEoP[2*AliPID::kSPECIES][fNptBins]; // mean value of E/p distribution (charge dependent)\r
- Float_t fProbLow[2*AliPID::kSPECIES][fNptBins]; // probability below E/p threshold for NON electrons (charge dependent)\r
- Float_t fProbHigh[2*AliPID::kSPECIES][fNptBins]; // probability above E/p threshold for NON electrons (charge dependent)\r
-\r
-\r
- ClassDef(AliEMCALPIDResponse, 1)\r
-};\r
-\r
-#endif // #ifdef AliEMCALPIDResponse_cxx\r
-\r
+#ifndef AliEMCALPIDResponse_h
+#define AliEMCALPIDResponse_h
+
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice */
+
+//////////////////////////////////////////////////////////////////////////
+// //
+// AliEMCALPIDResponse //
+// //
+// EMCAL class to perfom PID //
+// This is a prototype and still under development //
+// //
+// Author: Michael Weber (m.weber@cern.ch) //
+//////////////////////////////////////////////////////////////////////////
+
+#include "AliPID.h"
+#include <TVectorD.h>
+
+class TF1;
+
+class AliEMCALPIDResponse: public TObject
+{
+public :
+ AliEMCALPIDResponse(); //ctor
+ AliEMCALPIDResponse( const AliEMCALPIDResponse& other); //copy ructor
+ AliEMCALPIDResponse &operator=( const AliEMCALPIDResponse& other); //assignment operator
+
+ virtual ~AliEMCALPIDResponse(); //dtor
+
+
+ // Getters
+ Double_t GetNumberOfSigmas( Float_t pt, Float_t eop, AliPID::EParticleType n, Int_t charge) const;
+ Double_t GetExpectedNorm ( Float_t pt, AliPID::EParticleType n, Int_t charge) const;
+
+ //Setters
+ void SetPIDParams(const TObjArray * params) { fkPIDParams = params; }
+ void SetCentrality(Float_t currentCentrality) { fCurrCentrality = currentCentrality;}
+
+
+ // EMCAL probability
+ Bool_t ComputeEMCALProbability(Int_t nSpecies, Float_t pt, Float_t eop, Int_t charge, Double_t *pEMCAL) const;
+
+protected:
+
+private:
+
+ TF1 *fNorm; // Gauss function for normalizing NON electron probabilities
+
+ Double_t fCurrCentrality; // current (in the current event) centrality percentile
+
+ const TObjArray *fkPIDParams; // PID Params
+
+ const TVectorD* GetParams(Int_t nParticle, Float_t fPt, Int_t charge) const;
+
+ ClassDef(AliEMCALPIDResponse, 2)
+};
+
+#endif // #ifdef AliEMCALPIDResponse_cxx
+