adding rho dependence on leading track (M. Verweij)
[u/mrichter/AliRoot.git] / JETAN / AliUA1JetFinderV2.h
1 #ifndef ALIUA1JETFINDERV2_H
2 #define ALIUA1JETFINDERV2_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
17 class AliUA1JetHeaderV1;
18 class TH2F;
19 class TChain;
20
21 class AliUA1JetFinderV2 : public AliJetFinder
22 {
23  public:
24
25   AliUA1JetFinderV2();
26   ~AliUA1JetFinderV2();
27
28   // others
29   void FindJetsC();
30   void FindJets();
31   void RunAlgoritmC(Float_t EtbgTotal, Double_t dEtTotal, Int_t& nJets,
32                    Float_t* const etJet,Float_t* const etaJet, Float_t* const phiJet,
33                    Float_t* const etallJet, Int_t* const ncellsJet);
34
35   void RunAlgoritm(Int_t nIn, Float_t* etCell, Float_t* const etaCell, Float_t* phiCell, 
36                    Int_t* const flagCell, const Float_t* etCell2, const Float_t* etaCell2, const Float_t* phiCell2, 
37                    const Int_t* flagCell2, Float_t etbgTotal, Double_t dEtTotal, 
38                    Int_t& nJets, Float_t* const etJet, Float_t* const etaJet, Float_t* const phiJet,
39                    Float_t* const etallJet, Int_t* const ncellsJet);
40    
41   void SubtractBackgC(const Int_t& nIn, const Int_t&nJ, Float_t&EtbgTotalN,
42                       const Float_t* ptT, const Float_t* etaT, const Float_t* phiT,
43                       Float_t* const etJet, const Float_t* etaJet, const Float_t* phiJet,
44                       Float_t* const etsigJet,Int_t* const multJet, Int_t* const injet);
45
46   void SubtractBackg(const Int_t& nIn, const Int_t&nJ, Float_t&EtbgTotalN, const Float_t* ptT, const Int_t* vectT, 
47                      const Float_t* etaT, const Float_t* phiT, const Int_t* cFlagT, const Int_t* cFlag2T, 
48                      const Int_t* sFlagT, Float_t* const etJet, const Float_t* etaJet, const Float_t* phiJet, 
49                      Float_t* const etsigJet, Int_t* const multJet, Int_t* const injet);
50
51   void SubtractBackgCone(const Int_t& nIn, const Int_t&nJ,Float_t& EtbgTotalN,
52                       const Float_t* ptT, const Float_t* etaT, const Float_t* phiT, const Int_t* cFlagT, const Int_t* sFlagT,
53                       Float_t* const etJet, const Float_t* etaJet, const Float_t* phiJet,
54                       Float_t* const etsigJet, Int_t* const multJet, Int_t* const injet);
55
56   void SubtractBackgRatio(const Int_t& nIn, const Int_t&nJ,Float_t& EtbgTotalN,
57                       const Float_t* ptT, const Float_t* etaT, const Float_t* phiT, const Int_t* cFlagT, const Int_t* sFlagT,
58                       Float_t* const etJet, const Float_t* etaJet, const Float_t* phiJet,
59                       Float_t* const etsigJet, Int_t* const multJet, Int_t* const injet);
60
61   void SubtractBackgStat(const Int_t& nIn, const Int_t&nJ,Float_t&EtbgTotalN,
62                          const Float_t* ptT, const Float_t* etaT, const Float_t* phiT, const Int_t* cFlagT, 
63                          const Int_t* sFlagT, Float_t* const etJet, const Float_t* etaJet, const Float_t* phiJet,
64                          Float_t* const etsigJet, Int_t* const multJet, Int_t* const injet);
65   void Reset();
66   void InitTask(TChain* tree);
67   void WriteJHeaderToFile() const;
68  protected:
69   AliUA1JetFinderV2(const AliUA1JetFinderV2& rJetF1);
70   AliUA1JetFinderV2& operator = (const AliUA1JetFinderV2& rhsf);
71   TH2F           * fLego;           // Lego Histo
72   Int_t fOpt;                       // Detector option (charged only or charged+neutral)
73
74   ClassDef(AliUA1JetFinderV2,1)
75 };
76
77 #endif