ROOT logo
#ifndef ALIJETBKG_H
#define ALIJETBKG_H
 
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

//--------------------------------------------------
// Method implementation for background studies and background subtraction with UA1 algorithms
//
// Author: magali.estienne@subatech.in2p3.fr
//-------------------------------------------------

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* &/*areaJet*/);

  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* &/*areaJet*/);

  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:
  //    Double_t CalcRho(vector<fastjet::PseudoJet> input_particles,Double_t RparamBkg,TString method);

  AliJetCalTrkEvent* fEvent;    //! reader
  AliJetHeader*      fHeader;   //! header
  Int_t              fDebug;    //  Debug option

  // temporary histos for background, reset for each event, no need to stream
  TH1F*  fhEtJet[kMaxJets];   //! histogram for background subtraction
  TH1F*  fhAreaJet[kMaxJets]; //! histogram for background subtraction (store global not to create it with every event
  TH1F*  fhEtBackg;           //! histogram for background subtraction
  TH1F*  fhAreaBackg;         //! histogram for background subtraction

  ClassDef(AliJetBkg, 2)      // background jet analysis

};
 
#endif
 AliJetBkg.h:1
 AliJetBkg.h:2
 AliJetBkg.h:3
 AliJetBkg.h:4
 AliJetBkg.h:5
 AliJetBkg.h:6
 AliJetBkg.h:7
 AliJetBkg.h:8
 AliJetBkg.h:9
 AliJetBkg.h:10
 AliJetBkg.h:11
 AliJetBkg.h:12
 AliJetBkg.h:13
 AliJetBkg.h:14
 AliJetBkg.h:15
 AliJetBkg.h:16
 AliJetBkg.h:17
 AliJetBkg.h:18
 AliJetBkg.h:19
 AliJetBkg.h:20
 AliJetBkg.h:21
 AliJetBkg.h:22
 AliJetBkg.h:23
 AliJetBkg.h:24
 AliJetBkg.h:25
 AliJetBkg.h:26
 AliJetBkg.h:27
 AliJetBkg.h:28
 AliJetBkg.h:29
 AliJetBkg.h:30
 AliJetBkg.h:31
 AliJetBkg.h:32
 AliJetBkg.h:33
 AliJetBkg.h:34
 AliJetBkg.h:35
 AliJetBkg.h:36
 AliJetBkg.h:37
 AliJetBkg.h:38
 AliJetBkg.h:39
 AliJetBkg.h:40
 AliJetBkg.h:41
 AliJetBkg.h:42
 AliJetBkg.h:43
 AliJetBkg.h:44
 AliJetBkg.h:45
 AliJetBkg.h:46
 AliJetBkg.h:47
 AliJetBkg.h:48
 AliJetBkg.h:49
 AliJetBkg.h:50
 AliJetBkg.h:51
 AliJetBkg.h:52
 AliJetBkg.h:53
 AliJetBkg.h:54
 AliJetBkg.h:55
 AliJetBkg.h:56
 AliJetBkg.h:57
 AliJetBkg.h:58
 AliJetBkg.h:59
 AliJetBkg.h:60
 AliJetBkg.h:61
 AliJetBkg.h:62
 AliJetBkg.h:63
 AliJetBkg.h:64
 AliJetBkg.h:65
 AliJetBkg.h:66
 AliJetBkg.h:67
 AliJetBkg.h:68
 AliJetBkg.h:69
 AliJetBkg.h:70
 AliJetBkg.h:71
 AliJetBkg.h:72
 AliJetBkg.h:73
 AliJetBkg.h:74
 AliJetBkg.h:75