set minimum pT for dicing (M. Verweij)
[u/mrichter/AliRoot.git] / JETAN / AliUA1JetFinderV1.h
1 #ifndef ALIUA1JETFINDERV1_H
2 #define ALIUA1JETFINDERV1_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7
8 //---------------------------------------------------------------------
9 // UA1 Cone Algorithm Finder V1
10 // manages the search for jets
11 // Author: Rafael.Diaz.Valdes@cern.ch
12 // (version in c++)
13 //---------------------------------------------------------------------
14
15 #include "AliJetFinder.h"
16 class AliUA1JetHeaderV1;
17 class TH2F;
18 class TH1F;
19
20 class AliUA1JetFinderV1 : public AliJetFinder
21 {
22  public:
23
24   AliUA1JetFinderV1();
25   ~AliUA1JetFinderV1();
26
27   // others
28   void FindJets();
29   void RunAlgoritm(Float_t EtbgTotal, Double_t dEtTotal, Int_t& nJets,
30                    Float_t* etJet,Float_t* etaJet, Float_t* phiJet,
31                    Float_t* etallJet, Int_t* ncellsJet);
32
33   void SubtractBackg(const Int_t& nIn, const Int_t&nJ, Float_t&EtbgTotalN,
34                      const Float_t* ptT, const Float_t* etaT, const Float_t* phiT,
35                      Float_t* etJet, const Float_t* etaJet, const Float_t* phiJet,
36                      Float_t* etsigJet,Int_t* multJet, Int_t* injet);
37   
38   void SubtractBackgCone(const Int_t& nIn, const Int_t&nJ,Float_t& EtbgTotalN,
39                          const Float_t* ptT, const Float_t* etaT, const Float_t* phiT,
40                          Float_t* etJet, const Float_t* etaJet, const Float_t* phiJet,
41                          Float_t* etsigJet, Int_t* multJet, Int_t* injet);
42   
43   void SubtractBackgRatio(const Int_t& nIn, const Int_t&nJ,Float_t& EtbgTotalN,
44                           const Float_t* ptT, const Float_t* etaT, const Float_t* phiT,
45                           Float_t* etJet, const Float_t* etaJet, const Float_t* phiJet,
46                           Float_t* etsigJet, Int_t* multJet, Int_t* injet);
47   
48   void SubtractBackgStat(const Int_t& nIn, const Int_t&nJ,Float_t&EtbgTotalN,
49                          const Float_t* ptT, const Float_t* etaT, const Float_t* phiT,
50                          Float_t* etJet, const Float_t* etaJet, const Float_t* phiJet,
51                          Float_t* etsigJet, Int_t* multJet, Int_t* injet);
52   void Reset();
53   void Init();
54   void WriteJHeaderToFile() const;
55   
56   enum {kMaxJets = 30};
57
58  protected:
59   AliUA1JetFinderV1(const AliUA1JetFinderV1& rJetF1);
60   AliUA1JetFinderV1& operator = (const AliUA1JetFinderV1& rhsf);
61   TH2F*          fLego;           //Lego Histo
62   // temporary histos for background, reset for each event, no need to stream
63   TH1F*          fhEtJet[kMaxJets];   //! histogram for background subtraction
64   TH1F*          fhAreaJet[kMaxJets]; //! histogram for background subtraction (store global not to create it with every event
65   TH1F*          fhEtBackg;           //! histogram for background subtraction
66   TH1F*          fhAreaBackg;           //! histogram for background subtraction
67
68   //
69
70   ClassDef(AliUA1JetFinderV1,2)
71 };
72
73 #endif