ROOT logo
#include "AliAnalysisTaskEmcalJetHadCorQA.h"

#include <TCanvas.h>
#include <TChain.h>
#include <TClonesArray.h>
#include <TH1F.h>
#include <TH2F.h>
#include <TH3F.h>
#include <THnSparse.h>
#include <TList.h>
#include <TLorentzVector.h>
#include <TParameter.h>
#include <TParticle.h>
#include <TTree.h>
#include <TVector3.h>

#include "AliAODEvent.h"
#include "AliAnalysisManager.h"
#include "AliAnalysisTask.h"
#include "AliCentrality.h"
#include "AliESDEvent.h"
#include "AliESDInputHandler.h"
#include "AliEmcalJet.h"
#include "AliVCluster.h"
#include "AliVTrack.h"
#include "AliRhoParameter.h"
#include "AliEmcalParticle.h"
#include "AliPicoTrack.h"
#include "AliEMCALGeometry.h"
using std::vector;

ClassImp(AliAnalysisTaskEmcalJetHadCorQA)

//________________________________________________________________________
AliAnalysisTaskEmcalJetHadCorQA::AliAnalysisTaskEmcalJetHadCorQA() : 
  AliAnalysisTaskEmcalJet("jethadcor",kFALSE), 
  fCalo2Name(),
  fCaloClusters2(),
  fMCParticlesName(),
  fMCParticles(),
  fHistRhovsCent(0),
  fHistNjetvsCent(0),
  fHistNTMatchvsPtvsNtack0(0)
{
  for (int i = 0;i<3;i++){
  fHistNEFvsPt[i] = 0;
  fHistNTMatchvsPt[i] = 0;  
  fHistNCMatchvsPt[i] = 0;
  fHistHadCorvsPt[i] = 0;
  fHistNEFvsPtBias[i] = 0;
  fHistNconvsPt[i] = 0;  
  fHistNtvsPt[i] = 0;    
  fHistNcvsPt[i] = 0;    
  fHistNTMatchvsPtBias[i] = 0;  
  fHistNCMatchvsPtBias[i] = 0;
  fHistHadCorvsPtBias[i] = 0;
  fHistNconvsPtBias[i] = 0;  
  fHistNtvsPtBias[i] = 0;    
  fHistNcvsPtBias[i] = 0;    
  }
  // Default constructor.
 
  SetMakeGeneralHistograms(kTRUE);
}

//________________________________________________________________________
AliAnalysisTaskEmcalJetHadCorQA::AliAnalysisTaskEmcalJetHadCorQA(const char *name) :
  AliAnalysisTaskEmcalJet(name,kTRUE),
  fCalo2Name(),
  fCaloClusters2(),
  fMCParticlesName(),
  fMCParticles(),
  fHistRhovsCent(0),
  fHistNjetvsCent(0),
  fHistNTMatchvsPtvsNtack0(0)
 { 
  for (int i = 0;i<3;i++){
  fHistNEFvsPt[i] = 0;
  fHistNTMatchvsPt[i] = 0;  
  fHistNCMatchvsPt[i] = 0;
  fHistHadCorvsPt[i] = 0;
  fHistNEFvsPtBias[i] = 0;
  fHistNconvsPt[i] = 0;  
  fHistNtvsPt[i] = 0;    
  fHistNcvsPt[i] = 0;    
  fHistNTMatchvsPtBias[i] = 0;  
  fHistNCMatchvsPtBias[i] = 0;
  fHistHadCorvsPtBias[i] = 0;
  fHistNconvsPtBias[i] = 0;  
  fHistNtvsPtBias[i] = 0;    
  fHistNcvsPtBias[i] = 0;    
  }
   SetMakeGeneralHistograms(kTRUE);
 }

//________________________________________________________________________
void AliAnalysisTaskEmcalJetHadCorQA::UserCreateOutputObjects()
{
  if (! fCreateHisto)
    return;
  AliAnalysisTaskEmcalJet::UserCreateOutputObjects();
  fHistRhovsCent             = new TH2F("RhovsCent",              "RhovsCent",             100, 0.0, 100.0, 500, 0, 500);
  fHistNjetvsCent            = new TH2F("NjetvsCent",             "NjetvsCent",            100, 0.0, 100.0, 100, 0, 100);

  for (int i = 0;i<3;i++){
    char name[200];
    TString title;
    sprintf(name,"NEFvsPt%i",i);
    fHistNEFvsPt[i]         = new TH2F(name, name, 100,0,1,500,-250,250);
    fOutput->Add(fHistNEFvsPt[i]);
    sprintf(name,"NTMatchvsPt%i",i);
    fHistNTMatchvsPt[i]     = new TH2F(name, name, 100,0,100,500,-250,250);  
    fOutput->Add(fHistNTMatchvsPt[i]);
    sprintf(name,"NCMatchvsPt%i",i);
    fHistNCMatchvsPt[i]     = new TH2F(name, name, 100,0,100,500,-250,250);
    fOutput->Add(fHistNCMatchvsPt[i]);
    sprintf(name,"HadCorvsPt%i",i);
    fHistHadCorvsPt[i]      = new TH2F(name, name, 1000,0,500,500,-250,250);
    fOutput->Add(fHistHadCorvsPt[i]);
    sprintf(name,"NconvsPt%i",i);
    fHistNconvsPt[i]      = new TH2F(name, name, 200,0,200,500,-250,250);
    fOutput->Add(fHistNconvsPt[i]);
    sprintf(name,"NtvsPt%i",i);
    fHistNtvsPt[i]      = new TH2F(name, name, 200,0,200,500,-250,250);
    fOutput->Add(fHistNtvsPt[i]);
    sprintf(name,"NcvsPt%i",i);
    fHistNcvsPt[i]      = new TH2F(name, name, 200,0,200,500,-250,250);
    fOutput->Add(fHistNcvsPt[i]);
    sprintf(name,"NEFvsPtBias%i",i);
    fHistNEFvsPtBias[i]     = new TH2F(name, name, 100,0,1,500,-250,250);
    fOutput->Add(fHistNEFvsPtBias[i]);
    sprintf(name,"NTMatchvsPtBias%i",i);
    fHistNTMatchvsPtBias[i] = new TH2F(name, name, 100,0,100,500,-250,250);  
    fOutput->Add(fHistNTMatchvsPtBias[i]);
    sprintf(name,"NCMatchvsPtBias%i",i);
    fHistNCMatchvsPtBias[i] = new TH2F(name, name, 100,0,100,500,-250,250);
    fOutput->Add(fHistNCMatchvsPtBias[i]);
    sprintf(name,"HadCorvsPtBias%i",i);
    fHistHadCorvsPtBias[i]  = new TH2F(name, name, 1000,0,500,500,-250,250);
    fOutput->Add(fHistHadCorvsPtBias[i]);
   sprintf(name,"NconvsPtBias%i",i);
    fHistNconvsPtBias[i]      = new TH2F(name, name, 200,0,200,500,-250,250);
    fOutput->Add(fHistNconvsPtBias[i]);
    sprintf(name,"NtvsPtBias%i",i);
    fHistNtvsPtBias[i]      = new TH2F(name, name, 200,0,200,500,-250,250);
    fOutput->Add(fHistNtvsPtBias[i]);
    sprintf(name,"NcvsPtBias%i",i);
    fHistNcvsPtBias[i]      = new TH2F(name, name, 200,0,200,500,-250,250);
    fOutput->Add(fHistNcvsPtBias[i]);
  }
  fHistNTMatchvsPtvsNtack0   = new TH3F("NTMmatchvsPtvsNtrack0",  "NTMatchsvsPtvsNtrack0", 100,0,100,500,-250,250,250,0,2500);

  // for (Int_t i = 0;i<6;++i){
  //   name = TString(Form("JetPtvsTrackPt_%i",i));
  //   title = TString(Form("Jet pT vs Leading Track pT cent bin %i",i));
  //   fHistJetPtvsTrackPt[i] = new TH2F(name,title,1000,-500,500,100,0,100);
  //   fOutput->Add(fHistJetPtvsTrackPt[i]);
   
  // }
  fOutput->Add(fHistRhovsCent);
  fOutput->Add(fHistNjetvsCent);
  fOutput->Add(fHistNTMatchvsPtvsNtack0);
   PostData(1, fOutput);
}

//________________________________________________________________________

Int_t AliAnalysisTaskEmcalJetHadCorQA::GetCentBin(Double_t cent) const 
{
  // Get centrality bin.

  Int_t centbin = -1;
  if (cent>=0 && cent<10)
    centbin = 0;
  else if (cent>=10 && cent<30)
    centbin = 1;
  else if (cent>=30 && cent<50)
    centbin = 2;
  else if (cent>50)
    centbin =3;
  return centbin;
}

//________________________________________________________________________

Float_t AliAnalysisTaskEmcalJetHadCorQA:: RelativePhi(Double_t mphi,Double_t vphi) const
{
  if (vphi < -1*TMath::Pi()) vphi += (2*TMath::Pi());
  else if (vphi > TMath::Pi()) vphi -= (2*TMath::Pi());
  if (mphi < -1*TMath::Pi()) mphi += (2*TMath::Pi());
  else if (mphi > TMath::Pi()) mphi -= (2*TMath::Pi());
  double dphi = mphi-vphi;
  if (dphi < -1*TMath::Pi()) dphi += (2*TMath::Pi());
  else if (dphi > TMath::Pi()) dphi -= (2*TMath::Pi());

  return dphi;//dphi in [-Pi, Pi]                                                                                                    
}

//________________________________________________________________________
void AliAnalysisTaskEmcalJetHadCorQA::ExecOnce()
{
  AliAnalysisTaskEmcalJet::ExecOnce();

//   AliAnalysisManger *am = AliAnalysisManager::GetAnalysisManger();
//   if (fCaloName == "CaloClusters")
//     am->LoadBranch("CaloClusters");

  if (!fCalo2Name.IsNull() && !fCaloClusters2){
    fCaloClusters2 = dynamic_cast<TClonesArray*>(InputEvent()->FindListObject(fCalo2Name));
    if (!fCaloClusters2){
      AliError(Form("%s: Could not retrieve calo clusters %s!",GetName(),fCalo2Name.Data()));
      fInitialized = kFALSE;
      return;
    }
  }

  if (!fMCParticlesName.IsNull() && !fMCParticles){
    fMCParticles = dynamic_cast<TClonesArray*>(InputEvent()->FindListObject(fMCParticlesName));
    if (!fMCParticles){
      AliError(Form("%s: Could not retrieve MC Particles %s!",GetName(),fMCParticlesName.Data()));
      fInitialized = kFALSE;
      return;
    }
  }
    //TString             fMCParticlesName;
    // TClonesArray       *fMCParticles;
    //  fCaloClusters2(),
 //    else if (!fJets->GetClass()->GetBaseClass("AliVCluster")){
//       AliError(Form("%s: Collection %s does not contain AliEmcalParticle objects!",GetName(),fCalo2Name.Data()));
//       fCaloClusters2 = 0;
//       fInitialized = kFALSE;
//       return;
    //  }
}


//________________________________________________________________________
Bool_t AliAnalysisTaskEmcalJetHadCorQA::Run()
{  
  Int_t centbin = GetCentBin(fCent);
  //for pp analyses we will just use the first centrality bin
  if (GetBeamType()==0)
    centbin = 0;
  if (centbin>2)
    return kTRUE;
  if (!fTracks)
    return kTRUE;
  if (!fCaloClusters)
    return kTRUE;
  if (!fCaloClusters2)
    return kTRUE;
  const Int_t nCluster2 = fCaloClusters2->GetEntriesFast();
  const Int_t nTrack = fTracks->GetEntriesFast();
  //  const Int_t nMC = fMCParticles->GetEntriesFast();

  TString fRhoScaledName = fRhoName;
  fRho = GetRhoFromEvent(fRhoScaledName);
  fRhoVal = fRho->GetVal();
  if (GetBeamType()==0)
    fRhoVal = 0;
  fHistRhovsCent->Fill(fCent,fRhoVal);
  const Int_t Njets = fJets->GetEntriesFast();

  Int_t NjetAcc = 0;

 
  for (Int_t iJets = 0; iJets < Njets; ++iJets) {
    Int_t TrackMatch = 0;
     AliEmcalJet *jet = static_cast<AliEmcalJet*>(fJets->At(iJets));
     if (!jet)
       continue; 
     if (jet->Area()==0)
       continue;
     if (jet->Pt()<0.1)
       continue;
     if (jet->MaxTrackPt()>100)
       continue;
     if (! AcceptJet(jet))
       continue;
     NjetAcc++;
     vector<Int_t> cluster_id; //we need to keep track of the jet clusters that we find
     vector<Int_t> cluster_id2;
     Double_t Esub = 0; //total E subtracted from the jet
     Double_t jetPt = -500;
     jetPt = jet->Pt()-jet->Area()*fRhoVal;    
     for (int i = 0;i<nTrack;i++){
       AliEmcalParticle *emctrack = static_cast<AliEmcalParticle*>(fTracks->At(i));
       if (!emctrack)
	 continue;
       if (!emctrack->IsEMCAL())
	 continue;
       AliVTrack *track = (AliVTrack*)emctrack->GetTrack();
       if (! track)
	 continue;
       if (! AcceptTrack(track))
	 continue;
       if (! IsJetTrack(jet,i,false))
	 continue;
       Int_t iClus = track->GetEMCALcluster();
       if (iClus<0)
	 continue;
       //we have the id of the matched cluster of a track constituent
       //       cout<<"track label for matched,accepted jet track is "<<track->GetLabel()<<endl;
       bool ischecked = false;
       for (UInt_t icid = 0;icid<cluster_id.size();icid++)
	 if (cluster_id[icid] == iClus)
	   ischecked = true; // we've already looked at this uncorrected cluster
       if (ischecked)
	 continue; //no need to go further
       AliEmcalParticle *emcluster = static_cast<AliEmcalParticle*>(fCaloClusters->At(iClus));
       AliVCluster *cluster = emcluster->GetCluster();
       if (! cluster)
	 continue;
       if (! AcceptCluster(cluster))
	 continue;
       Double_t etadiff = 999;
       Double_t phidiff = 999;
       AliPicoTrack::GetEtaPhiDiff(track,cluster,phidiff,etadiff);
       if (! (TMath::Abs(phidiff)< 0.025&&TMath::Abs(etadiff)<0.015))
	 continue;
       TrackMatch++; //this cluster has been matched, let's add it to the list
       cluster_id.push_back(iClus);
       Int_t ismatch = -1;
       //now we need to find its matched corrected cluster if any
       for (Int_t ic = 0;ic < nCluster2;ic++){
	 //we don't need to check the list of corrected clusters because 1 to 1 between corrected and uncorrected
	 AliVCluster *emcluster2 = static_cast<AliVCluster*>(fCaloClusters2->At(ic));
	 if (! emcluster2)
	   continue;
	 if (! AcceptCluster(emcluster2))
	   continue;
	 if (! IsJetCluster(jet,ic,false))
	   continue;
	 TLorentzVector nPart;
	 cluster->GetMomentum(nPart,const_cast<Double_t*>(fVertex));
	 TLorentzVector nPart2;
	 emcluster2->GetMomentum(nPart2,const_cast<Double_t*>(fVertex));
	 float R = pow(pow(nPart.Eta()-nPart2.Eta(),2)+pow(nPart.Phi()-nPart2.Phi(),2),0.5);
	 if (R < 0.001){//this cluster stayed in the jet!
	   cluster_id2.push_back(ic);
	   ismatch = ic;
	 }
       } // end of cluster2 loop
       //we only get here if the track was matched to a cluster that hadn't been looked at before
       if (ismatch < 0) //this cluster was entirely deleted
	 Esub+=cluster->E();
       else{ //get the corrected cluster
	 AliVCluster *emcluster2temp = static_cast<AliVCluster*>(fCaloClusters2->At(ismatch));
	 Esub+=(cluster->E() - emcluster2temp->E());
       }
       
     } // end of track loop
     fHistNEFvsPt[centbin]->Fill(jet->NEF(),jetPt);
     fHistNTMatchvsPt[centbin]->Fill(TrackMatch,jetPt);
     fHistNCMatchvsPt[centbin]->Fill(cluster_id.size(),jetPt);
     fHistHadCorvsPt[centbin]->Fill(Esub,jetPt);
     fHistNconvsPt[centbin]->Fill(jet->GetNumberOfConstituents(),jetPt);
     fHistNtvsPt[centbin]->Fill(jet->GetNumberOfTracks(),jetPt);   
     fHistNcvsPt[centbin]->Fill(jet->GetNumberOfClusters(),jetPt);   
     if (jet->MaxTrackPt()<5.0)
       continue;
     fHistNEFvsPtBias[centbin]->Fill(jet->NEF(),jetPt);
     fHistNTMatchvsPtBias[centbin]->Fill(TrackMatch,jetPt);
     fHistHadCorvsPtBias[centbin]->Fill(Esub,jetPt);
     fHistNconvsPtBias[centbin]->Fill(jet->GetNumberOfConstituents(),jetPt);
     fHistNtvsPtBias[centbin]->Fill(jet->GetNumberOfTracks(),jetPt);   
     fHistNcvsPtBias[centbin]->Fill(jet->GetNumberOfClusters(),jetPt);  
     fHistNCMatchvsPt[centbin]->Fill(cluster_id.size(),jetPt); 
     if (centbin == 0)
       fHistNTMatchvsPtvsNtack0->Fill(TrackMatch,jetPt,jet->GetNumberOfTracks());
  }
  fHistNjetvsCent->Fill(fCent,NjetAcc);
  return kTRUE;
}      





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