]> git.uio.no Git - u/mrichter/AliRoot.git/blob - JETAN/AliJetBkg.h
added slewing correction by data
[u/mrichter/AliRoot.git] / JETAN / AliJetBkg.h
1 #ifndef ALIJETBKG_H
2 #define ALIJETBKG_H
3  
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9 //--------------------------------------------------
10 // Method implementation for background studies and background subtraction with UA1 algorithms
11 //
12 // Author: magali.estienne@subatech.in2p3.fr
13 //-------------------------------------------------
14
15 class TH1F;
16 class TH2F;
17 class TList;
18 class AliAODJetEventBackground;
19
20 class AliJetBkg : public TObject
21 {
22  public:
23   AliJetBkg();
24   AliJetBkg(const AliJetBkg &input);
25   ~AliJetBkg();
26   AliJetBkg& operator=(const AliJetBkg& source);
27   void    SetHeader(AliJetHeader *header)  {fHeader=header;}
28   void    SetCalTrkEvent(AliJetCalTrkEvent *evt)  {fEvent=evt;}
29   Bool_t  PtCutPass(Int_t id, Int_t nTracks);
30   Bool_t  SignalCutPass(Int_t id, Int_t nTracks);
31   Float_t CalcJetAreaEtaCut(Float_t radius, Float_t etaJet);
32   void    CalcJetAndBckgAreaEtaCut(Bool_t calcOutsideArea, Float_t rc, Int_t nJ, const Float_t* etaJet, Float_t* &areaJet, Float_t &areaOut);
33  
34   void    SubtractBackg(const Int_t& nIn, const Int_t&nJ, Float_t&EtbgTotalN, Float_t&sigmaN, 
35                         const Float_t* ptT, const Float_t* etaT, const Float_t* phiT, 
36                         Float_t* etJet, const Float_t* etaJet, const Float_t* phiJet, 
37                         Float_t* etsigJet, Int_t* multJetT, Int_t* multJetC, Int_t* multJet, 
38                         Int_t* injet, Float_t* &areaJet);
39   
40   void    SubtractBackgCone(const Int_t& nIn, const Int_t&nJ,Float_t& EtbgTotalN, Float_t&sigmaN,
41                             const Float_t* ptT, const Float_t* etaT, const Float_t* phiT, Float_t* etJet, 
42                             const Float_t* etaJet, const Float_t* phiJet, Float_t* etsigJet, 
43                             Int_t* multJetT, Int_t* multJetC, Int_t* multJet, Int_t* injet, Float_t* &/*areaJet*/);
44
45   void    SubtractBackgRatio(const Int_t& nIn, const Int_t&nJ,Float_t& EtbgTotalN, Float_t&sigmaN,
46                              const Float_t* ptT, const Float_t* etaT, const Float_t* phiT, Float_t* etJet, 
47                              const Float_t* etaJet, const Float_t* phiJet, Float_t* etsigJet, 
48                              Int_t* multJetT, Int_t* multJetC, Int_t* multJet, Int_t* injet, Float_t* &/*areaJet*/);
49
50   void    SubtractBackgStat(const Int_t& nIn, const Int_t&nJ,Float_t&EtbgTotalN, Float_t&sigmaN,
51                             const Float_t* ptT, const Float_t* etaT, const Float_t* phiT, Float_t* etJet, 
52                             const Float_t* etaJet, const Float_t* phiJet, Float_t* etsigJet, 
53                             Int_t* multJetT, Int_t* multJetC, Int_t* multJet, Int_t* injet, Float_t* &areaJet);
54   void    SetDebug(Int_t debug){fDebug = debug;}
55
56   enum {kMaxJets = 60};
57
58  private:
59   //    Double_t CalcRho(vector<fastjet::PseudoJet> input_particles,Double_t RparamBkg,TString method);
60
61   AliJetCalTrkEvent* fEvent;    //! reader
62   AliJetHeader*      fHeader;   //! header
63   Int_t              fDebug;    //  Debug option
64
65   // temporary histos for background, reset for each event, no need to stream
66   TH1F*  fhEtJet[kMaxJets];   //! histogram for background subtraction
67   TH1F*  fhAreaJet[kMaxJets]; //! histogram for background subtraction (store global not to create it with every event
68   TH1F*  fhEtBackg;           //! histogram for background subtraction
69   TH1F*  fhAreaBackg;         //! histogram for background subtraction
70
71   ClassDef(AliJetBkg, 2)      // background jet analysis
72
73 };
74  
75 #endif