#ifndef AliEMCALPIDResponse_h
#define AliEMCALPIDResponse_h
#include "AliPID.h"
#include <TVectorD.h>
class TF1;
class AliEMCALPIDResponse: public TObject
{
public :
AliEMCALPIDResponse();
AliEMCALPIDResponse( const AliEMCALPIDResponse& other);
AliEMCALPIDResponse &operator=( const AliEMCALPIDResponse& other);
virtual ~AliEMCALPIDResponse();
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;
void SetPIDParams(const TObjArray * params) { fkPIDParams = params; }
void SetCentrality(Float_t currentCentrality) { fCurrCentrality = currentCentrality;}
Bool_t ComputeEMCALProbability(Int_t nSpecies, Float_t pt, Float_t eop, Int_t charge, Double_t *pEMCAL) const;
protected:
private:
TF1 *fNorm;
Double_t fCurrCentrality;
const TObjArray *fkPIDParams;
const TVectorD* GetParams(Int_t nParticle, Float_t fPt, Int_t charge) const;
ClassDef(AliEMCALPIDResponse, 2)
};
#endif // #ifdef AliEMCALPIDResponse_cxx