ROOT logo
/**************************************************************************
 * Copyright(c) 1998-2009, 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.                  *
 **************************************************************************/

/////////////////////////////////////////////////////////////
//
// Class AliAnalysisTaskSEHFCJqa
// AliAnalysisTaskSE for the extraction of the fraction of prompt charm
// using the charm hadron impact parameter to the primary vertex
//
// Author: Andrea Rossi, andrea.rossi@pd.infn.it
/////////////////////////////////////////////////////////////


#include <TH1F.h>
#include <TH2F.h>
#include <TH3F.h>
#include <TAxis.h>
#include <THnSparse.h>
#include <TDatabasePDG.h>
#include <TMath.h>
#include <TROOT.h>
#include "AliAODEvent.h"
#include "AliAODRecoDecayHF2Prong.h"
#include "AliAODRecoDecayHF.h"
#include "AliAODRecoDecay.h"
#include "AliAnalysisDataSlot.h"
#include "AliAnalysisDataContainer.h"
#include "AliAODTrack.h"
#include "AliAODHandler.h"
#include "AliESDtrack.h"
#include "AliAODVertex.h"
#include "AliESDVertex.h"
#include "AliVertexerTracks.h"
#include "AliAODMCParticle.h"
#include "AliAODPid.h"
#include "AliTPCPIDResponse.h"
#include "AliAODMCHeader.h"
#include "AliAnalysisVertexingHF.h"
#include "AliAnalysisTaskSEHFCJqa.h"
#include "AliRDHFCutsD0toKpi.h"
#include "AliAODInputHandler.h"
#include "AliAnalysisManager.h"
#include "AliNormalizationCounter.h"

class TCanvas;
class TTree;
class TChain;
class AliAnalysisTaskSE;


ClassImp(AliAnalysisTaskSEHFCJqa)

  AliAnalysisTaskSEHFCJqa::AliAnalysisTaskSEHFCJqa() 
: AliAnalysisTaskSE(),
  fReadMC(),
  ffilterbit(),
  fKeepTrackNegID(),
  fpidResp(),
  fCuts(),
  fhEventCounter(),
  fhImpParResolITSsel(),
  fhImpParResolITSselGoodTracks(),
  fhSparseFilterMask(),
  fhSparseFilterMaskTrackAcc(),
  fhSparseFilterMaskImpPar(),
  fhSparseEoverPeleTPC(),
  fhSparseShowShapeEleTPC(),
  fhnSigmaTPCTOFEle(),
  fhnSigmaTPCTOFPion(),
  fhnSigmaTPCTOFKaon(),
  fhnSigmaTPCTOFProton(),
  fhTrackEMCal(),
  fSparseRecoJets(),
  fLoadJet(),
  fJetArrayString(),
  fListTrackAndPID(),
  fListJets()
{// standard constructor
  
}



//________________________________________________________________________
AliAnalysisTaskSEHFCJqa::AliAnalysisTaskSEHFCJqa(const char *name) 
  : AliAnalysisTaskSE(name),
    fReadMC(),
    ffilterbit(AliAODTrack::kTrkGlobalNoDCA),
    fKeepTrackNegID(),
    fpidResp(),
    fCuts(),
    fhEventCounter(),
    fhImpParResolITSsel(),
    fhImpParResolITSselGoodTracks(),
    fhSparseFilterMask(),
    fhSparseFilterMaskTrackAcc(),
    fhSparseFilterMaskImpPar(),
    fhSparseEoverPeleTPC(),
    fhSparseShowShapeEleTPC(),
    fhnSigmaTPCTOFEle(),
    fhnSigmaTPCTOFPion(),
    fhnSigmaTPCTOFKaon(),
    fhnSigmaTPCTOFProton(),
    fhTrackEMCal(),
    fSparseRecoJets(),
    fLoadJet(),
    fJetArrayString(),
    fListTrackAndPID(),
    fListJets()
{ // default constructor
  
  DefineOutput(1, TH1F::Class()); // counter
  DefineOutput(2, TList::Class()); // single track properties list and PID
  DefineOutput(3, TList::Class()); // jet properties list

}

//________________________________________________________________________
AliAnalysisTaskSEHFCJqa::~AliAnalysisTaskSEHFCJqa(){
  // destructor
  delete fCuts;
  delete fpidResp;
  delete fhEventCounter;
  delete fhSparseFilterMask;
  delete   fhSparseFilterMaskTrackAcc;
  delete fhSparseFilterMaskImpPar;
  delete fhSparseEoverPeleTPC;
  delete fhSparseShowShapeEleTPC;
  delete fhnSigmaTPCTOFEle;
  delete fhnSigmaTPCTOFPion;
  delete fhnSigmaTPCTOFKaon;
  delete fhnSigmaTPCTOFProton;
  delete fhTrackEMCal;
  delete fSparseRecoJets;
  delete fhImpParResolITSsel;
  delete fhImpParResolITSselGoodTracks;
  delete fListTrackAndPID;
  delete fListJets;
}

//________________________________________________________________________
void AliAnalysisTaskSEHFCJqa::Init()
{
  // Initialization

}


//________________________________________________________________________
void AliAnalysisTaskSEHFCJqa::UserCreateOutputObjects(){


  //##########  DEFINE THE TLISTS ##################
  fListTrackAndPID=new TList();
  fListTrackAndPID->SetOwner();
  fListTrackAndPID->SetName("fListTrackAndPID");

  fListJets=new TList();
  fListJets->SetOwner();
  fListJets->SetName("fListJets");

  
  //  ########### DEFINE THE EVENT COUNTER ############
  fhEventCounter=new TH1F("fhEventCounter","Counter of event selected",20,-0.5,19.5);
  fhEventCounter->GetXaxis()->SetBinLabel(1,"Events analyzed");
  fhEventCounter->GetXaxis()->SetBinLabel(2,"Event selected");
  fhEventCounter->GetXaxis()->SetBinLabel(3,"Jet array present");
  fhEventCounter->GetXaxis()->SetBinLabel(4,"Vtx Track Ncont");

  
  
  Int_t nbinsRecoJets[8]={50,20,20,20,5,5,10,60};
  Double_t binlowRecoJets[8]={5.,-1.,-TMath::Pi(),0.99,0.,-0.5,0,0.};
  Double_t binupRecoJets[8]={55.,1.,TMath::Pi(),20.99,4.99,4.5,2.,60.};
  fSparseRecoJets=new THnSparseF("fSparseRecoJets","fSparseRecoJets;jetpt;eta;phi;ntrks;nEle;parton;partContr;ptPart;",8,nbinsRecoJets,binlowRecoJets,binupRecoJets);

  fListJets->Add(fSparseRecoJets);

  // Num axes: 10 filter bits + ID + TPCrefit,ITSrefit,bothTPCandITSrefit + kAny,kFirst,kBoth+ 20Nclust TPC+ 20 NTPC crossed padRows + 20 DCA
  Int_t nbinsFilterMask[16]={2,2,2,2,2,2,2,2,2,2,2,3,3,20,20,70};
  Double_t binlowFilterMask[16]={-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,0,0,-3.5};
  Double_t binupFilterMask[16]={1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,2.5,2.5,160,160,3.5};
  fhSparseFilterMask=new THnSparseF("fhSparseFilterMask","fhSparseFilterMask;fb0;fb1;fb2;fb3;fb4;fb5;fb6;fb7;fb8;fb9;trackID;refitting;SPD;NTPCclust;NTPCcrossRows;DCA",16,nbinsFilterMask,binlowFilterMask,binupFilterMask);
  fListTrackAndPID->Add(fhSparseFilterMask);


// Num axes: 10 filter bits + ID*isSelected 5 + kAny,kFirst,kBoth + phi+ eta +pt 
  Int_t nbinsFilterMaskTrackAcc[15]={2,2,2,2,2,2,2,2,2,2,5,3,36,30,30};
  Double_t binlowFilterMaskTrackAcc[15]={-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-2.5,-0.5,0.,-1.5,0.};
  Double_t binupFilterMaskTrackAcc[15]={1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,2.5,2.5,TMath::Pi()*2.,1.5,15.};
  fhSparseFilterMaskTrackAcc=new THnSparseF("fhSparseFilterMaskTrackAcc","fhSparseFilterMaskTrackAcc;fb0;fb1;fb2;fb3;fb4;fb5;fb6;fb7;fb8;fb9;trackIDandsel;SPD;#phi (rad);#eta;p_{T} (GeV/c)",15,nbinsFilterMaskTrackAcc,binlowFilterMaskTrackAcc,binupFilterMaskTrackAcc);
  fListTrackAndPID->Add(fhSparseFilterMaskTrackAcc);  


// Num axes: ID*isSelected 5 + kAny,kFirst,kBoth + phi+ eta +pt + imp par
  Int_t nbinsFilterMaskImpPar[6]={5,3,36,30,30,200};
  Double_t binlowFilterMaskImpPar[6]={-2.5,-0.5,0.,-1.5,0.,-300.};
  Double_t binupFilterMaskImpPar[6]={2.5,2.5,TMath::Pi()*2.,1.5,15.,300.};
  fhSparseFilterMaskImpPar=new THnSparseF("fhSparseFilterMaskImpPar","fhSparseFilterMaskImpPar;fb0;fb1;fb2;fb3;fb4;fb5;fb6;fb7;fb8;fb9;trackIDandsel;SPD;#phi (rad);#eta;p_{T} (GeV/c; imp par (#mum)",6,nbinsFilterMaskImpPar,binlowFilterMaskImpPar,binupFilterMaskImpPar);
  fListTrackAndPID->Add(fhSparseFilterMaskImpPar);  

  
fhImpParResolITSsel=new TH3F("fhImpParResolITSsel","fhImpParResolITSsel;p_{T} (GeV/c);imp. par (#mum);ITS clust",50.,0.,10.,200,-800.,800.,38,-0.5,37.5);
  // the convention for ITS clust axis: number between 0 and 48, first digit (units) = number of clust in ITS, second digits (x10): SPD status: 0 = none, 1=kFirst, 2=kSecond; 3= kBoth 
  fListTrackAndPID->Add(fhImpParResolITSsel);

  fhImpParResolITSselGoodTracks=new TH3F("fhImpParResolITSselGoodTracks","fhImpParResolITSselGoodTracks;p_{T} (GeV/c);imp. par (#mum);ITS clust",50.,0.,10.,200,-800.,800.,38,-0.5,37.5);
  // the convention for ITS clust axis: number between 0 and 48, first digit (units) = number of clust in ITS, second digits (x10): SPD status: 0 = none, 1=kFirst, 2=kSecond; 3= kBoth 
  fListTrackAndPID->Add(fhImpParResolITSselGoodTracks);


  // PID PLOTS
  fhnSigmaTPCTOFEle=new TH3F("fhnSigmaTPCTOFEle","fhnSigmaTPCTOFEle;p (GeV/c);n#sigma_{TPC}^{ele};n#sigma_{TOF}^{ele}",120,0.,30,64,-8.,8.,64,-8.,8.);
  fhnSigmaTPCTOFPion=new TH3F("fhnSigmaTPCTOFPion","fhnSigmaTPCTOFPion;p (GeV/c);n#sigma_{TPC}^{ele};n#sigma_{TOF}^{ele}",120,0.,30,64,-8.,8.,64,-8.,8.);
  fhnSigmaTPCTOFKaon=new TH3F("fhnSigmaTPCTOFKaon","fhnSigmaTPCTOFKaon;p (GeV/c);n#sigma_{TPC}^{ele};n#sigma_{TOF}^{ele}",120,0.,30,64,-8.,8.,64,-8.,8.);
  fhnSigmaTPCTOFProton=new TH3F("fhnSigmaTPCTOFProton","fhnSigmaTPCTOFProton;p (GeV/c);n#sigma_{TPC}^{ele};n#sigma_{TOF}^{ele}",120,0.,30,64,-8.,8.,64,-8.,8.);

  fListTrackAndPID->Add(fhnSigmaTPCTOFEle);
  fListTrackAndPID->Add(fhnSigmaTPCTOFPion);
  fListTrackAndPID->Add(fhnSigmaTPCTOFKaon);
  fListTrackAndPID->Add(fhnSigmaTPCTOFProton);


  /// EMCAL PLOTS
  //study of NsigmaTPC, e/p, p
  Int_t nbinsEoP[4]={202,400,100,400};
  Double_t binlowEoP[4]= {-1., -20.,-20., -1};
  Double_t binupEoP[4]= {100., 20, 20.,9};
  fhSparseEoverPeleTPC = new THnSparseF("fhSparseEoP", "fhSparseEoP; p;nsigmatpc;nsigmaElePIDresp;E/p;",4, nbinsEoP, binlowEoP, binupEoP);
  fListTrackAndPID->Add(fhSparseEoverPeleTPC);
  //fSparseEoverPallHadr = new THnSparseF("fSparseEoP", "fSparseEoP; p;nsigmatpc;E/p;",3, nbinsEoP, binlowEoP, binupEoP);

  Int_t nbinsEmShSh[7]={35,120,100,50,50,50,50};
  Double_t binlowEmShSh[7]= {5., -20., -1,0,0,0,0};
  Double_t binupEmShSh[7]= {40., 10, 9,1,1,2,50};
  fhSparseShowShapeEleTPC = new THnSparseF("fhSparseShowShapeEleTPC", "fhSparseShowShapeEleTPC; pt;nsigmatpc;E/p;M02;M20;disp;Nclust",7, nbinsEmShSh, binlowEmShSh, binupEmShSh);
  fListTrackAndPID->Add(fhSparseShowShapeEleTPC);

  
  
  Int_t nbinsTrEM[6]={124,20,124,25,20,20};
  Double_t binlowTrEM[6]={-1,-1.,-1.0,0.,0.};
  Double_t binupTrEM[6]={31,1.,31.,5.,1.,1.};

  fhTrackEMCal=new THnSparseF("fhTrackEMCal","fhTrackEMCal;p(GeV/c);eta;clusterE(GeV/c);E/p;trkDistX;trkDistZ",6,nbinsTrEM,binlowTrEM,binupTrEM);
  
  

  //fhPhotonicEle=new TH3F("fhPhotonicEle","fhPhotonicEle; pele;pgamma;mass",20,0.,20.,20,0.,20.,50,0.,5);
  //fhPhotonicEleLS=new TH3F("fhPhotonicEleLS","fhPhotonicEleLS; pele;pgamma;mass",20,0.,20.,20,0.,20.,50,0.,5);


  PostData(1,fhEventCounter);
  PostData(2,fListTrackAndPID);
  PostData(3,fListJets);
  
}



//________________________________________________________________________
void AliAnalysisTaskSEHFCJqa::UserExec(Option_t */*option*/){



// Execute analysis for current event:
  // heavy flavor candidates association to MC truth
  
  AliAODEvent *aod = dynamic_cast<AliAODEvent*> (InputEvent());
  if(aod){
    fhEventCounter->Fill(0);

    if(!fCuts->IsEventSelected(aod)){
      PostData(1,fhEventCounter);
      return;
    }
    fhEventCounter->Fill(1);
  }

  TClonesArray *arrayJets=0x0;
  if(!aod && AODEvent() && IsStandardAOD()) {
    // In case there is an AOD handler writing a standard AOD, use the AOD 
    // event in memory rather than the input (ESD) event.    
    aod = dynamic_cast<AliAODEvent*> (AODEvent());
    // in this case the braches in the deltaAOD (AliAOD.VertexingHF.root)
    // have to taken from the AOD event hold by the AliAODExtension
    if (!aod) {
      Printf("ERROR: aod not available");
      return;
    }
    else {
      fhEventCounter->Fill(0);

      if(!fCuts->IsEventSelected(aod)){
	PostData(1,fhEventCounter);
	return;
      }
      fhEventCounter->Fill(1);
    }

    AliAODHandler* aodHandler = (AliAODHandler*) 
      ((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler());

    if(fLoadJet>=1&&aodHandler->GetExtensions()) {
      AliAODExtension *ext = (AliAODExtension*)aodHandler->GetExtensions()->FindObject("AliAOD.Jets.root");
      AliAODEvent* aodFromExt = ext->GetAOD();
      
      // load jet array
      arrayJets = (TClonesArray*)aodFromExt->GetList()->FindObject(fJetArrayString.Data());
      if(!arrayJets) {
	Printf("AliAnalysisTaskSEHFCJqa::UserExec: desired branch %s not found!",fJetArrayString.Data());
	PostData(1,fhEventCounter);
	return;

      }
        
    }
  } else {
    // load jet array
    if(fLoadJet>=1){
      arrayJets = (TClonesArray*)aod->GetList()->FindObject(fJetArrayString.Data());
      if(!arrayJets) {
	Printf("AliAnalysisTaskSEHFCJqa::UserExec: desired Jet branch %s not found!",fJetArrayString.Data());
	PostData(1,fhEventCounter);
	return;
      }
      
    }
  }

  if(fLoadJet!=0 && !arrayJets) {
    printf("AliAnalysisTaskSEHFCJqa::UserExec: desired jet input branch not found!\n");
    PostData(1,fhEventCounter);
    return;
  }

  fhEventCounter->Fill(2);
  
  // AOD primary vertex
  AliAODVertex *vtx1 = (AliAODVertex*)aod->GetPrimaryVertex();
  TString primTitle = vtx1->GetTitle();
    if(primTitle.Contains("VertexerTracks") && vtx1->GetNContributors()>0) { 
    fhEventCounter->Fill(3);

  }
  else {
    PostData(1,fhEventCounter);
    return;
    
  }
    // Convert primary vertex to esd vertex (needed for later usage of RelateToVertex)
    Double_t pos[3],cov[6];
    vtx1->GetXYZ(pos);
    vtx1->GetCovarianceMatrix(cov);
    const AliESDVertex vESD(pos,cov,100.,100);
    Double_t magfield=aod->GetMagneticField();

  TClonesArray *arrayMC=0x0;
  AliAODMCHeader *aodmcHeader=0x0;
  Double_t vtxTrue[3];
 
  
  if(fReadMC){
    // load MC particles
    arrayMC = 
      (TClonesArray*)aod->GetList()->FindObject(AliAODMCParticle::StdBranchName());
    if(!arrayMC) {
      Printf("AliAnalysisTaskSEHFCJqa::UserExec: MC particles branch not found!\n");
      return;
    }
    // load MC header
    aodmcHeader = 
      (AliAODMCHeader*)aod->GetList()->FindObject(AliAODMCHeader::StdBranchName());
    if(!aodmcHeader) {
      Printf("AliAnalysisTaskSEHFCJqa::UserExec: MC header branch not found!\n");
      return;
    }
    // MC primary vertex
    aodmcHeader->GetVertex(vtxTrue);

  }

  // Starting the fun part
  SetupPIDresponse();// this sets the pid reponse to fPPIDRespons; could also get from the cut object (AliAODPidHF::GetPidResponse)

  // Looping over aod tracks
  for(Int_t j=0;j<aod->GetNumberOfTracks();j++){

    AliAODTrack *aodtrack=dynamic_cast<AliAODTrack*>(aod->GetTrack(j));
    if(!aodtrack) AliFatal("Not a standard AOD");
    // CHECK FILTER MAPS
    if(!FillTrackHistosAndSelectTrack(aodtrack,&vESD,magfield))continue;
    //    if(j%100==0)  
  
    Double_t p=aodtrack->P();
    Double_t eta=aodtrack->Eta();
    // START PID: TPC

    Double_t nsigmaEleTPC=fpidResp->NumberOfSigmasTPC(aodtrack, AliPID::kElectron);
    Double_t nsigmaPionTPC=fpidResp->NumberOfSigmasTPC(aodtrack, AliPID::kPion);
    Double_t nsigmaKaonTPC=fpidResp->NumberOfSigmasTPC(aodtrack, AliPID::kKaon);
    Double_t nsigmaProtonTPC=fpidResp->NumberOfSigmasTPC(aodtrack, AliPID::kProton);


    // TOF
    Double_t nsigmaEleTOF=fpidResp->NumberOfSigmasTOF(aodtrack, AliPID::kElectron);
    Double_t nsigmaPionTOF=fpidResp->NumberOfSigmasTOF(aodtrack, AliPID::kPion);
    Double_t nsigmaKaonTOF=fpidResp->NumberOfSigmasTOF(aodtrack, AliPID::kKaon);
    Double_t nsigmaProtonTOF=fpidResp->NumberOfSigmasTOF(aodtrack, AliPID::kProton);


    fhnSigmaTPCTOFEle->Fill(p,nsigmaEleTPC,nsigmaEleTOF);
    fhnSigmaTPCTOFPion->Fill(p,nsigmaPionTPC,nsigmaPionTOF);
    fhnSigmaTPCTOFKaon->Fill(p,nsigmaKaonTPC,nsigmaKaonTOF);
    fhnSigmaTPCTOFProton->Fill(p,nsigmaProtonTPC,nsigmaProtonTOF);
    //    if(j%100==0)


    // NOW EMCAL
    // CHECK WHETHER THERE IS A EMCAL CLUSTER
    Int_t nClsId = aodtrack->GetEMCALcluster();
    if(nClsId >0) {
      AliVCluster *cluster = aod->GetCaloCluster(nClsId);
      Double_t clsE = cluster->E();
      if(!cluster->IsEMCAL())       continue;
      
      // Check whether it is an electron candidate: do not reject here hadrons to allow QA checks of (E/p,nsigmaTPC,pt)
      Double_t nEoverP = clsE/p;
      Double_t eOverPpidResp;
      Double_t showerShape[4];
      Double_t nsigmaEleEMCal=fpidResp->NumberOfSigmasEMCAL(aodtrack,AliPID::kElectron,eOverPpidResp,showerShape);
      Double_t poix[4]={p, nsigmaEleTPC, nsigmaEleEMCal, nEoverP};
      fhSparseEoverPeleTPC->Fill(poix);
      
      
      Double_t emcTrackDx=cluster->GetTrackDx();
      Double_t emcTrackDz=cluster->GetTrackDz();
      Double_t pointET[6]={p,eta,clsE,nEoverP,emcTrackDx,emcTrackDz};
      fhTrackEMCal->Fill(pointET);    
      
      Double_t pointEmShSh[7]={aodtrack->Pt(), static_cast<Double_t>(nsigmaEleTPC), static_cast<Double_t>(nEoverP),cluster->GetM02(),cluster->GetM20(),cluster->GetDispersion(), static_cast<Double_t>(cluster->GetNCells())};

      fhSparseShowShapeEleTPC->Fill(pointEmShSh);

    }
  }
  
  
  // NOW LOOP OVER JETS
  
  Int_t nJets=arrayJets->GetEntries();//calcolo numero di jet nell'event
  AliAODJet *jet;
  for(Int_t jetcand=0;jetcand<nJets;jetcand++){
    //    if(jetcand%100==0)

    jet=(AliAODJet*)arrayJets->UncheckedAt(jetcand);
       
    Double_t contribution=0,ptpart=-1;
    Int_t partonnat=0;
    if(fReadMC){
      
      AliAODMCParticle *parton=IsMCJet(arrayMC,jet,contribution);
      if(parton){
	Int_t pdg=TMath::Abs(parton->PdgCode());
	//printf("pdg parton: %d \n",pdg);
	if(pdg==21)partonnat=1;
	else if(pdg<4)partonnat=2;
	else if(pdg==4)partonnat=3;
	else if(pdg==5)partonnat=4;
	ptpart=parton->Pt();
      }
      
    }
    
    
    FillJetRecoHisto(jet,partonnat,contribution,ptpart);
  }

  

  PostData(1,fhEventCounter);
  PostData(2,fListTrackAndPID);
  PostData(3,fListJets);

  return;
}



void AliAnalysisTaskSEHFCJqa::SetupPIDresponse(){

  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  AliInputEventHandler *inputHandler=(AliInputEventHandler*)mgr->GetInputEventHandler(); 
  fpidResp=inputHandler->GetPIDResponse();
  if(!fpidResp)AliFatal("No PID response could be set");
}

//_______________________________________________________________
Bool_t AliAnalysisTaskSEHFCJqa::FillTrackHistosAndSelectTrack(AliAODTrack *aodtr, const AliESDVertex *primary, const Double_t magfield){
  
  Bool_t retval=kTRUE;
  // THnSparse for filter bits
  Double_t point[16]={0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,999.,-999.,-999.,-999.,-999.,-999.};
  Double_t pointAcc[15]={0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,999.,-999.,-999.,-999.,-999.};
  Double_t pointImpPar[6]={999.,-999.,-999.,-999.,-999.,-999.};

  for(Int_t j=0;j<10;j++){
    if(aodtr->TestFilterBit(TMath::Power(2,j))){
      point[j]=1;      
      pointAcc[j]=1;
    }
  }
  // check ID
  Int_t trid=aodtr->GetID();
  if(aodtr->GetID()>0)point[10]=1.;
  else if(aodtr->GetID()>0)point[10]=0.;
  if(aodtr->GetID()==0)point[10]=-1.;

  Float_t iparxy,iparz;
  Float_t pt=aodtr->Pt();
  Int_t clustITS=aodtr->GetITSNcls();// for histo
  AliESDtrack esdtrack(aodtr);
  // needed to calculate impact parameters
  

  // check refit status
  Int_t refit=-1;
  UInt_t status = esdtrack.GetStatus();
  if(status&AliESDtrack::kTPCrefit)refit+=1;
  if(status&AliESDtrack::kITSrefit)refit+=2;
  point[11]=refit;
  // CHECK SPD
  point[12]=-1;
  if(aodtr->HasPointOnITSLayer(0)){
    clustITS+=10;
    point[12]+=1;
  }
  if(aodtr->HasPointOnITSLayer(1)){
    point[12]+=2;
    clustITS+=20;
  }
  point[13]=aodtr->GetTPCNcls();
  point[14]=aodtr->GetTPCNCrossedRows();
  esdtrack.RelateToVertex(primary,magfield,4.);// CHECK THIS : I put 4.. usually we set it to 3 
  esdtrack.GetImpactParameters(iparxy,iparz);
  point[15]=iparxy;



  
  fhSparseFilterMask->Fill(point);
  if(!aodtr->TestBit(ffilterbit))retval =kFALSE;

  if(aodtr->GetID()<0&&!fKeepTrackNegID)retval = kFALSE;
  if(retval)  fhImpParResolITSsel->Fill(pt,iparxy*10000.,clustITS);

  AliESDtrackCuts *cuts=fCuts->GetTrackCuts();
  if(!cuts->IsSelected(&esdtrack)) retval = kFALSE;

  if(fCuts->GetUseKinkRejection()){
    AliAODVertex *maybeKink=aodtr->GetProdVertex();
    if(maybeKink->GetType()==AliAODVertex::kKink) retval=kFALSE;
  }

  if(retval){
    pointAcc[10]=1*trid;
  }
  else {
    if(trid!=0)
    pointAcc[10]=2*trid;
    else pointAcc[10]=-3;
  }

  pointAcc[11]=point[12];
  pointAcc[12]=aodtr->Phi();
  if(pointAcc[12]<0.)pointAcc[12]+=2.*TMath::Pi();    
  pointAcc[13]=aodtr->Eta();
  pointAcc[14]=pt;
  fhSparseFilterMaskTrackAcc->Fill(pointAcc);

  pointImpPar[0]=pointAcc[10];
  pointImpPar[1]=pointAcc[11];
  pointImpPar[2]=pointAcc[12];
  pointImpPar[3]=pointAcc[13];
  pointImpPar[4]=pointAcc[14];
  pointImpPar[5]=iparxy;
  fhSparseFilterMaskImpPar->Fill(pointImpPar);
  
  if(retval)  {
    fhImpParResolITSselGoodTracks->Fill(pt,iparxy*10000.,clustITS);  
  }
  
  return retval;
  
}


//---------------------------------------------------------------
AliAODMCParticle* AliAnalysisTaskSEHFCJqa::IsMCJet(TClonesArray *arrayMC,const AliAODJet *jet, Double_t &contribution){// assignment of parton ID to jet
  // method by L. Feldkamp
  std::vector< int >           idx;
  std::vector< int >           idx2;
  std::vector< double >     weight;

  int counter =0;
  int num = jet->GetRefTracks()->GetEntries();
  
  for(int k=0;k<num;++k){
    
    AliAODTrack * track = (AliAODTrack*)(jet->GetRefTracks()->At(k));
    if (track->GetLabel() >=0){
      AliAODMCParticle* part =  (AliAODMCParticle*)  arrayMC->At(track->GetLabel());
      if(!part)continue;

      int label =0 ;
      AliAODMCParticle* motherParton=GetMCPartonOrigin(arrayMC,part, label);
      if (!motherParton) Printf("no mother");
      else {
	counter++;
	idx.push_back(label);                       //! Label  of Mother
	idx2.push_back(label);        
	weight.push_back(track->Pt());  //! Weight : P_t trak /  P_t jet ... the latter used at the end
      }
    }///END LOOP OVER REFERENCED TRACKS   
  }
  //! Remove duplicate indices for counting
  sort( idx2.begin(), idx2.end() );
  idx2.erase( unique( idx2.begin(), idx2.end() ), idx2.end() );
  if (idx2.size() == 0) return 0x0;
  Double_t* arrayOfWeights = new Double_t[(UInt_t)idx2.size()];
  if(!arrayOfWeights){
    return 0x0;
  }
  for(UInt_t ii=0;ii<(UInt_t)idx2.size();ii++)arrayOfWeights[ii]=0;

  for (unsigned int idxloop =0 ;idxloop<idx2.size();idxloop++){
    for (unsigned int z=0; z< idx.size() ; ++z){
      int     a = idx.at(z);
      double w = weight.at(z);
      if(a == idx2.at(idxloop))    arrayOfWeights[idxloop] += w;
    }
  }
  
  int winner = -1;
  double c=-1.;
  for (unsigned int idxloop =0 ;idxloop<idx2.size();idxloop++){
    if(c < arrayOfWeights[idxloop]){
      winner =idxloop; 
      c=arrayOfWeights[idxloop];
    }
  }
  
  AliAODMCParticle *parton = 0x0;
  if(winner>0){
    parton=(AliAODMCParticle*)arrayMC->At(idx.at(winner));
    contribution = arrayOfWeights[winner]/jet->Pt();
  }
  else {
  
    if(arrayOfWeights)    delete [] arrayOfWeights;
    return 0x0;
  }
  if(arrayOfWeights)    delete [] arrayOfWeights;

  return parton;
  
  
}

//---------------------------------------------------------------
AliAODMCParticle *AliAnalysisTaskSEHFCJqa::GetMCPartonOrigin(TClonesArray *arrayMC,AliAODMCParticle *p, Int_t &idx)
{  //Follows chain of track mothers until q/g or idx = -1	
  AliAODMCParticle *p2=0x0;
  Int_t mlabel = TMath::Abs(p->GetMother()) ; 
  Double_t pz=0.;
  while(mlabel > 1){
    p2 = (AliAODMCParticle*)arrayMC->At(mlabel);
    pz=TMath::Abs(p2->Pz());
    //printf("Mother label %d, pdg %d, pz %f\n",mlabel,p2->PdgCode(),pz);
    if( p2->PdgCode() == 21 || (p2->PdgCode() != 0 && abs(p2->PdgCode()) <6) )
      {
	idx = mlabel; 
	return p2;
      }
    mlabel = TMath::Abs(p2->GetMother()); 
  }
  idx=-1;
  return 0x0;

} 

//_____________________________________________________________
void AliAnalysisTaskSEHFCJqa::FillJetRecoHisto(const AliAODJet *jet,Int_t partonnat,Double_t contribution,Double_t ptpart){
//FIll sparse with reco jets properties
  Double_t point[8]={jet->Pt(),jet->Eta(),jet->Phi()-TMath::Pi(), static_cast<Double_t>(jet->GetRefTracks()->GetEntriesFast()),0, static_cast<Double_t>(partonnat),contribution,ptpart};
  fSparseRecoJets->Fill(point);
}


//_______________________________________________________________
//void AliAnalysisTaskSEHFCJqa::FillTrackHistosPID(AliAODTrack *aodtr){
//
//}

//_______________________________________________________________
void AliAnalysisTaskSEHFCJqa::Terminate(const Option_t*){
  //TERMINATE METHOD: NOTHING TO DO



}

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