ROOT logo
// $Id$
//
// Jet sample analysis task.
//
// Author: S.Aiola

#include <TClonesArray.h>
#include <TH1F.h>
#include <TH2F.h>
#include <TH3F.h>
#include <TList.h>
#include <TLorentzVector.h>

#include "AliVCluster.h"
#include "AliAODCaloCluster.h"
#include "AliESDCaloCluster.h"
#include "AliVTrack.h"
#include "AliEmcalJet.h"
#include "AliRhoParameter.h"
#include "AliLog.h"
#include "AliJetContainer.h"
#include "AliParticleContainer.h"
#include "AliClusterContainer.h"
#include "AliPicoTrack.h"

#include "AliAnalysisTaskEmcalJetSample.h"

ClassImp(AliAnalysisTaskEmcalJetSample)

//________________________________________________________________________
AliAnalysisTaskEmcalJetSample::AliAnalysisTaskEmcalJetSample() : 
  AliAnalysisTaskEmcalJet("AliAnalysisTaskEmcalJetSample", kTRUE),
  fHistTracksPt(0),
  fHistClustersPt(0),
  fHistLeadingJetPt(0),
  fHistJetsPhiEta(0),
  fHistJetsPtArea(0),
  fHistJetsPtLeadHad(0),
  fHistJetsCorrPtArea(0),
  fHistPtDEtaDPhiTrackClus(0),
  fHistPtDEtaDPhiClusTrack(0),
  fHistClustDx(0),
  fHistClustDz(0),
  fJetsCont(0),
  fTracksCont(0),
  fCaloClustersCont(0)

{
  // Default constructor.

  fHistTracksPt       = new TH1*[fNcentBins];
  fHistClustersPt     = new TH1*[fNcentBins];
  fHistLeadingJetPt   = new TH1*[fNcentBins];
  fHistJetsPhiEta     = new TH2*[fNcentBins];
  fHistJetsPtArea     = new TH2*[fNcentBins];
  fHistJetsPtLeadHad  = new TH2*[fNcentBins];
  fHistJetsCorrPtArea = new TH2*[fNcentBins];

  for (Int_t i = 0; i < fNcentBins; i++) {
    fHistTracksPt[i] = 0;
    fHistClustersPt[i] = 0;
    fHistLeadingJetPt[i] = 0;
    fHistJetsPhiEta[i] = 0;
    fHistJetsPtArea[i] = 0;
    fHistJetsPtLeadHad[i] = 0;
    fHistJetsCorrPtArea[i] = 0;
  }

  SetMakeGeneralHistograms(kTRUE);
}

//________________________________________________________________________
AliAnalysisTaskEmcalJetSample::AliAnalysisTaskEmcalJetSample(const char *name) : 
  AliAnalysisTaskEmcalJet(name, kTRUE),
  fHistTracksPt(0),
  fHistClustersPt(0),
  fHistLeadingJetPt(0),
  fHistJetsPhiEta(0),
  fHistJetsPtArea(0),
  fHistJetsPtLeadHad(0),
  fHistJetsCorrPtArea(0),
  fHistPtDEtaDPhiTrackClus(0),
  fHistPtDEtaDPhiClusTrack(0),
  fHistClustDx(0),
  fHistClustDz(0),
  fJetsCont(0),
  fTracksCont(0),
  fCaloClustersCont(0)
{
  // Standard constructor.

  fHistTracksPt       = new TH1*[fNcentBins];
  fHistClustersPt     = new TH1*[fNcentBins];
  fHistLeadingJetPt   = new TH1*[fNcentBins];
  fHistJetsPhiEta     = new TH2*[fNcentBins];
  fHistJetsPtArea     = new TH2*[fNcentBins];
  fHistJetsPtLeadHad  = new TH2*[fNcentBins];
  fHistJetsCorrPtArea = new TH2*[fNcentBins];

  for (Int_t i = 0; i < fNcentBins; i++) {
    fHistTracksPt[i] = 0;
    fHistClustersPt[i] = 0;
    fHistLeadingJetPt[i] = 0;
    fHistJetsPhiEta[i] = 0;
    fHistJetsPtArea[i] = 0;
    fHistJetsPtLeadHad[i] = 0;
    fHistJetsCorrPtArea[i] = 0;
  }

  SetMakeGeneralHistograms(kTRUE);
}

//________________________________________________________________________
AliAnalysisTaskEmcalJetSample::~AliAnalysisTaskEmcalJetSample()
{
  // Destructor.
}

//________________________________________________________________________
void AliAnalysisTaskEmcalJetSample::UserCreateOutputObjects()
{
  // Create user output.

  AliAnalysisTaskEmcalJet::UserCreateOutputObjects();

  fJetsCont           = GetJetContainer(0);
  if(fJetsCont) { //get particles and clusters connected to jets
    fTracksCont       = fJetsCont->GetParticleContainer();
    fCaloClustersCont = fJetsCont->GetClusterContainer();
  } else {        //no jets, just analysis tracks and clusters
    fTracksCont       = GetParticleContainer(0);
    fCaloClustersCont = GetClusterContainer(0);
  }
  if(fTracksCont) fTracksCont->SetClassName("AliVTrack");
  if(fCaloClustersCont) fCaloClustersCont->SetClassName("AliVCluster");

  TString histname;

  for (Int_t i = 0; i < fNcentBins; i++) {
    if (fParticleCollArray.GetEntriesFast()>0) {
      histname = "fHistTracksPt_";
      histname += i;
      fHistTracksPt[i] = new TH1F(histname.Data(), histname.Data(), fNbins / 2, fMinBinPt, fMaxBinPt / 2);
      fHistTracksPt[i]->GetXaxis()->SetTitle("p_{T,track} (GeV/c)");
      fHistTracksPt[i]->GetYaxis()->SetTitle("counts");
      fOutput->Add(fHistTracksPt[i]);
    }

    if (fClusterCollArray.GetEntriesFast()>0) {
      histname = "fHistClustersPt_";
      histname += i;
      fHistClustersPt[i] = new TH1F(histname.Data(), histname.Data(), fNbins / 2, fMinBinPt, fMaxBinPt / 2);
      fHistClustersPt[i]->GetXaxis()->SetTitle("p_{T,clus} (GeV/c)");
      fHistClustersPt[i]->GetYaxis()->SetTitle("counts");
      fOutput->Add(fHistClustersPt[i]);
    }

    if (fJetCollArray.GetEntriesFast()>0) {
      histname = "fHistLeadingJetPt_";
      histname += i;
      fHistLeadingJetPt[i] = new TH1F(histname.Data(), histname.Data(), fNbins, fMinBinPt, fMaxBinPt);
      fHistLeadingJetPt[i]->GetXaxis()->SetTitle("p_{T}^{raw} (GeV/c)");
      fHistLeadingJetPt[i]->GetYaxis()->SetTitle("counts");
      fOutput->Add(fHistLeadingJetPt[i]);
      
      histname = "fHistJetsPhiEta_";
      histname += i;
      fHistJetsPhiEta[i] = new TH2F(histname.Data(), histname.Data(), 50, -1, 1, 101, 0, TMath::Pi()*2 + TMath::Pi()/200);
      fHistJetsPhiEta[i]->GetXaxis()->SetTitle("#eta");
      fHistJetsPhiEta[i]->GetYaxis()->SetTitle("#phi");
      fOutput->Add(fHistJetsPhiEta[i]);
      
      histname = "fHistJetsPtArea_";
      histname += i;
      fHistJetsPtArea[i] = new TH2F(histname.Data(), histname.Data(), fNbins, fMinBinPt, fMaxBinPt, 30, 0, 3);
      fHistJetsPtArea[i]->GetXaxis()->SetTitle("p_{T}^{raw} (GeV/c)");
      fHistJetsPtArea[i]->GetYaxis()->SetTitle("area");
      fOutput->Add(fHistJetsPtArea[i]);

      histname = "fHistJetsPtLeadHad_";
      histname += i;
      fHistJetsPtLeadHad[i] = new TH2F(histname.Data(), histname.Data(), fNbins, fMinBinPt, fMaxBinPt, fNbins / 2, fMinBinPt, fMaxBinPt / 2);
      fHistJetsPtLeadHad[i]->GetXaxis()->SetTitle("p_{T}^{raw} (GeV/c)");
      fHistJetsPtLeadHad[i]->GetYaxis()->SetTitle("p_{T,lead} (GeV/c)");
      fHistJetsPtLeadHad[i]->GetZaxis()->SetTitle("counts");
      fOutput->Add(fHistJetsPtLeadHad[i]);
    
      if (!(GetJetContainer()->GetRhoName().IsNull())) {
	histname = "fHistJetsCorrPtArea_";
	histname += i;
	fHistJetsCorrPtArea[i] = new TH2F(histname.Data(), histname.Data(), fNbins*2, -fMaxBinPt, fMaxBinPt, 30, 0, 3);
	fHistJetsCorrPtArea[i]->GetXaxis()->SetTitle("p_{T}^{corr} [GeV/c]");
	fHistJetsCorrPtArea[i]->GetYaxis()->SetTitle("area");
	fOutput->Add(fHistJetsCorrPtArea[i]);
      }
    }
  }

  histname = "fHistPtDEtaDPhiTrackClus";
  fHistPtDEtaDPhiTrackClus = new TH3F(histname.Data(),Form("%s;#it{p}_{T}^{track};#Delta#eta;#Delta#varphi",histname.Data()),100,0.,100.,100,-0.1,0.1,100,-0.1,0.1);
  fOutput->Add(fHistPtDEtaDPhiTrackClus);

  histname = "fHistPtDEtaDPhiClusTrack";
  fHistPtDEtaDPhiClusTrack = new TH3F(histname.Data(),Form("%s;#it{p}_{T}^{clus};#Delta#eta;#Delta#varphi",histname.Data()),100,0.,100.,100,-0.1,0.1,100,-0.1,0.1);
  fOutput->Add(fHistPtDEtaDPhiClusTrack);

  fHistClustDx = new TH1F("fHistClustDx","fHistClustDx;Dx",1000,0.,1.);
  fOutput->Add(fHistClustDx);

  fHistClustDz = new TH1F("fHistClustDz","fHistClustDz;Dz",1000,0.,1.);
  fOutput->Add(fHistClustDz);

  PostData(1, fOutput); // Post data for ALL output slots > 0 here.
}

//________________________________________________________________________
Bool_t AliAnalysisTaskEmcalJetSample::FillHistograms()
{
  // Fill histograms.

  if (fTracksCont) {
    AliVTrack *track = static_cast<AliVTrack*>(fTracksCont->GetNextAcceptParticle(0)); 
    while(track) {
      fHistTracksPt[fCentBin]->Fill(track->Pt()); 
      track = static_cast<AliVTrack*>(fTracksCont->GetNextAcceptParticle());
    }
  }

  if (fCaloClustersCont) {
    AliVCluster *cluster = fCaloClustersCont->GetNextAcceptCluster(0); 
    while(cluster) {
      TLorentzVector nPart;
      cluster->GetMomentum(nPart, fVertex);
      fHistClustersPt[fCentBin]->Fill(nPart.Pt());
      Double_t dx = cluster->GetTrackDx();
      Double_t dz = cluster->GetTrackDz();
      fHistClustDx->Fill(dx);
      fHistClustDz->Fill(dz);
      cluster = fCaloClustersCont->GetNextAcceptCluster();
    }
  }

  if (fJetsCont) {
    AliEmcalJet *jet = fJetsCont->GetNextAcceptJet(0); 
    while(jet) {

      fHistJetsPtArea[fCentBin]->Fill(jet->Pt(), jet->Area());
      fHistJetsPhiEta[fCentBin]->Fill(jet->Eta(), jet->Phi());

      Float_t ptLeading = fJetsCont->GetLeadingHadronPt(jet);
      fHistJetsPtLeadHad[fCentBin]->Fill(jet->Pt(), ptLeading);

      if (fHistJetsCorrPtArea[fCentBin]) {
	Float_t corrPt = jet->Pt() - fJetsCont->GetRhoVal() * jet->Area();
	fHistJetsCorrPtArea[fCentBin]->Fill(corrPt, jet->Area());
      }
      jet = fJetsCont->GetNextAcceptJet(); 
    }
    
    jet = fJetsCont->GetLeadingJet();
    if(jet) fHistLeadingJetPt[fCentBin]->Fill(jet->Pt());
  }

  CheckClusTrackMatching();

  return kTRUE;
}

//________________________________________________________________________
void AliAnalysisTaskEmcalJetSample::CheckClusTrackMatching()
{
  
  if(!fTracksCont || !fCaloClustersCont)
    return;

  Double_t deta = 999;
  Double_t dphi = 999;

  //Get closest cluster to track
  AliVTrack *track = static_cast<AliVTrack*>(fTracksCont->GetNextAcceptParticle(0)); 
  while(track) {
    //Get matched cluster
    Int_t emc1 = track->GetEMCALcluster();
    if(fCaloClustersCont && emc1>=0) {
      AliVCluster *clusMatch = fCaloClustersCont->GetCluster(emc1);
      if(clusMatch) {
	AliPicoTrack::GetEtaPhiDiff(track, clusMatch, dphi, deta);
	fHistPtDEtaDPhiTrackClus->Fill(track->Pt(),deta,dphi);
      }
    }
    track = static_cast<AliVTrack*>(fTracksCont->GetNextAcceptParticle());
  }
  
  //Get closest track to cluster
  AliVCluster *cluster = fCaloClustersCont->GetNextAcceptCluster(0); 
  while(cluster) {
    TLorentzVector nPart;
    cluster->GetMomentum(nPart, fVertex);
    fHistClustersPt[fCentBin]->Fill(nPart.Pt());
    
    //Get matched track
    AliVTrack *mt = NULL;      
    AliAODCaloCluster *acl = dynamic_cast<AliAODCaloCluster*>(cluster);
    if(acl) {
      if(acl->GetNTracksMatched()>1)
	mt = static_cast<AliVTrack*>(acl->GetTrackMatched(0));
    }
    else {
      AliESDCaloCluster *ecl = dynamic_cast<AliESDCaloCluster*>(cluster);
      Int_t im = ecl->GetTrackMatchedIndex();
      if(fTracksCont && im>=0) {
	mt = static_cast<AliVTrack*>(fTracksCont->GetParticle(im));
      }
    }
    if(mt) {
      AliPicoTrack::GetEtaPhiDiff(mt, cluster, dphi, deta);
      fHistPtDEtaDPhiClusTrack->Fill(nPart.Pt(),deta,dphi);
      
      /* //debugging
	 if(mt->IsEMCAL()) {
	 Int_t emc1 = mt->GetEMCALcluster();
	 Printf("current id: %d  emc1: %d",fCaloClustersCont->GetCurrentID(),emc1);
	 AliVCluster *clm = fCaloClustersCont->GetCluster(emc1);
	 AliPicoTrack::GetEtaPhiDiff(mt, clm, dphi, deta);
	 Printf("deta: %f dphi: %f",deta,dphi);
	 }
      */
    }
    cluster = fCaloClustersCont->GetNextAcceptCluster();
  }
}

//________________________________________________________________________
void AliAnalysisTaskEmcalJetSample::ExecOnce() {

  AliAnalysisTaskEmcalJet::ExecOnce();

  if (fJetsCont && fJetsCont->GetArray() == 0) fJetsCont = 0;
  if (fTracksCont && fTracksCont->GetArray() == 0) fTracksCont = 0;
  if (fCaloClustersCont && fCaloClustersCont->GetArray() == 0) fCaloClustersCont = 0;

}

//________________________________________________________________________
Bool_t AliAnalysisTaskEmcalJetSample::Run()
{
  // Run analysis code here, if needed. It will be executed before FillHistograms().

  return kTRUE;  // If return kFALSE FillHistogram() will NOT be executed.
}

//________________________________________________________________________
void AliAnalysisTaskEmcalJetSample::Terminate(Option_t *) 
{
  // Called once at the end of the analysis.
}
 AliAnalysisTaskEmcalJetSample.cxx:1
 AliAnalysisTaskEmcalJetSample.cxx:2
 AliAnalysisTaskEmcalJetSample.cxx:3
 AliAnalysisTaskEmcalJetSample.cxx:4
 AliAnalysisTaskEmcalJetSample.cxx:5
 AliAnalysisTaskEmcalJetSample.cxx:6
 AliAnalysisTaskEmcalJetSample.cxx:7
 AliAnalysisTaskEmcalJetSample.cxx:8
 AliAnalysisTaskEmcalJetSample.cxx:9
 AliAnalysisTaskEmcalJetSample.cxx:10
 AliAnalysisTaskEmcalJetSample.cxx:11
 AliAnalysisTaskEmcalJetSample.cxx:12
 AliAnalysisTaskEmcalJetSample.cxx:13
 AliAnalysisTaskEmcalJetSample.cxx:14
 AliAnalysisTaskEmcalJetSample.cxx:15
 AliAnalysisTaskEmcalJetSample.cxx:16
 AliAnalysisTaskEmcalJetSample.cxx:17
 AliAnalysisTaskEmcalJetSample.cxx:18
 AliAnalysisTaskEmcalJetSample.cxx:19
 AliAnalysisTaskEmcalJetSample.cxx:20
 AliAnalysisTaskEmcalJetSample.cxx:21
 AliAnalysisTaskEmcalJetSample.cxx:22
 AliAnalysisTaskEmcalJetSample.cxx:23
 AliAnalysisTaskEmcalJetSample.cxx:24
 AliAnalysisTaskEmcalJetSample.cxx:25
 AliAnalysisTaskEmcalJetSample.cxx:26
 AliAnalysisTaskEmcalJetSample.cxx:27
 AliAnalysisTaskEmcalJetSample.cxx:28
 AliAnalysisTaskEmcalJetSample.cxx:29
 AliAnalysisTaskEmcalJetSample.cxx:30
 AliAnalysisTaskEmcalJetSample.cxx:31
 AliAnalysisTaskEmcalJetSample.cxx:32
 AliAnalysisTaskEmcalJetSample.cxx:33
 AliAnalysisTaskEmcalJetSample.cxx:34
 AliAnalysisTaskEmcalJetSample.cxx:35
 AliAnalysisTaskEmcalJetSample.cxx:36
 AliAnalysisTaskEmcalJetSample.cxx:37
 AliAnalysisTaskEmcalJetSample.cxx:38
 AliAnalysisTaskEmcalJetSample.cxx:39
 AliAnalysisTaskEmcalJetSample.cxx:40
 AliAnalysisTaskEmcalJetSample.cxx:41
 AliAnalysisTaskEmcalJetSample.cxx:42
 AliAnalysisTaskEmcalJetSample.cxx:43
 AliAnalysisTaskEmcalJetSample.cxx:44
 AliAnalysisTaskEmcalJetSample.cxx:45
 AliAnalysisTaskEmcalJetSample.cxx:46
 AliAnalysisTaskEmcalJetSample.cxx:47
 AliAnalysisTaskEmcalJetSample.cxx:48
 AliAnalysisTaskEmcalJetSample.cxx:49
 AliAnalysisTaskEmcalJetSample.cxx:50
 AliAnalysisTaskEmcalJetSample.cxx:51
 AliAnalysisTaskEmcalJetSample.cxx:52
 AliAnalysisTaskEmcalJetSample.cxx:53
 AliAnalysisTaskEmcalJetSample.cxx:54
 AliAnalysisTaskEmcalJetSample.cxx:55
 AliAnalysisTaskEmcalJetSample.cxx:56
 AliAnalysisTaskEmcalJetSample.cxx:57
 AliAnalysisTaskEmcalJetSample.cxx:58
 AliAnalysisTaskEmcalJetSample.cxx:59
 AliAnalysisTaskEmcalJetSample.cxx:60
 AliAnalysisTaskEmcalJetSample.cxx:61
 AliAnalysisTaskEmcalJetSample.cxx:62
 AliAnalysisTaskEmcalJetSample.cxx:63
 AliAnalysisTaskEmcalJetSample.cxx:64
 AliAnalysisTaskEmcalJetSample.cxx:65
 AliAnalysisTaskEmcalJetSample.cxx:66
 AliAnalysisTaskEmcalJetSample.cxx:67
 AliAnalysisTaskEmcalJetSample.cxx:68
 AliAnalysisTaskEmcalJetSample.cxx:69
 AliAnalysisTaskEmcalJetSample.cxx:70
 AliAnalysisTaskEmcalJetSample.cxx:71
 AliAnalysisTaskEmcalJetSample.cxx:72
 AliAnalysisTaskEmcalJetSample.cxx:73
 AliAnalysisTaskEmcalJetSample.cxx:74
 AliAnalysisTaskEmcalJetSample.cxx:75
 AliAnalysisTaskEmcalJetSample.cxx:76
 AliAnalysisTaskEmcalJetSample.cxx:77
 AliAnalysisTaskEmcalJetSample.cxx:78
 AliAnalysisTaskEmcalJetSample.cxx:79
 AliAnalysisTaskEmcalJetSample.cxx:80
 AliAnalysisTaskEmcalJetSample.cxx:81
 AliAnalysisTaskEmcalJetSample.cxx:82
 AliAnalysisTaskEmcalJetSample.cxx:83
 AliAnalysisTaskEmcalJetSample.cxx:84
 AliAnalysisTaskEmcalJetSample.cxx:85
 AliAnalysisTaskEmcalJetSample.cxx:86
 AliAnalysisTaskEmcalJetSample.cxx:87
 AliAnalysisTaskEmcalJetSample.cxx:88
 AliAnalysisTaskEmcalJetSample.cxx:89
 AliAnalysisTaskEmcalJetSample.cxx:90
 AliAnalysisTaskEmcalJetSample.cxx:91
 AliAnalysisTaskEmcalJetSample.cxx:92
 AliAnalysisTaskEmcalJetSample.cxx:93
 AliAnalysisTaskEmcalJetSample.cxx:94
 AliAnalysisTaskEmcalJetSample.cxx:95
 AliAnalysisTaskEmcalJetSample.cxx:96
 AliAnalysisTaskEmcalJetSample.cxx:97
 AliAnalysisTaskEmcalJetSample.cxx:98
 AliAnalysisTaskEmcalJetSample.cxx:99
 AliAnalysisTaskEmcalJetSample.cxx:100
 AliAnalysisTaskEmcalJetSample.cxx:101
 AliAnalysisTaskEmcalJetSample.cxx:102
 AliAnalysisTaskEmcalJetSample.cxx:103
 AliAnalysisTaskEmcalJetSample.cxx:104
 AliAnalysisTaskEmcalJetSample.cxx:105
 AliAnalysisTaskEmcalJetSample.cxx:106
 AliAnalysisTaskEmcalJetSample.cxx:107
 AliAnalysisTaskEmcalJetSample.cxx:108
 AliAnalysisTaskEmcalJetSample.cxx:109
 AliAnalysisTaskEmcalJetSample.cxx:110
 AliAnalysisTaskEmcalJetSample.cxx:111
 AliAnalysisTaskEmcalJetSample.cxx:112
 AliAnalysisTaskEmcalJetSample.cxx:113
 AliAnalysisTaskEmcalJetSample.cxx:114
 AliAnalysisTaskEmcalJetSample.cxx:115
 AliAnalysisTaskEmcalJetSample.cxx:116
 AliAnalysisTaskEmcalJetSample.cxx:117
 AliAnalysisTaskEmcalJetSample.cxx:118
 AliAnalysisTaskEmcalJetSample.cxx:119
 AliAnalysisTaskEmcalJetSample.cxx:120
 AliAnalysisTaskEmcalJetSample.cxx:121
 AliAnalysisTaskEmcalJetSample.cxx:122
 AliAnalysisTaskEmcalJetSample.cxx:123
 AliAnalysisTaskEmcalJetSample.cxx:124
 AliAnalysisTaskEmcalJetSample.cxx:125
 AliAnalysisTaskEmcalJetSample.cxx:126
 AliAnalysisTaskEmcalJetSample.cxx:127
 AliAnalysisTaskEmcalJetSample.cxx:128
 AliAnalysisTaskEmcalJetSample.cxx:129
 AliAnalysisTaskEmcalJetSample.cxx:130
 AliAnalysisTaskEmcalJetSample.cxx:131
 AliAnalysisTaskEmcalJetSample.cxx:132
 AliAnalysisTaskEmcalJetSample.cxx:133
 AliAnalysisTaskEmcalJetSample.cxx:134
 AliAnalysisTaskEmcalJetSample.cxx:135
 AliAnalysisTaskEmcalJetSample.cxx:136
 AliAnalysisTaskEmcalJetSample.cxx:137
 AliAnalysisTaskEmcalJetSample.cxx:138
 AliAnalysisTaskEmcalJetSample.cxx:139
 AliAnalysisTaskEmcalJetSample.cxx:140
 AliAnalysisTaskEmcalJetSample.cxx:141
 AliAnalysisTaskEmcalJetSample.cxx:142
 AliAnalysisTaskEmcalJetSample.cxx:143
 AliAnalysisTaskEmcalJetSample.cxx:144
 AliAnalysisTaskEmcalJetSample.cxx:145
 AliAnalysisTaskEmcalJetSample.cxx:146
 AliAnalysisTaskEmcalJetSample.cxx:147
 AliAnalysisTaskEmcalJetSample.cxx:148
 AliAnalysisTaskEmcalJetSample.cxx:149
 AliAnalysisTaskEmcalJetSample.cxx:150
 AliAnalysisTaskEmcalJetSample.cxx:151
 AliAnalysisTaskEmcalJetSample.cxx:152
 AliAnalysisTaskEmcalJetSample.cxx:153
 AliAnalysisTaskEmcalJetSample.cxx:154
 AliAnalysisTaskEmcalJetSample.cxx:155
 AliAnalysisTaskEmcalJetSample.cxx:156
 AliAnalysisTaskEmcalJetSample.cxx:157
 AliAnalysisTaskEmcalJetSample.cxx:158
 AliAnalysisTaskEmcalJetSample.cxx:159
 AliAnalysisTaskEmcalJetSample.cxx:160
 AliAnalysisTaskEmcalJetSample.cxx:161
 AliAnalysisTaskEmcalJetSample.cxx:162
 AliAnalysisTaskEmcalJetSample.cxx:163
 AliAnalysisTaskEmcalJetSample.cxx:164
 AliAnalysisTaskEmcalJetSample.cxx:165
 AliAnalysisTaskEmcalJetSample.cxx:166
 AliAnalysisTaskEmcalJetSample.cxx:167
 AliAnalysisTaskEmcalJetSample.cxx:168
 AliAnalysisTaskEmcalJetSample.cxx:169
 AliAnalysisTaskEmcalJetSample.cxx:170
 AliAnalysisTaskEmcalJetSample.cxx:171
 AliAnalysisTaskEmcalJetSample.cxx:172
 AliAnalysisTaskEmcalJetSample.cxx:173
 AliAnalysisTaskEmcalJetSample.cxx:174
 AliAnalysisTaskEmcalJetSample.cxx:175
 AliAnalysisTaskEmcalJetSample.cxx:176
 AliAnalysisTaskEmcalJetSample.cxx:177
 AliAnalysisTaskEmcalJetSample.cxx:178
 AliAnalysisTaskEmcalJetSample.cxx:179
 AliAnalysisTaskEmcalJetSample.cxx:180
 AliAnalysisTaskEmcalJetSample.cxx:181
 AliAnalysisTaskEmcalJetSample.cxx:182
 AliAnalysisTaskEmcalJetSample.cxx:183
 AliAnalysisTaskEmcalJetSample.cxx:184
 AliAnalysisTaskEmcalJetSample.cxx:185
 AliAnalysisTaskEmcalJetSample.cxx:186
 AliAnalysisTaskEmcalJetSample.cxx:187
 AliAnalysisTaskEmcalJetSample.cxx:188
 AliAnalysisTaskEmcalJetSample.cxx:189
 AliAnalysisTaskEmcalJetSample.cxx:190
 AliAnalysisTaskEmcalJetSample.cxx:191
 AliAnalysisTaskEmcalJetSample.cxx:192
 AliAnalysisTaskEmcalJetSample.cxx:193
 AliAnalysisTaskEmcalJetSample.cxx:194
 AliAnalysisTaskEmcalJetSample.cxx:195
 AliAnalysisTaskEmcalJetSample.cxx:196
 AliAnalysisTaskEmcalJetSample.cxx:197
 AliAnalysisTaskEmcalJetSample.cxx:198
 AliAnalysisTaskEmcalJetSample.cxx:199
 AliAnalysisTaskEmcalJetSample.cxx:200
 AliAnalysisTaskEmcalJetSample.cxx:201
 AliAnalysisTaskEmcalJetSample.cxx:202
 AliAnalysisTaskEmcalJetSample.cxx:203
 AliAnalysisTaskEmcalJetSample.cxx:204
 AliAnalysisTaskEmcalJetSample.cxx:205
 AliAnalysisTaskEmcalJetSample.cxx:206
 AliAnalysisTaskEmcalJetSample.cxx:207
 AliAnalysisTaskEmcalJetSample.cxx:208
 AliAnalysisTaskEmcalJetSample.cxx:209
 AliAnalysisTaskEmcalJetSample.cxx:210
 AliAnalysisTaskEmcalJetSample.cxx:211
 AliAnalysisTaskEmcalJetSample.cxx:212
 AliAnalysisTaskEmcalJetSample.cxx:213
 AliAnalysisTaskEmcalJetSample.cxx:214
 AliAnalysisTaskEmcalJetSample.cxx:215
 AliAnalysisTaskEmcalJetSample.cxx:216
 AliAnalysisTaskEmcalJetSample.cxx:217
 AliAnalysisTaskEmcalJetSample.cxx:218
 AliAnalysisTaskEmcalJetSample.cxx:219
 AliAnalysisTaskEmcalJetSample.cxx:220
 AliAnalysisTaskEmcalJetSample.cxx:221
 AliAnalysisTaskEmcalJetSample.cxx:222
 AliAnalysisTaskEmcalJetSample.cxx:223
 AliAnalysisTaskEmcalJetSample.cxx:224
 AliAnalysisTaskEmcalJetSample.cxx:225
 AliAnalysisTaskEmcalJetSample.cxx:226
 AliAnalysisTaskEmcalJetSample.cxx:227
 AliAnalysisTaskEmcalJetSample.cxx:228
 AliAnalysisTaskEmcalJetSample.cxx:229
 AliAnalysisTaskEmcalJetSample.cxx:230
 AliAnalysisTaskEmcalJetSample.cxx:231
 AliAnalysisTaskEmcalJetSample.cxx:232
 AliAnalysisTaskEmcalJetSample.cxx:233
 AliAnalysisTaskEmcalJetSample.cxx:234
 AliAnalysisTaskEmcalJetSample.cxx:235
 AliAnalysisTaskEmcalJetSample.cxx:236
 AliAnalysisTaskEmcalJetSample.cxx:237
 AliAnalysisTaskEmcalJetSample.cxx:238
 AliAnalysisTaskEmcalJetSample.cxx:239
 AliAnalysisTaskEmcalJetSample.cxx:240
 AliAnalysisTaskEmcalJetSample.cxx:241
 AliAnalysisTaskEmcalJetSample.cxx:242
 AliAnalysisTaskEmcalJetSample.cxx:243
 AliAnalysisTaskEmcalJetSample.cxx:244
 AliAnalysisTaskEmcalJetSample.cxx:245
 AliAnalysisTaskEmcalJetSample.cxx:246
 AliAnalysisTaskEmcalJetSample.cxx:247
 AliAnalysisTaskEmcalJetSample.cxx:248
 AliAnalysisTaskEmcalJetSample.cxx:249
 AliAnalysisTaskEmcalJetSample.cxx:250
 AliAnalysisTaskEmcalJetSample.cxx:251
 AliAnalysisTaskEmcalJetSample.cxx:252
 AliAnalysisTaskEmcalJetSample.cxx:253
 AliAnalysisTaskEmcalJetSample.cxx:254
 AliAnalysisTaskEmcalJetSample.cxx:255
 AliAnalysisTaskEmcalJetSample.cxx:256
 AliAnalysisTaskEmcalJetSample.cxx:257
 AliAnalysisTaskEmcalJetSample.cxx:258
 AliAnalysisTaskEmcalJetSample.cxx:259
 AliAnalysisTaskEmcalJetSample.cxx:260
 AliAnalysisTaskEmcalJetSample.cxx:261
 AliAnalysisTaskEmcalJetSample.cxx:262
 AliAnalysisTaskEmcalJetSample.cxx:263
 AliAnalysisTaskEmcalJetSample.cxx:264
 AliAnalysisTaskEmcalJetSample.cxx:265
 AliAnalysisTaskEmcalJetSample.cxx:266
 AliAnalysisTaskEmcalJetSample.cxx:267
 AliAnalysisTaskEmcalJetSample.cxx:268
 AliAnalysisTaskEmcalJetSample.cxx:269
 AliAnalysisTaskEmcalJetSample.cxx:270
 AliAnalysisTaskEmcalJetSample.cxx:271
 AliAnalysisTaskEmcalJetSample.cxx:272
 AliAnalysisTaskEmcalJetSample.cxx:273
 AliAnalysisTaskEmcalJetSample.cxx:274
 AliAnalysisTaskEmcalJetSample.cxx:275
 AliAnalysisTaskEmcalJetSample.cxx:276
 AliAnalysisTaskEmcalJetSample.cxx:277
 AliAnalysisTaskEmcalJetSample.cxx:278
 AliAnalysisTaskEmcalJetSample.cxx:279
 AliAnalysisTaskEmcalJetSample.cxx:280
 AliAnalysisTaskEmcalJetSample.cxx:281
 AliAnalysisTaskEmcalJetSample.cxx:282
 AliAnalysisTaskEmcalJetSample.cxx:283
 AliAnalysisTaskEmcalJetSample.cxx:284
 AliAnalysisTaskEmcalJetSample.cxx:285
 AliAnalysisTaskEmcalJetSample.cxx:286
 AliAnalysisTaskEmcalJetSample.cxx:287
 AliAnalysisTaskEmcalJetSample.cxx:288
 AliAnalysisTaskEmcalJetSample.cxx:289
 AliAnalysisTaskEmcalJetSample.cxx:290
 AliAnalysisTaskEmcalJetSample.cxx:291
 AliAnalysisTaskEmcalJetSample.cxx:292
 AliAnalysisTaskEmcalJetSample.cxx:293
 AliAnalysisTaskEmcalJetSample.cxx:294
 AliAnalysisTaskEmcalJetSample.cxx:295
 AliAnalysisTaskEmcalJetSample.cxx:296
 AliAnalysisTaskEmcalJetSample.cxx:297
 AliAnalysisTaskEmcalJetSample.cxx:298
 AliAnalysisTaskEmcalJetSample.cxx:299
 AliAnalysisTaskEmcalJetSample.cxx:300
 AliAnalysisTaskEmcalJetSample.cxx:301
 AliAnalysisTaskEmcalJetSample.cxx:302
 AliAnalysisTaskEmcalJetSample.cxx:303
 AliAnalysisTaskEmcalJetSample.cxx:304
 AliAnalysisTaskEmcalJetSample.cxx:305
 AliAnalysisTaskEmcalJetSample.cxx:306
 AliAnalysisTaskEmcalJetSample.cxx:307
 AliAnalysisTaskEmcalJetSample.cxx:308
 AliAnalysisTaskEmcalJetSample.cxx:309
 AliAnalysisTaskEmcalJetSample.cxx:310
 AliAnalysisTaskEmcalJetSample.cxx:311
 AliAnalysisTaskEmcalJetSample.cxx:312
 AliAnalysisTaskEmcalJetSample.cxx:313
 AliAnalysisTaskEmcalJetSample.cxx:314
 AliAnalysisTaskEmcalJetSample.cxx:315
 AliAnalysisTaskEmcalJetSample.cxx:316
 AliAnalysisTaskEmcalJetSample.cxx:317
 AliAnalysisTaskEmcalJetSample.cxx:318
 AliAnalysisTaskEmcalJetSample.cxx:319
 AliAnalysisTaskEmcalJetSample.cxx:320
 AliAnalysisTaskEmcalJetSample.cxx:321
 AliAnalysisTaskEmcalJetSample.cxx:322
 AliAnalysisTaskEmcalJetSample.cxx:323
 AliAnalysisTaskEmcalJetSample.cxx:324
 AliAnalysisTaskEmcalJetSample.cxx:325
 AliAnalysisTaskEmcalJetSample.cxx:326
 AliAnalysisTaskEmcalJetSample.cxx:327
 AliAnalysisTaskEmcalJetSample.cxx:328
 AliAnalysisTaskEmcalJetSample.cxx:329
 AliAnalysisTaskEmcalJetSample.cxx:330
 AliAnalysisTaskEmcalJetSample.cxx:331
 AliAnalysisTaskEmcalJetSample.cxx:332
 AliAnalysisTaskEmcalJetSample.cxx:333
 AliAnalysisTaskEmcalJetSample.cxx:334
 AliAnalysisTaskEmcalJetSample.cxx:335
 AliAnalysisTaskEmcalJetSample.cxx:336
 AliAnalysisTaskEmcalJetSample.cxx:337
 AliAnalysisTaskEmcalJetSample.cxx:338
 AliAnalysisTaskEmcalJetSample.cxx:339
 AliAnalysisTaskEmcalJetSample.cxx:340
 AliAnalysisTaskEmcalJetSample.cxx:341
 AliAnalysisTaskEmcalJetSample.cxx:342
 AliAnalysisTaskEmcalJetSample.cxx:343
 AliAnalysisTaskEmcalJetSample.cxx:344
 AliAnalysisTaskEmcalJetSample.cxx:345
 AliAnalysisTaskEmcalJetSample.cxx:346
 AliAnalysisTaskEmcalJetSample.cxx:347
 AliAnalysisTaskEmcalJetSample.cxx:348
 AliAnalysisTaskEmcalJetSample.cxx:349
 AliAnalysisTaskEmcalJetSample.cxx:350
 AliAnalysisTaskEmcalJetSample.cxx:351
 AliAnalysisTaskEmcalJetSample.cxx:352
 AliAnalysisTaskEmcalJetSample.cxx:353
 AliAnalysisTaskEmcalJetSample.cxx:354
 AliAnalysisTaskEmcalJetSample.cxx:355
 AliAnalysisTaskEmcalJetSample.cxx:356