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

/* $Id$ */
 
//---------------------------------------------------------------------
// FastJet v2.3.4 finder algorithm interface
// Finder Header Class 
// Author: Rafael.Diaz.Valdes@cern.ch
//---------------------------------------------------------------------
 
#ifndef __CINT__
# include "fastjet/AreaDefinition.hh"
# include "fastjet/JetDefinition.hh"
#else
namespace fastjet {
  enum JetAlgorithm;
  enum Strategy;
  enum RecombinationScheme;
  enum AreaType;
}
#endif
#include "AliJetHeader.h"

class AliFastJetHeaderV1 : public AliJetHeader
{
 public:
  AliFastJetHeaderV1();
  virtual ~AliFastJetHeaderV1() { }

  // Getters
  Double_t                     GetRparam()              const                  {return fRparam;}
  fastjet::JetAlgorithm        GetAlgorithm()           const                  {return fAlgorithm;}
  fastjet::JetAlgorithm        GetBGAlgorithm()         const                  {return fBGAlgorithm;}
  fastjet::Strategy            GetStrategy()            const                  {return fStrategy;}
  fastjet::RecombinationScheme GetRecombScheme()        const                  {return fRecombScheme;}
  Double_t                     GetGhostEtaMax()         const                  {return fGhostEtaMax;}
  Double_t                     GetGhostArea()           const                  {return fGhostArea;}
  Int_t                        GetActiveAreaRepeats()   const                  {return fActiveAreaRepeats;}
  fastjet::AreaType            GetAreaType()            const                  {return fAreaType;}
  Double_t                     GetPtMin()               const                  {return fPtMin;}
  Double_t                     GetRapMax()              const                  {return fRapMax;}
  Double_t                     GetRapMin()              const                  {return fRapMin;}
  Double_t                     GetPhiMax()              const                  {return fPhiMax;}
  Double_t                     GetPhiMin()              const                  {return fPhiMin;}
  Bool_t                       GetBGMode()              const                  {return fBGMode;}
  Double_t                     GetRparamBkg()           const                  {return fRparamBkg;}
  Bool_t                       Use4VectorArea()         const                  {return fUse4VectorArea;}
  Bool_t                       GetBkgFastJetb()         const                  {return fkBkgFastJetb;}   
  Bool_t                       GetBkgFastJetWoHardest() const                  {return fktBkgFastJetWoHardest;}
  // Setters
  void                         SetRparam(Double_t f)                           {fRparam = f;}
  void                         SetAlgorithm(fastjet::JetAlgorithm f)           {fAlgorithm = f;}
  void                         SetBGAlgorithm(fastjet::JetAlgorithm f)         {fBGAlgorithm = f;}
  void                         SetStrategy(fastjet::Strategy f)                {fStrategy = f;}
  void                         SetRecombScheme(fastjet::RecombinationScheme f) {fRecombScheme = f;}
  void                         SetGhostEtaMax(Double_t f)                      {fGhostEtaMax = f;}
  void                         SetGhostArea(Double_t f)                        {fGhostArea = f;}
  void                         SetActiveAreaRepeats(Int_t f)                   {fActiveAreaRepeats =f;}
  void                         SetAreaType(fastjet::AreaType f)                {fAreaType = f;}
  void                         SetRapRange(Double_t fmin, Double_t fmax)       {fRapMin = fmin; fRapMax = fmax;}
  void                         SetPhiRange(Double_t fmin, Double_t fmax)       {fPhiMin = fmin; fPhiMax = fmax;}
  void                         SetPtMin(Double_t ptmin)                        {fPtMin = ptmin;}
  void                         SetBGMode(Bool_t bgmode)                        {fBGMode = bgmode;}
  void                         SetUse4VectorArea()                             {fUse4VectorArea = kTRUE;}
  void                         SetComment(TString com)                         {fComment=com;}
  void                         SetComment(const char* com)                     {AliJetHeader::SetComment(com);}
  void                         SetRparamBkg(Double_t f)                        {fRparamBkg = f;}
  void                         SetBkgFastJetb(Bool_t f = 1)                    {fkBkgFastJetb = f;}     
  void                         SetBkgFastJetWoHardest(Bool_t f = 1)            {fktBkgFastJetWoHardest = f;}
  // others
  void                         PrintParameters() const;

 protected:
  //fastjet::JetDefinition parameters
  Double_t                     fRparam;                // R param
  Double_t                     fRparamBkg;             // R param for bkg calculation
  fastjet::JetAlgorithm        fAlgorithm;             // fastjet::kt_algorithm
  fastjet::JetAlgorithm        fBGAlgorithm;           // fastjet::kt_algorithm
  fastjet::Strategy            fStrategy;              // fastjet::Best;
  fastjet::RecombinationScheme fRecombScheme;          // fastjet::BIpt_scheme;
  
  //fastjet::GhostedAreaSpec parameters
  Double_t                     fGhostEtaMax;           // Max eta for ghosts
  Double_t                     fGhostArea;             // Ghost area 
  Int_t                        fActiveAreaRepeats;     // Active are repetitions
  
  //fastjet::AreaDefinition parameters
  fastjet::AreaType            fAreaType;              // area types
  
  //fastjet::ClusterSequenceArea options parameters
  Double_t                     fPtMin;                 // jets with pt > ptmin
  Float_t                      fMinCellEt;             // Min Et in one cell

  //fastjet::RangeDefinition parameters 
  Double_t                     fRapMax, fRapMin;       // rapidity range of background sub 
  Double_t                     fPhiMax, fPhiMin;       // phi range of background sub
  Bool_t                       fUse4VectorArea;        // Toggle use of 4-vector area
  
  //background methods flags
  Bool_t                       fkBkgFastJetb;          // Toggle background estimation using AliFastJetBkg::BkgFastJetb()
  Bool_t                       fktBkgFastJetWoHardest; // Toggle background estimation using AliFastJetBkg::BkgFastJetWoHardest()  
 
  ClassDef(AliFastJetHeaderV1,4)                       // Fastjet header class
};
 
#endif
 AliFastJetHeaderV1.h:1
 AliFastJetHeaderV1.h:2
 AliFastJetHeaderV1.h:3
 AliFastJetHeaderV1.h:4
 AliFastJetHeaderV1.h:5
 AliFastJetHeaderV1.h:6
 AliFastJetHeaderV1.h:7
 AliFastJetHeaderV1.h:8
 AliFastJetHeaderV1.h:9
 AliFastJetHeaderV1.h:10
 AliFastJetHeaderV1.h:11
 AliFastJetHeaderV1.h:12
 AliFastJetHeaderV1.h:13
 AliFastJetHeaderV1.h:14
 AliFastJetHeaderV1.h:15
 AliFastJetHeaderV1.h:16
 AliFastJetHeaderV1.h:17
 AliFastJetHeaderV1.h:18
 AliFastJetHeaderV1.h:19
 AliFastJetHeaderV1.h:20
 AliFastJetHeaderV1.h:21
 AliFastJetHeaderV1.h:22
 AliFastJetHeaderV1.h:23
 AliFastJetHeaderV1.h:24
 AliFastJetHeaderV1.h:25
 AliFastJetHeaderV1.h:26
 AliFastJetHeaderV1.h:27
 AliFastJetHeaderV1.h:28
 AliFastJetHeaderV1.h:29
 AliFastJetHeaderV1.h:30
 AliFastJetHeaderV1.h:31
 AliFastJetHeaderV1.h:32
 AliFastJetHeaderV1.h:33
 AliFastJetHeaderV1.h:34
 AliFastJetHeaderV1.h:35
 AliFastJetHeaderV1.h:36
 AliFastJetHeaderV1.h:37
 AliFastJetHeaderV1.h:38
 AliFastJetHeaderV1.h:39
 AliFastJetHeaderV1.h:40
 AliFastJetHeaderV1.h:41
 AliFastJetHeaderV1.h:42
 AliFastJetHeaderV1.h:43
 AliFastJetHeaderV1.h:44
 AliFastJetHeaderV1.h:45
 AliFastJetHeaderV1.h:46
 AliFastJetHeaderV1.h:47
 AliFastJetHeaderV1.h:48
 AliFastJetHeaderV1.h:49
 AliFastJetHeaderV1.h:50
 AliFastJetHeaderV1.h:51
 AliFastJetHeaderV1.h:52
 AliFastJetHeaderV1.h:53
 AliFastJetHeaderV1.h:54
 AliFastJetHeaderV1.h:55
 AliFastJetHeaderV1.h:56
 AliFastJetHeaderV1.h:57
 AliFastJetHeaderV1.h:58
 AliFastJetHeaderV1.h:59
 AliFastJetHeaderV1.h:60
 AliFastJetHeaderV1.h:61
 AliFastJetHeaderV1.h:62
 AliFastJetHeaderV1.h:63
 AliFastJetHeaderV1.h:64
 AliFastJetHeaderV1.h:65
 AliFastJetHeaderV1.h:66
 AliFastJetHeaderV1.h:67
 AliFastJetHeaderV1.h:68
 AliFastJetHeaderV1.h:69
 AliFastJetHeaderV1.h:70
 AliFastJetHeaderV1.h:71
 AliFastJetHeaderV1.h:72
 AliFastJetHeaderV1.h:73
 AliFastJetHeaderV1.h:74
 AliFastJetHeaderV1.h:75
 AliFastJetHeaderV1.h:76
 AliFastJetHeaderV1.h:77
 AliFastJetHeaderV1.h:78
 AliFastJetHeaderV1.h:79
 AliFastJetHeaderV1.h:80
 AliFastJetHeaderV1.h:81
 AliFastJetHeaderV1.h:82
 AliFastJetHeaderV1.h:83
 AliFastJetHeaderV1.h:84
 AliFastJetHeaderV1.h:85
 AliFastJetHeaderV1.h:86
 AliFastJetHeaderV1.h:87
 AliFastJetHeaderV1.h:88
 AliFastJetHeaderV1.h:89
 AliFastJetHeaderV1.h:90
 AliFastJetHeaderV1.h:91
 AliFastJetHeaderV1.h:92
 AliFastJetHeaderV1.h:93
 AliFastJetHeaderV1.h:94
 AliFastJetHeaderV1.h:95
 AliFastJetHeaderV1.h:96
 AliFastJetHeaderV1.h:97
 AliFastJetHeaderV1.h:98
 AliFastJetHeaderV1.h:99
 AliFastJetHeaderV1.h:100
 AliFastJetHeaderV1.h:101
 AliFastJetHeaderV1.h:102
 AliFastJetHeaderV1.h:103
 AliFastJetHeaderV1.h:104
 AliFastJetHeaderV1.h:105
 AliFastJetHeaderV1.h:106
 AliFastJetHeaderV1.h:107
 AliFastJetHeaderV1.h:108
 AliFastJetHeaderV1.h:109
 AliFastJetHeaderV1.h:110