#ifndef ALIFASTJETBKG_H
#define ALIFASTJETBKG_H
#ifdef __CINT__
namespace fastjet {
class PsuedoJet;
}
#endif
class TString;
class AliFastJetInput;
class AliFastJetBkg : public TObject
{
public:
AliFastJetBkg();
AliFastJetBkg(const AliFastJetBkg &input);
AliFastJetBkg& operator=(const AliFastJetBkg& source);
virtual ~AliFastJetBkg() {;}
void SetHeader(AliJetHeader *header) {fHeader=header;}
void SetFastJetInput(AliFastJetInput *fjinput) {fInputFJ=fjinput;}
void BkgFastJetb(Double_t& x,Double_t& y, Double_t& z);
void BkgFastJetWoHardest(Double_t& x,Double_t& y, Double_t& z);
Float_t BkgFastJet();
Float_t BkgChargedFastJet();
Float_t BkgStat();
Float_t BkgFastJetCone(TClonesArray* fAODJets);
Bool_t EmcalAcceptance(Float_t eta, Float_t phi, Float_t radius) const;
static Double_t BkgFunction(Double_t *x,Double_t *par);
private:
Double_t CalcRho(vector<fastjet::PseudoJet> input_particles,Double_t RparamBkg,TString method);
void CalcRhob(Double_t& median, Double_t& sigma, Double_t& meanarea,
vector<fastjet::PseudoJet> input_particles,Double_t RparamBkg,TString method);
void CalcRhoWoHardest(Double_t& median, Double_t& sigma, Double_t& meanarea,
vector<fastjet::PseudoJet> input_particles,Double_t RparamBkg,TString method);
AliJetHeader* fHeader;
AliFastJetInput* fInputFJ;
ClassDef(AliFastJetBkg, 2)
};
#endif