ROOT logo
#ifndef ALIEMCALJETUTILITYGENSUBTRACTOR_H
#define ALIEMCALJETUTILITYGENSUBTRACTOR_H

#include <TNamed.h>

#include "AliEmcalJetUtility.h"
#include "AliFJWrapper.h"

class AliEmcalJetTask;
class AliEmcalJet;
class AliFJWrapper;
class AliRhoParameter;

class AliEmcalJetUtilityGenSubtractor : public AliEmcalJetUtility
{
 public:

  AliEmcalJetUtilityGenSubtractor();
  AliEmcalJetUtilityGenSubtractor(const char* name);
  AliEmcalJetUtilityGenSubtractor(const AliEmcalJetUtilityGenSubtractor &jet);
  AliEmcalJetUtilityGenSubtractor& operator=(const AliEmcalJetUtilityGenSubtractor &jet);
  ~AliEmcalJetUtilityGenSubtractor() {;}

  void Init();
  void Prepare(AliFJWrapper& fjw);
  void ProcessJet(AliEmcalJet* jet, Int_t ij, AliFJWrapper& fjw);
  void Terminate(AliFJWrapper& fjw);

  void                   SetRhoName(const char *n)                                        { fRhoName      = n                      ; }
  void                   SetRhomName(const char *n)                                       { fRhomName     = n                      ; }

  void                   SetGenericSubtractionJetMass(Bool_t b)                           { fDoGenericSubtractionJetMass        = b; }
  void                   SetGenericSubtractionGR(Bool_t b, Double_t rmax = 2., 
                                                 Double_t dr = 0.04, Double_t ptmin = 0.) { fDoGenericSubtractionGR             = b; fRMax = rmax; fDRStep = dr; fPtMinGR = ptmin;}
  void                   SetGenericSubtractionExtraJetShapes(Bool_t b)                    { fDoGenericSubtractionExtraJetShapes = b; }
  void                   SetUseExternalBkg(Bool_t b)                                      { fUseExternalBkg                     = b; }

 protected:

  Bool_t                 fDoGenericSubtractionJetMass;        // calculate generic subtraction
  Bool_t                 fDoGenericSubtractionGR;             // calculate generic subtraction for angular structure function GR
  Bool_t                 fDoGenericSubtractionExtraJetShapes; // calculate generic subtraction for other jet shapes like radialmoment,pTD etc
  Bool_t                 fUseExternalBkg;                     // use external background for generic subtractor
  TString                fRhoName;                            // name of rho
  TString                fRhomName;                           // name of rhom
  Double_t               fRho;                                // pT background density
  Double_t               fRhom;                               // mT background density
  Double_t               fRMax;                               // R max for GR calculation
  Double_t               fDRStep;                             // step width for GR calculation
  Double_t               fPtMinGR;                            // min pT for GR calculation

  AliRhoParameter       *fRhoParam;                           //!event rho
  AliRhoParameter       *fRhomParam;                          //!event rhom

  ClassDef(AliEmcalJetUtilityGenSubtractor, 1) // Emcal jet utility that implements generic subtractors form the fastjet contrib
};
#endif
 AliEmcalJetUtilityGenSubtractor.h:1
 AliEmcalJetUtilityGenSubtractor.h:2
 AliEmcalJetUtilityGenSubtractor.h:3
 AliEmcalJetUtilityGenSubtractor.h:4
 AliEmcalJetUtilityGenSubtractor.h:5
 AliEmcalJetUtilityGenSubtractor.h:6
 AliEmcalJetUtilityGenSubtractor.h:7
 AliEmcalJetUtilityGenSubtractor.h:8
 AliEmcalJetUtilityGenSubtractor.h:9
 AliEmcalJetUtilityGenSubtractor.h:10
 AliEmcalJetUtilityGenSubtractor.h:11
 AliEmcalJetUtilityGenSubtractor.h:12
 AliEmcalJetUtilityGenSubtractor.h:13
 AliEmcalJetUtilityGenSubtractor.h:14
 AliEmcalJetUtilityGenSubtractor.h:15
 AliEmcalJetUtilityGenSubtractor.h:16
 AliEmcalJetUtilityGenSubtractor.h:17
 AliEmcalJetUtilityGenSubtractor.h:18
 AliEmcalJetUtilityGenSubtractor.h:19
 AliEmcalJetUtilityGenSubtractor.h:20
 AliEmcalJetUtilityGenSubtractor.h:21
 AliEmcalJetUtilityGenSubtractor.h:22
 AliEmcalJetUtilityGenSubtractor.h:23
 AliEmcalJetUtilityGenSubtractor.h:24
 AliEmcalJetUtilityGenSubtractor.h:25
 AliEmcalJetUtilityGenSubtractor.h:26
 AliEmcalJetUtilityGenSubtractor.h:27
 AliEmcalJetUtilityGenSubtractor.h:28
 AliEmcalJetUtilityGenSubtractor.h:29
 AliEmcalJetUtilityGenSubtractor.h:30
 AliEmcalJetUtilityGenSubtractor.h:31
 AliEmcalJetUtilityGenSubtractor.h:32
 AliEmcalJetUtilityGenSubtractor.h:33
 AliEmcalJetUtilityGenSubtractor.h:34
 AliEmcalJetUtilityGenSubtractor.h:35
 AliEmcalJetUtilityGenSubtractor.h:36
 AliEmcalJetUtilityGenSubtractor.h:37
 AliEmcalJetUtilityGenSubtractor.h:38
 AliEmcalJetUtilityGenSubtractor.h:39
 AliEmcalJetUtilityGenSubtractor.h:40
 AliEmcalJetUtilityGenSubtractor.h:41
 AliEmcalJetUtilityGenSubtractor.h:42
 AliEmcalJetUtilityGenSubtractor.h:43
 AliEmcalJetUtilityGenSubtractor.h:44
 AliEmcalJetUtilityGenSubtractor.h:45
 AliEmcalJetUtilityGenSubtractor.h:46
 AliEmcalJetUtilityGenSubtractor.h:47
 AliEmcalJetUtilityGenSubtractor.h:48
 AliEmcalJetUtilityGenSubtractor.h:49
 AliEmcalJetUtilityGenSubtractor.h:50
 AliEmcalJetUtilityGenSubtractor.h:51
 AliEmcalJetUtilityGenSubtractor.h:52
 AliEmcalJetUtilityGenSubtractor.h:53
 AliEmcalJetUtilityGenSubtractor.h:54
 AliEmcalJetUtilityGenSubtractor.h:55
 AliEmcalJetUtilityGenSubtractor.h:56
 AliEmcalJetUtilityGenSubtractor.h:57