ROOT logo
// Jet trigger QA analysis task.
//
// Author: M.Verweij

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

#include "AliVCluster.h"
#include "AliVTrack.h"
#include "AliVVZERO.h"
#include "AliEmcalJet.h"
#include "AliRhoParameter.h"
#include "AliLog.h"
#include "AliEmcalParticle.h"
#include "AliAODCaloTrigger.h"
#include "AliEMCALGeometry.h"
#include "AliVCaloCells.h"
#include "AliJetContainer.h"
#include "AliClusterContainer.h"
#include "AliParticleContainer.h"
#include "AliEmcalTriggerPatchInfo.h"
#include "AliAODHeader.h"
#include "AliPicoTrack.h"

#include "AliAnalysisTaskEmcalJetTriggerQA.h"

ClassImp(AliAnalysisTaskEmcalJetTriggerQA)

//________________________________________________________________________
AliAnalysisTaskEmcalJetTriggerQA::AliAnalysisTaskEmcalJetTriggerQA() : 
  AliAnalysisTaskEmcalJet("AliAnalysisTaskEmcalJetTriggerQA", kTRUE),
  fDebug(kFALSE),
  fTriggerClass(""),
  fContainerFull(0),
  fContainerCharged(1),
  fMaxPatchEnergy(0),
  fMaxPatchADCEnergy(0),
  fTriggerType(-1),
  fNFastOR(16),
  fMainTrigCat(kTriggerLevel1Jet),
  fMainTrigSimple(kFALSE),
  fhNEvents(0),
  fhTriggerbit(0), 
  fHistRhovsCentFull(0),
  fHistRhovsCentCharged(0),
  fh3PtEtaPhiTracks(0),
  fh3PtEtaPhiTracksOnEmcal(0),
  fh3PtEtaPhiTracksToProp(0),
  fh3PtEtaPhiTracksProp(0),
  fh3PtEtaPhiTracksNoProp(0),
  fh2CentPtJetFull(0),
  fh2CentPtJetCharged(0),
  fh3PtEtaPhiJetFull(0),
  fh3PtEtaPhiJetCharged(0),
  fh2NJetsPtFull(0),
  fh2NJetsPtCharged(0),
  fh3PtEtaAreaJetFull(0),
  fh3PtEtaAreaJetCharged(0),
  fh2PtNConstituentsCharged(0),
  fh2PtNConstituents(0),
  fh2PtMeanPtConstituentsCharged(0),
  fh2PtMeanPtConstituentsNeutral(0),
  fh2PtNEF(0),
  fh3NEFEtaPhi(0),
  fh2NEFNConstituentsCharged(0),
  fh2NEFNConstituentsNeutral(0),
  fh2Ptz(0),
  fh2PtzCharged(0),
  fh2PtLeadJet1VsLeadJet2(0),
  fh3EEtaPhiCluster(0),
  fh3PtLeadJet1VsPatchEnergy(0),
  fh3PtLeadJet2VsPatchEnergy(0),
  fh3PtLeadJet1PatchEnergyVZEROAmp(0),
  fh3PtLeadJet1RawPatchEnergyVZEROAmp(0),
  fh3PatchEnergyEtaPhiCenterJ1(0),
  fh3PatchEnergyEtaPhiCenterJ2(0),
  fh3PatchEnergyEtaPhiCenterJ1J2(0),
  fh3PatchADCEnergyEtaPhiCenterJ1(0),
  fh3PatchADCEnergyEtaPhiCenterJ2(0),
  fh3PatchADCEnergyEtaPhiCenterJ1J2(0),
  fh3PatchADCEnergyEtaPhiCenterAll(0),
  fh3EEtaPhiCell(0),
  fh2ECellVsCent(0),
  fh2CellEnergyVsTime(0),
  fh3EClusELeadingCellVsTime(0),
  fh3JetReacCent(0)
{
  // Default constructor.

  SetMakeGeneralHistograms(kTRUE);
}

//________________________________________________________________________
AliAnalysisTaskEmcalJetTriggerQA::AliAnalysisTaskEmcalJetTriggerQA(const char *name) : 
  AliAnalysisTaskEmcalJet(name, kTRUE),
  fDebug(kFALSE),
  fTriggerClass(""),
  fContainerFull(0),
  fContainerCharged(1),
  fMaxPatchEnergy(0),
  fMaxPatchADCEnergy(0),
  fTriggerType(-1),
  fNFastOR(16),
  fMainTrigCat(kTriggerLevel1Jet),
  fMainTrigSimple(kFALSE),
  fhNEvents(0),
  fhTriggerbit(0),
  fHistRhovsCentFull(0),
  fHistRhovsCentCharged(0),
  fh3PtEtaPhiTracks(0),
  fh3PtEtaPhiTracksOnEmcal(0),
  fh3PtEtaPhiTracksToProp(0),
  fh3PtEtaPhiTracksProp(0),
  fh3PtEtaPhiTracksNoProp(0),
  fh2CentPtJetFull(0),
  fh2CentPtJetCharged(0),
  fh3PtEtaPhiJetFull(0),
  fh3PtEtaPhiJetCharged(0),
  fh2NJetsPtFull(0),
  fh2NJetsPtCharged(0),
  fh3PtEtaAreaJetFull(0),
  fh3PtEtaAreaJetCharged(0),
  fh2PtNConstituentsCharged(0),
  fh2PtNConstituents(0),
  fh2PtMeanPtConstituentsCharged(0),
  fh2PtMeanPtConstituentsNeutral(0),
  fh2PtNEF(0),
  fh3NEFEtaPhi(0),
  fh2NEFNConstituentsCharged(0),
  fh2NEFNConstituentsNeutral(0),
  fh2Ptz(0),
  fh2PtzCharged(0),
  fh2PtLeadJet1VsLeadJet2(0),
  fh3EEtaPhiCluster(0),
  fh3PtLeadJet1VsPatchEnergy(0),
  fh3PtLeadJet2VsPatchEnergy(0),
  fh3PtLeadJet1PatchEnergyVZEROAmp(0),
  fh3PtLeadJet1RawPatchEnergyVZEROAmp(0),
  fh3PatchEnergyEtaPhiCenterJ1(0),
  fh3PatchEnergyEtaPhiCenterJ2(0),
  fh3PatchEnergyEtaPhiCenterJ1J2(0),
  fh3PatchADCEnergyEtaPhiCenterJ1(0),
  fh3PatchADCEnergyEtaPhiCenterJ2(0),
  fh3PatchADCEnergyEtaPhiCenterJ1J2(0),
  fh3PatchADCEnergyEtaPhiCenterAll(0),
  fh3EEtaPhiCell(0),
  fh2ECellVsCent(0),
  fh2CellEnergyVsTime(0),
  fh3EClusELeadingCellVsTime(0),
  fh3JetReacCent(0)
{
  // Standard constructor.

  SetMakeGeneralHistograms(kTRUE);
}

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

//________________________________________________________________________
Bool_t AliAnalysisTaskEmcalJetTriggerQA::SelectEvent() {
  //
  // Decide if event should be selected for analysis
  //

  fhNEvents->Fill(3.5);

  if(!fTriggerClass.IsNull()) {
    //Check if requested trigger was fired
    TString trigType1 = "J1";
    TString trigType2 = "J2";
    if(fTriggerClass.Contains("G")) {
      trigType1 = "G1";
      trigType2 = "G2";
    }

    TString firedTrigClass = InputEvent()->GetFiredTriggerClasses();
    if(fTriggerClass.Contains(trigType1.Data()) && fTriggerClass.Contains(trigType2.Data())) { //if events with J1&&J2 are requested
      if(!firedTrigClass.Contains(trigType1.Data()) || !firedTrigClass.Contains(trigType2.Data()) ) //check if both are fired
        return kFALSE;
    }
    else {
      if(!firedTrigClass.Contains(fTriggerClass))
	return kFALSE;
      else if(fTriggerClass.Contains(trigType1.Data()) && firedTrigClass.Contains(trigType2.Data())) //if J2 is requested also add triggers which have J1&&J2. Reject if J1 is requested and J2 is fired
	return kFALSE;
    }
  }
  fhNEvents->Fill(1.5);

  return kTRUE;
}

//________________________________________________________________________
void AliAnalysisTaskEmcalJetTriggerQA::FillTriggerPatchHistos() {

  //Fill trigger patch histos for main trigger

  AliEmcalTriggerPatchInfo *patch = GetMainTriggerPatch(fMainTrigCat,fMainTrigSimple);
  fMaxPatchEnergy = 0;
  fMaxPatchADCEnergy = 0;
  if(patch) {
    fMaxPatchEnergy = patch->GetPatchE();
    fMaxPatchADCEnergy = patch->GetADCAmpGeVRough();
    fh3PatchADCEnergyEtaPhiCenterAll->Fill(fMaxPatchADCEnergy,patch->GetEtaGeo(),patch->GetPhiGeo());
    if(patch->IsJetLow() && !patch->IsJetHigh()) { //main patch only fired low threshold trigger
      fh3PatchEnergyEtaPhiCenterJ2->Fill(patch->GetPatchE(),patch->GetEtaGeo(),patch->GetPhiGeo());
      fh3PatchADCEnergyEtaPhiCenterJ2->Fill(fMaxPatchADCEnergy,patch->GetEtaGeo(),patch->GetPhiGeo());
    }
    else if(patch->IsJetHigh() && !patch->IsJetLow()) { //main patch only fired high threshold trigger - should never happen
      fh3PatchEnergyEtaPhiCenterJ1->Fill(patch->GetPatchE(),patch->GetEtaGeo(),patch->GetPhiGeo());
      fh3PatchADCEnergyEtaPhiCenterJ1->Fill(fMaxPatchADCEnergy,patch->GetEtaGeo(),patch->GetPhiGeo());
    }
    else if(patch->IsJetHigh() && patch->IsJetLow()) { //main patch fired both triggers
      fh3PatchEnergyEtaPhiCenterJ1J2->Fill(patch->GetPatchE(),patch->GetEtaGeo(),patch->GetPhiGeo());
      fh3PatchADCEnergyEtaPhiCenterJ1J2->Fill(fMaxPatchADCEnergy,patch->GetEtaGeo(),patch->GetPhiGeo());
    }
  }
}

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

  AliAnalysisTaskEmcalJet::UserCreateOutputObjects();

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

  fhNEvents = new TH1F("fhNEvents","fhNEvents;selection;N_{evt}",5,0,5);
  fOutput->Add(fhNEvents);

  fhTriggerbit = new TProfile("fhTriggerbit","fhTriggerbit;;TriggerBit",1,0,1);
  fOutput->Add(fhTriggerbit);

  fHistRhovsCentFull = new TH2F("fHistRhovsCentFull", "fHistRhovsCentFull", 101, -1,  100, 300, 0., 300.);
  fHistRhovsCentFull->GetXaxis()->SetTitle("Centrality (%)");
  fHistRhovsCentFull->GetYaxis()->SetTitle("s#rho_{ch} (GeV/c * rad^{-1})");
  fOutput->Add(fHistRhovsCentFull);

  fHistRhovsCentCharged = new TH2F("fHistRhovsCentCharged", "fHistRhovsCentCharged", 101, -1,  100, 300, 0., 300.);
  fHistRhovsCentCharged->GetXaxis()->SetTitle("Centrality (%)");
  fHistRhovsCentCharged->GetYaxis()->SetTitle("#rho_{ch} (GeV/c * rad^{-1})");
  fOutput->Add(fHistRhovsCentCharged);
    
  Int_t fgkNCentBins = 21;
  Float_t kMinCent   = 0.;
  Float_t kMaxCent   = 105.;
  Double_t *binsCent = new Double_t[fgkNCentBins+1];
  for(Int_t i=0; i<=fgkNCentBins; i++) binsCent[i]=(Double_t)kMinCent + (kMaxCent-kMinCent)/fgkNCentBins*(Double_t)i ;
  binsCent[fgkNCentBins-1] = 100.5;
  binsCent[fgkNCentBins] = 101.5;
    
  Int_t fgkNdEPBins = 18*8;
  Float_t kMindEP   = 0.;
  Float_t kMaxdEP   = 1.*TMath::Pi()/2.;
  Double_t *binsdEP = new Double_t[fgkNdEPBins+1];
  for(Int_t i=0; i<=fgkNdEPBins; i++) binsdEP[i]=(Double_t)kMindEP + (kMaxdEP-kMindEP)/fgkNdEPBins*(Double_t)i ;

  Int_t fgkNPtBins = 200;
  Float_t kMinPt   = -50.;
  Float_t kMaxPt   = 150.;
  Double_t *binsPt = new Double_t[fgkNPtBins+1];
  for(Int_t i=0; i<=fgkNPtBins; i++) binsPt[i]=(Double_t)kMinPt + (kMaxPt-kMinPt)/fgkNPtBins*(Double_t)i ;

  Int_t fgkNPhiBins = 18*8;
  Float_t kMinPhi   = 0.;
  Float_t kMaxPhi   = 2.*TMath::Pi();
  Double_t *binsPhi = new Double_t[fgkNPhiBins+1];
  for(Int_t i=0; i<=fgkNPhiBins; i++) binsPhi[i]=(Double_t)kMinPhi + (kMaxPhi-kMinPhi)/fgkNPhiBins*(Double_t)i ;

  Int_t fgkNEtaBins = 100;
  Float_t fgkEtaMin = -1.;
  Float_t fgkEtaMax =  1.;
  Double_t *binsEta=new Double_t[fgkNEtaBins+1];
  for(Int_t i=0; i<=fgkNEtaBins; i++) binsEta[i]=(Double_t)fgkEtaMin + (fgkEtaMax-fgkEtaMin)/fgkNEtaBins*(Double_t)i ;

  Int_t fgkNAreaBins = 100;
  Float_t kMinArea   = 0.;
  Float_t kMaxArea   = 1.;
  Double_t *binsArea = new Double_t[fgkNAreaBins+1];
  for(Int_t i=0; i<=fgkNAreaBins; i++) binsArea[i]=(Double_t)kMinArea + (kMaxArea-kMinArea)/fgkNAreaBins*(Double_t)i ;

  Int_t fgkNConstBins = 100;
  Float_t kMinConst   = 0.;
  Float_t kMaxConst   = 100.;
  Double_t *binsConst = new Double_t[fgkNConstBins+1];
  for(Int_t i=0; i<=fgkNConstBins; i++) binsConst[i]=(Double_t)kMinConst + (kMaxConst-kMinConst)/fgkNConstBins*(Double_t)i ;

  Int_t fgkNMeanPtBins = 100;
  Float_t kMinMeanPt   = 0.;
  Float_t kMaxMeanPt   = 20.;
  Double_t *binsMeanPt = new Double_t[fgkNMeanPtBins+1];
  for(Int_t i=0; i<=fgkNMeanPtBins; i++) binsMeanPt[i]=(Double_t)kMinMeanPt + (kMaxMeanPt-kMinMeanPt)/fgkNMeanPtBins*(Double_t)i ;

  Int_t fgkNNEFBins = 101;
  Float_t kMinNEF   = 0.;
  Float_t kMaxNEF   = 1.01;
  Double_t *binsNEF = new Double_t[fgkNNEFBins+1];
  for(Int_t i=0; i<=fgkNNEFBins; i++) binsNEF[i]=(Double_t)kMinNEF + (kMaxNEF-kMinNEF)/fgkNNEFBins*(Double_t)i ;

  Int_t fgkNzBins = 101;
  Float_t kMinz   = 0.;
  Float_t kMaxz   = 1.01;
  Double_t *binsz = new Double_t[fgkNzBins+1];
  for(Int_t i=0; i<=fgkNzBins; i++) binsz[i]=(Double_t)kMinz + (kMaxz-kMinz)/fgkNzBins*(Double_t)i ;

  Int_t fgkNJetTypeBins = 2;
  Float_t kMinJetType   = -0.5;
  Float_t kMaxJetType   = 1.5;
  Double_t *binsJetType = new Double_t[fgkNJetTypeBins+1];
  for(Int_t i=0; i<=fgkNJetTypeBins; i++) binsJetType[i]=(Double_t)kMinJetType + (kMaxJetType-kMinJetType)/fgkNJetTypeBins*(Double_t)i ;

  Int_t fgkNTimeBins = 100;
  Float_t kMinTime   = -200.;
  Float_t kMaxTime   = 200;
  Double_t *binsTime = new Double_t[fgkNTimeBins+1];
  for(Int_t i=0; i<=fgkNTimeBins; i++) binsTime[i]=(Double_t)kMinTime + (kMaxTime-kMinTime)/fgkNTimeBins*(Double_t)i ;

  Int_t fgkNVZEROBins = 100;
  Float_t kMinVZERO   = 0.;
  Float_t kMaxVZERO   = 25000;
  Double_t *binsVZERO = new Double_t[fgkNVZEROBins+1];
  for(Int_t i=0; i<=fgkNVZEROBins; i++) binsVZERO[i]=(Double_t)kMinVZERO + (kMaxVZERO-kMinVZERO)/fgkNVZEROBins*(Double_t)i ;

  Double_t enBinEdges[3][2];
  enBinEdges[0][0] = 1.; //10 bins
  enBinEdges[0][1] = 0.1;
  enBinEdges[1][0] = 5.; //8 bins
  enBinEdges[1][1] = 0.5;
  enBinEdges[2][0] = 100.;//95 bins
  enBinEdges[2][1] = 1.;

  const Float_t enmin1 =  0;
  const Float_t enmax1 =  enBinEdges[0][0];
  const Float_t enmin2 =  enmax1 ;
  const Float_t enmax2 =  enBinEdges[1][0];
  const Float_t enmin3 =  enmax2 ;
  const Float_t enmax3 =  enBinEdges[2][0];//fgkEnMax;
  const Int_t nbin11 = (int)((enmax1-enmin1)/enBinEdges[0][1]);
  const Int_t nbin12 = (int)((enmax2-enmin2)/enBinEdges[1][1])+nbin11;
  const Int_t nbin13 = (int)((enmax3-enmin3)/enBinEdges[2][1])+nbin12;

  Int_t fgkNEnBins=nbin13;
  Double_t *binsEn=new Double_t[fgkNEnBins+1];
  for(Int_t i=0; i<=fgkNEnBins; i++) {
    if(i<=nbin11) binsEn[i]=(Double_t)enmin1 + (enmax1-enmin1)/nbin11*(Double_t)i ;
    if(i<=nbin12 && i>nbin11) binsEn[i]=(Double_t)enmin2 + (enmax2-enmin2)/(nbin12-nbin11)*((Double_t)i-(Double_t)nbin11) ;
    if(i<=nbin13 && i>nbin12) binsEn[i]=(Double_t)enmin3 + (enmax3-enmin3)/(nbin13-nbin12)*((Double_t)i-(Double_t)nbin12) ;
  }

  fh3PtEtaPhiTracks = new TH3F("fh3PtEtaPhiTracks","fh3PtEtaPhiTracks;#it{p}_{T}^{track}_{vtx};#eta_{vtx};#varphi_{vtx}",fgkNEnBins,binsEn,fgkNEtaBins,binsEta,fgkNPhiBins,binsPhi);
  fOutput->Add(fh3PtEtaPhiTracks);

  fh3PtEtaPhiTracksOnEmcal = new TH3F("fh3PtEtaPhiTracksOnEmcal","fh3PtEtaPhiTracksOnEmcal;#it{p}_{T}^{track}_{emc};#eta_{emc};#varphi_{emc}",fgkNEnBins,binsEn,fgkNEtaBins,binsEta,fgkNPhiBins,binsPhi);
  fOutput->Add(fh3PtEtaPhiTracksOnEmcal);

  fh3PtEtaPhiTracksToProp = new TH3F("fh3PtEtaPhiTracksToProp","fh3PtEtaPhiTracksToProp;#it{p}_{T}^{track}_{vtx};#eta_{vtx};#varphi_{vtx}",fgkNEnBins,binsEn,fgkNEtaBins,binsEta,fgkNPhiBins,binsPhi);
  fOutput->Add(fh3PtEtaPhiTracksToProp);

  fh3PtEtaPhiTracksProp = new TH3F("fh3PtEtaPhiTracksProp","fh3PtEtaPhiTracksProp;#it{p}_{T}^{track}_{vtx};#eta_{vtx};#varphi_{vtx}",fgkNEnBins,binsEn,fgkNEtaBins,binsEta,fgkNPhiBins,binsPhi);
  fOutput->Add(fh3PtEtaPhiTracksProp);

  fh3PtEtaPhiTracksNoProp = new TH3F("fh3PtEtaPhiTracksNoProp","fh3PtEtaPhiTracksNoProp;#it{p}_{T}^{track}_{vtx};#eta_{vtx};#varphi_{vtx}",fgkNEnBins,binsEn,fgkNEtaBins,binsEta,fgkNPhiBins,binsPhi);
  fOutput->Add(fh3PtEtaPhiTracksNoProp);

  fh2CentPtJetFull = new TH2F("fh2CentPtJetFull","fh2CentPtJetFull;cent;#it{p}_{T}^{jet}",fgkNCentBins,binsCent,fgkNPtBins,binsPt);
  fOutput->Add(fh2CentPtJetFull);

  fh2CentPtJetCharged = new TH2F("fh2CentPtJetCharged","fh2CentPtJetCharged;cent;#it{p}_{T}^{jet}",fgkNCentBins,binsCent,fgkNPtBins,binsPt);
  fOutput->Add(fh2CentPtJetCharged);

  fh3PtEtaPhiJetFull = new TH3F("fh3PtEtaPhiJetFull","fh3PtEtaPhiJetFull;#it{p}_{T}^{jet};#eta;#varphi",fgkNPtBins,binsPt,fgkNEtaBins,binsEta,fgkNPhiBins,binsPhi);
  fOutput->Add(fh3PtEtaPhiJetFull);

  fh3PtEtaPhiJetCharged = new TH3F("fh3PtEtaPhiJetCharged","fh3PtEtaPhiJetCharged;#it{p}_{T}^{jet};#eta;#varphi",fgkNPtBins,binsPt,fgkNEtaBins,binsEta,fgkNPhiBins,binsPhi);
  fOutput->Add(fh3PtEtaPhiJetCharged);

  fh2NJetsPtFull = new TH2F("fh2NJetsPtFull","fh2NJetsPtFull;N_{jets};#it{p}_{T}^{jet}",20,-0.5,19.5,fgkNPtBins,binsPt);
  fOutput->Add(fh2NJetsPtFull);

  fh2NJetsPtCharged = new TH2F("fh2NJetsPtCharged","fh2NJetsPtCharged;N_{jets};#it{p}_{T}^{jet}",20,-0.5,19.5,fgkNPtBins,binsPt);
  fOutput->Add(fh2NJetsPtCharged);

  fh3PtEtaAreaJetFull = new TH3F("fh3PtEtaAreaJetFull","fh3PtEtaAreaJetFull;#it{p}_{T}^{jet};#eta;A",fgkNPtBins,binsPt,fgkNEtaBins,binsEta,fgkNAreaBins,binsArea);
  fOutput->Add(fh3PtEtaAreaJetFull);

  fh3PtEtaAreaJetCharged = new TH3F("fh3PtEtaAreaJetCharged","fh3PtEtaAreaJetCharged;#it{p}_{T}^{jet};#eta;A",fgkNPtBins,binsPt,fgkNEtaBins,binsEta,fgkNAreaBins,binsArea);
  fOutput->Add(fh3PtEtaAreaJetCharged);

  fh2PtNConstituentsCharged = new TH2F("fh2PtNConstituentsCharged","fh2PtNConstituentsCharged;#it{p}_{T}^{jet};N_{charged constituents}",fgkNPtBins,binsPt,fgkNConstBins,binsConst);
  fOutput->Add(fh2PtNConstituentsCharged);

  fh2PtNConstituents = new TH2F("fh2PtNConstituents","fh2PtNConstituents;#it{p}_{T}^{jet};N_{constituents}",fgkNPtBins,binsPt,fgkNConstBins,binsConst);
  fOutput->Add(fh2PtNConstituents);

  fh2PtMeanPtConstituentsCharged = new TH2F("fh2PtMeanPtConstituentsCharged","fh2PtMeanPtConstituentsCharged;#it{p}_{T}^{jet};charged #langle #it{p}_{T} #rangle",fgkNPtBins,binsPt,fgkNMeanPtBins,binsMeanPt);
  fOutput->Add(fh2PtMeanPtConstituentsCharged);

  fh2PtMeanPtConstituentsNeutral = new TH2F("fh2PtMeanPtConstituentsNeutral","fh2PtMeanPtConstituentsNeutral;#it{p}_{T}^{jet};neutral langle #it{p}_{T} #rangle",fgkNPtBins,binsPt,fgkNMeanPtBins,binsMeanPt);
  fOutput->Add(fh2PtMeanPtConstituentsNeutral);

  fh2PtNEF = new TH2F("fh2PtNEF","fh2PtNEF;#it{p}_{T}^{jet};NEF",fgkNPtBins,binsPt,fgkNNEFBins,binsNEF);
  fOutput->Add(fh2PtNEF);

  fh3NEFEtaPhi = new TH3F("fh3NEFEtaPhi","fh3NEFEtaPhi;NEF;#eta;#varphi",fgkNNEFBins,binsNEF,fgkNEtaBins,binsEta,fgkNPhiBins,binsPhi);
  fOutput->Add(fh3NEFEtaPhi);

  fh2NEFNConstituentsCharged = new TH2F("fh2NEFNConstituentsCharged","fh2NEFNConstituentsCharged;NEF;N_{charged constituents}",fgkNNEFBins,binsNEF,fgkNConstBins,binsConst);
  fOutput->Add(fh2NEFNConstituentsCharged);

  fh2NEFNConstituentsNeutral = new TH2F("fh2NEFNConstituentsNeutral","fh2NEFNConstituentsNeutral;NEF;N_{clusters}",fgkNNEFBins,binsNEF,fgkNConstBins,binsConst);
  fOutput->Add(fh2NEFNConstituentsNeutral);

  fh2Ptz = new TH2F("fh2Ptz","fh2Ptz;#it{p}_{T}^{jet};z=p_{t,trk}^{proj}/p_{jet}",fgkNPtBins,binsPt,fgkNzBins,binsz);
  fOutput->Add(fh2Ptz);

  fh2PtzCharged = new TH2F("fh2PtzCharged","fh2Ptz;#it{p}_{T}^{ch jet};z=p_{t,trk}^{proj}/p_{ch jet}",fgkNPtBins,binsPt,fgkNzBins,binsz);
  fOutput->Add(fh2PtzCharged);

  fh2PtLeadJet1VsLeadJet2 = new TH2F("fh2PtLeadJet1VsLeadJet2","fh2PtLeadJet1VsLeadJet2;#it{p}_{T}^{jet 1};#it{p}_{T}^{jet 2}",fgkNPtBins,binsPt,fgkNPtBins,binsPt);
  fOutput->Add(fh2PtLeadJet1VsLeadJet2);

  fh3EEtaPhiCluster = new TH3F("fh3EEtaPhiCluster","fh3EEtaPhiCluster;E_{clus};#eta;#phi",fgkNEnBins,binsEn,fgkNEtaBins,binsEta,fgkNPhiBins,binsPhi);
  fOutput->Add(fh3EEtaPhiCluster);

  fh3PtLeadJet1VsPatchEnergy = new TH3F("fh3PtLeadJet1VsPatchEnergy","fh3PtLeadJet1VsPatchEnergy;#it{p}_{T}^{jet 1};Amplitude_{patch};trig type",fgkNPtBins,binsPt,fgkNPtBins,binsPt,fgkNJetTypeBins,binsJetType);
  fOutput->Add(fh3PtLeadJet1VsPatchEnergy);
  fh3PtLeadJet2VsPatchEnergy = new TH3F("fh3PtLeadJet2VsPatchEnergy","fh3PtLeadJet2VsPatchEnergy;#it{p}_{T}^{jet 1};Amplitude_{patch};trig type",fgkNPtBins,binsPt,fgkNPtBins,binsPt,fgkNJetTypeBins,binsJetType);
  fOutput->Add(fh3PtLeadJet2VsPatchEnergy);

  fh3PtLeadJet1PatchEnergyVZEROAmp = new TH3F("fh3PtLeadJet1PatchEnergyVZEROAmp","fh3PtLeadJet1VsPatchEnergyVZEROAmp;#it{p}_{T}^{jet 1};Amplitude_{patch};VZERO amp",fgkNPtBins,binsPt,fgkNPtBins,binsPt,fgkNVZEROBins,binsVZERO);
  fOutput->Add(fh3PtLeadJet1PatchEnergyVZEROAmp);
  fh3PtLeadJet1RawPatchEnergyVZEROAmp = new TH3F("fh3PtLeadJet1RawPatchEnergyVZEROAmp","fh3PtLeadJet1RawPatchEnergyVZEROAmp;#it{p}_{T}^{jet 1};ADC Amplitude_{patch} (GeV);VZERO amp",fgkNPtBins,binsPt,fgkNPtBins,binsPt,fgkNVZEROBins,binsVZERO);
  fOutput->Add(fh3PtLeadJet1RawPatchEnergyVZEROAmp);

  fh3PatchEnergyEtaPhiCenterJ1 = new TH3F("fh3PatchEnergyEtaPhiCenterJ1","fh3PatchEnergyEtaPhiCenterJ1;E_{patch};#eta;#phi",fgkNEnBins,binsEn,fgkNEtaBins,binsEta,fgkNPhiBins,binsPhi);
  fOutput->Add(fh3PatchEnergyEtaPhiCenterJ1);

  fh3PatchEnergyEtaPhiCenterJ2 = new TH3F("fh3PatchEnergyEtaPhiCenterJ2","fh3PatchEnergyEtaPhiCenterJ2;E_{patch};#eta;#phi",fgkNEnBins,binsEn,fgkNEtaBins,binsEta,fgkNPhiBins,binsPhi);
  fOutput->Add(fh3PatchEnergyEtaPhiCenterJ2);

  fh3PatchEnergyEtaPhiCenterJ1J2 = new TH3F("fh3PatchEnergyEtaPhiCenterJ1J2","fh3PatchEnergyEtaPhiCenterJ1J2;E_{patch};#eta;#phi",fgkNEnBins,binsEn,fgkNEtaBins,binsEta,fgkNPhiBins,binsPhi);
  fOutput->Add(fh3PatchEnergyEtaPhiCenterJ1J2);

  fh3PatchADCEnergyEtaPhiCenterJ1 = new TH3F("fh3PatchADCEnergyEtaPhiCenterJ1","fh3PatchADCEnergyEtaPhiCenterJ1;E_{ADC,patch};#eta;#phi",fgkNEnBins,binsEn,fgkNEtaBins,binsEta,fgkNPhiBins,binsPhi);
  fOutput->Add(fh3PatchADCEnergyEtaPhiCenterJ1);

  fh3PatchADCEnergyEtaPhiCenterJ2 = new TH3F("fh3PatchADCEnergyEtaPhiCenterJ2","fh3PatchADCEnergyEtaPhiCenterJ2;E_{ADC,patch};#eta;#phi",fgkNEnBins,binsEn,fgkNEtaBins,binsEta,fgkNPhiBins,binsPhi);
  fOutput->Add(fh3PatchADCEnergyEtaPhiCenterJ2);

  fh3PatchADCEnergyEtaPhiCenterJ1J2 = new TH3F("fh3PatchADCEnergyEtaPhiCenterJ1J2","fh3PatchADCEnergyEtaPhiCenterJ1J2;E_{ADC,patch};#eta;#phi",fgkNEnBins,binsEn,fgkNEtaBins,binsEta,fgkNPhiBins,binsPhi);
  fOutput->Add(fh3PatchADCEnergyEtaPhiCenterJ1J2);

  fh3PatchADCEnergyEtaPhiCenterAll = new TH3F("fh3PatchADCEnergyEtaPhiCenterAll","fh3PatchADCEnergyEtaPhiCenterAll;E_{ADC,patch};#eta;#phi",fgkNEnBins,binsEn,fgkNEtaBins,binsEta,fgkNPhiBins,binsPhi);
  fOutput->Add(fh3PatchADCEnergyEtaPhiCenterAll);

  fh3EEtaPhiCell = new TH3F("fh3EEtaPhiCell","fh3EEtaPhiCell;E_{cell};#eta;#phi",fgkNEnBins,binsEn,fgkNEtaBins,binsEta,fgkNPhiBins,binsPhi);
  fOutput->Add(fh3EEtaPhiCell);

  fh2ECellVsCent = new TH2F("fh2ECellVsCent","fh2ECellVsCent;centrality;E_{cell}",101,-1,100,500,0.,5.);
  fOutput->Add(fh2ECellVsCent);

  fh2CellEnergyVsTime = new TH2F("fh2CellEnergyVsTime","fh2CellEnergyVsTime;E_{cell};time",fgkNEnBins,binsEn,fgkNTimeBins,binsTime);
  fOutput->Add(fh2CellEnergyVsTime);

  fh3EClusELeadingCellVsTime = new TH3F("fh3EClusELeadingCellVsTime","fh3EClusELeadingCellVsTime;E_{cluster};E_{leading cell};time_{leading cell}",fgkNEnBins,binsEn,fgkNEnBins,binsEn,fgkNTimeBins,binsTime);
  fOutput->Add(fh3EClusELeadingCellVsTime);
    
  fh3JetReacCent = new TH3F("fh3JetReacCent","fh3JetReacCent;E_{Jet};Centrality;dEP",fgkNEnBins,binsEn,fgkNCentBins,binsCent,fgkNdEPBins,binsdEP);
  fOutput->Add(fh3JetReacCent);
    
  // =========== Switch on Sumw2 for all histos ===========
  for (Int_t i=0; i<fOutput->GetEntries(); ++i) {
    TH1 *h1 = dynamic_cast<TH1*>(fOutput->At(i));
    if (h1){
      h1->Sumw2();
      continue;
    }
    TH2 *h2 = dynamic_cast<TH2*>(fOutput->At(i));
    if (h2){
      h2->Sumw2();
      continue;
    }
    TH3 *h3 = dynamic_cast<TH3*>(fOutput->At(i));
    if (h3){
      h3->Sumw2();
      continue;
    }
    THnSparse *hn = dynamic_cast<THnSparse*>(fOutput->At(i));
    if(hn)hn->Sumw2();
  }

  TH1::AddDirectory(oldStatus);

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

  delete [] binsCent;
  if(binsdEP)               delete [] binsdEP;
  if(binsEn)                delete [] binsEn;
  if(binsPt)                delete [] binsPt;
  if(binsPhi)               delete [] binsPhi;
  if(binsEta)               delete [] binsEta;
  if(binsArea)              delete [] binsArea;
  if(binsConst)             delete [] binsConst; 
  if(binsMeanPt)            delete [] binsMeanPt;  
  if(binsNEF)               delete [] binsNEF;
  if(binsz)                 delete [] binsz;
  if(binsJetType)           delete [] binsJetType;
  if(binsTime)              delete [] binsTime;
  if(binsVZERO)             delete [] binsVZERO;

}

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

  //Tracks
  AliParticleContainer *partCont = GetParticleContainer(0);
  if (partCont) {
    AliPicoTrack *track = dynamic_cast<AliPicoTrack*>(partCont->GetNextAcceptParticle(0));
    while(track) {
      Double_t trkphi = track->Phi()*TMath::RadToDeg();
      fh3PtEtaPhiTracks->Fill(track->Pt(),track->Eta(),track->Phi());
      //Select tracks which should be propagated
      if(track->Pt()>=0.350) {
	if (TMath::Abs(track->Eta())<=0.9 && trkphi > 10 && trkphi < 250) {
	  fh3PtEtaPhiTracksOnEmcal->Fill(track->GetTrackPtOnEMCal(),track->GetTrackEtaOnEMCal(),track->GetTrackPhiOnEMCal());
	  fh3PtEtaPhiTracksToProp->Fill(track->Pt(),track->Eta(),track->Phi());
	  if(track->GetTrackPtOnEMCal()>=0)
	    fh3PtEtaPhiTracksProp->Fill(track->Pt(),track->Eta(),track->Phi());
	  else
	    fh3PtEtaPhiTracksNoProp->Fill(track->Pt(),track->Eta(),track->Phi());
	}
      }
      track = dynamic_cast<AliPicoTrack*>(partCont->GetNextAcceptParticle());
    }
  }

  //Clusters
  AliClusterContainer  *clusCont = GetClusterContainer(0);
  if (clusCont) {
    Int_t nclusters = clusCont->GetNClusters();
    for (Int_t ic = 0; ic < nclusters; ic++) {
      AliVCluster *cluster = static_cast<AliVCluster*>(clusCont->GetCluster(ic));
      if (!cluster) {
	AliDebug(2,Form("Could not receive cluster %d", ic));
	continue;
      }
      if (!cluster->IsEMCAL()) {
	AliDebug(2,Form("%s: Cluster is not emcal",GetName()));
	continue;
      }

      TLorentzVector lp;
      cluster->GetMomentum(lp, const_cast<Double_t*>(fVertex));
      fh3EEtaPhiCluster->Fill(lp.E(),lp.Eta(),lp.Phi());
      if(fCaloCells) {
	Double_t leadCellE = GetEnergyLeadingCell(cluster);
	Double_t leadCellT = cluster->GetTOF();
	fh3EClusELeadingCellVsTime->Fill(lp.E(),leadCellE,leadCellT*1e9);
      }
    }
  }

  //Cells
  if(fCaloCells) {
    const Short_t nCells   = fCaloCells->GetNumberOfCells();

    for(Int_t iCell=0; iCell<nCells; ++iCell) {
      Short_t cellId = fCaloCells->GetCellNumber(iCell);
      Double_t cellE = fCaloCells->GetCellAmplitude(cellId);
      Double_t cellT = fCaloCells->GetCellTime(cellId);
      TVector3 pos;
      fGeom->GetGlobal(cellId, pos);
      TLorentzVector lv(pos,cellE);
      Double_t cellEta = lv.Eta();
      Double_t cellPhi = lv.Phi();
      if(cellPhi<0.) cellPhi+=TMath::TwoPi();
      if(cellPhi>TMath::TwoPi()) cellPhi-=TMath::TwoPi();

      AliDebug(2,Form("cell energy = %f  time = %f",cellE,cellT*1e9));
      fh2CellEnergyVsTime->Fill(cellE,cellT*1e9);
      fh3EEtaPhiCell->Fill(cellE,cellEta,cellPhi);
      fh2ECellVsCent->Fill(fCent,cellE);
    }
  }

  //Jets
  Double_t ptLeadJet1 = 0.;
  Double_t ptLeadJet2 = 0.;

  fHistRhovsCentFull->Fill(fCent,GetRhoVal(fContainerFull));
  fHistRhovsCentCharged->Fill(fCent,GetRhoVal(fContainerCharged));

  TArrayI *nJetsArr = new TArrayI(fh2NJetsPtFull->GetNbinsY()+1);
  nJetsArr->Reset(0);
  nJetsArr->Set(fh2NJetsPtFull->GetNbinsY()+1);

  if (GetJetContainer(fContainerFull)) {
    const Int_t njets = GetNJets(fContainerFull);
    for (Int_t ij = 0; ij < njets; ij++) {

      AliEmcalJet* jet = GetAcceptJetFromArray(ij,fContainerFull);
      if (!jet)
	continue; //jet not selected

      Double_t jetPt = jet->Pt() - GetRhoVal(fContainerFull)*jet->Area();
      if(jetPt>ptLeadJet1) ptLeadJet1=jetPt;

      Double_t dEPJetFull = RelativeEP(jet->Phi() , fEPV0);
      fh3JetReacCent->Fill(jet->E(),fCent,dEPJetFull);
      
      fh2CentPtJetFull->Fill(fCent,jetPt);
      fh3PtEtaPhiJetFull->Fill(jetPt,jet->Eta(),jet->Phi());
      fh3PtEtaAreaJetFull->Fill(jetPt,jet->Eta(),jet->Area());

      //count jets above certain pT threshold
      Int_t ptbin = fh2NJetsPtFull->GetYaxis()->FindBin(jetPt);
      for(Int_t iptbin = ptbin; iptbin<=fh2NJetsPtFull->GetNbinsY(); iptbin++)
	nJetsArr->AddAt(nJetsArr->At(iptbin)+1,iptbin);
      
      fh2PtNConstituentsCharged->Fill(jetPt,jet->GetNumberOfTracks());
      fh2PtNConstituents->Fill(jetPt,jet->GetNumberOfConstituents());
      fh2PtNEF->Fill(jetPt,jet->NEF());
      fh3NEFEtaPhi->Fill(jet->NEF(),jet->Eta(),jet->Phi());
      fh2NEFNConstituentsCharged->Fill(jet->NEF(),jet->GetNumberOfTracks());
      fh2NEFNConstituentsNeutral->Fill(jet->NEF(),jet->GetNumberOfClusters());

      AliVParticle *vp;
      Double_t sumPtCh = 0.;
      for(Int_t icc=0; icc<jet->GetNumberOfTracks(); icc++) {
	vp = static_cast<AliVParticle*>(jet->TrackAt(icc, fTracks));
	if(!vp) continue;
	fh2Ptz->Fill(jetPt,GetZ(vp,jet));
	sumPtCh+=vp->Pt();
      }
      
      if(jet->GetNumberOfTracks()>0)
	fh2PtMeanPtConstituentsCharged->Fill(jetPt,sumPtCh/(double)(jet->GetNumberOfTracks()) );

      AliVCluster *vc = 0x0;
      Double_t sumPtNe = 0.;
      if (clusCont) {
	for(Int_t icc=0; icc<jet->GetNumberOfClusters(); icc++) {
	  vc = static_cast<AliVCluster*>(clusCont->GetCluster(icc));
	  if(!vc) continue;
	  TLorentzVector lp;
	  vc->GetMomentum(lp, const_cast<Double_t*>(fVertex));
	  sumPtNe+=lp.Pt();
	}

	if(jet->GetNumberOfClusters()>0)
	  fh2PtMeanPtConstituentsNeutral->Fill(jetPt,sumPtNe/(double)(jet->GetNumberOfClusters()) );
      }
    } //full jet loop

    for(Int_t i=1; i<=fh2NJetsPtFull->GetNbinsY(); i++) {
      Int_t nJetsInEvent = nJetsArr->At(i);
      fh2NJetsPtFull->Fill(nJetsInEvent,fh2NJetsPtFull->GetYaxis()->GetBinCenter(i));
    }
  }

  //Reset array to zero to also count charged jets
  nJetsArr->Reset(0);
  
  //Loop over charged jets
  if (GetJetContainer(fContainerCharged)) {
    const Int_t njets = GetNJets(fContainerCharged);
    for (Int_t ij = 0; ij < njets; ij++) {

      AliEmcalJet* jet = GetAcceptJetFromArray(ij,fContainerCharged);
      if (!jet)
	continue; //jet not selected

      Double_t jetPt = jet->Pt() - GetRhoVal(fContainerCharged)*jet->Area();
      if(jetPt>ptLeadJet2) ptLeadJet2=jetPt;
      fh2CentPtJetCharged->Fill(fCent,jetPt);
      fh3PtEtaPhiJetCharged->Fill(jetPt,jet->Eta(),jet->Phi());
      fh3PtEtaAreaJetCharged->Fill(jetPt,jet->Eta(),jet->Area());

      AliVParticle *vp;
      for(Int_t icc=0; icc<jet->GetNumberOfTracks(); icc++) {
	vp = static_cast<AliVParticle*>(jet->TrackAt(icc, fTracks));
	if(!vp) continue;
	fh2PtzCharged->Fill(jetPt,GetZ(vp,jet));
      }
      
      //count jets above certain pT threshold
      Int_t ptbin = fh2NJetsPtCharged->GetYaxis()->FindBin(jetPt);
      for(Int_t iptbin = ptbin; iptbin<=fh2NJetsPtCharged->GetNbinsY(); iptbin++)
	nJetsArr->AddAt(nJetsArr->At(iptbin)+1,iptbin);
      
    }//ch jet loop
    for(Int_t i=1; i<=fh2NJetsPtCharged->GetNbinsY(); i++) {
      Int_t nJetsInEvent = nJetsArr->At(i);
      fh2NJetsPtCharged->Fill(nJetsInEvent,fh2NJetsPtCharged->GetYaxis()->GetBinCenter(i));
    }
  }

  if(GetJetContainer(fContainerFull) && GetJetContainer(fContainerCharged))
    fh2PtLeadJet1VsLeadJet2->Fill(ptLeadJet1,ptLeadJet2);

  fh3PtLeadJet1VsPatchEnergy->Fill(ptLeadJet1,fMaxPatchEnergy,fTriggerType);
  fh3PtLeadJet2VsPatchEnergy->Fill(ptLeadJet2,fMaxPatchEnergy,fTriggerType);

  // Get VZERO amplitude
  Float_t VZEROAmp = InputEvent()->GetVZEROData()->GetTriggerChargeA() + InputEvent()->GetVZEROData()->GetTriggerChargeC();

  fh3PtLeadJet1PatchEnergyVZEROAmp->Fill(ptLeadJet1,fMaxPatchEnergy,VZEROAmp);
  fh3PtLeadJet1RawPatchEnergyVZEROAmp->Fill(ptLeadJet1,fMaxPatchADCEnergy,VZEROAmp);

  delete nJetsArr;

  return kTRUE;
}

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

  fhTriggerbit->Fill(0.5,GetCollisionCandidates());

  //Check if event is selected (vertex & pile-up)
  if(!SelectEvent())
    return kFALSE;
  
  if(fTriggerPatchInfo) 
    FillTriggerPatchHistos();

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

//_______________________________________________________________________
void AliAnalysisTaskEmcalJetTriggerQA::Terminate(Option_t *) 
{
  // Called once at the end of the analysis.
}
//________________________________________________________________________
Double_t AliAnalysisTaskEmcalJetTriggerQA::GetZ(const AliVParticle *trk, const AliEmcalJet *jet)          const
{  
  // Get Z of constituent trk
  return GetZ(trk->Px(),trk->Py(),trk->Pz(),jet->Px(),jet->Py(),jet->Pz());
}

//________________________________________________________________________
Double_t AliAnalysisTaskEmcalJetTriggerQA::GetZ(Double_t trkPx, Double_t trkPy, Double_t trkPz, Double_t jetPx, Double_t jetPy, Double_t jetPz) const
{
  // 
  // Get the z of a constituent inside of a jet
  //
  Double_t pJetSq = jetPx*jetPx+jetPy*jetPy+jetPz*jetPz;
  if(pJetSq>0.)
    return (trkPx*jetPx+trkPy*jetPy+trkPz*jetPz)/pJetSq;
  else {
    AliWarning(Form("%s: strange, pjet*pjet seems to be zero pJetSq: %f",GetName(), pJetSq)); 
    return 0;
  }
}

//________________________________________________________________________
Int_t AliAnalysisTaskEmcalJetTriggerQA::GetLeadingCellId(const AliVCluster *clus) const
{
  //Get energy of leading cell in cluster

  if(!fCaloCells)
    return -1;

  Double_t emax = -1.;
  Int_t iCellAbsIdMax = -1;
  Int_t nCells = clus->GetNCells();
  for(Int_t i = 0; i<nCells; i++) {
    Int_t absId = clus->GetCellAbsId(i);
    Double_t cellE = fCaloCells->GetCellAmplitude(absId);
    if(cellE>emax) {
      emax = cellE;
      iCellAbsIdMax = absId;
    }
  }
  return iCellAbsIdMax;
}

//________________________________________________________________________
Double_t AliAnalysisTaskEmcalJetTriggerQA::GetEnergyLeadingCell(const AliVCluster *clus) const
{
  //Get energy of leading cell in cluster
  if(!fCaloCells)
    return -1.;

  Int_t absID = GetLeadingCellId(clus);
  if(absID>-1)
    return fCaloCells->GetCellAmplitude(absID);
  else 
    return -1.;
}

//________________________________________________________________________
Double_t AliAnalysisTaskEmcalJetTriggerQA::GetECross(Int_t absID) const {

  //Get Ecross = sum of energy of neighbouring cells (using uncalibrated energy)

  if(!fCaloCells)
    return -1.;

  Double_t ecross = -1.;

  Int_t absID1 = -1;
  Int_t absID2 = -1;
  Int_t absID3 = -1;
  Int_t absID4 = -1;

  Int_t imod = -1, iphi =-1, ieta=-1,iTower = -1, iIphi = -1, iIeta = -1;
  fGeom->GetCellIndex(absID,imod,iTower,iIphi,iIeta);
  fGeom->GetCellPhiEtaIndexInSModule(imod,iTower,iIphi, iIeta,iphi,ieta);

  if( iphi < AliEMCALGeoParams::fgkEMCALRows-1)
    absID1 = fGeom->GetAbsCellIdFromCellIndexes(imod, iphi+1, ieta);
  if( iphi > 0 )
    absID2 = fGeom->GetAbsCellIdFromCellIndexes(imod, iphi-1, ieta);

  if( ieta == AliEMCALGeoParams::fgkEMCALCols-1 && !(imod%2) ) {
    absID3 = fGeom->GetAbsCellIdFromCellIndexes(imod+1, iphi, 0);
    absID4 = fGeom->GetAbsCellIdFromCellIndexes(imod,   iphi, ieta-1);
  }
  else if( ieta == 0 && imod%2 ) {
    absID3 = fGeom->GetAbsCellIdFromCellIndexes(imod,   iphi, ieta+1);
    absID4 = fGeom->GetAbsCellIdFromCellIndexes(imod-1, iphi, AliEMCALGeoParams::fgkEMCALCols-1);
  }
  else  {
    if( ieta < AliEMCALGeoParams::fgkEMCALCols-1 )
      absID3 = fGeom->GetAbsCellIdFromCellIndexes(imod, iphi, ieta+1);
    if( ieta > 0 )
      absID4 = fGeom->GetAbsCellIdFromCellIndexes(imod, iphi, ieta-1);
  }

  Double_t ecell1 = fCaloCells->GetCellAmplitude(absID1);
  Double_t ecell2 = fCaloCells->GetCellAmplitude(absID2);
  Double_t ecell3 = fCaloCells->GetCellAmplitude(absID3);
  Double_t ecell4 = fCaloCells->GetCellAmplitude(absID4);

  ecross = ecell1+ecell2+ecell3+ecell4;

  return ecross;
}

//_________________________________________________________________________
Float_t AliAnalysisTaskEmcalJetTriggerQA::RelativeEP(Double_t objAng, Double_t EPAng) const
{
  // function to calculate angle between object and EP in the 1st quadrant (0,Pi/2)
  Double_t dphi = EPAng - objAng;

  // ran into trouble with a few dEP<-Pi so trying this...
  if( dphi<-1*TMath::Pi() )
    dphi = dphi + 1*TMath::Pi();
  if( dphi>1*TMath::Pi())
    dphi = dphi - 1*TMath::Pi();

  if( (dphi>0) && (dphi<1*TMath::Pi()/2) ){
    // Do nothing! we are in quadrant 1
  }else if( (dphi>1*TMath::Pi()/2) && (dphi<1*TMath::Pi()) ){
    dphi = 1*TMath::Pi() - dphi;
  }else if( (dphi<0) && (dphi>-1*TMath::Pi()/2) ){
    dphi = fabs(dphi);
  }else if( (dphi<-1*TMath::Pi()/2) && (dphi>-1*TMath::Pi()) ){
    dphi = dphi + 1*TMath::Pi();
  }

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