]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/AliEmcalJetUtilityGenSubtractor.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / AliEmcalJetUtilityGenSubtractor.h
1 #ifndef ALIEMCALJETUTILITYGENSUBTRACTOR_H
2 #define ALIEMCALJETUTILITYGENSUBTRACTOR_H
3
4 #include <TNamed.h>
5
6 #include "AliEmcalJetUtility.h"
7 #include "AliFJWrapper.h"
8
9 class AliEmcalJetTask;
10 class AliEmcalJet;
11 class AliFJWrapper;
12 class AliRhoParameter;
13
14 class AliEmcalJetUtilityGenSubtractor : public AliEmcalJetUtility
15 {
16  public:
17
18   AliEmcalJetUtilityGenSubtractor();
19   AliEmcalJetUtilityGenSubtractor(const char* name);
20   AliEmcalJetUtilityGenSubtractor(const AliEmcalJetUtilityGenSubtractor &jet);
21   AliEmcalJetUtilityGenSubtractor& operator=(const AliEmcalJetUtilityGenSubtractor &jet);
22   ~AliEmcalJetUtilityGenSubtractor() {;}
23
24   void Init();
25   void Prepare(AliFJWrapper& fjw);
26   void ProcessJet(AliEmcalJet* jet, Int_t ij, AliFJWrapper& fjw);
27   void Terminate(AliFJWrapper& fjw);
28
29   void                   SetRhoName(const char *n)                                        { fRhoName      = n                      ; }
30   void                   SetRhomName(const char *n)                                       { fRhomName     = n                      ; }
31
32   void                   SetGenericSubtractionJetMass(Bool_t b)                           { fDoGenericSubtractionJetMass        = b; }
33   void                   SetGenericSubtractionGR(Bool_t b, Double_t rmax = 2., 
34                                                  Double_t dr = 0.04, Double_t ptmin = 0.) { fDoGenericSubtractionGR             = b; fRMax = rmax; fDRStep = dr; fPtMinGR = ptmin;}
35   void                   SetGenericSubtractionExtraJetShapes(Bool_t b)                    { fDoGenericSubtractionExtraJetShapes = b; }
36   void                   SetUseExternalBkg(Bool_t b)                                      { fUseExternalBkg                     = b; }
37
38  protected:
39
40   Bool_t                 fDoGenericSubtractionJetMass;        // calculate generic subtraction
41   Bool_t                 fDoGenericSubtractionGR;             // calculate generic subtraction for angular structure function GR
42   Bool_t                 fDoGenericSubtractionExtraJetShapes; // calculate generic subtraction for other jet shapes like radialmoment,pTD etc
43   Bool_t                 fUseExternalBkg;                     // use external background for generic subtractor
44   TString                fRhoName;                            // name of rho
45   TString                fRhomName;                           // name of rhom
46   Double_t               fRho;                                // pT background density
47   Double_t               fRhom;                               // mT background density
48   Double_t               fRMax;                               // R max for GR calculation
49   Double_t               fDRStep;                             // step width for GR calculation
50   Double_t               fPtMinGR;                            // min pT for GR calculation
51
52   AliRhoParameter       *fRhoParam;                           //!event rho
53   AliRhoParameter       *fRhomParam;                          //!event rhom
54
55   ClassDef(AliEmcalJetUtilityGenSubtractor, 1) // Emcal jet utility that implements generic subtractors form the fastjet contrib
56 };
57 #endif