ROOT logo
#ifndef ALIEMCALJETUTILITYCONSTSUBTRACTOR_H
#define ALIEMCALJETUTILITYCONSTSUBTRACTOR_H

#include <TNamed.h>

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

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

class AliEmcalJetUtilityConstSubtractor : public AliEmcalJetUtility
{
 public:

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

  void                   SetRhoName(const char *n)           { fRhoName      = n         ; }
  void                   SetRhomName(const char *n)          { fRhomName     = n         ; }
  void                   SetUseExternalBkg(Bool_t b)         { fUseExternalBkg   = b     ; }

  void                   SetJetsSubName(const char *n)       { fJetsSubName      = n     ; }
  void                   SetParticlesSubName(const char *n)  { fParticlesSubName = n     ; }

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

 protected:

  TString                fJetsSubName;                        // name of subtracted jet collection
  TString                fParticlesSubName;                   // name of subtracted particle collection
  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

  TClonesArray          *fJetsSub;                            //!subtracted jet collection
  TClonesArray          *fParticlesSub;                       //!subtracted particle collection
  AliRhoParameter       *fRhoParam;                           //!event rho
  AliRhoParameter       *fRhomParam;                          //!event rhom

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