#ifndef ALIJETBKG_H
#define ALIJETBKG_H
class TH1F;
class TH2F;
class TList;
class AliAODJetEventBackground;
class AliJetBkg : public TObject
{
public:
AliJetBkg();
AliJetBkg(const AliJetBkg &input);
~AliJetBkg();
AliJetBkg& operator=(const AliJetBkg& source);
void SetHeader(AliJetHeader *header) {fHeader=header;}
void SetCalTrkEvent(AliJetCalTrkEvent *evt) {fEvent=evt;}
Bool_t PtCutPass(Int_t id, Int_t nTracks);
Bool_t SignalCutPass(Int_t id, Int_t nTracks);
Float_t CalcJetAreaEtaCut(Float_t radius, Float_t etaJet);
void CalcJetAndBckgAreaEtaCut(Bool_t calcOutsideArea, Float_t rc, Int_t nJ, const Float_t* etaJet, Float_t* &areaJet, Float_t &areaOut);
void SubtractBackg(const Int_t& nIn, const Int_t&nJ, Float_t&EtbgTotalN, Float_t&sigmaN,
const Float_t* ptT, const Float_t* etaT, const Float_t* phiT,
Float_t* etJet, const Float_t* etaJet, const Float_t* phiJet,
Float_t* etsigJet, Int_t* multJetT, Int_t* multJetC, Int_t* multJet,
Int_t* injet, Float_t* &areaJet);
void SubtractBackgCone(const Int_t& nIn, const Int_t&nJ,Float_t& EtbgTotalN, Float_t&sigmaN,
const Float_t* ptT, const Float_t* etaT, const Float_t* phiT, Float_t* etJet,
const Float_t* etaJet, const Float_t* phiJet, Float_t* etsigJet,
Int_t* multJetT, Int_t* multJetC, Int_t* multJet, Int_t* injet, Float_t* &);
void SubtractBackgRatio(const Int_t& nIn, const Int_t&nJ,Float_t& EtbgTotalN, Float_t&sigmaN,
const Float_t* ptT, const Float_t* etaT, const Float_t* phiT, Float_t* etJet,
const Float_t* etaJet, const Float_t* phiJet, Float_t* etsigJet,
Int_t* multJetT, Int_t* multJetC, Int_t* multJet, Int_t* injet, Float_t* &);
void SubtractBackgStat(const Int_t& nIn, const Int_t&nJ,Float_t&EtbgTotalN, Float_t&sigmaN,
const Float_t* ptT, const Float_t* etaT, const Float_t* phiT, Float_t* etJet,
const Float_t* etaJet, const Float_t* phiJet, Float_t* etsigJet,
Int_t* multJetT, Int_t* multJetC, Int_t* multJet, Int_t* injet, Float_t* &areaJet);
void SetDebug(Int_t debug){fDebug = debug;}
enum {kMaxJets = 60};
private:
AliJetCalTrkEvent* fEvent;
AliJetHeader* fHeader;
Int_t fDebug;
TH1F* fhEtJet[kMaxJets];
TH1F* fhAreaJet[kMaxJets];
TH1F* fhEtBackg;
TH1F* fhAreaBackg;
ClassDef(AliJetBkg, 2)
};
#endif