ROOT logo
#include "AliEmcalJetUtilityGenSubtractor.h"
#include "AliEmcalJet.h"
#include "AliRhoParameter.h"
#include "AliEmcalJetTask.h"

ClassImp(AliEmcalJetUtilityGenSubtractor)

//______________________________________________________________________________
AliEmcalJetUtilityGenSubtractor::AliEmcalJetUtilityGenSubtractor() :
AliEmcalJetUtility(),
  fDoGenericSubtractionJetMass(kFALSE),
  fDoGenericSubtractionGR(kFALSE),
  fDoGenericSubtractionExtraJetShapes(kFALSE),
  fUseExternalBkg(kFALSE),
  fRhoName(""),
  fRhomName(""),
  fRho(0),
  fRhom(0),
  fRMax(0.4),
  fDRStep(0.04),
  fPtMinGR(40.),
  fRhoParam(0),
  fRhomParam(0)
{
  // Dummy constructor.

}

//______________________________________________________________________________
AliEmcalJetUtilityGenSubtractor::AliEmcalJetUtilityGenSubtractor(const char* name) :
  AliEmcalJetUtility(name),
  fDoGenericSubtractionJetMass(kFALSE),
  fDoGenericSubtractionGR(kFALSE),
  fDoGenericSubtractionExtraJetShapes(kFALSE),
  fUseExternalBkg(kFALSE),
  fRhoName(""),
  fRhomName(""),
  fRho(0),
  fRhom(0),
  fRMax(0.4),
  fDRStep(0.04),
  fPtMinGR(40.),
  fRhoParam(0),
  fRhomParam(0)
{
  // Default constructor.
}

//______________________________________________________________________________
AliEmcalJetUtilityGenSubtractor::AliEmcalJetUtilityGenSubtractor(const AliEmcalJetUtilityGenSubtractor &other) :
  AliEmcalJetUtility(other),
  fDoGenericSubtractionJetMass(other.fDoGenericSubtractionJetMass),
  fDoGenericSubtractionGR(other.fDoGenericSubtractionGR),
  fDoGenericSubtractionExtraJetShapes(other.fDoGenericSubtractionExtraJetShapes),
  fUseExternalBkg(other.fUseExternalBkg),
  fRhoName(other.fRhoName),
  fRhomName(other.fRhomName),
  fRho(other.fRho),
  fRhom(other.fRhom),
  fRMax(other.fRMax),
  fDRStep(other.fDRStep),
  fPtMinGR(other.fPtMinGR),
  fRhoParam(other.fRhoParam),
  fRhomParam(other.fRhomParam)
{
  // Copy constructor.
}

//______________________________________________________________________________
AliEmcalJetUtilityGenSubtractor& AliEmcalJetUtilityGenSubtractor::operator=(const AliEmcalJetUtilityGenSubtractor &other)
{
  // Assignment.

  if (&other == this) return *this;
  AliEmcalJetUtility::operator=(other);
  fDoGenericSubtractionJetMass = other.fDoGenericSubtractionJetMass;
  fDoGenericSubtractionGR = other.fDoGenericSubtractionGR;
  fDoGenericSubtractionExtraJetShapes = other.fDoGenericSubtractionExtraJetShapes;
  fUseExternalBkg = other.fUseExternalBkg;
  fRhoName = other.fRhoName;
  fRhomName = other.fRhomName;
  fRho = other.fRho;
  fRhom = other.fRhom;
  fRMax = other.fRMax;
  fDRStep = other.fDRStep;
  fPtMinGR = other.fPtMinGR;
  fRhoParam = other.fRhoParam;
  fRhomParam = other.fRhomParam;
  return *this;
}

//______________________________________________________________________________
void AliEmcalJetUtilityGenSubtractor::Init()
{
  // Initialize the utility.

  if (!fRhoName.IsNull() && !fRhoParam) { // get rho from the event
    if(!fJetTask) return;
    fRhoParam = dynamic_cast<AliRhoParameter*>(fJetTask->GetEvent()->FindListObject(fRhoName));
    if (!fRhoParam) {
      AliError(Form("%s: Could not retrieve rho %s!", GetName(), fRhoName.Data()));
      return;
    }
  }
  
  if (!fRhomName.IsNull() && !fRhomParam) { // get rhom from the event
    fRhomParam = dynamic_cast<AliRhoParameter*>(fJetTask->GetEvent()->FindListObject(fRhomName));
    if (!fRhomParam) {
      AliError(Form("%s: Could not retrieve rho_m %s!", GetName(), fRhomName.Data()));
      return;
    }
  }

  fInit = kTRUE;
}

//______________________________________________________________________________
void AliEmcalJetUtilityGenSubtractor::Prepare(AliFJWrapper& fjw)
{
  // Prepare the utility.

  if (!fInit) return;
  
  if (fRhoParam) fRho = fRhoParam->GetVal();
  if (fRhomParam) fRhom = fRhomParam->GetVal();

  //run generic subtractor
  if (fDoGenericSubtractionJetMass) {
    fjw.SetUseExternalBkg(fUseExternalBkg,fRho,fRhom);
    fjw.DoGenericSubtractionJetMass();
  }
 
 if (fDoGenericSubtractionExtraJetShapes) {
   fjw.SetUseExternalBkg(fUseExternalBkg,fRho,fRhom);
   fjw.DoGenericSubtractionJetAngularity();
   fjw.DoGenericSubtractionJetpTD();
   fjw.DoGenericSubtractionJetCircularity();
   fjw.DoGenericSubtractionJetSigma2();
   fjw.DoGenericSubtractionJetConstituent();
   fjw.DoGenericSubtractionJetLeSub();
 }
}

//______________________________________________________________________________
void AliEmcalJetUtilityGenSubtractor::ProcessJet(AliEmcalJet* jet, Int_t ij, AliFJWrapper& fjw)
{
  // Proceess each jet.

  if (!fInit) return;

#ifdef FASTJET_VERSION

  if (fDoGenericSubtractionJetMass) {
    std::vector<fastjet::contrib::GenericSubtractorInfo> jetMassInfo = fjw.GetGenSubtractorInfoJetMass();
    Int_t n = (Int_t)jetMassInfo.size();
    if(n > ij && n > 0) {
      jet->SetFirstDerivative(jetMassInfo[ij].first_derivative());
      jet->SetSecondDerivative(jetMassInfo[ij].second_derivative());
      jet->SetFirstOrderSubtracted(jetMassInfo[ij].first_order_subtracted());
      jet->SetSecondOrderSubtracted(jetMassInfo[ij].second_order_subtracted());
    }
  }

  //here do generic subtraction for angular structure function
  Double_t ptcorr = jet->Pt()-fjw.GetJetArea(ij)*fRho;
  if (fDoGenericSubtractionGR && ptcorr>fPtMinGR) {
    fjw.SetUseExternalBkg(fUseExternalBkg, fRho, fRhom);
    fRMax = fJetTask->GetRadius()+0.2;
    fjw.SetRMaxAndStep(fRMax, fDRStep);
    fjw.DoGenericSubtractionGR(ij);
    std::vector<double> num = fjw.GetGRNumerator();
    std::vector<double> den = fjw.GetGRDenominator();
    std::vector<double> nums = fjw.GetGRNumeratorSub();
    std::vector<double> dens = fjw.GetGRDenominatorSub();
    //pass this to AliEmcalJet
    jet->SetGRNumSize(num.size());
    jet->SetGRDenSize(den.size());
    jet->SetGRNumSubSize(nums.size());
    jet->SetGRDenSubSize(dens.size());
    Int_t nsize = (Int_t)num.size();
    for (Int_t g = 0; g < nsize; ++g) {
      jet->AddGRNumAt(num[g],g);
      jet->AddGRNumSubAt(nums[g],g);
    }
    Int_t dsize = (Int_t)den.size();
    for (Int_t g = 0; g < dsize; ++g) {
      jet->AddGRDenAt(den[g], g);
      jet->AddGRDenSubAt(dens[g], g);
    }
  }

  if (fDoGenericSubtractionExtraJetShapes) {
    std::vector<fastjet::contrib::GenericSubtractorInfo> jetAngularityInfo = fjw.GetGenSubtractorInfoJetAngularity();
    Int_t na = (Int_t)jetAngularityInfo.size();
    if(na > ij && na > 0) {
      jet->SetFirstDerivativeAngularity(jetAngularityInfo[ij].first_derivative());
      jet->SetSecondDerivativeAngularity(jetAngularityInfo[ij].second_derivative());
      jet->SetFirstOrderSubtractedAngularity(jetAngularityInfo[ij].first_order_subtracted());
      jet->SetSecondOrderSubtractedAngularity(jetAngularityInfo[ij].second_order_subtracted());
    }

    std::vector<fastjet::contrib::GenericSubtractorInfo> jetpTDInfo = fjw.GetGenSubtractorInfoJetpTD();
    Int_t np = (Int_t)jetpTDInfo.size();
    if(np > ij && np > 0) {
      jet->SetFirstDerivativepTD(jetpTDInfo[ij].first_derivative());
      jet->SetSecondDerivativepTD(jetpTDInfo[ij].second_derivative());
      jet->SetFirstOrderSubtractedpTD(jetpTDInfo[ij].first_order_subtracted());
      jet->SetSecondOrderSubtractedpTD(jetpTDInfo[ij].second_order_subtracted());
    }

    std::vector<fastjet::contrib::GenericSubtractorInfo> jetCircularityInfo = fjw.GetGenSubtractorInfoJetCircularity();
    Int_t nc = (Int_t)jetCircularityInfo.size();
    if(nc > ij && nc > 0) {
      jet->SetFirstDerivativeCircularity(jetCircularityInfo[ij].first_derivative());
      jet->SetSecondDerivativeCircularity(jetCircularityInfo[ij].second_derivative());
      jet->SetFirstOrderSubtractedCircularity(jetCircularityInfo[ij].first_order_subtracted());
      jet->SetSecondOrderSubtractedCircularity(jetCircularityInfo[ij].second_order_subtracted());
    }

    std::vector<fastjet::contrib::GenericSubtractorInfo> jetSigma2Info = fjw.GetGenSubtractorInfoJetSigma2();
    Int_t ns = (Int_t)jetSigma2Info.size();
    if (ns > ij && ns > 0) {
      jet->SetFirstDerivativeSigma2(jetSigma2Info[ij].first_derivative());
      jet->SetSecondDerivativeSigma2(jetSigma2Info[ij].second_derivative());
      jet->SetFirstOrderSubtractedSigma2(jetSigma2Info[ij].first_order_subtracted());
      jet->SetSecondOrderSubtractedSigma2(jetSigma2Info[ij].second_order_subtracted());
    }


    std::vector<fastjet::contrib::GenericSubtractorInfo> jetConstituentInfo = fjw.GetGenSubtractorInfoJetConstituent();
    Int_t nco = (Int_t)jetConstituentInfo.size();
    if(nco > ij && nco > 0) {
      jet->SetFirstDerivativeConstituent(jetConstituentInfo[ij].first_derivative());
      jet->SetSecondDerivativeConstituent(jetConstituentInfo[ij].second_derivative());
      jet->SetFirstOrderSubtractedConstituent(jetConstituentInfo[ij].first_order_subtracted());
      jet->SetSecondOrderSubtractedConstituent(jetConstituentInfo[ij].second_order_subtracted());
    }

    std::vector<fastjet::contrib::GenericSubtractorInfo> jetLeSubInfo = fjw.GetGenSubtractorInfoJetLeSub();
    Int_t nlsub = (Int_t)jetLeSubInfo.size();
    if(nlsub > ij && nlsub > 0) {
      jet->SetFirstDerivativeLeSub(jetLeSubInfo[ij].first_derivative());
      jet->SetSecondDerivativeLeSub(jetLeSubInfo[ij].second_derivative());
      jet->SetFirstOrderSubtractedLeSub(jetLeSubInfo[ij].first_order_subtracted());
      jet->SetSecondOrderSubtractedLeSub(jetLeSubInfo[ij].second_order_subtracted());
    }
  }

#endif
}

//______________________________________________________________________________
void AliEmcalJetUtilityGenSubtractor::Terminate(AliFJWrapper& /*fjw*/)
{
  // Run termination of the utility (after each event).
}
 AliEmcalJetUtilityGenSubtractor.cxx:1
 AliEmcalJetUtilityGenSubtractor.cxx:2
 AliEmcalJetUtilityGenSubtractor.cxx:3
 AliEmcalJetUtilityGenSubtractor.cxx:4
 AliEmcalJetUtilityGenSubtractor.cxx:5
 AliEmcalJetUtilityGenSubtractor.cxx:6
 AliEmcalJetUtilityGenSubtractor.cxx:7
 AliEmcalJetUtilityGenSubtractor.cxx:8
 AliEmcalJetUtilityGenSubtractor.cxx:9
 AliEmcalJetUtilityGenSubtractor.cxx:10
 AliEmcalJetUtilityGenSubtractor.cxx:11
 AliEmcalJetUtilityGenSubtractor.cxx:12
 AliEmcalJetUtilityGenSubtractor.cxx:13
 AliEmcalJetUtilityGenSubtractor.cxx:14
 AliEmcalJetUtilityGenSubtractor.cxx:15
 AliEmcalJetUtilityGenSubtractor.cxx:16
 AliEmcalJetUtilityGenSubtractor.cxx:17
 AliEmcalJetUtilityGenSubtractor.cxx:18
 AliEmcalJetUtilityGenSubtractor.cxx:19
 AliEmcalJetUtilityGenSubtractor.cxx:20
 AliEmcalJetUtilityGenSubtractor.cxx:21
 AliEmcalJetUtilityGenSubtractor.cxx:22
 AliEmcalJetUtilityGenSubtractor.cxx:23
 AliEmcalJetUtilityGenSubtractor.cxx:24
 AliEmcalJetUtilityGenSubtractor.cxx:25
 AliEmcalJetUtilityGenSubtractor.cxx:26
 AliEmcalJetUtilityGenSubtractor.cxx:27
 AliEmcalJetUtilityGenSubtractor.cxx:28
 AliEmcalJetUtilityGenSubtractor.cxx:29
 AliEmcalJetUtilityGenSubtractor.cxx:30
 AliEmcalJetUtilityGenSubtractor.cxx:31
 AliEmcalJetUtilityGenSubtractor.cxx:32
 AliEmcalJetUtilityGenSubtractor.cxx:33
 AliEmcalJetUtilityGenSubtractor.cxx:34
 AliEmcalJetUtilityGenSubtractor.cxx:35
 AliEmcalJetUtilityGenSubtractor.cxx:36
 AliEmcalJetUtilityGenSubtractor.cxx:37
 AliEmcalJetUtilityGenSubtractor.cxx:38
 AliEmcalJetUtilityGenSubtractor.cxx:39
 AliEmcalJetUtilityGenSubtractor.cxx:40
 AliEmcalJetUtilityGenSubtractor.cxx:41
 AliEmcalJetUtilityGenSubtractor.cxx:42
 AliEmcalJetUtilityGenSubtractor.cxx:43
 AliEmcalJetUtilityGenSubtractor.cxx:44
 AliEmcalJetUtilityGenSubtractor.cxx:45
 AliEmcalJetUtilityGenSubtractor.cxx:46
 AliEmcalJetUtilityGenSubtractor.cxx:47
 AliEmcalJetUtilityGenSubtractor.cxx:48
 AliEmcalJetUtilityGenSubtractor.cxx:49
 AliEmcalJetUtilityGenSubtractor.cxx:50
 AliEmcalJetUtilityGenSubtractor.cxx:51
 AliEmcalJetUtilityGenSubtractor.cxx:52
 AliEmcalJetUtilityGenSubtractor.cxx:53
 AliEmcalJetUtilityGenSubtractor.cxx:54
 AliEmcalJetUtilityGenSubtractor.cxx:55
 AliEmcalJetUtilityGenSubtractor.cxx:56
 AliEmcalJetUtilityGenSubtractor.cxx:57
 AliEmcalJetUtilityGenSubtractor.cxx:58
 AliEmcalJetUtilityGenSubtractor.cxx:59
 AliEmcalJetUtilityGenSubtractor.cxx:60
 AliEmcalJetUtilityGenSubtractor.cxx:61
 AliEmcalJetUtilityGenSubtractor.cxx:62
 AliEmcalJetUtilityGenSubtractor.cxx:63
 AliEmcalJetUtilityGenSubtractor.cxx:64
 AliEmcalJetUtilityGenSubtractor.cxx:65
 AliEmcalJetUtilityGenSubtractor.cxx:66
 AliEmcalJetUtilityGenSubtractor.cxx:67
 AliEmcalJetUtilityGenSubtractor.cxx:68
 AliEmcalJetUtilityGenSubtractor.cxx:69
 AliEmcalJetUtilityGenSubtractor.cxx:70
 AliEmcalJetUtilityGenSubtractor.cxx:71
 AliEmcalJetUtilityGenSubtractor.cxx:72
 AliEmcalJetUtilityGenSubtractor.cxx:73
 AliEmcalJetUtilityGenSubtractor.cxx:74
 AliEmcalJetUtilityGenSubtractor.cxx:75
 AliEmcalJetUtilityGenSubtractor.cxx:76
 AliEmcalJetUtilityGenSubtractor.cxx:77
 AliEmcalJetUtilityGenSubtractor.cxx:78
 AliEmcalJetUtilityGenSubtractor.cxx:79
 AliEmcalJetUtilityGenSubtractor.cxx:80
 AliEmcalJetUtilityGenSubtractor.cxx:81
 AliEmcalJetUtilityGenSubtractor.cxx:82
 AliEmcalJetUtilityGenSubtractor.cxx:83
 AliEmcalJetUtilityGenSubtractor.cxx:84
 AliEmcalJetUtilityGenSubtractor.cxx:85
 AliEmcalJetUtilityGenSubtractor.cxx:86
 AliEmcalJetUtilityGenSubtractor.cxx:87
 AliEmcalJetUtilityGenSubtractor.cxx:88
 AliEmcalJetUtilityGenSubtractor.cxx:89
 AliEmcalJetUtilityGenSubtractor.cxx:90
 AliEmcalJetUtilityGenSubtractor.cxx:91
 AliEmcalJetUtilityGenSubtractor.cxx:92
 AliEmcalJetUtilityGenSubtractor.cxx:93
 AliEmcalJetUtilityGenSubtractor.cxx:94
 AliEmcalJetUtilityGenSubtractor.cxx:95
 AliEmcalJetUtilityGenSubtractor.cxx:96
 AliEmcalJetUtilityGenSubtractor.cxx:97
 AliEmcalJetUtilityGenSubtractor.cxx:98
 AliEmcalJetUtilityGenSubtractor.cxx:99
 AliEmcalJetUtilityGenSubtractor.cxx:100
 AliEmcalJetUtilityGenSubtractor.cxx:101
 AliEmcalJetUtilityGenSubtractor.cxx:102
 AliEmcalJetUtilityGenSubtractor.cxx:103
 AliEmcalJetUtilityGenSubtractor.cxx:104
 AliEmcalJetUtilityGenSubtractor.cxx:105
 AliEmcalJetUtilityGenSubtractor.cxx:106
 AliEmcalJetUtilityGenSubtractor.cxx:107
 AliEmcalJetUtilityGenSubtractor.cxx:108
 AliEmcalJetUtilityGenSubtractor.cxx:109
 AliEmcalJetUtilityGenSubtractor.cxx:110
 AliEmcalJetUtilityGenSubtractor.cxx:111
 AliEmcalJetUtilityGenSubtractor.cxx:112
 AliEmcalJetUtilityGenSubtractor.cxx:113
 AliEmcalJetUtilityGenSubtractor.cxx:114
 AliEmcalJetUtilityGenSubtractor.cxx:115
 AliEmcalJetUtilityGenSubtractor.cxx:116
 AliEmcalJetUtilityGenSubtractor.cxx:117
 AliEmcalJetUtilityGenSubtractor.cxx:118
 AliEmcalJetUtilityGenSubtractor.cxx:119
 AliEmcalJetUtilityGenSubtractor.cxx:120
 AliEmcalJetUtilityGenSubtractor.cxx:121
 AliEmcalJetUtilityGenSubtractor.cxx:122
 AliEmcalJetUtilityGenSubtractor.cxx:123
 AliEmcalJetUtilityGenSubtractor.cxx:124
 AliEmcalJetUtilityGenSubtractor.cxx:125
 AliEmcalJetUtilityGenSubtractor.cxx:126
 AliEmcalJetUtilityGenSubtractor.cxx:127
 AliEmcalJetUtilityGenSubtractor.cxx:128
 AliEmcalJetUtilityGenSubtractor.cxx:129
 AliEmcalJetUtilityGenSubtractor.cxx:130
 AliEmcalJetUtilityGenSubtractor.cxx:131
 AliEmcalJetUtilityGenSubtractor.cxx:132
 AliEmcalJetUtilityGenSubtractor.cxx:133
 AliEmcalJetUtilityGenSubtractor.cxx:134
 AliEmcalJetUtilityGenSubtractor.cxx:135
 AliEmcalJetUtilityGenSubtractor.cxx:136
 AliEmcalJetUtilityGenSubtractor.cxx:137
 AliEmcalJetUtilityGenSubtractor.cxx:138
 AliEmcalJetUtilityGenSubtractor.cxx:139
 AliEmcalJetUtilityGenSubtractor.cxx:140
 AliEmcalJetUtilityGenSubtractor.cxx:141
 AliEmcalJetUtilityGenSubtractor.cxx:142
 AliEmcalJetUtilityGenSubtractor.cxx:143
 AliEmcalJetUtilityGenSubtractor.cxx:144
 AliEmcalJetUtilityGenSubtractor.cxx:145
 AliEmcalJetUtilityGenSubtractor.cxx:146
 AliEmcalJetUtilityGenSubtractor.cxx:147
 AliEmcalJetUtilityGenSubtractor.cxx:148
 AliEmcalJetUtilityGenSubtractor.cxx:149
 AliEmcalJetUtilityGenSubtractor.cxx:150
 AliEmcalJetUtilityGenSubtractor.cxx:151
 AliEmcalJetUtilityGenSubtractor.cxx:152
 AliEmcalJetUtilityGenSubtractor.cxx:153
 AliEmcalJetUtilityGenSubtractor.cxx:154
 AliEmcalJetUtilityGenSubtractor.cxx:155
 AliEmcalJetUtilityGenSubtractor.cxx:156
 AliEmcalJetUtilityGenSubtractor.cxx:157
 AliEmcalJetUtilityGenSubtractor.cxx:158
 AliEmcalJetUtilityGenSubtractor.cxx:159
 AliEmcalJetUtilityGenSubtractor.cxx:160
 AliEmcalJetUtilityGenSubtractor.cxx:161
 AliEmcalJetUtilityGenSubtractor.cxx:162
 AliEmcalJetUtilityGenSubtractor.cxx:163
 AliEmcalJetUtilityGenSubtractor.cxx:164
 AliEmcalJetUtilityGenSubtractor.cxx:165
 AliEmcalJetUtilityGenSubtractor.cxx:166
 AliEmcalJetUtilityGenSubtractor.cxx:167
 AliEmcalJetUtilityGenSubtractor.cxx:168
 AliEmcalJetUtilityGenSubtractor.cxx:169
 AliEmcalJetUtilityGenSubtractor.cxx:170
 AliEmcalJetUtilityGenSubtractor.cxx:171
 AliEmcalJetUtilityGenSubtractor.cxx:172
 AliEmcalJetUtilityGenSubtractor.cxx:173
 AliEmcalJetUtilityGenSubtractor.cxx:174
 AliEmcalJetUtilityGenSubtractor.cxx:175
 AliEmcalJetUtilityGenSubtractor.cxx:176
 AliEmcalJetUtilityGenSubtractor.cxx:177
 AliEmcalJetUtilityGenSubtractor.cxx:178
 AliEmcalJetUtilityGenSubtractor.cxx:179
 AliEmcalJetUtilityGenSubtractor.cxx:180
 AliEmcalJetUtilityGenSubtractor.cxx:181
 AliEmcalJetUtilityGenSubtractor.cxx:182
 AliEmcalJetUtilityGenSubtractor.cxx:183
 AliEmcalJetUtilityGenSubtractor.cxx:184
 AliEmcalJetUtilityGenSubtractor.cxx:185
 AliEmcalJetUtilityGenSubtractor.cxx:186
 AliEmcalJetUtilityGenSubtractor.cxx:187
 AliEmcalJetUtilityGenSubtractor.cxx:188
 AliEmcalJetUtilityGenSubtractor.cxx:189
 AliEmcalJetUtilityGenSubtractor.cxx:190
 AliEmcalJetUtilityGenSubtractor.cxx:191
 AliEmcalJetUtilityGenSubtractor.cxx:192
 AliEmcalJetUtilityGenSubtractor.cxx:193
 AliEmcalJetUtilityGenSubtractor.cxx:194
 AliEmcalJetUtilityGenSubtractor.cxx:195
 AliEmcalJetUtilityGenSubtractor.cxx:196
 AliEmcalJetUtilityGenSubtractor.cxx:197
 AliEmcalJetUtilityGenSubtractor.cxx:198
 AliEmcalJetUtilityGenSubtractor.cxx:199
 AliEmcalJetUtilityGenSubtractor.cxx:200
 AliEmcalJetUtilityGenSubtractor.cxx:201
 AliEmcalJetUtilityGenSubtractor.cxx:202
 AliEmcalJetUtilityGenSubtractor.cxx:203
 AliEmcalJetUtilityGenSubtractor.cxx:204
 AliEmcalJetUtilityGenSubtractor.cxx:205
 AliEmcalJetUtilityGenSubtractor.cxx:206
 AliEmcalJetUtilityGenSubtractor.cxx:207
 AliEmcalJetUtilityGenSubtractor.cxx:208
 AliEmcalJetUtilityGenSubtractor.cxx:209
 AliEmcalJetUtilityGenSubtractor.cxx:210
 AliEmcalJetUtilityGenSubtractor.cxx:211
 AliEmcalJetUtilityGenSubtractor.cxx:212
 AliEmcalJetUtilityGenSubtractor.cxx:213
 AliEmcalJetUtilityGenSubtractor.cxx:214
 AliEmcalJetUtilityGenSubtractor.cxx:215
 AliEmcalJetUtilityGenSubtractor.cxx:216
 AliEmcalJetUtilityGenSubtractor.cxx:217
 AliEmcalJetUtilityGenSubtractor.cxx:218
 AliEmcalJetUtilityGenSubtractor.cxx:219
 AliEmcalJetUtilityGenSubtractor.cxx:220
 AliEmcalJetUtilityGenSubtractor.cxx:221
 AliEmcalJetUtilityGenSubtractor.cxx:222
 AliEmcalJetUtilityGenSubtractor.cxx:223
 AliEmcalJetUtilityGenSubtractor.cxx:224
 AliEmcalJetUtilityGenSubtractor.cxx:225
 AliEmcalJetUtilityGenSubtractor.cxx:226
 AliEmcalJetUtilityGenSubtractor.cxx:227
 AliEmcalJetUtilityGenSubtractor.cxx:228
 AliEmcalJetUtilityGenSubtractor.cxx:229
 AliEmcalJetUtilityGenSubtractor.cxx:230
 AliEmcalJetUtilityGenSubtractor.cxx:231
 AliEmcalJetUtilityGenSubtractor.cxx:232
 AliEmcalJetUtilityGenSubtractor.cxx:233
 AliEmcalJetUtilityGenSubtractor.cxx:234
 AliEmcalJetUtilityGenSubtractor.cxx:235
 AliEmcalJetUtilityGenSubtractor.cxx:236
 AliEmcalJetUtilityGenSubtractor.cxx:237
 AliEmcalJetUtilityGenSubtractor.cxx:238
 AliEmcalJetUtilityGenSubtractor.cxx:239
 AliEmcalJetUtilityGenSubtractor.cxx:240
 AliEmcalJetUtilityGenSubtractor.cxx:241
 AliEmcalJetUtilityGenSubtractor.cxx:242
 AliEmcalJetUtilityGenSubtractor.cxx:243
 AliEmcalJetUtilityGenSubtractor.cxx:244
 AliEmcalJetUtilityGenSubtractor.cxx:245
 AliEmcalJetUtilityGenSubtractor.cxx:246
 AliEmcalJetUtilityGenSubtractor.cxx:247
 AliEmcalJetUtilityGenSubtractor.cxx:248
 AliEmcalJetUtilityGenSubtractor.cxx:249
 AliEmcalJetUtilityGenSubtractor.cxx:250
 AliEmcalJetUtilityGenSubtractor.cxx:251
 AliEmcalJetUtilityGenSubtractor.cxx:252
 AliEmcalJetUtilityGenSubtractor.cxx:253
 AliEmcalJetUtilityGenSubtractor.cxx:254
 AliEmcalJetUtilityGenSubtractor.cxx:255
 AliEmcalJetUtilityGenSubtractor.cxx:256