ROOT logo
// **************************************
// Task used for jet finding in the Kine Train (generation and analysis on the fly, no detector effects)
// Output is stored in an exchance container
// *******************************************


/**************************************************************************
 * 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 <TGrid.h>

#include "AliAnalysisTaskJetClusterKine.h"
#include "AliAnalysisManager.h"
#include "AliJetFinder.h"
#include "AliJetHeader.h"
#include "AliJetReader.h"
#include "AliESDEvent.h"
#include "AliAODEvent.h"
#include "AliAODHandler.h"
#include "AliAODExtension.h"
#include "AliAODTrack.h"
#include "AliAODJet.h"
#include "AliVParticle.h" //FK//
#include "AliAODMCParticle.h"
#include "AliMCEventHandler.h"
#include "AliMCEvent.h"
#include "AliStack.h"
#include "AliGenEventHeader.h" //FK//
#include "AliGenPythiaEventHeader.h"
#include "AliJetKineReaderHeader.h"
#include "AliGenCocktailEventHeader.h"
#include "AliInputEventHandler.h"
#include "AliAODJetEventBackground.h"

#include "fastjet/PseudoJet.hh"
#include "fastjet/ClusterSequenceArea.hh"
#include "fastjet/AreaDefinition.hh"
#include "fastjet/JetDefinition.hh"
// get info on how fastjet was configured
#include "fastjet/config.h"

using std::vector;

ClassImp(AliAnalysisTaskJetClusterKine)

AliAnalysisTaskJetClusterKine::~AliAnalysisTaskJetClusterKine(){
  //
  // Destructor
  //

  delete fRef;

  if(fTCAJetsOut)fTCAJetsOut->Delete();
  delete fTCAJetsOut;
  
}

//_____________________________________________________________________

AliAnalysisTaskJetClusterKine::AliAnalysisTaskJetClusterKine(): 
  AliAnalysisTaskSE(),
  fMcEvent(0x0),  
  fMcHandler(0x0),
  fRef(new TRefArray),
  fTrackTypeGen(kTrackKineCharged), //Kine charged? 
  fAvgTrials(1),
  fTrackEtaWindow(0.9),    
  fTrackPtCut(0.),							
  fJetOutputMinPt(0.150),
  fMaxTrackPtInJet(100.),
  fVtxZCut(10.0),
  fNonStdBranch(""),
  fOutContainer(kNoOutput), //FF//
  fNonStdFile(""),
  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),
  fTCAJetsOut(0x0),
  fh1Xsec(0x0),
  fh1Trials(0x0),
  fh1PtHard(0x0),
  fh1PtHardNoW(0x0),  
  fh1PtHardTrials(0x0),
  fh1NJetsGen(0x0),
  fh1NConstGen(0x0),
  fh1NConstLeadingGen(0x0),
  fh1PtJetsGenIn(0x0),
  fh1PtJetsLeadingGenIn(0x0),
  fh1PtJetConstGen(0x0),
  fh1PtJetConstLeadingGen(0x0),
  fh1PtTracksGenIn(0x0),
  fh1Nch(0x0),
  fh1Z(0x0), 
  fh2NConstPt(0x0),
  fh2NConstLeadingPt(0x0),
  fh2JetPhiEta(0x0),
  fh2LeadingJetPhiEta(0x0),
  fh2JetEtaPt(0x0),
  fh2LeadingJetEtaPt(0x0),
  fh2TrackEtaPt(0x0),
  fh2JetsLeadingPhiEta(0x0),
  fh2JetsLeadingPhiPt(0x0),
  fh2JetsLeadingPhiPtW(0x0),
  fHistList(0x0)  
{
  //
  // Constructor
  //
}

//_____________________________________________________________________

AliAnalysisTaskJetClusterKine::AliAnalysisTaskJetClusterKine(const char* name):
  AliAnalysisTaskSE(name),
  fMcEvent(0x0),  
  fMcHandler(0x0),
  fRef(new TRefArray),
  fTrackTypeGen(kTrackKineCharged),  //kine charged?
  fAvgTrials(1),
  fTrackEtaWindow(0.9),    
  fTrackPtCut(0.),							
  fJetOutputMinPt(0.150),
  fMaxTrackPtInJet(100.),
  fVtxZCut(10.0),
  fNonStdBranch(""),
  fOutContainer(kNoOutput),//FF//
  fNonStdFile(""),
  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),
  fTCAJetsOut(0x0),
  fh1Xsec(0x0),
  fh1Trials(0x0),
  fh1PtHard(0x0),
  fh1PtHardNoW(0x0),  
  fh1PtHardTrials(0x0),
  fh1NJetsGen(0x0),
  fh1NConstGen(0x0),
  fh1NConstLeadingGen(0x0),
  fh1PtJetsGenIn(0x0),
  fh1PtJetsLeadingGenIn(0x0),
  fh1PtJetConstGen(0x0),
  fh1PtJetConstLeadingGen(0x0),
  fh1PtTracksGenIn(0x0),
  fh1Nch(0x0),
  fh1Z(0x0), 
  fh2NConstPt(0x0),
  fh2NConstLeadingPt(0x0),
  fh2JetPhiEta(0x0),
  fh2LeadingJetPhiEta(0x0),
  fh2JetEtaPt(0x0),
  fh2LeadingJetEtaPt(0x0),
  fh2TrackEtaPt(0x0),
  fh2JetsLeadingPhiEta(0x0),
  fh2JetsLeadingPhiPt(0x0),
  fh2JetsLeadingPhiPtW(0x0),
  fHistList(0x0)
{
  //
  // named ctor
  //
  DefineOutput(1, TList::Class());  
  DefineOutput(2, TClonesArray::Class());  
}


//_____________________________________________________________________

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

//_____________________________________________________________________

void AliAnalysisTaskJetClusterKine::UserCreateOutputObjects(){

   //
   // Create the output container
   //

   // Connect the AOD


   if(fDebug > 1) printf("AnalysisTaskJetCluster::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
      fTCAJetsOut = new TClonesArray("AliAODJet", 0);
      fTCAJetsOut->SetName(fNonStdBranch.Data());
      if(fOutContainer==kAODBranch){   //FF//
         AddAODBranch("TClonesArray",&fTCAJetsOut,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);
      //}
   }


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


   if(fOutContainer==kExchCont){
      fTCAJetsOut->SetOwner();
      PostData(2, fTCAJetsOut); //FF// 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}");
   
   
   fh1NJetsGen = new TH1F("fh1NJetsGen","N reconstructed jets",120,-0.5,119.5);
   
   fh1NConstGen = new TH1F("fh1NConstGen","# jet constituents",120,-0.5,119.5);
   fh1NConstLeadingGen = new TH1F("fh1NConstLeadingGen","jet constituents",120,-0.5,119.5);
   
   
   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);
   
   fh1PtJetsGenIn  = new TH1F("fh1PtJetsGenIn","Gen jets P_T;p_{T} (GeV/c)",nBinPt,binLimitsPt);
   fh1PtJetsLeadingGenIn = new TH1F("fh1PtJetsLeadingGenIn","Gen jets P_T;p_{T} (GeV/c)",nBinPt,binLimitsPt);
   fh1PtJetConstGen = new TH1F("fh1PtJetsConstGen","Rec jets constituents P_T;p_{T} (GeV/c)",nBinPt,binLimitsPt);
   fh1PtJetConstLeadingGen = new TH1F("fh1PtJetsConstLeadingGen","Gen jets constituents P_T;p_{T} (GeV/c)",nBinPt,binLimitsPt);
   fh1PtTracksGenIn  = new TH1F("fh1PtTracksGenIn",Form("Gen tracks P_T #eta < %1.2f ;p_{T} (GeV/c)",fTrackEtaWindow),nBinPt,binLimitsPt);
   fh1Nch = new TH1F("fh1Nch","charged multiplicity; N_{ch}",nChMax,-0.5,nChMax-0.5);
   
   
   fh1Z = new TH1F("fh1Z",";zvtx",100,-25,25);
   
   
 
   fh2NConstPt = new TH2F("fh2NConstPt","Number of constituents ;p_{T} (GeV/c);N",nBinPt,binLimitsPt,50,-0.5,49.5);
   fh2NConstLeadingPt = new TH2F("fh2NConstLeadingPt","Number of constituents ;p_{T} (GeV/c);N",nBinPt,binLimitsPt,50,-0.5,49.5);
 
 
   fh2JetPhiEta  = new TH2F("fh2JetPhiEta","eta vs phi all jets;#phi;#eta",
 			   nBinPhi,0.,2.*TMath::Pi(),nBinEta,binLimitsEta);
   fh2LeadingJetPhiEta  = new TH2F("fh2LeadingJetPhiEta","eta vs phi leading jets;#phi;#eta",
 				  nBinPhi,0.,2.*TMath::Pi(),nBinEta,binLimitsEta);
 
   fh2JetEtaPt  = new TH2F("fh2JetEtaPt","pt vs eta all jets;#eta;p_{T}",
 			  nBinEta,binLimitsEta,nBinPt,binLimitsPt);
   fh2LeadingJetEtaPt  = new TH2F("fh2LeadingJetEtaPt","pT vs eta leading jets;#eta;p_{T}",
 				 nBinEta,binLimitsEta,nBinPt,binLimitsPt);
 
   fh2TrackEtaPt  = new TH2F("fh2TrackEtaPt","pt vs eta all jets;#eta;p_{T}",
 			    nBinEta,binLimitsEta,nBinPt,binLimitsPt);
 
 
 
   fh2JetsLeadingPhiEta = new TH2F("fh2JetsLeadingPhiEta","delta eta vs delta phi to leading jet;#Delta#phi;#Delta#eta",
 				  nBinPhi,binLimitsPhi,nBinEta,binLimitsEta);
   fh2JetsLeadingPhiPt = new TH2F("fh2JetsLeadingPhiPt","leading p_T vs delta phi to leading jet;#Delta#phi;p_{T} (GeV/c)",
 				 nBinPhi,binLimitsPhi,nBinPt,binLimitsPt);

   fh2JetsLeadingPhiPtW = new TH2F("fh2JetsLeadingPhiPtW","leading p_T vs delta phi p_T weigted to leading jet;#Delta#phi;p_{T} (GeV/c)",
		                 nBinPhi,binLimitsPhi,nBinPt,binLimitsPt);


  

   const Int_t saveLevel = 3; // large save level more histos
   if(saveLevel>0){
      fHistList->Add(fh1Xsec);
      fHistList->Add(fh1Trials);
      
      fHistList->Add(fh1NJetsGen);
      fHistList->Add(fh1NConstGen);
      fHistList->Add(fh1NConstLeadingGen);
      fHistList->Add(fh1PtJetsGenIn);
      fHistList->Add(fh1PtJetsLeadingGenIn);
      fHistList->Add(fh1PtTracksGenIn);
      fHistList->Add(fh1PtJetConstGen);
      fHistList->Add(fh1PtJetConstLeadingGen);
      fHistList->Add(fh1Nch);
      fHistList->Add(fh1Z);
      
      fHistList->Add(fh2NConstPt);
      fHistList->Add(fh2NConstLeadingPt);
      fHistList->Add(fh2JetPhiEta);
      fHistList->Add(fh2LeadingJetPhiEta);
      fHistList->Add(fh2JetEtaPt);
      fHistList->Add(fh2LeadingJetEtaPt);
      fHistList->Add(fh2TrackEtaPt);
      fHistList->Add(fh2JetsLeadingPhiEta);
      fHistList->Add(fh2JetsLeadingPhiPt);
      fHistList->Add(fh2JetsLeadingPhiPtW);
   }

   // =========== 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 AliAnalysisTaskJetClusterKine::Init(){
   // MC handler
   if(fDebug > 1) printf("AnalysisTaskJetClusterKine::Init() \n");
   fMcHandler = dynamic_cast<AliInputEventHandler*> (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()); //FK//
}

//_________________________________________________________________________
void AliAnalysisTaskJetClusterKine::LocalInit(){
   // MC handler
   //
   // Initialization
   //

   if(fDebug > 1) printf("AnalysisTaskJetClusterKine::LocalInit() \n");
   Init();
}

//_________________________________________________________________________
void AliAnalysisTaskJetClusterKine::UserExec(Option_t* /*option*/){
   // handle and reset the output jet branch 
  
   if(fDebug > 1) printf("AliAnalysisTaskJetClusterKine::UserExec \n");
   if(fTCAJetsOut) fTCAJetsOut->Delete(); //clean TClonesArray

   //
   // Execute analysis for current event
   //
   Init();
   if(fMcHandler){
      fMcEvent = fMcHandler->MCEvent(); 
   }else{
      if(fDebug > 1) printf("AnalysisTaskJetClusterKine::Handler() fMcHandler=NULL\n");
      PostData(1, fHistList);

      if(fOutContainer==kExchCont){
         PostData(2, fTCAJetsOut); //FF//
      }

      return;
   }
   if(!fMcEvent){
      if(fDebug > 1) printf("AnalysisTaskJetClusterKine::Exec()   fMcEvent=NULL \n");
      PostData(1, fHistList);

      if(fOutContainer==kExchCont){
         PostData(2, fTCAJetsOut); //FF// 
      }

      return;
   }

   const AliVVertex *vtxMC = fMcEvent->GetPrimaryVertex();
   Float_t zVtx = vtxMC->GetZ();
   if(TMath::Abs(zVtx) > fVtxZCut){ //vertex cut
      PostData(1, fHistList);

      if(fOutContainer==kExchCont){
         PostData(2, fTCAJetsOut); //FF// 
      }

      return;
   }

   fh1Z->Fill(zVtx);
 
   fh1Trials->Fill("#sum{ntrials}",1);
   if(fDebug > 10) Printf("%s:%d",(char*)__FILE__,__LINE__);

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

   TList genParticles; //list of particles  with above min pT and  good eta range

   Int_t nParticles = GetListOfTracks(&genParticles, fTrackTypeGen); //fill the list
   fh1Nch->Fill(nParticles);

   if(fDebug>2) Printf("%s:%d Selected Gen tracks: %d %d",(char*)__FILE__,__LINE__, nParticles, genParticles.GetEntries());

   // find the jets....

   vector<fastjet::PseudoJet> inputParticlesKine; 

   for(int i = 0; i < genParticles.GetEntries(); i++){  //loop over generated particles
      AliVParticle *vp = (AliVParticle*) genParticles.At(i);
      fastjet::PseudoJet jInp(vp->Px(),vp->Py(),vp->Pz(),vp->P());
      jInp.set_user_index(i);
      inputParticlesKine.push_back(jInp);

      if(fTCAJetsOut){
         if(i == 0){
            fRef->Delete(); // make sure to delete before placement new...
            new(fRef) TRefArray(TProcessID::GetProcessWithUID(vp)); //TRefArray does not work with toy model ...
         }
         fRef->Add(vp);  //TRefArray does not work with toy model ...
      }
   }//generated particles

   if(inputParticlesKine.size()==0){ //FK//
      if(fDebug)Printf("%s:%d No input particles found, skipping event",(char*)__FILE__,__LINE__);
      PostData(1, fHistList);

      if(fOutContainer==kExchCont){
         PostData(2, fTCAJetsOut); //FF// 
      }

      return;
   } //FK//
 
   // run fast jet
   // employ setters for these...
   // now create the object that holds info about ghosts                        

   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(inputParticlesKine, jetDef, areaDef); //FK//
  
   //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);

 
   fh1NJetsGen->Fill(sortedJets.size()); //the number of found jets

   // loop over all jets an fill information, first on is the leading jet

   Int_t nGen     = inclusiveJets.size();
   if(inclusiveJets.size()>0){

      //leading Jet
      AliAODJet leadingJet (sortedJets[0].px(), sortedJets[0].py(), sortedJets[0].pz(), sortedJets[0].E());
      Double_t area = clustSeq.area(sortedJets[0]);
      leadingJet.SetEffArea(area,0);
      Float_t pt = leadingJet.Pt();
      Float_t phi = leadingJet.Phi();
      if(phi<0) phi += TMath::Pi()*2.;    
      Float_t eta = leadingJet.Eta();

      //inclusive jet
      Int_t nAodOutJets = 0;
      AliAODJet *aodOutJet = NULL;


      // correlation of leading jet with tracks
  //FK//    TIterator *particleIter = genParticles.MakeIterator();//FK//
  //FK//    particleIter->Reset();
  //FK//    AliVParticle *tmpParticle = NULL;
   //FK//   while((tmpParticle = (AliVParticle*)(particleIter->Next()))){
   //FK//      Float_t tmpPt = tmpParticle->Pt();
    //FK//     // correlation
    //FK//     Float_t tmpPhi =  tmpParticle->Phi();     
   //FK//      if(tmpPhi<0) tmpPhi+= TMath::Pi()*2.;    
   //FK//      Float_t dPhi = phi - tmpPhi;
     //FK//    if(dPhi > TMath::Pi())    dPhi = dPhi - 2.*TMath::Pi(); //-pi,pi
    //FK//     if(dPhi<(-1.*TMath::Pi()))dPhi = dPhi + 2.*TMath::Pi();  //-pi,pi     
     //FK//    fh2TracksLeadingJetPhiPt->Fill(dPhi,pt);
     //FK//    fh2TracksLeadingJetPhiPtW->Fill(dPhi,pt,tmpPt);
    //FK//  }  
   
      TLorentzVector vecareab;
      for(int j = 0; j < nGen;j++){ //loop over inclusive jets
         AliAODJet tmpGenJet (sortedJets[j].px(), sortedJets[j].py(), sortedJets[j].pz(), sortedJets[j].E());
         aodOutJet = NULL;
         Float_t tmpPt = tmpGenJet.Pt(); //incl jet pt 
      
         if((tmpPt > fJetOutputMinPt) && fTCAJetsOut){// cut on the non-background subtracted...
	    aodOutJet =  new ((*fTCAJetsOut)[nAodOutJets++]) AliAODJet(tmpGenJet);
	    aodOutJet->GetRefTracks()->Clear();
	    Double_t area1 = clustSeq.area(sortedJets[j]);
	    aodOutJet->SetEffArea(area1,0);
            fastjet::PseudoJet vecarea=clustSeq.area_4vector(sortedJets[j]);  
            vecareab.SetPxPyPzE(vecarea.px(),vecarea.py(),vecarea.pz(),vecarea.e());     
	    aodOutJet->SetVectorAreaCharged(&vecareab);
         }

         fh1PtJetsGenIn->Fill(tmpPt); //incl jet Pt
         // Fill Spectra with constituentsemacs
         const vector<fastjet::PseudoJet> &constituents = clustSeq.constituents(sortedJets[j]);

         fh1NConstGen->Fill(constituents.size());  //number of constituents
         fh2NConstPt->Fill(tmpPt,constituents.size()); //number of constituents vs jet pt 

         // loop over constiutents and fill spectrum
         AliVParticle *partLead = 0;
         Float_t ptLead = -1;

         for(unsigned int ic = 0; ic < constituents.size(); ic++){
  	    AliVParticle *part = (AliVParticle*) genParticles.At(constituents[ic].user_index());
	    if(!part) continue;
	    fh1PtJetConstGen->Fill(part->Pt()); //pt of constituents

	    if(aodOutJet){
	       aodOutJet->AddTrack(fRef->At(constituents[ic].user_index()));//FK//

	       if(part->Pt()>fMaxTrackPtInJet){
	          aodOutJet->SetTrigger(AliAODJet::kHighTrackPtTriggered);
	       }
	    }

  	    if(part->Pt()>ptLead){
	       ptLead = part->Pt();
	       partLead = part;
	    }

	    if(j==0) fh1PtJetConstLeadingGen->Fill(part->Pt()); //pt of leading jet constituents
         }

         if(partLead){
   	    if(aodOutJet){
	       //set pT of leading constituent of jet
	       aodOutJet->SetPtLeading(partLead->Pt());
  	    }
         }
    
         // correlation
         Float_t tmpPhi =  tmpGenJet.Phi(); //incl jet phi
         Float_t tmpEta =  tmpGenJet.Eta(); //incl jet eta

         if(tmpPhi<0) tmpPhi += TMath::Pi()*2.;        
         fh2JetPhiEta->Fill(tmpGenJet.Phi(),tmpEta);
         fh2JetEtaPt->Fill(tmpEta,tmpPt);

         if(j==0){   //leading jet
	    fh1PtJetsLeadingGenIn->Fill(tmpPt); //leading jet pt
	    fh2LeadingJetPhiEta->Fill(tmpPhi,tmpEta);
	    fh2LeadingJetEtaPt->Fill(tmpEta,tmpPt);
	    fh1NConstLeadingGen->Fill(constituents.size());  //number of constituents in leading jet
	    fh2NConstLeadingPt->Fill(tmpPt,constituents.size());
	    continue;
         }

         Float_t dPhi = phi - tmpPhi;
         if(dPhi > TMath::Pi())     dPhi = dPhi - 2.*TMath::Pi(); //-pi,pi
         if(dPhi<(-1.*TMath::Pi())) dPhi = dPhi + 2.*TMath::Pi(); //-pi.pi     
         Float_t dEta = eta - tmpGenJet.Eta();
         fh2JetsLeadingPhiEta->Fill(dPhi,dEta);
         fh2JetsLeadingPhiPt->Fill(dPhi,pt);
         fh2JetsLeadingPhiPtW->Fill(dPhi,pt,tmpPt);
      }// loop over reconstructed jets
    //delete particleIter;
   }//number of jets>0

 
   // fill track information
   Int_t nTrackOver = genParticles.GetSize();
   // do the same for tracks and jets

   if(nTrackOver>0){
      TIterator *particleIter = genParticles.MakeIterator();
      AliVParticle *tmpGen = 0;
      particleIter->Reset();

      while((tmpGen = (AliVParticle*)(particleIter->Next()))){
         Float_t tmpPt = tmpGen->Pt();
         Float_t tmpEta = tmpGen->Eta();
         fh1PtTracksGenIn->Fill(tmpPt);
         fh2TrackEtaPt->Fill(tmpEta,tmpPt);
      }  
      delete particleIter;
   }





   if(fDebug > 2){
      if(fTCAJetsOut)Printf("%s:%d Rec Jets %d",(char*)__FILE__,__LINE__,fTCAJetsOut->GetEntriesFast());
   }
   PostData(1, fHistList);
 
  if(fOutContainer==kExchCont){
      PostData(2, fTCAJetsOut); //FF// 
   }


}
//____________________________________________________________________________

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

    
}

//_____________________________________________________________________________________

Int_t  AliAnalysisTaskJetClusterKine::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; //number of particles 

   if(type ==  kTrackKineAll || type == kTrackKineCharged){
      if(! fMcEvent) return iCount;

      //we want to have alivpartilces so use get track
      for(int it = 0; it < fMcEvent->GetNumberOfTracks(); ++it){
         if(!fMcEvent->IsPhysicalPrimary(it)) continue;

         AliMCParticle* part = (AliMCParticle*)fMcEvent->GetTrack(it);
         if(TMath::Abs(part->Eta()) > fTrackEtaWindow) continue;   //apply eta cut
         if(part->Pt() < fTrackPtCut) continue;  //apply pT cut

         if(type == kTrackKineAll){  // full jets
	    list->Add(part);
	    iCount++;

         }else if(type == kTrackKineCharged){  //charged jets
            if(part->Particle()->GetPDG()->Charge()==0) continue;
	    list->Add(part);
  	    iCount++;
         }
      }
   }
  
   list->Sort();  //?//

   return iCount; //number of particles in the list
}


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