Adding the possibility not to follow particle mothers during StepManager (default...
[u/mrichter/AliRoot.git] / JETAN / AliSISConeJetHeader.h
1 #ifndef ALISISCONEJETHEADER_H
2 #define ALISISCONEJETHEADER_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 // SISCone (FastJet v2.3.4) finder algorithm interface
11 // Finder Header Class 
12 // Author: swensy.jangal@ires.in2p3.fr
13 //---------------------------------------------------------------------
14 #ifndef __CINT__ 
15 #include "fastjet/JetDefinition.hh"
16 #else
17 namespace fastjet {
18   class Strategy;
19   class RecombinationScheme;
20 }
21 #endif
22 #include "AliJetHeader.h"
23  
24 class AliSISConeJetHeader : public AliJetHeader
25 {
26  public:
27  
28   AliSISConeJetHeader();
29   virtual ~AliSISConeJetHeader() { }
30
31   // Getters
32   Bool_t                       GetBGMode()                     const           {return fBGMode;}
33   Int_t                        GetActiveAreaRepeats()          const           {return fActiveAreaRepeats;}
34   Int_t                        GetAreaTypeNumber()             const           {return fAreaTypeNumber;}
35   Int_t                        GetBGAlgorithm()                const           {return fBGAlgo;}        
36   Int_t                        GetNPassMax()                   const           {return fNPassMax;}
37   Int_t                        GetSplitMergeScale()            const           {return fSplitMergeScaleNumber;}
38   Double_t                     GetGhostEtaMax()                const           {return fGhostEtaMax;}
39   Double_t                     GetGhostArea()                  const           {return fGhostArea;}
40   Double_t                     GetEffectiveRFact()             const           {return fEffectiveRFact;}
41   Double_t                     GetRapMax()                     const           {return fRapMax;}
42   Double_t                     GetRapMin()                     const           {return fRapMin;}
43   Double_t                     GetPhiMax()                     const           {return fPhiMax;}
44   Double_t                     GetPhiMin()                     const           {return fPhiMin;}
45   Double_t                     GetConeRadius()                 const           {return fConeRadius;}
46   Double_t                     GetOverlapThreshold()           const           {return fOverlapThreshold;}
47   Double_t                     GetPtProtojetMin()              const           {return fPtProtoJetMin;}
48   Double_t                     GetRForRho()                    const           {return fRRho;}
49   Double_t                     GetCaching()                    const           {return fCaching;}
50   Double_t                     GetSplitMergeStoppingScale()    const           {return fSplitMergeStoppingScale;}
51   Double_t                     GetMinJetPt()                   const           {return fMinJetPt;}  
52   Double_t                     GetGridScatter()                const           {return fGridScatter;}
53   Double_t                     GetKtScatter()                  const           {return fKtScatter;}
54   Double_t                     GetMeanGhostKt()                const           {return fMeanGhostKt;}
55
56   // Setters
57   void                         SetBGAlgorithm(Int_t value)                     {fBGAlgo = value;}
58   void                         SetBGMode(Bool_t value)                         {fBGMode = value;}
59   void                         SetCaching(Bool_t value)                        {fCaching = value;}
60   void                         SetComment(TString com)                         {fComment=com;}
61   void                         SetComment(const char* com)                     {AliJetHeader::SetComment(com);}
62   void                         SetGhostEtaMax(Double_t f)                      {fGhostEtaMax = f;}
63   void                         SetGhostArea(Double_t f)                        {fGhostArea = f;}
64   void                         SetActiveAreaRepeats(Int_t f)                   {fActiveAreaRepeats =f;}
65   void                         SetAreaTypeNumber(Int_t f)                      {fAreaTypeNumber = f;}
66   void                         SetEffectiveRFact(Double_t value)               {fEffectiveRFact = value;}       
67   void                         SetConeRadius(Double_t value)                   {fConeRadius = value;}
68   void                         SetMinJetPt(Double_t value)                     {fMinJetPt = value;}
69   void                         SetNPassMax(Int_t value)                        {fNPassMax = value;}
70   void                         SetOverlapThreshold(Double_t value)             {fOverlapThreshold = value;}
71   void                         SetPhiRange(Double_t fmin, Double_t fmax)       {fPhiMin = fmin; fPhiMax = fmax;}
72   void                         SetPtProtojetMin(Double_t value)                {fPtProtoJetMin = value;}
73   void                         SetRapRange(Double_t fmin, Double_t fmax)       {fRapMin = fmin; fRapMax = fmax;}
74   void                         SetRForRho(Double_t value)                      {fRRho = value;}
75   void                         SetSplitMergeScale(Int_t value)                 {fSplitMergeScaleNumber = value;}
76   void                         SetSplitMergeStoppingScale(Double_t value)      {fSplitMergeStoppingScale = value;}        
77   void                         SetGridScatter(Double_t value)                  {fGridScatter = value;}
78   void                         SetKtScatter(Double_t value)                    {fKtScatter = value;}
79   void                         SetMeanGhostKt(Double_t value)                  {fMeanGhostKt = value;}
80
81   // Added for background stuff
82   fastjet::Strategy            GetStrategy() const                             {return fStrategy;}
83   fastjet::RecombinationScheme GetRecombScheme() const                         {return fRecombScheme;}
84   Double_t                     GetRparamBkg() const                            {return fRparamBkg;}
85   Bool_t                       Use4VectorArea() const                          {return fkUse4VectorArea;}
86
87   void                         SetUse4VectorArea()                             {fkUse4VectorArea = kTRUE;}
88   void                         SetStrategy(fastjet::Strategy f)                {fStrategy = f;}
89   void                         SetRecombScheme(fastjet::RecombinationScheme f) {fRecombScheme = f;}
90   void                         SetRparamBkg(Double_t f)                        {fRparamBkg = f;}
91
92   // others
93   void                         PrintParameters() const;
94
95  protected:
96
97
98   Int_t    fActiveAreaRepeats;                // How many times do you want to caculate active areas?
99   Int_t    fAreaTypeNumber;                   // Kind of area
100   Int_t    fBGAlgo;                           // Algorithm for rho calculus
101   Bool_t   fCaching;                          // Do we record found cones for this set of data?
102   Double_t fConeRadius;                       // Cone radius
103   Double_t fEffectiveRFact;                   // Radius for Voronoi diagram
104   Double_t fGhostEtaMax;                      // Maximum eta in which a ghost can be generated
105   Double_t fGhostArea;                        // Area of one ghost
106   Double_t fGridScatter;                      // fractional random fluctuations of the position of the ghosts on the y-phi grid
107   Double_t fKtScatter;                        // fractional random fluctuations of the tranverse momentum of the ghosts on the y-phi grid
108   Double_t fMeanGhostKt;                      // average transverse momentum of the ghosts.
109   Double_t fMinJetPt;                         // Jet minimum energy
110   Int_t    fNPassMax;                         // maximum number of passes
111   Double_t fOverlapThreshold;                 // overlap parameter
112   Double_t fPhiMax, fPhiMin;                  // Phi range
113   Double_t fPtProtoJetMin;                    // pT min of protojets
114   Double_t fRapMax, fRapMin;                  // Eta range
115   Double_t fRRho;                             // Radius to determine rho
116   Int_t    fSplitMergeScaleNumber;            // Kind of recombination in split/merge procedure, there's only one
117   Double_t fSplitMergeStoppingScale;          // Stopping scale for split/merge procedure in case of area calculus
118
119   // Added for background
120   Double_t fRparamBkg;                        //R param for bkg calculation
121   fastjet::Strategy fStrategy;                // fastjet::Best;
122   fastjet::RecombinationScheme fRecombScheme; // fastjet::BIpt_scheme;
123   Bool_t   fkUse4VectorArea;                  // Toggle use of 4-vector area
124
125   ClassDef(AliSISConeJetHeader,5)             // SISCONE header class
126 };
127  
128 #endif