ROOT logo
// **************************************
// Task used for the correction of detector effects for background fluctuations in jet spectra by the HBOM method
// *******************************************


/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

 
#include <TROOT.h>
#include <TRandom3.h>
#include <TSystem.h>
#include <TInterpreter.h>
#include <TChain.h>
#include <TRefArray.h>
#include <TFile.h>
#include <TKey.h>
#include <TH1F.h>
#include <TH2F.h>
#include <TH3F.h>
#include <TProfile.h>
#include <TF1.h>
#include <TList.h>
#include <TLorentzVector.h>
#include <TClonesArray.h>
#include  "TDatabasePDG.h"

#include "AliAnalysisTaskJetHBOM.h"
#include "AliAnalysisManager.h"
#include "AliESDEvent.h"
#include "AliAODEvent.h"
#include "AliAODHandler.h"
#include "AliAODExtension.h"
#include "AliAODTrack.h"
#include "AliAODJet.h"
#include "AliAODMCParticle.h"
#include "AliMCEventHandler.h"
#include "AliMCEvent.h"
#include "AliStack.h"
#include "AliGenPythiaEventHeader.h"
#include "AliGenCocktailEventHeader.h"
#include "AliInputEventHandler.h"
#include "AliAODJetEventBackground.h"


using std::cout;
using std::endl;
using std::vector;

ClassImp(AliAnalysisTaskJetHBOM)

AliAnalysisTaskJetHBOM::~AliAnalysisTaskJetHBOM(){
  //
  // Destructor
  //

  delete fRef;
  fRef = 0;
  delete fRandom;
  fRandom = 0;

  if(fTCARandomConesOut)fTCARandomConesOut->Delete();
  delete fTCARandomConesOut;
  fTCARandomConesOut = 0;

}

AliAnalysisTaskJetHBOM::AliAnalysisTaskJetHBOM(): 
  AliAnalysisTaskSE(),
  fAOD(0x0),
  fAODExtension(0x0),
  fRef(0),
  fUseAODTrackInput(kFALSE),
  fUseAODMCInput(kFALSE),
  fEventSelection(kFALSE),     
  fFilterMask(0),
  fFilterMaskBestPt(0),
  fFilterType(0),
  fJetTypes(kJet),
  fTrackTypeRec(kTrackUndef),
  fTrackTypeGen(kTrackUndef),  
  fNSkipLeadingRan(0),
  fNSkipLeadingCone(0),
  fNRandomCones(0),
  randCone_pos(0),
  randCone_Eta(0),
  randCone_Phi(0),
  fNHBOM(0),
  fTrackEtaWindow(0.9),    
  fTrackPtCut(0.),							
  fJetOutputMinPt(0.150),
  fMaxTrackPtInJet(100.),
  fVtxZCut(8),
  fVtxR2Cut(1),
  fCentCutUp(0),
  fCentCutLo(0),
  fNonStdBranch(""),
  fBackgroundBranch(""),
  fNonStdFile(""),
  fMomResH1(0x0),
  fMomResH2(0x0),
  fMomResH3(0x0),
  fMomResH1Fit(0x0),
  fMomResH2Fit(0x0),
  fMomResH3Fit(0x0),
  fhEffH1(0x0),
  fhEffH2(0x0),
  fhEffH3(0x0),
  fUseTrMomentumSmearing(kFALSE),
  fUseDiceEfficiency(kFALSE),
  fRparam(1.0), 
  fAlgorithm(fastjet::kt_algorithm),
  fStrategy(fastjet::Best),
  fRecombScheme(fastjet::BIpt_scheme),
  fAreaType(fastjet::active_area), 
  fGhostArea(0.01),
  fActiveAreaRepeats(1),
  fGhostEtamax(1.5),
  background(0),
  fTCARandomConesOut(0x0),
  fRandom(0),
  fh1Xsec(0x0),
  fh1Trials(0x0),
  fh1PtHard(0x0),
  fh1PtHardNoW(0x0),  
  fh1PtHardTrials(0x0),
  fh1Nch(0x0),
  fh1CentralityPhySel(0x0), 
  fh1Centrality(0x0), 
  fh1DeltapT(0x0),
  fh1Rho(0x0),
  fh1RhoSigma(0x0),
  fh1PtRandCone(0x0),
  fh1efficiencyPt(0x0),
  fh2efficiencyPhi(0x0),
  fh1ZPhySel(0x0), 
  fh1Z(0x0), 
  fHistList(0x0)  
{
  
}

AliAnalysisTaskJetHBOM::AliAnalysisTaskJetHBOM(const char* name):
  AliAnalysisTaskSE(name),
  fAOD(0x0),
  fAODExtension(0x0),
  fRef(0),
  fUseAODTrackInput(kFALSE),
  fUseAODMCInput(kFALSE),
  fEventSelection(kFALSE),							  
  fFilterMask(0),
  fFilterMaskBestPt(0),
  fFilterType(0),
  fJetTypes(kJet),
  fTrackTypeRec(kTrackUndef),
  fTrackTypeGen(kTrackUndef),
  fNSkipLeadingRan(0),
  fNSkipLeadingCone(0),
  fNRandomCones(0),
  randCone_pos(0),
  randCone_Eta(0),
  randCone_Phi(0),
  fNHBOM(0),
  fTrackEtaWindow(0.9),    
  fTrackPtCut(0.),							
  fJetOutputMinPt(0.150),
  fMaxTrackPtInJet(100.),
  fVtxZCut(8),
  fVtxR2Cut(1),
  fCentCutUp(0),
  fCentCutLo(0),
  fNonStdBranch(""),
  fBackgroundBranch(""),
  fNonStdFile(""),
  fMomResH1(0x0),
  fMomResH2(0x0),
  fMomResH3(0x0),
  fMomResH1Fit(0x0),
  fMomResH2Fit(0x0),
  fMomResH3Fit(0x0),
  fhEffH1(0x0),
  fhEffH2(0x0),
  fhEffH3(0x0),
  fUseTrMomentumSmearing(kFALSE),
  fUseDiceEfficiency(kFALSE),
  fRparam(1.0), 
  fAlgorithm(fastjet::kt_algorithm),
  fStrategy(fastjet::Best),
  fRecombScheme(fastjet::BIpt_scheme),
  fAreaType(fastjet::active_area), 
  fGhostArea(0.01),
  fActiveAreaRepeats(1),
  fGhostEtamax(1.5),
  background(0),
  fTCARandomConesOut(0x0),
  fRandom(0),
  fh1Xsec(0x0),
  fh1Trials(0x0),
  fh1PtHard(0x0),
  fh1PtHardNoW(0x0),  
  fh1PtHardTrials(0x0),
  fh1Nch(0x0),
  fh1CentralityPhySel(0x0), 
  fh1Centrality(0x0), 
  fh1DeltapT(0x0),
  fh1Rho(0x0),
  fh1RhoSigma(0x0),
  fh1PtRandCone(0x0),
  fh1efficiencyPt(0x0),
  fh2efficiencyPhi(0x0),
  fh1ZPhySel(0x0), 
  fh1Z(0x0), 
  fHistList(0x0)
{
 DefineOutput(1, TList::Class());  
}



Bool_t AliAnalysisTaskJetHBOM::Notify()
{
  //
  // Implemented Notify() to read the cross sections
  // and number of trials from pyxsec.root
  // 
  return kTRUE;
}

void AliAnalysisTaskJetHBOM::UserCreateOutputObjects()
{

  //
  // Create the output container
  //

  fRandom = new TRandom3(0);


  // Connect the AOD


  if (fDebug > 1) printf("AnalysisTaskJetHBOM::UserCreateOutputObjects() \n");

  

  if(fNonStdBranch.Length()!=0)
    {
      // only create the output branch if we have a name
      // Create a new branch for jets...
      //  -> cleared in the UserExec....
      // here we can also have the case that the brnaches are written to a separate file
      
      // create the branch for the random cones with the same R 
      TString cName = Form("%sRandomConeSkip%02d",fNonStdBranch.Data(),fNSkipLeadingCone);
      if(fUseDiceEfficiency || fUseTrMomentumSmearing)
	cName = Form("%sDetector%d%d_RandomConeSkip%02d",fNonStdBranch.Data(),fUseTrMomentumSmearing,fUseDiceEfficiency,fNSkipLeadingCone);
    
      //create array for the random cones; Until now only one cone per event is used
      if(!AODEvent()->FindListObject(cName.Data())){
	fTCARandomConesOut = new TClonesArray("AliAODJet", 0);
	fTCARandomConesOut->SetName(cName.Data());
	AddAODBranch("TClonesArray",&fTCARandomConesOut,fNonStdFile.Data());
      }
      
      if(fNonStdFile.Length()!=0){
	// 
	// case that we have an AOD extension we need to fetch the jets from the extended output
	// we identify the extension aod event by looking for the branchname
	AliAODHandler *aodH = dynamic_cast<AliAODHandler*>(AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler());
	// case that we have an AOD extension we need can fetch the background maybe from the extended output                                                                  
	fAODExtension = (aodH?aodH->GetExtension(fNonStdFile.Data()):0);
      }
    }

  //  FitMomentumResolution();


  if(!fHistList)fHistList = new TList();
  fHistList->SetOwner();
  PostData(1, fHistList); // post data in any case once

  Bool_t oldStatus = TH1::AddDirectoryStatus();
  TH1::AddDirectory(kFALSE);

  //
  //  Histogram
    
  const Int_t nBinPt = 100;
  Double_t binLimitsPt[nBinPt+1];
  for(Int_t iPt = 0;iPt <= nBinPt;iPt++){
    if(iPt == 0){
      binLimitsPt[iPt] = 0.0;
    }
    else {// 1.0
      binLimitsPt[iPt] =  binLimitsPt[iPt-1] + 2.0;
    }
  }
  
  const Int_t nBinPhi = 90;
  Double_t binLimitsPhi[nBinPhi+1];
  for(Int_t iPhi = 0;iPhi<=nBinPhi;iPhi++){
    if(iPhi==0){
      binLimitsPhi[iPhi] = -1.*TMath::Pi();
    }
    else{
      binLimitsPhi[iPhi] = binLimitsPhi[iPhi-1] + 1/(Float_t)nBinPhi * TMath::Pi()*2;
    }
  }



  const Int_t nBinEta = 40;
  Double_t binLimitsEta[nBinEta+1];
  for(Int_t iEta = 0;iEta<=nBinEta;iEta++){
    if(iEta==0){
      binLimitsEta[iEta] = -2.0;
    }
    else{
      binLimitsEta[iEta] = binLimitsEta[iEta-1] + 0.1;
    }
  }

  const int nChMax = 5000;

  fh1Xsec = new TProfile("fh1Xsec","xsec from pyxsec.root",1,0,1);
  fh1Xsec->GetXaxis()->SetBinLabel(1,"<#sigma>");

  fh1Trials = new TH1F("fh1Trials","trials root file",1,0,1);
  fh1Trials->GetXaxis()->SetBinLabel(1,"#sum{ntrials}");


  fh1PtHard = new TH1F("fh1PtHard","PYTHIA Pt hard;p_{T,hard}",nBinPt,binLimitsPt);
  fh1PtHardNoW = new TH1F("fh1PtHardNoW","PYTHIA Pt hard no weight;p_{T,hard}",nBinPt,binLimitsPt);
  fh1PtHardTrials = new TH1F("fh1PtHardTrials","PYTHIA Pt hard weight with trials;p_{T,hard}",nBinPt,binLimitsPt);

  fh1Nch = new TH1F("fh1Nch","charged multiplicity; N_{ch}",nChMax,-0.5,nChMax-0.5);

  fh1Centrality = new TH1F("fh1Centrality",";cent (%)",111,-0.5,110.5);
  fh1CentralityPhySel = new TH1F("fh1CentralityPhySel",";cent (%)",111,-0.5,110.5);

  fh1Z = new TH1F("fh1Z",";zvtx",100,-25,25);
  fh1ZPhySel = new TH1F("fh1ZPhySel",";zvtx",100,-25,25);
  
  fh1DeltapT = new TH1F("fh1DeltapT","DeltapT",100,-50,50);
  fh1Rho = new TH1F("fh1Rho","Rho",100,0,200);
  fh1RhoSigma = new TH1F("fh1RhoSigma","SigmaRho",40,0,40);
  fh1PtRandCone = new TH1F("fh1PtRandCone","pt",100,0,200);

  const Int_t saveLevel = 3; // large save level more histos
  if(saveLevel>0){
    fHistList->Add(fh1Xsec);
    fHistList->Add(fh1Trials);

    fHistList->Add(fh1Nch);
    fHistList->Add(fh1Centrality);
    fHistList->Add(fh1CentralityPhySel);
    fHistList->Add(fh1Z);
    fHistList->Add(fh1ZPhySel);
    fHistList->Add(fh1DeltapT);
    fHistList->Add(fh1Rho);
    fHistList->Add(fh1RhoSigma);
    fHistList->Add(fh1PtRandCone);
  }

  // =========== Switch on Sumw2 for all histos ===========
  for (Int_t i=0; i<fHistList->GetEntries(); ++i) {
    TH1 *h1 = dynamic_cast<TH1*>(fHistList->At(i));
    if (h1){
      h1->Sumw2();
      continue;
    }
    THnSparse *hn = dynamic_cast<THnSparse*>(fHistList->At(i));
    if(hn)hn->Sumw2();
  }
  TH1::AddDirectory(oldStatus);
}

void AliAnalysisTaskJetHBOM::Init()
{
  //
  // Initialization
  //

  if (fDebug > 1) printf("AnalysisTaskJetHBOM::Init() \n");

  FitMomentumResolution();

}

void AliAnalysisTaskJetHBOM::UserExec(Option_t */*option*/)
{

  // handle and reset the output jet branch 

  if(fTCARandomConesOut)fTCARandomConesOut->Delete();

  //
  // Execute analysis for current event
  //
  AliESDEvent *fESD = 0;
  if(fUseAODTrackInput){    
    fAOD = dynamic_cast<AliAODEvent*>(InputEvent());
    if(!fAOD){
      Printf("%s:%d AODEvent not found in Input Manager %d",(char*)__FILE__,__LINE__,fUseAODTrackInput);
      return;
    }
    // fetch the header
  }
  else{
    //  assume that the AOD is in the general output...
    fAOD  = AODEvent();
    if(!fAOD){
      Printf("%s:%d AODEvent not found in the Output",(char*)__FILE__,__LINE__);
      return;
    }
    if(fDebug>0){
      fESD = dynamic_cast<AliESDEvent*> (InputEvent());
    }
  }

  //Check if information is provided detector level effects
  if(!fMomResH1 || !fMomResH2 || !fMomResH3) fUseTrMomentumSmearing = kFALSE;
  if(!fhEffH1 || !fhEffH2 || !fhEffH3)       fUseDiceEfficiency = kFALSE;
  
  Bool_t selectEvent =  false;
  Bool_t physicsSelection = true;// handled by the framework(fInputHandler->IsEventSelected()&AliVEvent::kMB)==AliVEvent::kMB;

  Float_t cent = 0;
  Float_t zVtx  = 0;

  if(fAOD){
    const AliAODVertex *vtxAOD = fAOD->GetPrimaryVertex();
    TString vtxTitle(vtxAOD->GetTitle());
    zVtx = vtxAOD->GetZ();

    cent = ((AliVAODHeader*)fAOD->GetHeader())->GetCentrality();
    if(physicsSelection){
      fh1CentralityPhySel->Fill(cent);
      fh1ZPhySel->Fill(zVtx);
    }
    // zVertex and centrality selection
    if(fEventSelection){
      if(vtxAOD->GetNContributors()>2&&!vtxTitle.Contains("TPCVertex")){
	Float_t yvtx = vtxAOD->GetY();
	Float_t xvtx = vtxAOD->GetX();
	Float_t r2   = yvtx*yvtx+xvtx*xvtx;  
	if(TMath::Abs(zVtx)<fVtxZCut&&r2<fVtxR2Cut){//usual fVtxZCut=10 and fVtxR2Cut=1  // apply vertex cut later on 
	  if(physicsSelection){
	    selectEvent = true;
	  }
	}
      }
      //centrality selection
      if(fCentCutUp>0){
	if(cent<fCentCutLo||cent>fCentCutUp){
	  selectEvent = false;
	}
      }
    }else{
      selectEvent = true;
    }
  }
  

  if(!selectEvent){
    PostData(1, fHistList);
    return;
  }
  fh1Centrality->Fill(cent);  
  fh1Z->Fill(zVtx);
  fh1Trials->Fill("#sum{ntrials}",1);
  

  if (fDebug > 10)Printf("%s:%d",(char*)__FILE__,__LINE__);

  // ==== General variables needed



  // we simply fetch the tracks/mc particles as a list of AliVParticles

  //reconstructed particles
  TList recParticles;
  Int_t nT = GetListOfTracks(&recParticles,fTrackTypeRec);
  Float_t nCh = recParticles.GetEntries(); 
  fh1Nch->Fill(nCh);
  if(fDebug>2)Printf("%s:%d Selected Rec tracks: %d %d",(char*)__FILE__,__LINE__,nT,recParticles.GetEntries());
  //nT = GetListOfTracks(&genParticles,fTrackTypeGen);
  //if(fDebug>2)Printf("%s:%d Selected Gen tracks: %d %d",(char*)__FILE__,__LINE__,nT,genParticles.GetEntries());


  //apply efficiency fNHBOM times
  if(fNHBOM>0){
    for(int particle=0;particle<recParticles.GetEntries();particle++){
      // hier Effizienzen laden und überprüfen ob das Teilchen nachgewiesen wird.
      AliVParticle *vp = (AliVParticle*)recParticles.At(particle);
      
      Double_t pT = vp->Pt();
      Double_t phi = vp->Phi();
      
      //load efficiency
      Double_t efficiencyPt = fh1efficiencyPt->GetBinContent(fh1efficiencyPt->FindBin(pT));
      Double_t efficiencyPhi = fh2efficiencyPhi->GetBinContent(fh2efficiencyPhi->FindBin(phi,pT));
      Double_t eff = efficiencyPt*efficiencyPhi; //over all efficiency
      
      // if ran<eff -> particle is detected eff^fNHBOM = efficiency to detect particle fNHBOM times
      Double_t ran = fRandom->Rndm();
      if(ran>TMath::Power(eff,fNHBOM)){
	recParticles.Remove(vp);
      }
    }
  }


  // find the jets....

  vector<fastjet::PseudoJet> inputParticlesRec;
  vector<fastjet::PseudoJet> inputParticlesRecRan;
  
  //randomize particles
  AliAODJet vTmpRan(1,0,0,1);
  for(int i = 0; i < recParticles.GetEntries(); i++){
    AliVParticle *vp = (AliVParticle*)recParticles.At(i);

    // Carefull energy is not well determined in real data, should not matter for p_T scheme?
    // we take total momentum here

      //Add particles to fastjet in case we are not running toy model
      fastjet::PseudoJet jInp(vp->Px(),vp->Py(),vp->Pz(),vp->P());
      jInp.set_user_index(i);
      inputParticlesRec.push_back(jInp);

    // the randomized input changes eta and phi, but keeps the p_T
      Double_t pT = vp->Pt();
      Double_t eta = 2.*fTrackEtaWindow * fRandom->Rndm() - fTrackEtaWindow;
      Double_t phi = 2.* TMath::Pi() * fRandom->Rndm();
      
      Double_t theta = 2.*TMath::ATan(TMath::Exp(-eta));  
      Double_t pZ = pT/TMath::Tan(theta);

      Double_t pX = pT * TMath::Cos(phi);
      Double_t pY = pT * TMath::Sin(phi);
      Double_t p  = TMath::Sqrt(pT*pT+pZ*pZ); 
      fastjet::PseudoJet jInpRan(pX,pY,pZ,p);

      jInpRan.set_user_index(i);
      inputParticlesRecRan.push_back(jInpRan);
      vTmpRan.SetPxPyPzE(pX,pY,pZ,p);

  }// recparticles

  if(inputParticlesRec.size()==0){
    if(fDebug)Printf("%s:%d No input particles found, skipping event",(char*)__FILE__,__LINE__);
    PostData(1, fHistList);
    return;
  }
  
  // run fast jet
  // employ setters for these...

  fastjet::GhostedAreaSpec ghostSpec(fGhostEtamax, fActiveAreaRepeats, fGhostArea);
  fastjet::AreaType areaType =   fastjet::active_area;
  fastjet::AreaDefinition areaDef = fastjet::AreaDefinition(areaType,ghostSpec);
  fastjet::JetDefinition jetDef(fAlgorithm, fRparam, fRecombScheme, fStrategy);
  fastjet::ClusterSequenceArea clustSeq(inputParticlesRec, jetDef,areaDef);
  
  //range where to compute background
  Double_t phiMin = 0, phiMax = 0, rapMin = 0, rapMax = 0;
  phiMin = 0;
  phiMax = 2*TMath::Pi();
  rapMax = fGhostEtamax - fRparam;
  rapMin = - fGhostEtamax + fRparam;
  fastjet::RangeDefinition range(rapMin,rapMax, phiMin, phiMax);
 

  const vector <fastjet::PseudoJet> &inclusiveJets = clustSeq.inclusive_jets();
  const vector <fastjet::PseudoJet> &sortedJets = sorted_by_pt(inclusiveJets);

 
 // loop over all jets and fill information, first one is the leading jet

  if(inclusiveJets.size()>0){
    
    //background estimates:all bckg jets wo the 2 hardest
    vector<fastjet::PseudoJet> jets2=sortedJets;
    if(jets2.size()>2) jets2.erase(jets2.begin(),jets2.begin()+2); //removes the two jets with the highest pT; +2 is correct ro remove 2 jets
    Double_t bkg1=0;
    Double_t sigma1=0.;
    Double_t meanarea1=0.;
    clustSeq.get_median_rho_and_sigma(jets2, range, true, bkg1, sigma1, meanarea1, true);
    fh1RhoSigma->Fill(sigma1);// fluctuation of the background
    background = bkg1;//sets background variable of the task to the correct value


    // generate random cones
    if(fTCARandomConesOut){
      // create a random jet within the acceptance
      Double_t etaMax = fTrackEtaWindow - fRparam;//0.9 - 0.4
      Int_t nCone = 0;
      Double_t pTC = 1; // small number
      Double_t etaC = etaMax*2.*(fRandom->Rndm()-0.5); // +- etamax
      Double_t phiC = fRandom->Rndm()*2.*TMath::Pi(); // 0 - 2pi
      // use fixed position for random Cones
      if(randCone_pos){
	etaC = randCone_Eta;
	phiC = randCone_Phi;
      }
      // massless jet
      Double_t thetaC = 2.*TMath::ATan(TMath::Exp(-etaC));  
      Double_t pZC = pTC/TMath::Tan(thetaC);
      Double_t pXC = pTC * TMath::Cos(phiC);
      Double_t pYC = pTC * TMath::Sin(phiC);
      Double_t pC  = TMath::Sqrt(pTC*pTC+pZC*pZC); 
      AliAODJet tmpRecC (pXC,pYC,pZC, pC); 
      
      tmpRecC.SetBgEnergy(0,0); // this is use as temporary storage of the summed p_T below
      if(fTCARandomConesOut)new ((*fTCARandomConesOut)[nCone++]) AliAODJet(tmpRecC);
  
      // loop over the reconstructed particles and add up the pT in the random cones
      // maybe better to loop over randomized particles not in the real jets...
      // but this by definition brings dow average energy in the whole  event
      AliAODJet vTmpRanR(1,0,0,1);
      for(int i = 0; i < recParticles.GetEntries(); i++){
	AliVParticle *vp = (AliVParticle*)recParticles.At(i);
	//add up energy in cone
	if(fTCARandomConesOut){
	  AliAODJet *jC = (AliAODJet*)fTCARandomConesOut->At(0);  
	  if(jC&&jC->DeltaR(vp)<fRparam){
	    if(vp->Pt()>fMaxTrackPtInJet)jC->SetTrigger(AliAODJet::kHighTrackPtTriggered);
	    jC->SetBgEnergy(jC->ChargedBgEnergy()+vp->Pt(),0);
	  }
	}// add up energy in cone
	
      }// loop over recparticles
    }  //fTCARandomConesOut
    Float_t jetArea = fRparam*fRparam*TMath::Pi();
    if(fTCARandomConesOut){
      // rescale the momentum vectors for the random cones
      AliAODJet *rC = (AliAODJet*)fTCARandomConesOut->At(0);
      if(rC){
	Double_t etaC = rC->Eta();
	Double_t phiC = rC->Phi();
	// massless jet, unit vector
	Double_t pTC = rC->ChargedBgEnergy();
	if(pTC<=0)pTC = 0.001; // for almost empty events
	Double_t thetaC = 2.*TMath::ATan(TMath::Exp(-etaC));  
	Double_t pZC = pTC/TMath::Tan(thetaC);
	Double_t pXC = pTC * TMath::Cos(phiC);
	Double_t pYC = pTC * TMath::Sin(phiC);
	Double_t pC  = TMath::Sqrt(pTC*pTC+pZC*pZC); 
	rC->SetPxPyPzE(pXC,pYC,pZC, pC); 
	rC->SetBgEnergy(0,0);
	rC->SetEffArea(jetArea,0);
      }
    }
  }//inclusive Jets > 0

 //Calculate delta pT
 AliAODJet *randCone = (AliAODJet*)fTCARandomConesOut->At(0);
 if(randCone){
   //background is the backbround density per area and area=pi*0.4^2 -> backgroundCone is the background energy under the cone
   Float_t backgroundCone = background * randCone->EffectiveAreaCharged();
   //calculates difference between expected and measured energy density
   Float_t ptSub = randCone->Pt() - backgroundCone;
   fh1DeltapT->Fill(ptSub);// delta pT
   fh1Rho->Fill(background);// background rho
   fh1PtRandCone->Fill(randCone->Pt());// pT of random cone
 }else{
   if(fDebug)Printf("%s:%d No random Cone found",(char*)__FILE__,__LINE__);
 }
 

 if (fDebug > 2){
   if(fTCARandomConesOut)Printf("%s:%d RC %d",(char*)__FILE__,__LINE__,fTCARandomConesOut->GetEntriesFast());
 }
 PostData(1, fHistList);
}

void AliAnalysisTaskJetHBOM::Terminate(Option_t */*option*/)
{
  //
  // Terminate analysis
  //
    if (fDebug > 1) printf("AnalysisJetHBOM: Terminate() \n");

    if(fMomResH1Fit) delete fMomResH1Fit;
    if(fMomResH2Fit) delete fMomResH2Fit;
    if(fMomResH3Fit) delete fMomResH3Fit;
    
}


Int_t  AliAnalysisTaskJetHBOM::GetListOfTracks(TList *list,Int_t type){

  //
  // get list of tracks/particles for different types
  //

  if(fDebug>2)Printf("%s:%d Selecting tracks with %d",(char*)__FILE__,__LINE__,type);

  Int_t iCount = 0;
   if(type==kTrackAOD || type==kTrackAODextra || type==kTrackAODextraonly){
    if(type!=kTrackAODextraonly) {
      AliAODEvent *aod = 0;
      if(fUseAODTrackInput)aod = dynamic_cast<AliAODEvent*>(InputEvent());
      else aod = AODEvent();
      if(!aod){
	if(fDebug>2)Printf("%s:%d No AOD",(char*)__FILE__,__LINE__);
	return iCount;
      }

      for(int it = 0;it < aod->GetNumberOfTracks();++it){
	AliAODTrack *tr = dynamic_cast<AliAODTrack*>(aod->GetTrack(it));
        if(!tr) AliFatal("Not a standard AOD");
	Bool_t bGood = false;
	if(fFilterType == 0)bGood = true;
	else if(fFilterType == 1)bGood = tr->IsHybridTPCConstrainedGlobal();
	else if(fFilterType == 2)bGood = tr->IsHybridGlobalConstrainedGlobal();
	if((fFilterMask>0)&&((!tr->TestFilterBit(fFilterMask)||(!bGood)))){
	  if(fDebug>10)Printf("%s:%d Not matching filter %d/%d %d/%d",(char*)__FILE__,__LINE__,it,aod->GetNumberOfTracks(),fFilterMask,tr->GetFilterMap());	
	  continue;
	}
	if(TMath::Abs(tr->Eta())>fTrackEtaWindow){
	  if(fDebug>10)Printf("%s:%d Not matching eta %d/%d",(char*)__FILE__,__LINE__,it,aod->GetNumberOfTracks());	
	  continue;
	}
	if(tr->Pt()<fTrackPtCut){
	  if(fDebug>10)Printf("%s:%d Not matching pt %d/%d",(char*)__FILE__,__LINE__,it,aod->GetNumberOfTracks());	
	  continue;
	}
	if(fDebug>10)Printf("%s:%d MATCHED %d/%d",(char*)__FILE__,__LINE__,it,aod->GetNumberOfTracks());	
	list->Add(tr);
	iCount++;
      }
    }
    if(type==kTrackAODextra || type==kTrackAODextraonly) {
      AliAODEvent *aod = 0;
      if(fUseAODTrackInput)aod = dynamic_cast<AliAODEvent*>(InputEvent());
      else aod = AODEvent();
      
      if(!aod){
	return iCount;
      }
      TClonesArray *aodExtraTracks = dynamic_cast<TClonesArray*>(aod->FindListObject("aodExtraTracks"));
      if(!aodExtraTracks)return iCount;
      for(int it =0; it<aodExtraTracks->GetEntries(); it++) {
	AliVParticle *track = dynamic_cast<AliVParticle*> ((*aodExtraTracks)[it]);
	if (!track) continue;

	AliAODTrack *trackAOD = dynamic_cast<AliAODTrack*> (track);
	if(!trackAOD)continue;
	Bool_t bGood = false;
	if(fFilterType == 0)bGood = true;
	else if(fFilterType == 1)bGood = trackAOD->IsHybridTPCConstrainedGlobal();
	else if(fFilterType == 2)bGood = trackAOD->IsHybridGlobalConstrainedGlobal();
	if((fFilterMask>0)&&((!trackAOD->TestFilterBit(fFilterMask)||(!bGood))))continue;
        if(TMath::Abs(trackAOD->Eta())>fTrackEtaWindow) continue;
	if(trackAOD->Pt()<fTrackPtCut) continue;
	list->Add(trackAOD);
	iCount++;
      }
    }
  }
  else if (type ==  kTrackKineAll||type == kTrackKineCharged){
    AliMCEvent* mcEvent = MCEvent();
    if(!mcEvent)return iCount;
    // we want to have alivpartilces so use get track
    for(int it = 0;it < mcEvent->GetNumberOfTracks();++it){
      if(!mcEvent->IsPhysicalPrimary(it))continue;
      AliMCParticle* part = (AliMCParticle*)mcEvent->GetTrack(it);
      if(type == kTrackKineAll){
	if(part->Pt()<fTrackPtCut)continue;
	list->Add(part);
	iCount++;
      }
      else if(type == kTrackKineCharged){
	if(part->Particle()->GetPDG()->Charge()==0)continue;
	if(part->Pt()<fTrackPtCut)continue;
	list->Add(part);
	iCount++;
      }
    }
  }
  else if (type == kTrackAODMCCharged || type == kTrackAODMCAll || type == kTrackAODMCChargedAcceptance) {
    AliAODEvent *aod = 0;
    if(fUseAODMCInput)aod = dynamic_cast<AliAODEvent*>(InputEvent());
    else aod = AODEvent();
    if(!aod)return iCount;
    TClonesArray *tca = dynamic_cast<TClonesArray*>(aod->FindListObject(AliAODMCParticle::StdBranchName()));
    if(!tca)return iCount;
    for(int it = 0;it < tca->GetEntriesFast();++it){
      AliAODMCParticle *part = (AliAODMCParticle*)(tca->At(it));
      if(!part->IsPhysicalPrimary())continue;
      if(type == kTrackAODMCAll){
	if(part->Pt()<fTrackPtCut)continue;
	list->Add(part);
	iCount++;
      }
      else if (type == kTrackAODMCCharged || type == kTrackAODMCChargedAcceptance ){
	if(part->Charge()==0)continue;
	if(part->Pt()<fTrackPtCut)continue;
	if(kTrackAODMCCharged){
	  list->Add(part);
	}
	else {
	  if(TMath::Abs(part->Eta())>fTrackEtaWindow)continue;
	  list->Add(part);
	}
	iCount++;
      }
    }
  }// AODMCparticle
  list->Sort();
  return iCount;
}

void AliAnalysisTaskJetHBOM::SetMomentumResolutionHybrid(TProfile *p1, TProfile *p2, TProfile *p3) {

  //
  // set mom res profiles
  //

  fMomResH1 = (TProfile*)p1->Clone("fMomResH1");
  fMomResH2 = (TProfile*)p2->Clone("fMomResH2");
  fMomResH3 = (TProfile*)p3->Clone("fMomResH3");
}

void AliAnalysisTaskJetHBOM:: SetEfficiencyHybrid(TH1 *h1, TH1 *h2, TH1 *h3) {
  //
  // set tracking efficiency histos
  //

  fhEffH1 = (TH1*)h1->Clone("fhEffH1");
  fhEffH2 = (TH1*)h2->Clone("fhEffH2");
  fhEffH3 = (TH1*)h3->Clone("fhEffH3");
}

Double_t AliAnalysisTaskJetHBOM::GetMomentumSmearing(Int_t cat, Double_t pt) {

  //
  // Get smearing on generated momentum
  //

  //printf("GetMomentumSmearing for cat %d and pt = %f \n",cat,pt);

  TProfile *fMomRes = 0x0;
  if(cat==1) fMomRes = (TProfile*)fMomResH1->Clone("fMomRes");
  if(cat==2) fMomRes = (TProfile*)fMomResH2->Clone("fMomRes");
  if(cat==3) fMomRes = (TProfile*)fMomResH3->Clone("fMomRes");

  if(!fMomRes) {
    return 0.;
  }


  Double_t smear = 0.;

  if(pt>20.) {
    if(cat==1 && fMomResH1Fit) smear = fMomResH1Fit->Eval(pt);
    if(cat==2 && fMomResH2Fit) smear = fMomResH2Fit->Eval(pt);
    if(cat==3 && fMomResH3Fit) smear = fMomResH3Fit->Eval(pt);
  }
  else {

    Int_t bin = fMomRes->FindBin(pt);

    smear = fRandom->Gaus(fMomRes->GetBinContent(bin),fMomRes->GetBinError(bin));

  }

  if(fMomRes) delete fMomRes;
  
  return smear;
}

void AliAnalysisTaskJetHBOM::FitMomentumResolution() {
  //
  // Fit linear function on momentum resolution at high pT
  //

  if(!fMomResH1Fit && fMomResH1) {
    fMomResH1Fit = new TF1("fMomResH1Fit","[0]+[1]*x",0.,200.);
    fMomResH1->Fit(fMomResH1Fit,"LL V0","",5.,30.);
    fMomResH1Fit ->SetRange(5.,100.);
  }

  if(!fMomResH2Fit && fMomResH2) {
    fMomResH2Fit = new TF1("fMomResH2Fit","[0]+[1]*x",0.,200.);
    fMomResH2->Fit(fMomResH2Fit,"LL V0","",5.,30.);
    fMomResH2Fit ->SetRange(5.,100.);
  }

  if(!fMomResH3Fit && fMomResH3) {
    fMomResH3Fit = new TF1("fMomResH3Fit","[0]+[1]*x",0.,200.);
    fMomResH3->Fit(fMomResH3Fit,"LL V0","",5.,30.);
    fMomResH3Fit ->SetRange(5.,100.);
  }

}

 AliAnalysisTaskJetHBOM.cxx:1
 AliAnalysisTaskJetHBOM.cxx:2
 AliAnalysisTaskJetHBOM.cxx:3
 AliAnalysisTaskJetHBOM.cxx:4
 AliAnalysisTaskJetHBOM.cxx:5
 AliAnalysisTaskJetHBOM.cxx:6
 AliAnalysisTaskJetHBOM.cxx:7
 AliAnalysisTaskJetHBOM.cxx:8
 AliAnalysisTaskJetHBOM.cxx:9
 AliAnalysisTaskJetHBOM.cxx:10
 AliAnalysisTaskJetHBOM.cxx:11
 AliAnalysisTaskJetHBOM.cxx:12
 AliAnalysisTaskJetHBOM.cxx:13
 AliAnalysisTaskJetHBOM.cxx:14
 AliAnalysisTaskJetHBOM.cxx:15
 AliAnalysisTaskJetHBOM.cxx:16
 AliAnalysisTaskJetHBOM.cxx:17
 AliAnalysisTaskJetHBOM.cxx:18
 AliAnalysisTaskJetHBOM.cxx:19
 AliAnalysisTaskJetHBOM.cxx:20
 AliAnalysisTaskJetHBOM.cxx:21
 AliAnalysisTaskJetHBOM.cxx:22
 AliAnalysisTaskJetHBOM.cxx:23
 AliAnalysisTaskJetHBOM.cxx:24
 AliAnalysisTaskJetHBOM.cxx:25
 AliAnalysisTaskJetHBOM.cxx:26
 AliAnalysisTaskJetHBOM.cxx:27
 AliAnalysisTaskJetHBOM.cxx:28
 AliAnalysisTaskJetHBOM.cxx:29
 AliAnalysisTaskJetHBOM.cxx:30
 AliAnalysisTaskJetHBOM.cxx:31
 AliAnalysisTaskJetHBOM.cxx:32
 AliAnalysisTaskJetHBOM.cxx:33
 AliAnalysisTaskJetHBOM.cxx:34
 AliAnalysisTaskJetHBOM.cxx:35
 AliAnalysisTaskJetHBOM.cxx:36
 AliAnalysisTaskJetHBOM.cxx:37
 AliAnalysisTaskJetHBOM.cxx:38
 AliAnalysisTaskJetHBOM.cxx:39
 AliAnalysisTaskJetHBOM.cxx:40
 AliAnalysisTaskJetHBOM.cxx:41
 AliAnalysisTaskJetHBOM.cxx:42
 AliAnalysisTaskJetHBOM.cxx:43
 AliAnalysisTaskJetHBOM.cxx:44
 AliAnalysisTaskJetHBOM.cxx:45
 AliAnalysisTaskJetHBOM.cxx:46
 AliAnalysisTaskJetHBOM.cxx:47
 AliAnalysisTaskJetHBOM.cxx:48
 AliAnalysisTaskJetHBOM.cxx:49
 AliAnalysisTaskJetHBOM.cxx:50
 AliAnalysisTaskJetHBOM.cxx:51
 AliAnalysisTaskJetHBOM.cxx:52
 AliAnalysisTaskJetHBOM.cxx:53
 AliAnalysisTaskJetHBOM.cxx:54
 AliAnalysisTaskJetHBOM.cxx:55
 AliAnalysisTaskJetHBOM.cxx:56
 AliAnalysisTaskJetHBOM.cxx:57
 AliAnalysisTaskJetHBOM.cxx:58
 AliAnalysisTaskJetHBOM.cxx:59
 AliAnalysisTaskJetHBOM.cxx:60
 AliAnalysisTaskJetHBOM.cxx:61
 AliAnalysisTaskJetHBOM.cxx:62
 AliAnalysisTaskJetHBOM.cxx:63
 AliAnalysisTaskJetHBOM.cxx:64
 AliAnalysisTaskJetHBOM.cxx:65
 AliAnalysisTaskJetHBOM.cxx:66
 AliAnalysisTaskJetHBOM.cxx:67
 AliAnalysisTaskJetHBOM.cxx:68
 AliAnalysisTaskJetHBOM.cxx:69
 AliAnalysisTaskJetHBOM.cxx:70
 AliAnalysisTaskJetHBOM.cxx:71
 AliAnalysisTaskJetHBOM.cxx:72
 AliAnalysisTaskJetHBOM.cxx:73
 AliAnalysisTaskJetHBOM.cxx:74
 AliAnalysisTaskJetHBOM.cxx:75
 AliAnalysisTaskJetHBOM.cxx:76
 AliAnalysisTaskJetHBOM.cxx:77
 AliAnalysisTaskJetHBOM.cxx:78
 AliAnalysisTaskJetHBOM.cxx:79
 AliAnalysisTaskJetHBOM.cxx:80
 AliAnalysisTaskJetHBOM.cxx:81
 AliAnalysisTaskJetHBOM.cxx:82
 AliAnalysisTaskJetHBOM.cxx:83
 AliAnalysisTaskJetHBOM.cxx:84
 AliAnalysisTaskJetHBOM.cxx:85
 AliAnalysisTaskJetHBOM.cxx:86
 AliAnalysisTaskJetHBOM.cxx:87
 AliAnalysisTaskJetHBOM.cxx:88
 AliAnalysisTaskJetHBOM.cxx:89
 AliAnalysisTaskJetHBOM.cxx:90
 AliAnalysisTaskJetHBOM.cxx:91
 AliAnalysisTaskJetHBOM.cxx:92
 AliAnalysisTaskJetHBOM.cxx:93
 AliAnalysisTaskJetHBOM.cxx:94
 AliAnalysisTaskJetHBOM.cxx:95
 AliAnalysisTaskJetHBOM.cxx:96
 AliAnalysisTaskJetHBOM.cxx:97
 AliAnalysisTaskJetHBOM.cxx:98
 AliAnalysisTaskJetHBOM.cxx:99
 AliAnalysisTaskJetHBOM.cxx:100
 AliAnalysisTaskJetHBOM.cxx:101
 AliAnalysisTaskJetHBOM.cxx:102
 AliAnalysisTaskJetHBOM.cxx:103
 AliAnalysisTaskJetHBOM.cxx:104
 AliAnalysisTaskJetHBOM.cxx:105
 AliAnalysisTaskJetHBOM.cxx:106
 AliAnalysisTaskJetHBOM.cxx:107
 AliAnalysisTaskJetHBOM.cxx:108
 AliAnalysisTaskJetHBOM.cxx:109
 AliAnalysisTaskJetHBOM.cxx:110
 AliAnalysisTaskJetHBOM.cxx:111
 AliAnalysisTaskJetHBOM.cxx:112
 AliAnalysisTaskJetHBOM.cxx:113
 AliAnalysisTaskJetHBOM.cxx:114
 AliAnalysisTaskJetHBOM.cxx:115
 AliAnalysisTaskJetHBOM.cxx:116
 AliAnalysisTaskJetHBOM.cxx:117
 AliAnalysisTaskJetHBOM.cxx:118
 AliAnalysisTaskJetHBOM.cxx:119
 AliAnalysisTaskJetHBOM.cxx:120
 AliAnalysisTaskJetHBOM.cxx:121
 AliAnalysisTaskJetHBOM.cxx:122
 AliAnalysisTaskJetHBOM.cxx:123
 AliAnalysisTaskJetHBOM.cxx:124
 AliAnalysisTaskJetHBOM.cxx:125
 AliAnalysisTaskJetHBOM.cxx:126
 AliAnalysisTaskJetHBOM.cxx:127
 AliAnalysisTaskJetHBOM.cxx:128
 AliAnalysisTaskJetHBOM.cxx:129
 AliAnalysisTaskJetHBOM.cxx:130
 AliAnalysisTaskJetHBOM.cxx:131
 AliAnalysisTaskJetHBOM.cxx:132
 AliAnalysisTaskJetHBOM.cxx:133
 AliAnalysisTaskJetHBOM.cxx:134
 AliAnalysisTaskJetHBOM.cxx:135
 AliAnalysisTaskJetHBOM.cxx:136
 AliAnalysisTaskJetHBOM.cxx:137
 AliAnalysisTaskJetHBOM.cxx:138
 AliAnalysisTaskJetHBOM.cxx:139
 AliAnalysisTaskJetHBOM.cxx:140
 AliAnalysisTaskJetHBOM.cxx:141
 AliAnalysisTaskJetHBOM.cxx:142
 AliAnalysisTaskJetHBOM.cxx:143
 AliAnalysisTaskJetHBOM.cxx:144
 AliAnalysisTaskJetHBOM.cxx:145
 AliAnalysisTaskJetHBOM.cxx:146
 AliAnalysisTaskJetHBOM.cxx:147
 AliAnalysisTaskJetHBOM.cxx:148
 AliAnalysisTaskJetHBOM.cxx:149
 AliAnalysisTaskJetHBOM.cxx:150
 AliAnalysisTaskJetHBOM.cxx:151
 AliAnalysisTaskJetHBOM.cxx:152
 AliAnalysisTaskJetHBOM.cxx:153
 AliAnalysisTaskJetHBOM.cxx:154
 AliAnalysisTaskJetHBOM.cxx:155
 AliAnalysisTaskJetHBOM.cxx:156
 AliAnalysisTaskJetHBOM.cxx:157
 AliAnalysisTaskJetHBOM.cxx:158
 AliAnalysisTaskJetHBOM.cxx:159
 AliAnalysisTaskJetHBOM.cxx:160
 AliAnalysisTaskJetHBOM.cxx:161
 AliAnalysisTaskJetHBOM.cxx:162
 AliAnalysisTaskJetHBOM.cxx:163
 AliAnalysisTaskJetHBOM.cxx:164
 AliAnalysisTaskJetHBOM.cxx:165
 AliAnalysisTaskJetHBOM.cxx:166
 AliAnalysisTaskJetHBOM.cxx:167
 AliAnalysisTaskJetHBOM.cxx:168
 AliAnalysisTaskJetHBOM.cxx:169
 AliAnalysisTaskJetHBOM.cxx:170
 AliAnalysisTaskJetHBOM.cxx:171
 AliAnalysisTaskJetHBOM.cxx:172
 AliAnalysisTaskJetHBOM.cxx:173
 AliAnalysisTaskJetHBOM.cxx:174
 AliAnalysisTaskJetHBOM.cxx:175
 AliAnalysisTaskJetHBOM.cxx:176
 AliAnalysisTaskJetHBOM.cxx:177
 AliAnalysisTaskJetHBOM.cxx:178
 AliAnalysisTaskJetHBOM.cxx:179
 AliAnalysisTaskJetHBOM.cxx:180
 AliAnalysisTaskJetHBOM.cxx:181
 AliAnalysisTaskJetHBOM.cxx:182
 AliAnalysisTaskJetHBOM.cxx:183
 AliAnalysisTaskJetHBOM.cxx:184
 AliAnalysisTaskJetHBOM.cxx:185
 AliAnalysisTaskJetHBOM.cxx:186
 AliAnalysisTaskJetHBOM.cxx:187
 AliAnalysisTaskJetHBOM.cxx:188
 AliAnalysisTaskJetHBOM.cxx:189
 AliAnalysisTaskJetHBOM.cxx:190
 AliAnalysisTaskJetHBOM.cxx:191
 AliAnalysisTaskJetHBOM.cxx:192
 AliAnalysisTaskJetHBOM.cxx:193
 AliAnalysisTaskJetHBOM.cxx:194
 AliAnalysisTaskJetHBOM.cxx:195
 AliAnalysisTaskJetHBOM.cxx:196
 AliAnalysisTaskJetHBOM.cxx:197
 AliAnalysisTaskJetHBOM.cxx:198
 AliAnalysisTaskJetHBOM.cxx:199
 AliAnalysisTaskJetHBOM.cxx:200
 AliAnalysisTaskJetHBOM.cxx:201
 AliAnalysisTaskJetHBOM.cxx:202
 AliAnalysisTaskJetHBOM.cxx:203
 AliAnalysisTaskJetHBOM.cxx:204
 AliAnalysisTaskJetHBOM.cxx:205
 AliAnalysisTaskJetHBOM.cxx:206
 AliAnalysisTaskJetHBOM.cxx:207
 AliAnalysisTaskJetHBOM.cxx:208
 AliAnalysisTaskJetHBOM.cxx:209
 AliAnalysisTaskJetHBOM.cxx:210
 AliAnalysisTaskJetHBOM.cxx:211
 AliAnalysisTaskJetHBOM.cxx:212
 AliAnalysisTaskJetHBOM.cxx:213
 AliAnalysisTaskJetHBOM.cxx:214
 AliAnalysisTaskJetHBOM.cxx:215
 AliAnalysisTaskJetHBOM.cxx:216
 AliAnalysisTaskJetHBOM.cxx:217
 AliAnalysisTaskJetHBOM.cxx:218
 AliAnalysisTaskJetHBOM.cxx:219
 AliAnalysisTaskJetHBOM.cxx:220
 AliAnalysisTaskJetHBOM.cxx:221
 AliAnalysisTaskJetHBOM.cxx:222
 AliAnalysisTaskJetHBOM.cxx:223
 AliAnalysisTaskJetHBOM.cxx:224
 AliAnalysisTaskJetHBOM.cxx:225
 AliAnalysisTaskJetHBOM.cxx:226
 AliAnalysisTaskJetHBOM.cxx:227
 AliAnalysisTaskJetHBOM.cxx:228
 AliAnalysisTaskJetHBOM.cxx:229
 AliAnalysisTaskJetHBOM.cxx:230
 AliAnalysisTaskJetHBOM.cxx:231
 AliAnalysisTaskJetHBOM.cxx:232
 AliAnalysisTaskJetHBOM.cxx:233
 AliAnalysisTaskJetHBOM.cxx:234
 AliAnalysisTaskJetHBOM.cxx:235
 AliAnalysisTaskJetHBOM.cxx:236
 AliAnalysisTaskJetHBOM.cxx:237
 AliAnalysisTaskJetHBOM.cxx:238
 AliAnalysisTaskJetHBOM.cxx:239
 AliAnalysisTaskJetHBOM.cxx:240
 AliAnalysisTaskJetHBOM.cxx:241
 AliAnalysisTaskJetHBOM.cxx:242
 AliAnalysisTaskJetHBOM.cxx:243
 AliAnalysisTaskJetHBOM.cxx:244
 AliAnalysisTaskJetHBOM.cxx:245
 AliAnalysisTaskJetHBOM.cxx:246
 AliAnalysisTaskJetHBOM.cxx:247
 AliAnalysisTaskJetHBOM.cxx:248
 AliAnalysisTaskJetHBOM.cxx:249
 AliAnalysisTaskJetHBOM.cxx:250
 AliAnalysisTaskJetHBOM.cxx:251
 AliAnalysisTaskJetHBOM.cxx:252
 AliAnalysisTaskJetHBOM.cxx:253
 AliAnalysisTaskJetHBOM.cxx:254
 AliAnalysisTaskJetHBOM.cxx:255
 AliAnalysisTaskJetHBOM.cxx:256
 AliAnalysisTaskJetHBOM.cxx:257
 AliAnalysisTaskJetHBOM.cxx:258
 AliAnalysisTaskJetHBOM.cxx:259
 AliAnalysisTaskJetHBOM.cxx:260
 AliAnalysisTaskJetHBOM.cxx:261
 AliAnalysisTaskJetHBOM.cxx:262
 AliAnalysisTaskJetHBOM.cxx:263
 AliAnalysisTaskJetHBOM.cxx:264
 AliAnalysisTaskJetHBOM.cxx:265
 AliAnalysisTaskJetHBOM.cxx:266
 AliAnalysisTaskJetHBOM.cxx:267
 AliAnalysisTaskJetHBOM.cxx:268
 AliAnalysisTaskJetHBOM.cxx:269
 AliAnalysisTaskJetHBOM.cxx:270
 AliAnalysisTaskJetHBOM.cxx:271
 AliAnalysisTaskJetHBOM.cxx:272
 AliAnalysisTaskJetHBOM.cxx:273
 AliAnalysisTaskJetHBOM.cxx:274
 AliAnalysisTaskJetHBOM.cxx:275
 AliAnalysisTaskJetHBOM.cxx:276
 AliAnalysisTaskJetHBOM.cxx:277
 AliAnalysisTaskJetHBOM.cxx:278
 AliAnalysisTaskJetHBOM.cxx:279
 AliAnalysisTaskJetHBOM.cxx:280
 AliAnalysisTaskJetHBOM.cxx:281
 AliAnalysisTaskJetHBOM.cxx:282
 AliAnalysisTaskJetHBOM.cxx:283
 AliAnalysisTaskJetHBOM.cxx:284
 AliAnalysisTaskJetHBOM.cxx:285
 AliAnalysisTaskJetHBOM.cxx:286
 AliAnalysisTaskJetHBOM.cxx:287
 AliAnalysisTaskJetHBOM.cxx:288
 AliAnalysisTaskJetHBOM.cxx:289
 AliAnalysisTaskJetHBOM.cxx:290
 AliAnalysisTaskJetHBOM.cxx:291
 AliAnalysisTaskJetHBOM.cxx:292
 AliAnalysisTaskJetHBOM.cxx:293
 AliAnalysisTaskJetHBOM.cxx:294
 AliAnalysisTaskJetHBOM.cxx:295
 AliAnalysisTaskJetHBOM.cxx:296
 AliAnalysisTaskJetHBOM.cxx:297
 AliAnalysisTaskJetHBOM.cxx:298
 AliAnalysisTaskJetHBOM.cxx:299
 AliAnalysisTaskJetHBOM.cxx:300
 AliAnalysisTaskJetHBOM.cxx:301
 AliAnalysisTaskJetHBOM.cxx:302
 AliAnalysisTaskJetHBOM.cxx:303
 AliAnalysisTaskJetHBOM.cxx:304
 AliAnalysisTaskJetHBOM.cxx:305
 AliAnalysisTaskJetHBOM.cxx:306
 AliAnalysisTaskJetHBOM.cxx:307
 AliAnalysisTaskJetHBOM.cxx:308
 AliAnalysisTaskJetHBOM.cxx:309
 AliAnalysisTaskJetHBOM.cxx:310
 AliAnalysisTaskJetHBOM.cxx:311
 AliAnalysisTaskJetHBOM.cxx:312
 AliAnalysisTaskJetHBOM.cxx:313
 AliAnalysisTaskJetHBOM.cxx:314
 AliAnalysisTaskJetHBOM.cxx:315
 AliAnalysisTaskJetHBOM.cxx:316
 AliAnalysisTaskJetHBOM.cxx:317
 AliAnalysisTaskJetHBOM.cxx:318
 AliAnalysisTaskJetHBOM.cxx:319
 AliAnalysisTaskJetHBOM.cxx:320
 AliAnalysisTaskJetHBOM.cxx:321
 AliAnalysisTaskJetHBOM.cxx:322
 AliAnalysisTaskJetHBOM.cxx:323
 AliAnalysisTaskJetHBOM.cxx:324
 AliAnalysisTaskJetHBOM.cxx:325
 AliAnalysisTaskJetHBOM.cxx:326
 AliAnalysisTaskJetHBOM.cxx:327
 AliAnalysisTaskJetHBOM.cxx:328
 AliAnalysisTaskJetHBOM.cxx:329
 AliAnalysisTaskJetHBOM.cxx:330
 AliAnalysisTaskJetHBOM.cxx:331
 AliAnalysisTaskJetHBOM.cxx:332
 AliAnalysisTaskJetHBOM.cxx:333
 AliAnalysisTaskJetHBOM.cxx:334
 AliAnalysisTaskJetHBOM.cxx:335
 AliAnalysisTaskJetHBOM.cxx:336
 AliAnalysisTaskJetHBOM.cxx:337
 AliAnalysisTaskJetHBOM.cxx:338
 AliAnalysisTaskJetHBOM.cxx:339
 AliAnalysisTaskJetHBOM.cxx:340
 AliAnalysisTaskJetHBOM.cxx:341
 AliAnalysisTaskJetHBOM.cxx:342
 AliAnalysisTaskJetHBOM.cxx:343
 AliAnalysisTaskJetHBOM.cxx:344
 AliAnalysisTaskJetHBOM.cxx:345
 AliAnalysisTaskJetHBOM.cxx:346
 AliAnalysisTaskJetHBOM.cxx:347
 AliAnalysisTaskJetHBOM.cxx:348
 AliAnalysisTaskJetHBOM.cxx:349
 AliAnalysisTaskJetHBOM.cxx:350
 AliAnalysisTaskJetHBOM.cxx:351
 AliAnalysisTaskJetHBOM.cxx:352
 AliAnalysisTaskJetHBOM.cxx:353
 AliAnalysisTaskJetHBOM.cxx:354
 AliAnalysisTaskJetHBOM.cxx:355
 AliAnalysisTaskJetHBOM.cxx:356
 AliAnalysisTaskJetHBOM.cxx:357
 AliAnalysisTaskJetHBOM.cxx:358
 AliAnalysisTaskJetHBOM.cxx:359
 AliAnalysisTaskJetHBOM.cxx:360
 AliAnalysisTaskJetHBOM.cxx:361
 AliAnalysisTaskJetHBOM.cxx:362
 AliAnalysisTaskJetHBOM.cxx:363
 AliAnalysisTaskJetHBOM.cxx:364
 AliAnalysisTaskJetHBOM.cxx:365
 AliAnalysisTaskJetHBOM.cxx:366
 AliAnalysisTaskJetHBOM.cxx:367
 AliAnalysisTaskJetHBOM.cxx:368
 AliAnalysisTaskJetHBOM.cxx:369
 AliAnalysisTaskJetHBOM.cxx:370
 AliAnalysisTaskJetHBOM.cxx:371
 AliAnalysisTaskJetHBOM.cxx:372
 AliAnalysisTaskJetHBOM.cxx:373
 AliAnalysisTaskJetHBOM.cxx:374
 AliAnalysisTaskJetHBOM.cxx:375
 AliAnalysisTaskJetHBOM.cxx:376
 AliAnalysisTaskJetHBOM.cxx:377
 AliAnalysisTaskJetHBOM.cxx:378
 AliAnalysisTaskJetHBOM.cxx:379
 AliAnalysisTaskJetHBOM.cxx:380
 AliAnalysisTaskJetHBOM.cxx:381
 AliAnalysisTaskJetHBOM.cxx:382
 AliAnalysisTaskJetHBOM.cxx:383
 AliAnalysisTaskJetHBOM.cxx:384
 AliAnalysisTaskJetHBOM.cxx:385
 AliAnalysisTaskJetHBOM.cxx:386
 AliAnalysisTaskJetHBOM.cxx:387
 AliAnalysisTaskJetHBOM.cxx:388
 AliAnalysisTaskJetHBOM.cxx:389
 AliAnalysisTaskJetHBOM.cxx:390
 AliAnalysisTaskJetHBOM.cxx:391
 AliAnalysisTaskJetHBOM.cxx:392
 AliAnalysisTaskJetHBOM.cxx:393
 AliAnalysisTaskJetHBOM.cxx:394
 AliAnalysisTaskJetHBOM.cxx:395
 AliAnalysisTaskJetHBOM.cxx:396
 AliAnalysisTaskJetHBOM.cxx:397
 AliAnalysisTaskJetHBOM.cxx:398
 AliAnalysisTaskJetHBOM.cxx:399
 AliAnalysisTaskJetHBOM.cxx:400
 AliAnalysisTaskJetHBOM.cxx:401
 AliAnalysisTaskJetHBOM.cxx:402
 AliAnalysisTaskJetHBOM.cxx:403
 AliAnalysisTaskJetHBOM.cxx:404
 AliAnalysisTaskJetHBOM.cxx:405
 AliAnalysisTaskJetHBOM.cxx:406
 AliAnalysisTaskJetHBOM.cxx:407
 AliAnalysisTaskJetHBOM.cxx:408
 AliAnalysisTaskJetHBOM.cxx:409
 AliAnalysisTaskJetHBOM.cxx:410
 AliAnalysisTaskJetHBOM.cxx:411
 AliAnalysisTaskJetHBOM.cxx:412
 AliAnalysisTaskJetHBOM.cxx:413
 AliAnalysisTaskJetHBOM.cxx:414
 AliAnalysisTaskJetHBOM.cxx:415
 AliAnalysisTaskJetHBOM.cxx:416
 AliAnalysisTaskJetHBOM.cxx:417
 AliAnalysisTaskJetHBOM.cxx:418
 AliAnalysisTaskJetHBOM.cxx:419
 AliAnalysisTaskJetHBOM.cxx:420
 AliAnalysisTaskJetHBOM.cxx:421
 AliAnalysisTaskJetHBOM.cxx:422
 AliAnalysisTaskJetHBOM.cxx:423
 AliAnalysisTaskJetHBOM.cxx:424
 AliAnalysisTaskJetHBOM.cxx:425
 AliAnalysisTaskJetHBOM.cxx:426
 AliAnalysisTaskJetHBOM.cxx:427
 AliAnalysisTaskJetHBOM.cxx:428
 AliAnalysisTaskJetHBOM.cxx:429
 AliAnalysisTaskJetHBOM.cxx:430
 AliAnalysisTaskJetHBOM.cxx:431
 AliAnalysisTaskJetHBOM.cxx:432
 AliAnalysisTaskJetHBOM.cxx:433
 AliAnalysisTaskJetHBOM.cxx:434
 AliAnalysisTaskJetHBOM.cxx:435
 AliAnalysisTaskJetHBOM.cxx:436
 AliAnalysisTaskJetHBOM.cxx:437
 AliAnalysisTaskJetHBOM.cxx:438
 AliAnalysisTaskJetHBOM.cxx:439
 AliAnalysisTaskJetHBOM.cxx:440
 AliAnalysisTaskJetHBOM.cxx:441
 AliAnalysisTaskJetHBOM.cxx:442
 AliAnalysisTaskJetHBOM.cxx:443
 AliAnalysisTaskJetHBOM.cxx:444
 AliAnalysisTaskJetHBOM.cxx:445
 AliAnalysisTaskJetHBOM.cxx:446
 AliAnalysisTaskJetHBOM.cxx:447
 AliAnalysisTaskJetHBOM.cxx:448
 AliAnalysisTaskJetHBOM.cxx:449
 AliAnalysisTaskJetHBOM.cxx:450
 AliAnalysisTaskJetHBOM.cxx:451
 AliAnalysisTaskJetHBOM.cxx:452
 AliAnalysisTaskJetHBOM.cxx:453
 AliAnalysisTaskJetHBOM.cxx:454
 AliAnalysisTaskJetHBOM.cxx:455
 AliAnalysisTaskJetHBOM.cxx:456
 AliAnalysisTaskJetHBOM.cxx:457
 AliAnalysisTaskJetHBOM.cxx:458
 AliAnalysisTaskJetHBOM.cxx:459
 AliAnalysisTaskJetHBOM.cxx:460
 AliAnalysisTaskJetHBOM.cxx:461
 AliAnalysisTaskJetHBOM.cxx:462
 AliAnalysisTaskJetHBOM.cxx:463
 AliAnalysisTaskJetHBOM.cxx:464
 AliAnalysisTaskJetHBOM.cxx:465
 AliAnalysisTaskJetHBOM.cxx:466
 AliAnalysisTaskJetHBOM.cxx:467
 AliAnalysisTaskJetHBOM.cxx:468
 AliAnalysisTaskJetHBOM.cxx:469
 AliAnalysisTaskJetHBOM.cxx:470
 AliAnalysisTaskJetHBOM.cxx:471
 AliAnalysisTaskJetHBOM.cxx:472
 AliAnalysisTaskJetHBOM.cxx:473
 AliAnalysisTaskJetHBOM.cxx:474
 AliAnalysisTaskJetHBOM.cxx:475
 AliAnalysisTaskJetHBOM.cxx:476
 AliAnalysisTaskJetHBOM.cxx:477
 AliAnalysisTaskJetHBOM.cxx:478
 AliAnalysisTaskJetHBOM.cxx:479
 AliAnalysisTaskJetHBOM.cxx:480
 AliAnalysisTaskJetHBOM.cxx:481
 AliAnalysisTaskJetHBOM.cxx:482
 AliAnalysisTaskJetHBOM.cxx:483
 AliAnalysisTaskJetHBOM.cxx:484
 AliAnalysisTaskJetHBOM.cxx:485
 AliAnalysisTaskJetHBOM.cxx:486
 AliAnalysisTaskJetHBOM.cxx:487
 AliAnalysisTaskJetHBOM.cxx:488
 AliAnalysisTaskJetHBOM.cxx:489
 AliAnalysisTaskJetHBOM.cxx:490
 AliAnalysisTaskJetHBOM.cxx:491
 AliAnalysisTaskJetHBOM.cxx:492
 AliAnalysisTaskJetHBOM.cxx:493
 AliAnalysisTaskJetHBOM.cxx:494
 AliAnalysisTaskJetHBOM.cxx:495
 AliAnalysisTaskJetHBOM.cxx:496
 AliAnalysisTaskJetHBOM.cxx:497
 AliAnalysisTaskJetHBOM.cxx:498
 AliAnalysisTaskJetHBOM.cxx:499
 AliAnalysisTaskJetHBOM.cxx:500
 AliAnalysisTaskJetHBOM.cxx:501
 AliAnalysisTaskJetHBOM.cxx:502
 AliAnalysisTaskJetHBOM.cxx:503
 AliAnalysisTaskJetHBOM.cxx:504
 AliAnalysisTaskJetHBOM.cxx:505
 AliAnalysisTaskJetHBOM.cxx:506
 AliAnalysisTaskJetHBOM.cxx:507
 AliAnalysisTaskJetHBOM.cxx:508
 AliAnalysisTaskJetHBOM.cxx:509
 AliAnalysisTaskJetHBOM.cxx:510
 AliAnalysisTaskJetHBOM.cxx:511
 AliAnalysisTaskJetHBOM.cxx:512
 AliAnalysisTaskJetHBOM.cxx:513
 AliAnalysisTaskJetHBOM.cxx:514
 AliAnalysisTaskJetHBOM.cxx:515
 AliAnalysisTaskJetHBOM.cxx:516
 AliAnalysisTaskJetHBOM.cxx:517
 AliAnalysisTaskJetHBOM.cxx:518
 AliAnalysisTaskJetHBOM.cxx:519
 AliAnalysisTaskJetHBOM.cxx:520
 AliAnalysisTaskJetHBOM.cxx:521
 AliAnalysisTaskJetHBOM.cxx:522
 AliAnalysisTaskJetHBOM.cxx:523
 AliAnalysisTaskJetHBOM.cxx:524
 AliAnalysisTaskJetHBOM.cxx:525
 AliAnalysisTaskJetHBOM.cxx:526
 AliAnalysisTaskJetHBOM.cxx:527
 AliAnalysisTaskJetHBOM.cxx:528
 AliAnalysisTaskJetHBOM.cxx:529
 AliAnalysisTaskJetHBOM.cxx:530
 AliAnalysisTaskJetHBOM.cxx:531
 AliAnalysisTaskJetHBOM.cxx:532
 AliAnalysisTaskJetHBOM.cxx:533
 AliAnalysisTaskJetHBOM.cxx:534
 AliAnalysisTaskJetHBOM.cxx:535
 AliAnalysisTaskJetHBOM.cxx:536
 AliAnalysisTaskJetHBOM.cxx:537
 AliAnalysisTaskJetHBOM.cxx:538
 AliAnalysisTaskJetHBOM.cxx:539
 AliAnalysisTaskJetHBOM.cxx:540
 AliAnalysisTaskJetHBOM.cxx:541
 AliAnalysisTaskJetHBOM.cxx:542
 AliAnalysisTaskJetHBOM.cxx:543
 AliAnalysisTaskJetHBOM.cxx:544
 AliAnalysisTaskJetHBOM.cxx:545
 AliAnalysisTaskJetHBOM.cxx:546
 AliAnalysisTaskJetHBOM.cxx:547
 AliAnalysisTaskJetHBOM.cxx:548
 AliAnalysisTaskJetHBOM.cxx:549
 AliAnalysisTaskJetHBOM.cxx:550
 AliAnalysisTaskJetHBOM.cxx:551
 AliAnalysisTaskJetHBOM.cxx:552
 AliAnalysisTaskJetHBOM.cxx:553
 AliAnalysisTaskJetHBOM.cxx:554
 AliAnalysisTaskJetHBOM.cxx:555
 AliAnalysisTaskJetHBOM.cxx:556
 AliAnalysisTaskJetHBOM.cxx:557
 AliAnalysisTaskJetHBOM.cxx:558
 AliAnalysisTaskJetHBOM.cxx:559
 AliAnalysisTaskJetHBOM.cxx:560
 AliAnalysisTaskJetHBOM.cxx:561
 AliAnalysisTaskJetHBOM.cxx:562
 AliAnalysisTaskJetHBOM.cxx:563
 AliAnalysisTaskJetHBOM.cxx:564
 AliAnalysisTaskJetHBOM.cxx:565
 AliAnalysisTaskJetHBOM.cxx:566
 AliAnalysisTaskJetHBOM.cxx:567
 AliAnalysisTaskJetHBOM.cxx:568
 AliAnalysisTaskJetHBOM.cxx:569
 AliAnalysisTaskJetHBOM.cxx:570
 AliAnalysisTaskJetHBOM.cxx:571
 AliAnalysisTaskJetHBOM.cxx:572
 AliAnalysisTaskJetHBOM.cxx:573
 AliAnalysisTaskJetHBOM.cxx:574
 AliAnalysisTaskJetHBOM.cxx:575
 AliAnalysisTaskJetHBOM.cxx:576
 AliAnalysisTaskJetHBOM.cxx:577
 AliAnalysisTaskJetHBOM.cxx:578
 AliAnalysisTaskJetHBOM.cxx:579
 AliAnalysisTaskJetHBOM.cxx:580
 AliAnalysisTaskJetHBOM.cxx:581
 AliAnalysisTaskJetHBOM.cxx:582
 AliAnalysisTaskJetHBOM.cxx:583
 AliAnalysisTaskJetHBOM.cxx:584
 AliAnalysisTaskJetHBOM.cxx:585
 AliAnalysisTaskJetHBOM.cxx:586
 AliAnalysisTaskJetHBOM.cxx:587
 AliAnalysisTaskJetHBOM.cxx:588
 AliAnalysisTaskJetHBOM.cxx:589
 AliAnalysisTaskJetHBOM.cxx:590
 AliAnalysisTaskJetHBOM.cxx:591
 AliAnalysisTaskJetHBOM.cxx:592
 AliAnalysisTaskJetHBOM.cxx:593
 AliAnalysisTaskJetHBOM.cxx:594
 AliAnalysisTaskJetHBOM.cxx:595
 AliAnalysisTaskJetHBOM.cxx:596
 AliAnalysisTaskJetHBOM.cxx:597
 AliAnalysisTaskJetHBOM.cxx:598
 AliAnalysisTaskJetHBOM.cxx:599
 AliAnalysisTaskJetHBOM.cxx:600
 AliAnalysisTaskJetHBOM.cxx:601
 AliAnalysisTaskJetHBOM.cxx:602
 AliAnalysisTaskJetHBOM.cxx:603
 AliAnalysisTaskJetHBOM.cxx:604
 AliAnalysisTaskJetHBOM.cxx:605
 AliAnalysisTaskJetHBOM.cxx:606
 AliAnalysisTaskJetHBOM.cxx:607
 AliAnalysisTaskJetHBOM.cxx:608
 AliAnalysisTaskJetHBOM.cxx:609
 AliAnalysisTaskJetHBOM.cxx:610
 AliAnalysisTaskJetHBOM.cxx:611
 AliAnalysisTaskJetHBOM.cxx:612
 AliAnalysisTaskJetHBOM.cxx:613
 AliAnalysisTaskJetHBOM.cxx:614
 AliAnalysisTaskJetHBOM.cxx:615
 AliAnalysisTaskJetHBOM.cxx:616
 AliAnalysisTaskJetHBOM.cxx:617
 AliAnalysisTaskJetHBOM.cxx:618
 AliAnalysisTaskJetHBOM.cxx:619
 AliAnalysisTaskJetHBOM.cxx:620
 AliAnalysisTaskJetHBOM.cxx:621
 AliAnalysisTaskJetHBOM.cxx:622
 AliAnalysisTaskJetHBOM.cxx:623
 AliAnalysisTaskJetHBOM.cxx:624
 AliAnalysisTaskJetHBOM.cxx:625
 AliAnalysisTaskJetHBOM.cxx:626
 AliAnalysisTaskJetHBOM.cxx:627
 AliAnalysisTaskJetHBOM.cxx:628
 AliAnalysisTaskJetHBOM.cxx:629
 AliAnalysisTaskJetHBOM.cxx:630
 AliAnalysisTaskJetHBOM.cxx:631
 AliAnalysisTaskJetHBOM.cxx:632
 AliAnalysisTaskJetHBOM.cxx:633
 AliAnalysisTaskJetHBOM.cxx:634
 AliAnalysisTaskJetHBOM.cxx:635
 AliAnalysisTaskJetHBOM.cxx:636
 AliAnalysisTaskJetHBOM.cxx:637
 AliAnalysisTaskJetHBOM.cxx:638
 AliAnalysisTaskJetHBOM.cxx:639
 AliAnalysisTaskJetHBOM.cxx:640
 AliAnalysisTaskJetHBOM.cxx:641
 AliAnalysisTaskJetHBOM.cxx:642
 AliAnalysisTaskJetHBOM.cxx:643
 AliAnalysisTaskJetHBOM.cxx:644
 AliAnalysisTaskJetHBOM.cxx:645
 AliAnalysisTaskJetHBOM.cxx:646
 AliAnalysisTaskJetHBOM.cxx:647
 AliAnalysisTaskJetHBOM.cxx:648
 AliAnalysisTaskJetHBOM.cxx:649
 AliAnalysisTaskJetHBOM.cxx:650
 AliAnalysisTaskJetHBOM.cxx:651
 AliAnalysisTaskJetHBOM.cxx:652
 AliAnalysisTaskJetHBOM.cxx:653
 AliAnalysisTaskJetHBOM.cxx:654
 AliAnalysisTaskJetHBOM.cxx:655
 AliAnalysisTaskJetHBOM.cxx:656
 AliAnalysisTaskJetHBOM.cxx:657
 AliAnalysisTaskJetHBOM.cxx:658
 AliAnalysisTaskJetHBOM.cxx:659
 AliAnalysisTaskJetHBOM.cxx:660
 AliAnalysisTaskJetHBOM.cxx:661
 AliAnalysisTaskJetHBOM.cxx:662
 AliAnalysisTaskJetHBOM.cxx:663
 AliAnalysisTaskJetHBOM.cxx:664
 AliAnalysisTaskJetHBOM.cxx:665
 AliAnalysisTaskJetHBOM.cxx:666
 AliAnalysisTaskJetHBOM.cxx:667
 AliAnalysisTaskJetHBOM.cxx:668
 AliAnalysisTaskJetHBOM.cxx:669
 AliAnalysisTaskJetHBOM.cxx:670
 AliAnalysisTaskJetHBOM.cxx:671
 AliAnalysisTaskJetHBOM.cxx:672
 AliAnalysisTaskJetHBOM.cxx:673
 AliAnalysisTaskJetHBOM.cxx:674
 AliAnalysisTaskJetHBOM.cxx:675
 AliAnalysisTaskJetHBOM.cxx:676
 AliAnalysisTaskJetHBOM.cxx:677
 AliAnalysisTaskJetHBOM.cxx:678
 AliAnalysisTaskJetHBOM.cxx:679
 AliAnalysisTaskJetHBOM.cxx:680
 AliAnalysisTaskJetHBOM.cxx:681
 AliAnalysisTaskJetHBOM.cxx:682
 AliAnalysisTaskJetHBOM.cxx:683
 AliAnalysisTaskJetHBOM.cxx:684
 AliAnalysisTaskJetHBOM.cxx:685
 AliAnalysisTaskJetHBOM.cxx:686
 AliAnalysisTaskJetHBOM.cxx:687
 AliAnalysisTaskJetHBOM.cxx:688
 AliAnalysisTaskJetHBOM.cxx:689
 AliAnalysisTaskJetHBOM.cxx:690
 AliAnalysisTaskJetHBOM.cxx:691
 AliAnalysisTaskJetHBOM.cxx:692
 AliAnalysisTaskJetHBOM.cxx:693
 AliAnalysisTaskJetHBOM.cxx:694
 AliAnalysisTaskJetHBOM.cxx:695
 AliAnalysisTaskJetHBOM.cxx:696
 AliAnalysisTaskJetHBOM.cxx:697
 AliAnalysisTaskJetHBOM.cxx:698
 AliAnalysisTaskJetHBOM.cxx:699
 AliAnalysisTaskJetHBOM.cxx:700
 AliAnalysisTaskJetHBOM.cxx:701
 AliAnalysisTaskJetHBOM.cxx:702
 AliAnalysisTaskJetHBOM.cxx:703
 AliAnalysisTaskJetHBOM.cxx:704
 AliAnalysisTaskJetHBOM.cxx:705
 AliAnalysisTaskJetHBOM.cxx:706
 AliAnalysisTaskJetHBOM.cxx:707
 AliAnalysisTaskJetHBOM.cxx:708
 AliAnalysisTaskJetHBOM.cxx:709
 AliAnalysisTaskJetHBOM.cxx:710
 AliAnalysisTaskJetHBOM.cxx:711
 AliAnalysisTaskJetHBOM.cxx:712
 AliAnalysisTaskJetHBOM.cxx:713
 AliAnalysisTaskJetHBOM.cxx:714
 AliAnalysisTaskJetHBOM.cxx:715
 AliAnalysisTaskJetHBOM.cxx:716
 AliAnalysisTaskJetHBOM.cxx:717
 AliAnalysisTaskJetHBOM.cxx:718
 AliAnalysisTaskJetHBOM.cxx:719
 AliAnalysisTaskJetHBOM.cxx:720
 AliAnalysisTaskJetHBOM.cxx:721
 AliAnalysisTaskJetHBOM.cxx:722
 AliAnalysisTaskJetHBOM.cxx:723
 AliAnalysisTaskJetHBOM.cxx:724
 AliAnalysisTaskJetHBOM.cxx:725
 AliAnalysisTaskJetHBOM.cxx:726
 AliAnalysisTaskJetHBOM.cxx:727
 AliAnalysisTaskJetHBOM.cxx:728
 AliAnalysisTaskJetHBOM.cxx:729
 AliAnalysisTaskJetHBOM.cxx:730
 AliAnalysisTaskJetHBOM.cxx:731
 AliAnalysisTaskJetHBOM.cxx:732
 AliAnalysisTaskJetHBOM.cxx:733
 AliAnalysisTaskJetHBOM.cxx:734
 AliAnalysisTaskJetHBOM.cxx:735
 AliAnalysisTaskJetHBOM.cxx:736
 AliAnalysisTaskJetHBOM.cxx:737
 AliAnalysisTaskJetHBOM.cxx:738
 AliAnalysisTaskJetHBOM.cxx:739
 AliAnalysisTaskJetHBOM.cxx:740
 AliAnalysisTaskJetHBOM.cxx:741
 AliAnalysisTaskJetHBOM.cxx:742
 AliAnalysisTaskJetHBOM.cxx:743
 AliAnalysisTaskJetHBOM.cxx:744
 AliAnalysisTaskJetHBOM.cxx:745
 AliAnalysisTaskJetHBOM.cxx:746
 AliAnalysisTaskJetHBOM.cxx:747
 AliAnalysisTaskJetHBOM.cxx:748
 AliAnalysisTaskJetHBOM.cxx:749
 AliAnalysisTaskJetHBOM.cxx:750
 AliAnalysisTaskJetHBOM.cxx:751
 AliAnalysisTaskJetHBOM.cxx:752
 AliAnalysisTaskJetHBOM.cxx:753
 AliAnalysisTaskJetHBOM.cxx:754
 AliAnalysisTaskJetHBOM.cxx:755
 AliAnalysisTaskJetHBOM.cxx:756
 AliAnalysisTaskJetHBOM.cxx:757
 AliAnalysisTaskJetHBOM.cxx:758
 AliAnalysisTaskJetHBOM.cxx:759
 AliAnalysisTaskJetHBOM.cxx:760
 AliAnalysisTaskJetHBOM.cxx:761
 AliAnalysisTaskJetHBOM.cxx:762
 AliAnalysisTaskJetHBOM.cxx:763
 AliAnalysisTaskJetHBOM.cxx:764
 AliAnalysisTaskJetHBOM.cxx:765
 AliAnalysisTaskJetHBOM.cxx:766
 AliAnalysisTaskJetHBOM.cxx:767
 AliAnalysisTaskJetHBOM.cxx:768
 AliAnalysisTaskJetHBOM.cxx:769
 AliAnalysisTaskJetHBOM.cxx:770
 AliAnalysisTaskJetHBOM.cxx:771
 AliAnalysisTaskJetHBOM.cxx:772
 AliAnalysisTaskJetHBOM.cxx:773
 AliAnalysisTaskJetHBOM.cxx:774
 AliAnalysisTaskJetHBOM.cxx:775
 AliAnalysisTaskJetHBOM.cxx:776
 AliAnalysisTaskJetHBOM.cxx:777
 AliAnalysisTaskJetHBOM.cxx:778
 AliAnalysisTaskJetHBOM.cxx:779
 AliAnalysisTaskJetHBOM.cxx:780
 AliAnalysisTaskJetHBOM.cxx:781
 AliAnalysisTaskJetHBOM.cxx:782
 AliAnalysisTaskJetHBOM.cxx:783
 AliAnalysisTaskJetHBOM.cxx:784
 AliAnalysisTaskJetHBOM.cxx:785
 AliAnalysisTaskJetHBOM.cxx:786
 AliAnalysisTaskJetHBOM.cxx:787
 AliAnalysisTaskJetHBOM.cxx:788
 AliAnalysisTaskJetHBOM.cxx:789
 AliAnalysisTaskJetHBOM.cxx:790
 AliAnalysisTaskJetHBOM.cxx:791
 AliAnalysisTaskJetHBOM.cxx:792
 AliAnalysisTaskJetHBOM.cxx:793
 AliAnalysisTaskJetHBOM.cxx:794
 AliAnalysisTaskJetHBOM.cxx:795
 AliAnalysisTaskJetHBOM.cxx:796
 AliAnalysisTaskJetHBOM.cxx:797
 AliAnalysisTaskJetHBOM.cxx:798
 AliAnalysisTaskJetHBOM.cxx:799
 AliAnalysisTaskJetHBOM.cxx:800
 AliAnalysisTaskJetHBOM.cxx:801
 AliAnalysisTaskJetHBOM.cxx:802
 AliAnalysisTaskJetHBOM.cxx:803
 AliAnalysisTaskJetHBOM.cxx:804
 AliAnalysisTaskJetHBOM.cxx:805
 AliAnalysisTaskJetHBOM.cxx:806
 AliAnalysisTaskJetHBOM.cxx:807
 AliAnalysisTaskJetHBOM.cxx:808
 AliAnalysisTaskJetHBOM.cxx:809
 AliAnalysisTaskJetHBOM.cxx:810
 AliAnalysisTaskJetHBOM.cxx:811
 AliAnalysisTaskJetHBOM.cxx:812
 AliAnalysisTaskJetHBOM.cxx:813
 AliAnalysisTaskJetHBOM.cxx:814
 AliAnalysisTaskJetHBOM.cxx:815
 AliAnalysisTaskJetHBOM.cxx:816
 AliAnalysisTaskJetHBOM.cxx:817
 AliAnalysisTaskJetHBOM.cxx:818
 AliAnalysisTaskJetHBOM.cxx:819
 AliAnalysisTaskJetHBOM.cxx:820
 AliAnalysisTaskJetHBOM.cxx:821
 AliAnalysisTaskJetHBOM.cxx:822
 AliAnalysisTaskJetHBOM.cxx:823
 AliAnalysisTaskJetHBOM.cxx:824
 AliAnalysisTaskJetHBOM.cxx:825
 AliAnalysisTaskJetHBOM.cxx:826
 AliAnalysisTaskJetHBOM.cxx:827
 AliAnalysisTaskJetHBOM.cxx:828
 AliAnalysisTaskJetHBOM.cxx:829
 AliAnalysisTaskJetHBOM.cxx:830
 AliAnalysisTaskJetHBOM.cxx:831
 AliAnalysisTaskJetHBOM.cxx:832
 AliAnalysisTaskJetHBOM.cxx:833
 AliAnalysisTaskJetHBOM.cxx:834
 AliAnalysisTaskJetHBOM.cxx:835
 AliAnalysisTaskJetHBOM.cxx:836
 AliAnalysisTaskJetHBOM.cxx:837
 AliAnalysisTaskJetHBOM.cxx:838
 AliAnalysisTaskJetHBOM.cxx:839
 AliAnalysisTaskJetHBOM.cxx:840
 AliAnalysisTaskJetHBOM.cxx:841
 AliAnalysisTaskJetHBOM.cxx:842
 AliAnalysisTaskJetHBOM.cxx:843
 AliAnalysisTaskJetHBOM.cxx:844
 AliAnalysisTaskJetHBOM.cxx:845
 AliAnalysisTaskJetHBOM.cxx:846
 AliAnalysisTaskJetHBOM.cxx:847
 AliAnalysisTaskJetHBOM.cxx:848
 AliAnalysisTaskJetHBOM.cxx:849
 AliAnalysisTaskJetHBOM.cxx:850
 AliAnalysisTaskJetHBOM.cxx:851
 AliAnalysisTaskJetHBOM.cxx:852
 AliAnalysisTaskJetHBOM.cxx:853
 AliAnalysisTaskJetHBOM.cxx:854
 AliAnalysisTaskJetHBOM.cxx:855
 AliAnalysisTaskJetHBOM.cxx:856
 AliAnalysisTaskJetHBOM.cxx:857
 AliAnalysisTaskJetHBOM.cxx:858
 AliAnalysisTaskJetHBOM.cxx:859
 AliAnalysisTaskJetHBOM.cxx:860
 AliAnalysisTaskJetHBOM.cxx:861
 AliAnalysisTaskJetHBOM.cxx:862
 AliAnalysisTaskJetHBOM.cxx:863
 AliAnalysisTaskJetHBOM.cxx:864
 AliAnalysisTaskJetHBOM.cxx:865
 AliAnalysisTaskJetHBOM.cxx:866
 AliAnalysisTaskJetHBOM.cxx:867
 AliAnalysisTaskJetHBOM.cxx:868
 AliAnalysisTaskJetHBOM.cxx:869
 AliAnalysisTaskJetHBOM.cxx:870
 AliAnalysisTaskJetHBOM.cxx:871
 AliAnalysisTaskJetHBOM.cxx:872
 AliAnalysisTaskJetHBOM.cxx:873
 AliAnalysisTaskJetHBOM.cxx:874
 AliAnalysisTaskJetHBOM.cxx:875
 AliAnalysisTaskJetHBOM.cxx:876
 AliAnalysisTaskJetHBOM.cxx:877
 AliAnalysisTaskJetHBOM.cxx:878
 AliAnalysisTaskJetHBOM.cxx:879
 AliAnalysisTaskJetHBOM.cxx:880
 AliAnalysisTaskJetHBOM.cxx:881
 AliAnalysisTaskJetHBOM.cxx:882
 AliAnalysisTaskJetHBOM.cxx:883
 AliAnalysisTaskJetHBOM.cxx:884
 AliAnalysisTaskJetHBOM.cxx:885
 AliAnalysisTaskJetHBOM.cxx:886
 AliAnalysisTaskJetHBOM.cxx:887
 AliAnalysisTaskJetHBOM.cxx:888
 AliAnalysisTaskJetHBOM.cxx:889
 AliAnalysisTaskJetHBOM.cxx:890
 AliAnalysisTaskJetHBOM.cxx:891
 AliAnalysisTaskJetHBOM.cxx:892
 AliAnalysisTaskJetHBOM.cxx:893
 AliAnalysisTaskJetHBOM.cxx:894
 AliAnalysisTaskJetHBOM.cxx:895
 AliAnalysisTaskJetHBOM.cxx:896
 AliAnalysisTaskJetHBOM.cxx:897
 AliAnalysisTaskJetHBOM.cxx:898
 AliAnalysisTaskJetHBOM.cxx:899
 AliAnalysisTaskJetHBOM.cxx:900
 AliAnalysisTaskJetHBOM.cxx:901
 AliAnalysisTaskJetHBOM.cxx:902
 AliAnalysisTaskJetHBOM.cxx:903
 AliAnalysisTaskJetHBOM.cxx:904
 AliAnalysisTaskJetHBOM.cxx:905
 AliAnalysisTaskJetHBOM.cxx:906
 AliAnalysisTaskJetHBOM.cxx:907
 AliAnalysisTaskJetHBOM.cxx:908
 AliAnalysisTaskJetHBOM.cxx:909
 AliAnalysisTaskJetHBOM.cxx:910
 AliAnalysisTaskJetHBOM.cxx:911
 AliAnalysisTaskJetHBOM.cxx:912