ROOT logo
/* $Id$ */

#include "AlidNdEtaTask.h"

#include <TStyle.h>
#include <TSystem.h>
#include <TCanvas.h>
#include <TVector3.h>
#include <TChain.h>
#include <TFile.h>
#include <TH1F.h>
#include <TH1D.h>
#include <TH2F.h>
#include <TH3F.h>
#include <TParticle.h>
#include <TRandom.h>
#include <TNtuple.h>
#include <TObjString.h>
#include <TF1.h>
#include <TGraph.h>

#include <AliLog.h>
#include <AliESDVertex.h>
#include <AliESDEvent.h>
#include <AliStack.h>
#include <AliHeader.h>
#include <AliGenEventHeader.h>
#include <AliMultiplicity.h>
#include <AliAnalysisManager.h>
#include <AliMCEventHandler.h>
#include <AliMCEvent.h>
#include <AliESDInputHandler.h>
#include <AliESDInputHandlerRP.h>
#include <AliESDHeader.h>

#include "AliESDtrackCuts.h"
#include "AliPWG0Helper.h"
#include "AliCorrection.h"
#include "AliCorrectionMatrix3D.h"
#include "dNdEtaAnalysis.h"
#include "AliTriggerAnalysis.h"
#include "AliPhysicsSelection.h"

//#define FULLALIROOT

#ifdef FULLALIROOT
  #include "../ITS/AliITSRecPoint.h"
  #include "AliCDBManager.h"
  #include "AliCDBEntry.h"
  #include "AliGeomManager.h"
  #include "TGeoManager.h"
#endif

ClassImp(AlidNdEtaTask)

AlidNdEtaTask::AlidNdEtaTask(const char* opt) :
  AliAnalysisTaskSE("AlidNdEtaTask"),
  fESD(0),
  fOutput(0),
  fOption(opt),
  fAnalysisMode((AliPWG0Helper::AnalysisMode) (AliPWG0Helper::kTPC | AliPWG0Helper::kFieldOn)),
  fTrigger(AliTriggerAnalysis::kMB1),
  fFillPhi(kFALSE),
  fDeltaPhiCut(-1),
  fReadMC(kFALSE),
  fUseMCVertex(kFALSE),
  fOnlyPrimaries(kFALSE),
  fUseMCKine(kFALSE),
  fSymmetrize(kFALSE),
  fMultAxisEta1(kFALSE),
  fDiffTreatment(AliPWG0Helper::kMCFlags),
  fEsdTrackCuts(0),
  fdNdEtaAnalysisESD(0),
  fMult(0),
  fMultVtx(0),
  fEvents(0),
  fVertexResolution(0),
  fdNdEtaAnalysis(0),
  fdNdEtaAnalysisND(0),
  fdNdEtaAnalysisNSD(0),
  fdNdEtaAnalysisOnePart(0),
  fdNdEtaAnalysisTr(0),
  fdNdEtaAnalysisTrVtx(0),
  fdNdEtaAnalysisTracks(0),
  fPartPt(0),
  fVertex(0),
  fVertexVsMult(0),
  fPhi(0),
  fRawPt(0),
  fEtaPhi(0),
  fModuleMap(0),
  fDeltaPhi(0),
  fDeltaTheta(0),
  fFiredChips(0),
  fTrackletsVsClusters(0),
  fTrackletsVsUnassigned(0),
  fStats(0),
  fStats2(0),
  fPtMin(0.15),
  fEta(0x0),
  fEtaMC(0x0),
  fHistEvents(0),
  fHistEventsMC(0),
  fTrigEffNum(0),
  fTrigEffDen(0),
  fVtxEffNum(0),
  fVtxEffDen(0),
  fVtxTrigEffNum(0),
  fVtxTrigEffDen(0)
{
  //
  // Constructor. Initialization of pointers
  //

  // Define input and output slots here
  //DefineInput(0, TChain::Class());
  DefineOutput(1, TList::Class());
  
  fZPhi[0] = 0;
  fZPhi[1] = 0;

  AliLog::SetClassDebugLevel("AlidNdEtaTask", AliLog::kWarning);
}

AlidNdEtaTask::~AlidNdEtaTask()
{
  //
  // Destructor
  //

  // histograms are in the output list and deleted when the output
  // list is deleted by the TSelector dtor

  if (fOutput && !AliAnalysisManager::GetAnalysisManager()->IsProofMode()) {
    delete fOutput;
    fOutput = 0;
  }
}

Bool_t AlidNdEtaTask::UserNotify()
{
  static Int_t count = 0;
  count++;
  Printf("Processing %d. file: %s", count, ((TTree*) GetInputData(0))->GetCurrentFile()->GetName());
  return kTRUE;
}

//________________________________________________________________________
void AlidNdEtaTask::ConnectInputData(Option_t *opt)
{
  // Connect ESD
  // Called once
  
  AliAnalysisTaskSE::ConnectInputData(opt);

  Printf("AlidNdEtaTask::ConnectInputData called");

  /*
  AliESDInputHandler *esdH = dynamic_cast<AliESDInputHandler*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());

  if (!esdH) {
    Printf("ERROR: Could not get ESDInputHandler");
  } else {
    fESD = esdH->GetEvent();
    
    TString branches("AliESDHeader Vertex ");

    if (fAnalysisMode & AliPWG0Helper::kSPD || fTrigger & AliTriggerAnalysis::kOfflineFlag)
      branches += "AliMultiplicity ";
      
    if (fAnalysisMode & AliPWG0Helper::kTPC || fAnalysisMode & AliPWG0Helper::kTPCITS)
      branches += "Tracks ";
  
    // Enable only the needed branches
    esdH->SetActiveBranches(branches);
  }
  */

  // disable info messages of AliMCEvent (per event)
  AliLog::SetClassDebugLevel("AliMCEvent", AliLog::kWarning - AliLog::kDebug + 1);
  
  #ifdef FULLALIROOT
    AliCDBManager::Instance()->SetDefaultStorage("raw://");
    //AliCDBManager::Instance()->SetDefaultStorage("MC", "Residual");
    AliCDBManager::Instance()->SetRun(0);
    
    AliCDBManager* mgr = AliCDBManager::Instance();
    AliCDBEntry* obj = mgr->Get(AliCDBPath("GRP", "Geometry", "Data"));
    AliGeomManager::SetGeometry((TGeoManager*) obj->GetObject());
    
    AliGeomManager::GetNalignable("ITS");
    AliGeomManager::ApplyAlignObjsFromCDB("ITS");
  #endif
}

void AlidNdEtaTask::UserCreateOutputObjects()
{
  // create result objects and add to output list

  Printf("AlidNdEtaTask::CreateOutputObjects");
  //AliLog::SetClassDebugLevel("AliPhysicsSelection", AliLog::kDebug);

  if (fOnlyPrimaries)
    Printf("WARNING: Processing only primaries (MC information used). This is for systematical checks only.");

  if (fUseMCKine)
    Printf("WARNING: Using MC kine information. This is for systematical checks only.");

  if (fUseMCVertex)
    Printf("WARNING: Replacing vertex by MC vertex. This is for systematical checks only.");

  fOutput = new TList;
  fOutput->SetOwner();

  fdNdEtaAnalysisESD = new dNdEtaAnalysis("fdNdEtaAnalysisESD", "fdNdEtaAnalysisESD", fAnalysisMode);
  fOutput->Add(fdNdEtaAnalysisESD);

  fMult = new TH1F("fMult", "fMult;Ntracks;Count", 201, -0.5, 200.5);
  fOutput->Add(fMult);

  fMultVtx = new TH1F("fMultVtx", "fMultVtx;Ntracks;Count", 201, -0.5, 200.5);
  fOutput->Add(fMultVtx);

  for (Int_t i=0; i<3; ++i)
  {
    fPartEta[i] = new TH1F(Form("dndeta_check_%d", i), Form("dndeta_check_%d", i), 60, -3, 3);
    fPartEta[i]->Sumw2();
    fOutput->Add(fPartEta[i]);
  }

  fEvents = new TH1F("dndeta_check_vertex", "dndeta_check_vertex", 800, -40, 40);
  fOutput->Add(fEvents);

  fVertexResolution = new TH2F("dndeta_vertex_resolution_z", ";z resolution;#Delta #phi", 1000, 0, 2, 100, 0, 0.2);
  fOutput->Add(fVertexResolution);

  fPhi = new TH1F("fPhi", "fPhi;#phi in rad.;count", 720, 0, 2 * TMath::Pi());
  fOutput->Add(fPhi);

  fEtaPhi = new TH2F("fEtaPhi", "fEtaPhi;#eta;#phi in rad.;count", 80, -4, 4, 18*20, 0, 2 * TMath::Pi());
  fOutput->Add(fEtaPhi);
  
  fStats = new TH1F("fStats", "fStats", 5, 0.5, 5.5);
  fStats->GetXaxis()->SetBinLabel(1, "vertexer 3d");
  fStats->GetXaxis()->SetBinLabel(2, "vertexer z");
  fStats->GetXaxis()->SetBinLabel(3, "trigger");
  fStats->GetXaxis()->SetBinLabel(4, "physics events");
  fStats->GetXaxis()->SetBinLabel(5, "physics events after veto");
  fOutput->Add(fStats);
  
  fStats2 = new TH2F("fStats2", "fStats2", 7, -0.5, 6.5, 12, -0.5, 11.5);
  
  fStats2->GetXaxis()->SetBinLabel(1, "No trigger");
  fStats2->GetXaxis()->SetBinLabel(2, "No Vertex");
  fStats2->GetXaxis()->SetBinLabel(3, "Vtx res. too bad");
  fStats2->GetXaxis()->SetBinLabel(4, "|z-vtx| > 15");
  fStats2->GetXaxis()->SetBinLabel(5, "|z-vtx| > 10");
  fStats2->GetXaxis()->SetBinLabel(6, "0 tracklets");
  fStats2->GetXaxis()->SetBinLabel(7, "Selected");
  
  fStats2->GetYaxis()->SetBinLabel(1, "n/a");
  fStats2->GetYaxis()->SetBinLabel(2, "empty");
  fStats2->GetYaxis()->SetBinLabel(3, "BBA");
  fStats2->GetYaxis()->SetBinLabel(4, "BBC");
  fStats2->GetYaxis()->SetBinLabel(5, "BBA BBC");
  fStats2->GetYaxis()->SetBinLabel(6, "BGA");
  fStats2->GetYaxis()->SetBinLabel(7, "BGC");
  fStats2->GetYaxis()->SetBinLabel(8, "BGA BGC");
  fStats2->GetYaxis()->SetBinLabel(9, "BBA BGC");
  fStats2->GetYaxis()->SetBinLabel(10, "BGA BBC");
  fStats2->GetYaxis()->SetBinLabel(11, "GFO");
  fStats2->GetYaxis()->SetBinLabel(12, "NO GFO");
  fOutput->Add(fStats2);

  fTrackletsVsClusters = new TH2F("fTrackletsVsClusters", ";tracklets;clusters in ITS", 50, -0.5, 49.5, 1000, -0.5, 999.5);
  fOutput->Add(fTrackletsVsClusters);
  
  if (fAnalysisMode & AliPWG0Helper::kSPD)
  {
    fDeltaPhi = new TH1F("fDeltaPhi", "fDeltaPhi;#Delta #phi;Entries", 500, -0.16, 0.16);
    fOutput->Add(fDeltaPhi);
    fDeltaTheta = new TH1F("fDeltaTheta", "fDeltaTheta;#Delta #theta;Entries", 500, -0.05, 0.05);
    fOutput->Add(fDeltaTheta);
    fFiredChips = new TH2F("fFiredChips", "fFiredChips;Chips L1 + L2;tracklets", 1201, -0.5, 1201, 50, -0.5, 49.5);
    fOutput->Add(fFiredChips);
    fTrackletsVsUnassigned = new TH2F("fTrackletsVsUnassigned", ";tracklets;unassigned clusters in L0", 50, -0.5, 49.5, 200, -0.5, 199.5);
    fOutput->Add(fTrackletsVsUnassigned);
    for (Int_t i=0; i<2; i++)
    {
      fZPhi[i] = new TH2F(Form("fZPhi_%d", i), Form("fZPhi Layer %d;z (cm);#phi (rad.)", i), 200, -15, 15, 200, 0, TMath::Pi() * 2);
      fOutput->Add(fZPhi[i]);
    }
    
    fModuleMap = new TH1F("fModuleMap", "fModuleMap;module number;cluster count", 240, -0.5, 239.5);
    fOutput->Add(fModuleMap);
  }

  if (fAnalysisMode & AliPWG0Helper::kTPC || fAnalysisMode & AliPWG0Helper::kTPCITS)
  {
    fRawPt =  new TH1F("fRawPt", "raw pt;p_{T};Count", 2000, 0, 100);
    fOutput->Add(fRawPt);
  }

  fVertex = new TH3F("vertex_check", "vertex_check;x;y;z", 100, -1, 1, 100, -1, 1, 100, -30, 30);
  fOutput->Add(fVertex);
  
  fVertexVsMult = new TH3F("fVertexVsMult", "fVertexVsMult;x;y;multiplicity", 100, -1, 1, 100, -1, 1, 100, -0.5, 99.5);
  fOutput->Add(fVertexVsMult);

  if (fReadMC)
  {
    fdNdEtaAnalysis = new dNdEtaAnalysis("dndeta", "dndeta", fAnalysisMode);
    fOutput->Add(fdNdEtaAnalysis);

    fdNdEtaAnalysisND = new dNdEtaAnalysis("dndetaND", "dndetaND", fAnalysisMode);
    fOutput->Add(fdNdEtaAnalysisND);

    fdNdEtaAnalysisNSD = new dNdEtaAnalysis("dndetaNSD", "dndetaNSD", fAnalysisMode);
    fOutput->Add(fdNdEtaAnalysisNSD);

    fdNdEtaAnalysisOnePart = new dNdEtaAnalysis("dndetaOnePart", "dndetaOnePart", fAnalysisMode);
    fOutput->Add(fdNdEtaAnalysisOnePart);

    fdNdEtaAnalysisTr = new dNdEtaAnalysis("dndetaTr", "dndetaTr", fAnalysisMode);
    fOutput->Add(fdNdEtaAnalysisTr);

    fdNdEtaAnalysisTrVtx = new dNdEtaAnalysis("dndetaTrVtx", "dndetaTrVtx", fAnalysisMode);
    fOutput->Add(fdNdEtaAnalysisTrVtx);

    fdNdEtaAnalysisTracks = new dNdEtaAnalysis("dndetaTracks", "dndetaTracks", fAnalysisMode);
    fOutput->Add(fdNdEtaAnalysisTracks);

    fPartPt =  new TH1F("dndeta_check_pt", "dndeta_check_pt", 1000, 0, 10);
    fPartPt->Sumw2();
    fOutput->Add(fPartPt);
  }

  if (fEsdTrackCuts)
  {
    fEsdTrackCuts->SetName("fEsdTrackCuts");
    fOutput->Add(fEsdTrackCuts);
  }

  fEta = new TH1D("fEta", "Eta;#eta;count", 80, -4, 4);
  fOutput->Add(fEta);
  
  fEtaMC = new TH1D("fEtaMC", "Eta, MC;#eta;count", 80, -4, 4);
  fOutput->Add(fEtaMC);

  fHistEvents = new TH1D("fHistEvents", "N. of Events;accepted;count", 2, 0, 2);
  fOutput->Add(fHistEvents);
  
  fHistEventsMC = new TH1D("fHistEventsMC", "N. of MC Events;accepted;count", 2, 0, 2);
  fOutput->Add(fHistEventsMC);

  fTrigEffNum = new TH1D("fTrigEffNum", "N. of triggered events", 100,0,100); 
  fOutput->Add(fTrigEffNum);
  fTrigEffDen = new TH1D("fTrigEffDen", "N. of true events", 100,0,100); 
  fOutput->Add(fTrigEffDen);
  fVtxEffNum = new TH1D("fVtxEffNum", "N. of events with vtx", 100,0,100); 
  fOutput->Add(fVtxEffNum);
  fVtxEffDen = new TH1D("fVtxEffDen", "N. of true events", 100,0,100); 
  fOutput->Add(fVtxEffDen);
  fVtxTrigEffNum = new TH1D("fVtxTrigEffNum", "N. of triggered events with vtx", 100,0,100); 
  fOutput->Add(fVtxTrigEffNum);
  fVtxTrigEffDen = new TH1D("fVtxTrigEffDen", "N. of triggered true events", 100,0,100); 
  fOutput->Add(fVtxTrigEffDen);
  
  //AliLog::SetClassDebugLevel("AliPhysicsSelection", AliLog::kDebug);
}

Bool_t AlidNdEtaTask::IsEventInBinZero()
{
  // checks if the event goes to the 0 bin
  
  Bool_t isZeroBin = kTRUE;
  fESD = (AliESDEvent*) fInputEvent;
  
  AliInputEventHandler* inputHandler = static_cast<AliInputEventHandler*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
  if (!inputHandler)
  {
    Printf("ERROR: Could not receive input handler");
    return kFALSE;
  }
    
  static AliTriggerAnalysis* triggerAnalysis = 0;
  if (!triggerAnalysis)
  {
    AliPhysicsSelection* physicsSelection = dynamic_cast<AliPhysicsSelection*> (inputHandler->GetEventSelection());
    if (physicsSelection)
      triggerAnalysis = physicsSelection->GetTriggerAnalysis();
  }
  
  if (!triggerAnalysis)
  {
    Printf("ERROR: Could not receive trigger analysis object");
    return kFALSE;
  }
  
  if (!triggerAnalysis->IsTriggerFired(fESD, fTrigger))
    return kFALSE;
  
  // 0 bin check - from Michele
  
  const AliMultiplicity* mult = fESD->GetMultiplicity();
  if (!mult){
    Printf("AlidNdEtaTask::IsBinZero: Can't get multiplicity object from ESDs");
    return kFALSE;
  }
  Int_t ntracklet = mult->GetNumberOfTracklets();
  const AliESDVertex * vtxESD = fESD->GetPrimaryVertexSPD();
  if(vtxESD) {
	  // If there is a vertex from vertexer z with delta phi > 0.02 we
	  // don't consider it rec (we keep the event in bin0). If quality
	  // is good eneough we check the number of tracklets
	  // if the vertex is more than 15 cm away, this is autamatically bin0
	  if( TMath::Abs(vtxESD->GetZ()) <= 15 ) {
		  if (vtxESD->IsFromVertexerZ()) {
			  if (vtxESD->GetDispersion()<=0.02 ) {
				  if(ntracklet>0) isZeroBin = kFALSE;
			  }
		  } else if(ntracklet>0) isZeroBin = kFALSE; // if the event is not from Vz we chek the n of tracklets
	  } 
  }
  return isZeroBin;
}

void AlidNdEtaTask::UserExec(Option_t*)
{
  // process the event

  fESD = (AliESDEvent*) fInputEvent;
  
  // these variables are also used in the MC section below; however, if ESD is off they stay with their default values
  Bool_t eventTriggered = kFALSE;
  const AliESDVertex* vtxESD = 0;

  // post the data already here
  PostData(1, fOutput);

  // ESD analysis
  if (fESD)
  {
    AliESDHeader* esdHeader = fESD->GetHeader();
    if (!esdHeader)
    {
      Printf("ERROR: esdHeader could not be retrieved");
      return;
    }
    
    AliInputEventHandler* inputHandler = (AliInputEventHandler*) AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler();
    if (!inputHandler)
    {
      Printf("ERROR: Could not receive input handler");
      return;
    }
    
    // TODO use flags here!
    eventTriggered = inputHandler->IsEventSelected();
        
    static AliTriggerAnalysis* triggerAnalysis = 0;
    if (!triggerAnalysis)
    {
      AliPhysicsSelection* physicsSelection = dynamic_cast<AliPhysicsSelection*> (inputHandler->GetEventSelection());
      if (physicsSelection)
        triggerAnalysis = physicsSelection->GetTriggerAnalysis();
    }
      
    if (eventTriggered)
      eventTriggered = triggerAnalysis->IsTriggerFired(fESD, fTrigger);
    
    AliTriggerAnalysis::V0Decision v0A = triggerAnalysis->V0Trigger(fESD, AliTriggerAnalysis::kASide, kFALSE);
    AliTriggerAnalysis::V0Decision v0C = triggerAnalysis->V0Trigger(fESD, AliTriggerAnalysis::kCSide, kFALSE);
    Bool_t fastORHW = (triggerAnalysis->SPDFiredChips(fESD, 1) > 0);
    
    Int_t vZero = 0;
    if (v0A != AliTriggerAnalysis::kV0Invalid && v0C != AliTriggerAnalysis::kV0Invalid)
    {
      if (v0A == AliTriggerAnalysis::kV0Empty && v0C == AliTriggerAnalysis::kV0Empty) vZero = 1;
      if (v0A == AliTriggerAnalysis::kV0BB    && v0C == AliTriggerAnalysis::kV0Empty) vZero = 2;
      if (v0A == AliTriggerAnalysis::kV0Empty && v0C == AliTriggerAnalysis::kV0BB)    vZero = 3;
      if (v0A == AliTriggerAnalysis::kV0BB    && v0C == AliTriggerAnalysis::kV0BB)    vZero = 4;
      if (v0A == AliTriggerAnalysis::kV0BG    && v0C == AliTriggerAnalysis::kV0Empty) vZero = 5;
      if (v0A == AliTriggerAnalysis::kV0Empty && v0C == AliTriggerAnalysis::kV0BG)    vZero = 6;
      if (v0A == AliTriggerAnalysis::kV0BG    && v0C == AliTriggerAnalysis::kV0BG)    vZero = 7;
      if (v0A == AliTriggerAnalysis::kV0BB    && v0C == AliTriggerAnalysis::kV0BG)    vZero = 8;
      if (v0A == AliTriggerAnalysis::kV0BG    && v0C == AliTriggerAnalysis::kV0BB)    vZero = 9;
    }

    if (vZero == 0)
      Printf("VZERO: %d %d %d %d", vZero, eventTriggered, v0A, v0C);
      
    Bool_t filled = kFALSE;
      
    if (!eventTriggered)
    {
      fStats2->Fill(0.0, vZero);
      fStats2->Fill(0.0, (fastORHW) ? 10 : 11);
      filled = kTRUE;
    }
    
    if (eventTriggered)
      fStats->Fill(3);
      
    /*
    // ITS cluster tree
    AliESDInputHandlerRP* handlerRP = dynamic_cast<AliESDInputHandlerRP*> (AliAnalysisManager::GetAnalys
isManager()->GetInputEventHandler());
    if (handlerRP)
    {
      TTree* itsClusterTree = handlerRP->GetTreeR("ITS");
      if (!itsClusterTree)
        return;

      TClonesArray* itsClusters = new TClonesArray("AliITSRecPoint");
      TBranch* itsClusterBranch=itsClusterTree->GetBranch("ITSRecPoints");

      itsClusterBranch->SetAddress(&itsClusters);

      Int_t nItsSubs = (Int_t)itsClusterTree->GetEntries();

      Int_t totalClusters = 0;

      // loop over the its subdetectors
      for (Int_t iIts=0; iIts < nItsSubs; iIts++) {

        if (!itsClusterTree->GetEvent(iIts))
          continue;

        Int_t nClusters = itsClusters->GetEntriesFast();
        totalClusters += nClusters;

        #ifdef FULLALIROOT
          if (fAnalysisMode & AliPWG0Helper::kSPD)
          {
            // loop over clusters
            while (nClusters--) {
              AliITSRecPoint* cluster = (AliITSRecPoint*) itsClusters->UncheckedAt(nClusters);

              Int_t layer = cluster->GetLayer();

              if (layer > 1)
                continue;

              Float_t xyz[3] = {0., 0., 0.};
              cluster->GetGlobalXYZ(xyz);

              Float_t phi = TMath::Pi() + TMath::ATan2(-xyz[1], -xyz[0]);
              Float_t z = xyz[2];

              fZPhi[layer]->Fill(z, phi);
              fModuleMap->Fill(layer * 80 + cluster->GetDetectorIndex());
            }
          }
        #endif
      }
    }
    */
      
    vtxESD = AliPWG0Helper::GetVertex(fESD, fAnalysisMode);
    if (!vtxESD)
    {
      if (!filled)
      {
        fStats2->Fill(1, vZero);
        fStats2->Fill(1, (fastORHW) ? 10 : 11);
        filled = kTRUE;
      }
    }
    else
    {
      if (!AliPWG0Helper::TestVertex(vtxESD, fAnalysisMode))
      {
        if (!filled)
        {
          fStats2->Fill(2, vZero);
          fStats2->Fill(2, (fastORHW) ? 10 : 11);
          filled = kTRUE;
        }
      }
      
      Double_t vtx[3];
      vtxESD->GetXYZ(vtx);
      
      // try to compare spd vertex and vertexer from tracks
      // remove vertices outside +- 15 cm
      if (TMath::Abs(vtx[2]) > 15)
      {
        if (!filled)
        {
          fStats2->Fill(3, vZero);
          fStats2->Fill(3, (fastORHW) ? 10 : 11);
          filled = kTRUE;
        }
      }
      
      if (TMath::Abs(vtx[2]) > 10)
      {
        if (!filled)
        {
          fStats2->Fill(4, vZero);
          fStats2->Fill(4, (fastORHW) ? 10 : 11);
          filled = kTRUE;
        }
      }
        
      const AliMultiplicity* mult = fESD->GetMultiplicity();
      if (!mult)
      {
	Printf("Returning, no Multiplicity found");
        return;
      }
      
      if (mult->GetNumberOfTracklets() == 0)
      {
        if (!filled)
        {
          fStats2->Fill(5, vZero);
          fStats2->Fill(5, (fastORHW) ? 10 : 11);
          filled = kTRUE;
        }
      }
    }
    
    if (!filled)
    {
      fStats2->Fill(6, vZero);
      fStats2->Fill(6, (fastORHW) ? 10 : 11);
      //Printf("File: %s, IEV: %d, TRG: ---, Orbit: 0x%x, Period: %d, BC: %d", ((TTree*) GetInputData(0))->GetCurrentFile()->GetName(), fESD->GetEventNumberInFile(), fESD->GetOrbitNumber(),fESD->GetPeriodNumber(),fESD->GetBunchCrossNumber());
    }
      
    if (eventTriggered)
      fStats->Fill(3);
    
    fStats->Fill(5);
    
    // get the ESD vertex
    vtxESD = AliPWG0Helper::GetVertex(fESD, fAnalysisMode);
    
    Double_t vtx[3];

    // fill z vertex resolution
    if (vtxESD)
    {
      if (strcmp(vtxESD->GetTitle(), "vertexer: Z") == 0)
        fVertexResolution->Fill(vtxESD->GetZRes(), vtxESD->GetDispersion());
      else
        fVertexResolution->Fill(vtxESD->GetZRes(), 0);
      
      //if (strcmp(vtxESD->GetTitle(), "vertexer: 3D") == 0)
      {
        fVertex->Fill(vtxESD->GetX(), vtxESD->GetY(), vtxESD->GetZ());
      }
      
      if (AliPWG0Helper::TestVertex(vtxESD, fAnalysisMode))
      {
          vtxESD->GetXYZ(vtx);

          // vertex stats
          if (strcmp(vtxESD->GetTitle(), "vertexer: 3D") == 0)
            fStats->Fill(1);
          
          if (strcmp(vtxESD->GetTitle(), "vertexer: Z") == 0)
            fStats->Fill(2);
          
          // remove vertices outside +- 15 cm
          if (TMath::Abs(vtx[2]) > 15)
            vtxESD = 0;
      }
      else
        vtxESD = 0;
    }

    // needed for syst. studies
    AliStack* stack = 0;
    TArrayF vtxMC(3);

    if (fUseMCVertex || fUseMCKine || fOnlyPrimaries || fReadMC) {
      if (!fReadMC) {
        Printf("ERROR: fUseMCVertex or fUseMCKine or fOnlyPrimaries set without fReadMC set!");
        return;
      }

      AliMCEventHandler* eventHandler = dynamic_cast<AliMCEventHandler*> (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler());
      if (!eventHandler) {
        Printf("ERROR: Could not retrieve MC event handler");
        return;
      }

      AliMCEvent* mcEvent = eventHandler->MCEvent();
      if (!mcEvent) {
        Printf("ERROR: Could not retrieve MC event");
        return;
      }

      AliHeader* header = mcEvent->Header();
      if (!header)
      {
        AliDebug(AliLog::kError, "Header not available");
        return;
      }

      // get the MC vertex
      AliGenEventHeader* genHeader = header->GenEventHeader();
      if (!genHeader)
      {
        AliDebug(AliLog::kError, "Could not retrieve genHeader from Header");
        return;
      }
      genHeader->PrimaryVertex(vtxMC);

      if (fUseMCVertex)
        vtx[2] = vtxMC[2];

      stack = mcEvent->Stack();
      if (!stack)
      {
        AliDebug(AliLog::kError, "Stack not available");
        return;
      }
    }
    
    // create list of (label, eta, pt) tuples
    Int_t inputCount = 0;
    Int_t* labelArr = 0;
    Float_t* etaArr = 0;
    Float_t* thirdDimArr = 0;
    if (fAnalysisMode & AliPWG0Helper::kSPD)
    {
      if (vtxESD)
      {
        // get tracklets
        const AliMultiplicity* mult = fESD->GetMultiplicity();
        if (!mult)
        {
          AliDebug(AliLog::kError, "AliMultiplicity not available");
          return;
        }
  
        Int_t arrayLength = mult->GetNumberOfTracklets();
        if (fAnalysisMode & AliPWG0Helper::kSPDOnlyL0)
          arrayLength += mult->GetNumberOfSingleClusters();
          
        labelArr = new Int_t[arrayLength];
        etaArr = new Float_t[arrayLength];
        thirdDimArr = new Float_t[arrayLength];
  
        // get multiplicity from SPD tracklets
        for (Int_t i=0; i<mult->GetNumberOfTracklets(); ++i)
        {
          //printf("%d %f %f %f\n", i, mult->GetTheta(i), mult->GetPhi(i), mult->GetDeltaPhi(i));
  
          if (fOnlyPrimaries)
            if (mult->GetLabel(i, 0) < 0 || mult->GetLabel(i, 0) != mult->GetLabel(i, 1) || !stack->IsPhysicalPrimary(mult->GetLabel(i, 0)))
              continue;
  
          Float_t deltaPhi = mult->GetDeltaPhi(i);
          // prevent values to be shifted by 2 Pi()
          if (deltaPhi < -TMath::Pi())
            deltaPhi += TMath::Pi() * 2;
          if (deltaPhi > TMath::Pi())
            deltaPhi -= TMath::Pi() * 2;
  
          if (TMath::Abs(deltaPhi) > 1)
            printf("WARNING: Very high Delta Phi: %d %f %f %f\n", i, mult->GetTheta(i), mult->GetPhi(i), deltaPhi);
  
          Int_t label = mult->GetLabel(i, 0);
          Float_t eta = mult->GetEta(i);
          
          // control histograms
          Float_t phi = mult->GetPhi(i);
          if (phi < 0)
            phi += TMath::Pi() * 2;
            
          // TEST exclude probably inefficient phi region
          //if (phi > 5.70 || phi < 0.06)
          //  continue;
            
          fPhi->Fill(phi);
          
          if (vtxESD && TMath::Abs(vtx[2]) < 10)
          {
            fEtaPhi->Fill(eta, phi);
            fDeltaPhi->Fill(deltaPhi);
            fDeltaTheta->Fill(mult->GetDeltaTheta(i));
          }
          
          if (fDeltaPhiCut > 0 && (TMath::Abs(deltaPhi) > fDeltaPhiCut || TMath::Abs(mult->GetDeltaTheta(i)) > fDeltaPhiCut / 0.08 * 0.025))
            continue;
  
          if (fUseMCKine)
          {
            if (label > 0)
            {
              TParticle* particle = stack->Particle(label);
              eta = particle->Eta();
              phi = particle->Phi();
            }
            else
              Printf("WARNING: fUseMCKine set without fOnlyPrimaries and no label found");
          }
          
          if (fSymmetrize)
            eta = TMath::Abs(eta);
  
          etaArr[inputCount] = eta;
          labelArr[inputCount] = label;
          thirdDimArr[inputCount] = phi;
          ++inputCount;
        }
        
        if (fAnalysisMode & AliPWG0Helper::kSPDOnlyL0)
        {
          // get additional clusters from L0 
          for (Int_t i=0; i<mult->GetNumberOfSingleClusters(); ++i)
          {
            etaArr[inputCount] = -TMath::Log(TMath::Tan(mult->GetThetaSingle(i)/2.));
            labelArr[inputCount] = -1;
            thirdDimArr[inputCount] = mult->GetPhiSingle(i);
            
            ++inputCount;
          }
        }
        
        if (!fFillPhi)
        {
          // fill multiplicity in third axis
          for (Int_t i=0; i<inputCount; ++i)
            thirdDimArr[i] = inputCount;
        }
  
        Int_t firedChips = mult->GetNumberOfFiredChips(0) + mult->GetNumberOfFiredChips(1);
        fFiredChips->Fill(firedChips, inputCount);
        Printf("Accepted %d tracklets (%d fired chips)", inputCount, firedChips);
        
        fTrackletsVsUnassigned->Fill(inputCount, mult->GetNumberOfSingleClusters());
      }
    }
    else if (fAnalysisMode & AliPWG0Helper::kTPC || fAnalysisMode & AliPWG0Helper::kTPCITS)
    {
      if (!fEsdTrackCuts)
      {
        AliDebug(AliLog::kError, "fESDTrackCuts not available");
        return;
      }

      Bool_t foundInEta10 = kFALSE;
      
      if (vtxESD)
      {
        // get multiplicity from ESD tracks
        TObjArray* list = fEsdTrackCuts->GetAcceptedTracks(fESD, fAnalysisMode & AliPWG0Helper::kTPC);
        Int_t nGoodTracks = list->GetEntries();
        Printf("Accepted %d tracks out of %d total ESD tracks", nGoodTracks, fESD->GetNumberOfTracks());
  
        labelArr = new Int_t[nGoodTracks];
        etaArr = new Float_t[nGoodTracks];
        thirdDimArr = new Float_t[nGoodTracks];
  
        // loop over esd tracks
        for (Int_t i=0; i<nGoodTracks; i++)
        {
          AliESDtrack* esdTrack = dynamic_cast<AliESDtrack*> (list->At(i));
          if (!esdTrack)
          {
            AliDebug(AliLog::kError, Form("ERROR: Could not retrieve track %d.", i));
            continue;
          }
          
          Float_t phi = esdTrack->Phi();
          if (phi < 0)
            phi += TMath::Pi() * 2;
  
          Float_t eta = esdTrack->Eta();
          Int_t label = TMath::Abs(esdTrack->GetLabel());
          Float_t pT  = esdTrack->Pt();
          
          // force pT to fixed value without B field
          if (!(fAnalysisMode & AliPWG0Helper::kFieldOn))
            pT = 1;
  
          fPhi->Fill(phi);
          fEtaPhi->Fill(eta, phi);
          if (eventTriggered && vtxESD)
            fRawPt->Fill(pT);
  
          if (esdTrack->Pt() < fPtMin) // even if the pt cut is already in the esdTrackCuts....
            continue;
          
          if (fOnlyPrimaries)
          {
	   if (label == 0)
	     continue;
	   
	   if (stack->IsPhysicalPrimary(label) == kFALSE)
	     continue;
          }

	  // 2 types of INEL>0 trigger - choose one

	  // 1. HL 
          // INEL>0 trigger
          // if (TMath::Abs(esdTrack->Eta()) < 1 && esdTrack->Pt() > 0.15)
          // foundInEta10 = kTRUE;

          // 2. MB working group
	  if (TMath::Abs(esdTrack->Eta()) < 0.8 && esdTrack->Pt() > fPtMin){  // this should be in the trigger selection as well, so one particle should always be found
	    foundInEta10 = kTRUE;
	  }
  
          if (fUseMCKine)
          {
	    if (label > 0)
            {
              TParticle* particle = stack->Particle(label);
              eta = particle->Eta();
              pT = particle->Pt();
	      // check when using INEL>0, MB Working Group definition
	      if (TMath::Abs(eta) >=0.8 || pT <= fPtMin){
		AliDebug(2,Form("WARNING ************* USING KINE: eta = %f, pt = %f",eta,pT));
	      }
            }
            else
              Printf("WARNING: fUseMCKine set without fOnlyPrimaries and no label found");
	  }
  
          if (fSymmetrize)
            eta = TMath::Abs(eta);
          etaArr[inputCount] = eta;
          labelArr[inputCount] = TMath::Abs(esdTrack->GetLabel());
          thirdDimArr[inputCount] = pT;
          ++inputCount;
        }
        
        //if (inputCount > 30)
        //  Printf("Event with %d accepted TPC tracks. Period number: %d Orbit number: %x Bunch crossing number: %d", inputCount, fESD->GetPeriodNumber(), fESD->GetOrbitNumber(), fESD->GetBunchCrossNumber());
        
        // TODO restrict inputCount used as measure for the multiplicity to |eta| < 1
  
        delete list;
      }
      
      if (!foundInEta10){
        eventTriggered = kFALSE;
	fHistEvents->Fill(0.1);
	AliDebug(3,"Event rejected");
      }
      else{
	if (eventTriggered){
	  fHistEvents->Fill(1.1);
	  AliDebug(3,Form("Event Accepted, with inputcount = %d",inputCount));
	}
	else{
	  AliDebug(3,"Event has foundInEta10 but was not triggered");
	}
      }
    }
    else
      return;

    // Processing of ESD information (always)
    if (eventTriggered)
    {
      // control hist
      fMult->Fill(inputCount);
      fdNdEtaAnalysisESD->FillTriggeredEvent(inputCount);

      if (vtxESD)
      {
        // control hist
        
        if (strcmp(vtxESD->GetTitle(), "vertexer: 3D") == 0)
          fVertexVsMult->Fill(vtxESD->GetX(), vtxESD->GetY(), inputCount);
      
        Int_t part05 = 0;
        Int_t part10 = 0;
        for (Int_t i=0; i<inputCount; ++i)
        {
          Float_t eta = etaArr[i];
          Float_t thirdDim = thirdDimArr[i];
	  fEta->Fill(eta);

          fdNdEtaAnalysisESD->FillTrack(vtx[2], eta, thirdDim);

          if (TMath::Abs(vtx[2]) < 10)
          {
            fPartEta[0]->Fill(eta);

            if (vtx[2] < 0)
              fPartEta[1]->Fill(eta);
            else
              fPartEta[2]->Fill(eta);
          }
          
          if (TMath::Abs(eta) < 0.5)
            part05++;
          if (TMath::Abs(eta) < 1.0) // in the INEL>0, MB WG definition, this is in any case equivalent to <0.8, due to the EsdTrackCuts
            part10++;
        }
        
        Int_t multAxis = inputCount;
        if (fMultAxisEta1)
          multAxis = part10;

        fMultVtx->Fill(multAxis);
        //if (TMath::Abs(vtx[2]) < 10)
        //  fMultVtx->Fill(part05);

        // for event count per vertex
        fdNdEtaAnalysisESD->FillEvent(vtx[2], multAxis);

        // control hist
        if (multAxis > 0)
          fEvents->Fill(vtx[2]);

        if (fReadMC)
        {
          // from tracks is only done for triggered and vertex reconstructed events
          for (Int_t i=0; i<inputCount; ++i)
          {
            Int_t label = labelArr[i];

            if (label < 0)
              continue;

            //Printf("Getting particle of track %d", label);
            TParticle* particle = stack->Particle(label);

            if (!particle)
            {
              AliDebug(AliLog::kError, Form("ERROR: Could not retrieve particle %d.", label));
              continue;
            }

            Float_t thirdDim = -1;
            if (fAnalysisMode & AliPWG0Helper::kSPD)
            {
              if (fFillPhi)
              {
                thirdDim = particle->Phi();
              }
              else
                thirdDim = multAxis;
            }
            else
              thirdDim = particle->Pt();

            Float_t eta = particle->Eta();
            if (fSymmetrize)
              eta = TMath::Abs(eta);
            fdNdEtaAnalysisTracks->FillTrack(vtxMC[2], eta, thirdDim);
          } // end of track loop

          // for event count per vertex
          fdNdEtaAnalysisTracks->FillEvent(vtxMC[2], multAxis);
        }
      }
    }
    if (etaArr)
      delete[] etaArr;
    if (labelArr)
      delete[] labelArr;
    if (thirdDimArr)
      delete[] thirdDimArr;
  }

  if (fReadMC)   // Processing of MC information (optional)
  {
    AliMCEventHandler* eventHandler = dynamic_cast<AliMCEventHandler*> (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler());
    if (!eventHandler) {
      Printf("ERROR: Could not retrieve MC event handler");
      return;
    }

    AliMCEvent* mcEvent = eventHandler->MCEvent();
    if (!mcEvent) {
      Printf("ERROR: Could not retrieve MC event");
      return;
    }

    AliStack* stack = mcEvent->Stack();
    if (!stack)
    {
      AliDebug(AliLog::kError, "Stack not available");
      return;
    }

    AliHeader* header = mcEvent->Header();
    if (!header)
    {
      AliDebug(AliLog::kError, "Header not available");
      return;
    }

    // get the MC vertex
    AliGenEventHeader* genHeader = header->GenEventHeader();
    if (!genHeader)
    {
      AliDebug(AliLog::kError, "Could not retrieve genHeader from Header");
      return;
    }

    TArrayF vtxMC(3);
    genHeader->PrimaryVertex(vtxMC);
    
    // get process type
    Int_t processType = AliPWG0Helper::GetEventProcessType(fESD, header, stack, fDiffTreatment);
    AliDebug(AliLog::kDebug+1, Form("Found process type %d", processType));

    if (processType == AliPWG0Helper::kInvalidProcess)
      AliDebug(AliLog::kError, Form("Unknown process type %d.", processType));

    // loop over mc particles
    Int_t nPrim  = stack->GetNprimary();

    Int_t nAcceptedParticles = 0;
    Bool_t oneParticleEvent = kFALSE;

    Int_t nMCparticlesinRange = 0; // number of true particles in my range of interest

    // count particles first, then fill
    for (Int_t iMc = 0; iMc < nPrim; ++iMc)
    {
      if (!stack->IsPhysicalPrimary(iMc))
        continue;

      //Printf("Getting particle %d", iMc);
      TParticle* particle = stack->Particle(iMc);

      if (!particle)
        continue;

      if (particle->GetPDG()->Charge() == 0)
        continue;

      //AliDebug(AliLog::kDebug+1, Form("Accepted primary %d, unique ID: %d", iMc, particle->GetUniqueID()));
      Float_t eta = particle->Eta();

      AliDebug(2,Form("particle %d: eta = %f, pt = %f",iMc,particle->Eta(),particle->Pt()));

      // INEL>0: choose one
      // 1.HL
      // if (TMath::Abs(eta) < 1.0){
      //   oneParticleEvent = kTRUE;
      //   nMCparticlesinRange++;
      //}
      // 2.MB Working Group definition
      if (TMath::Abs(eta) < 0.8 && particle->Pt() > fPtMin){
	oneParticleEvent = kTRUE;
	nMCparticlesinRange++;
      }

      // make a rough eta cut (so that nAcceptedParticles is not too far off the true measured value (NB: these histograms are only gathered for comparison))
      if (TMath::Abs(eta) < 1.5) // && pt > 0.3)
        nAcceptedParticles++;
    }

    if (TMath::Abs(vtxMC[2]) < 10.){
      // if MC vertex is inside 10
      if (vtxESD){
	fVtxEffNum->Fill(nMCparticlesinRange);
      }
      fVtxEffDen->Fill(nMCparticlesinRange);
      if (eventTriggered){
	if (vtxESD){
	   fVtxTrigEffNum->Fill(nMCparticlesinRange);
	}
	fVtxTrigEffDen->Fill(nMCparticlesinRange);
	fTrigEffNum->Fill(nMCparticlesinRange);
      }
      fTrigEffDen->Fill(nMCparticlesinRange);
    }

    if (oneParticleEvent){
	    fHistEventsMC->Fill(1.1);
    }
    else{
	    fHistEventsMC->Fill(0.1);
    }	

    for (Int_t iMc = 0; iMc < nPrim; ++iMc)
    {
      if (!stack->IsPhysicalPrimary(iMc))
        continue;

      //Printf("Getting particle %d", iMc);
      TParticle* particle = stack->Particle(iMc);

      if (!particle)
        continue;

      if (particle->GetPDG()->Charge() == 0)
        continue;

      Float_t eta = particle->Eta();
      if (fSymmetrize)
        eta = TMath::Abs(eta);

      Float_t thirdDim = -1;

      if (fAnalysisMode & AliPWG0Helper::kSPD)
      {
        if (fFillPhi)
        {
          thirdDim = particle->Phi();
        }
        else
          thirdDim = nAcceptedParticles;
      }
      else
        thirdDim = particle->Pt();

      fdNdEtaAnalysis->FillTrack(vtxMC[2], eta, thirdDim);

      if (processType != AliPWG0Helper::kSD)
        fdNdEtaAnalysisNSD->FillTrack(vtxMC[2], eta, thirdDim);

      if (processType == AliPWG0Helper::kND)
        fdNdEtaAnalysisND->FillTrack(vtxMC[2], eta, thirdDim);
      
      if (oneParticleEvent){
	      AliDebug(3,Form("filling dNdEtaAnalysis object:: vtx = %f, eta = %f, pt = %f",vtxMC[2], eta, thirdDim));
	      fdNdEtaAnalysisOnePart->FillTrack(vtxMC[2], eta, thirdDim);
      }

      if (eventTriggered)
      {
        fdNdEtaAnalysisTr->FillTrack(vtxMC[2], eta, thirdDim);
        if (vtxESD)
          fdNdEtaAnalysisTrVtx->FillTrack(vtxMC[2], eta, thirdDim);
      }

      if (TMath::Abs(eta) < 1.0 && particle->Pt() > 0 && particle->P() > 0)
      {
        //Float_t value = 1. / TMath::TwoPi() / particle->Pt() * particle->Energy() / particle->P();
        Float_t value = 1;
        fPartPt->Fill(particle->Pt(), value);
	if (TMath::Abs(eta) < 0.8 && particle->Pt() > fPtMin){
	  fEtaMC->Fill(eta);
	}
      }
    }

    fdNdEtaAnalysis->FillEvent(vtxMC[2], nAcceptedParticles);
    if (processType != AliPWG0Helper::kSD)
      fdNdEtaAnalysisNSD->FillEvent(vtxMC[2], nAcceptedParticles);
    if (processType == AliPWG0Helper::kND)
      fdNdEtaAnalysisND->FillEvent(vtxMC[2], nAcceptedParticles);
    if (oneParticleEvent)
      fdNdEtaAnalysisOnePart->FillEvent(vtxMC[2], nAcceptedParticles);

    if (eventTriggered)
    {
      fdNdEtaAnalysisTr->FillEvent(vtxMC[2], nAcceptedParticles);
      if (vtxESD)
        fdNdEtaAnalysisTrVtx->FillEvent(vtxMC[2], nAcceptedParticles);
    }
  }
}

void AlidNdEtaTask::Terminate(Option_t *)
{
  // The Terminate() function is the last function to be called during
  // a query. It always runs on the client, it can be used to present
  // the results graphically or save the results to file.

  fOutput = dynamic_cast<TList*> (GetOutputData(1));
  if (!fOutput)
    Printf("ERROR: fOutput not available");

  TH1D* dNdEta = new TH1D("dNdEta","#eta;counts",80, -4, 4);
  TH1D* dNdEtaMC = new TH1D("dNdEtaMC","#eta,MC;counts",80, -4, 4);
  if (fOutput)
  {
    fdNdEtaAnalysisESD = dynamic_cast<dNdEtaAnalysis*> (fOutput->FindObject("fdNdEtaAnalysisESD"));
    fMult = dynamic_cast<TH1F*> (fOutput->FindObject("fMult"));
    fMultVtx = dynamic_cast<TH1F*> (fOutput->FindObject("fMultVtx"));
    for (Int_t i=0; i<3; ++i)
      fPartEta[i] = dynamic_cast<TH1F*> (fOutput->FindObject(Form("dndeta_check_%d", i)));
    fEvents = dynamic_cast<TH1F*> (fOutput->FindObject("dndeta_check_vertex"));
    fVertexResolution = dynamic_cast<TH2F*> (fOutput->FindObject("dndeta_vertex_resolution_z"));

    fVertex = dynamic_cast<TH3F*> (fOutput->FindObject("vertex_check"));
    fVertexVsMult = dynamic_cast<TH3F*> (fOutput->FindObject("fVertexVsMult"));
    fPhi = dynamic_cast<TH1F*> (fOutput->FindObject("fPhi"));
    fRawPt = dynamic_cast<TH1F*> (fOutput->FindObject("fRawPt"));
    fEtaPhi = dynamic_cast<TH2F*> (fOutput->FindObject("fEtaPhi"));
    for (Int_t i=0; i<2; ++i)
      fZPhi[i] = dynamic_cast<TH2F*> (fOutput->FindObject(Form("fZPhi_%d", i)));
    fModuleMap = dynamic_cast<TH1F*> (fOutput->FindObject("fModuleMap"));
    fDeltaPhi = dynamic_cast<TH1F*> (fOutput->FindObject("fDeltaPhi"));
    fDeltaTheta = dynamic_cast<TH1F*> (fOutput->FindObject("fDeltaTheta"));
    fFiredChips = dynamic_cast<TH2F*> (fOutput->FindObject("fFiredChips"));
    fTrackletsVsClusters = dynamic_cast<TH2F*> (fOutput->FindObject("fTrackletsVsClusters"));
    fTrackletsVsUnassigned = dynamic_cast<TH2F*> (fOutput->FindObject("fTrackletsVsUnassigned"));
    fStats = dynamic_cast<TH1F*> (fOutput->FindObject("fStats"));
    fStats2 = dynamic_cast<TH2F*> (fOutput->FindObject("fStats2"));

    fEsdTrackCuts = dynamic_cast<AliESDtrackCuts*> (fOutput->FindObject("fEsdTrackCuts"));

    fEta = dynamic_cast<TH1D*>(fOutput->FindObject("fEta"));
    fEtaMC = dynamic_cast<TH1D*>(fOutput->FindObject("fEtaMC"));
    fHistEvents = dynamic_cast<TH1D*>(fOutput->FindObject("fHistEvents"));
    fHistEventsMC = dynamic_cast<TH1D*>(fOutput->FindObject("fHistEventsMC"));
    fVtxEffDen = dynamic_cast<TH1D*>(fOutput->FindObject("fVtxEffDen"));
    fVtxEffNum = dynamic_cast<TH1D*>(fOutput->FindObject("fVtxEffNum"));
    fTrigEffDen = dynamic_cast<TH1D*>(fOutput->FindObject("fTrigEffDen"));
    fTrigEffNum = dynamic_cast<TH1D*>(fOutput->FindObject("fTrigEffNum"));
    fVtxTrigEffDen = dynamic_cast<TH1D*>(fOutput->FindObject("fVtxTrigEffDen"));
    fVtxTrigEffNum = dynamic_cast<TH1D*>(fOutput->FindObject("fVtxTrigEffNum"));
    if (!fHistEvents){
	    AliError("fHistEvents not found, impossible to determine the corresponding dNdEta distribution for the control file");
    }		    
    else Printf("Events selected = %f", fHistEvents->GetBinContent(fHistEvents->GetXaxis()->FindBin(1.1)));
    if (!fHistEventsMC){
	    AliError("fHistEventsMC not found, impossible to determine the corresponding dNdEta distribution for the control file");
    }	
    else Printf("Events selected frm MC = %f", fHistEventsMC->GetBinContent(fHistEventsMC->GetXaxis()->FindBin(1.1)));
    if (!fEta){
	    AliError("fEta not found, impossible to determine the corresponding dNdEta distribution for the control file");
    }	
    if (!fEtaMC){
	    AliError("fEtaMC not found, impossible to determine the corresponding dNdEta distribution for the control file");
    }		    
    Float_t nevents = 0;
    if (fHistEvents) nevents = fHistEvents->GetBinContent(fHistEvents->GetXaxis()->FindBin(1.1));
    Float_t neventsMC = 0;
    if (fHistEventsMC) neventsMC = fHistEventsMC->GetBinContent(fHistEventsMC->GetXaxis()->FindBin(1.1));
    if (fEta && fEtaMC){
	    for (Int_t ibin = 1; ibin <= fEta->GetNbinsX(); ibin++){
		    Float_t eta =0;
		    Float_t etaerr =0;
		    Float_t etaMC =0;
		    Float_t etaerrMC =0;
		    if (fEta && nevents > 0) {
			    eta = fEta->GetBinContent(ibin)/nevents/fEta->GetBinWidth(ibin);
			    etaerr = fEta->GetBinError(ibin)/nevents/fEta->GetBinWidth(ibin);
			    dNdEta->SetBinContent(ibin,eta);
			    dNdEta->SetBinError(ibin,etaerr);
		    }
		    if (fEtaMC && neventsMC > 0) {
			    etaMC = fEtaMC->GetBinContent(ibin)/neventsMC/fEtaMC->GetBinWidth(ibin);
			    etaerrMC = fEtaMC->GetBinError(ibin)/neventsMC/fEtaMC->GetBinWidth(ibin);
			    dNdEtaMC->SetBinContent(ibin,etaMC);
			    dNdEtaMC->SetBinError(ibin,etaerrMC);
		    }
	    }
    }
    new TCanvas("eta", " eta ",50, 50, 550, 550) ;
    if (fEta) fEta->Draw();
    new TCanvas("etaMC", " etaMC ",50, 50, 550, 550) ;
    if (fEtaMC) fEtaMC->Draw();
    new TCanvas("dNdEta", "#eta;dNdEta ",50, 50, 550, 550) ;
    dNdEta->Draw();
    new TCanvas("dNdEtaMC", "#eta,MC;dNdEta ",50, 50, 550, 550) ;
    dNdEtaMC->Draw();
    new TCanvas("Events", "Events;Events ",50, 50, 550, 550) ;
    if (fHistEvents) fHistEvents->Draw();
    new TCanvas("Events, MC", "Events, MC;Events ",50, 50, 550, 550) ;
    if (fHistEventsMC) fHistEventsMC->Draw();
    
    TFile* outputFileCheck = new TFile("histogramsCheck.root", "RECREATE");
    if (fEta) fEta->Write();
    if (fEtaMC) fEtaMC->Write();
    dNdEta->Write();
    dNdEtaMC->Write();
    outputFileCheck->Write();
    outputFileCheck->Close();

  }

  if (!fdNdEtaAnalysisESD)
  {
    AliDebug(AliLog::kError, "ERROR: fdNdEtaAnalysisESD not available");
  }
  else
  {
    if (fMult && fMultVtx)
    {
      new TCanvas;
      fMult->Draw();
      fMultVtx->SetLineColor(2);
      fMultVtx->Draw("SAME");
    }

    if (fFiredChips)
    {
      new TCanvas;
      fFiredChips->Draw("COLZ");
    }

    if (fPartEta[0] && fPartEta[1] && fPartEta[2] && fEvents && fMultVtx && fMult)
    {
      Int_t events1 = (Int_t) fEvents->Integral(fEvents->GetXaxis()->FindBin(-9.9), fEvents->GetXaxis()->FindBin(-0.001));
      Int_t events2 = (Int_t) fEvents->Integral(fEvents->GetXaxis()->FindBin(0.001), fEvents->GetXaxis()->FindBin(9.9));

      Printf("%d events with vertex used", events1 + events2);
      Printf("%d total events with vertex, %d total triggered events, %d triggered events with 0 multiplicity", (Int_t) fMultVtx->Integral(), (Int_t) fMult->Integral(), (Int_t) fMult->GetBinContent(1));

      if (events1 > 0 && events2 > 0)
      {
        fPartEta[0]->Scale(1.0 / (events1 + events2));
        fPartEta[1]->Scale(1.0 / events1);
        fPartEta[2]->Scale(1.0 / events2);

        for (Int_t i=0; i<3; ++i)
          fPartEta[i]->Scale(1.0 / fPartEta[i]->GetBinWidth(1));

        new TCanvas("control", "control", 500, 500);
        for (Int_t i=0; i<3; ++i)
        {
          fPartEta[i]->SetLineColor(i+1);
          fPartEta[i]->Draw((i==0) ? "" : "SAME");
        }
      }
    }

    if (fEvents)
    {
        new TCanvas("control3", "control3", 500, 500);
        fEvents->Draw();
    }
    
    if (fStats2)
    {
      new TCanvas;
      fStats2->Draw("TEXT");
    }

    TFile* fout = new TFile("analysis_esd_raw.root", "RECREATE");

    if (fdNdEtaAnalysisESD)
      fdNdEtaAnalysisESD->SaveHistograms();

    if (fEsdTrackCuts)
      fEsdTrackCuts->SaveHistograms("esd_track_cuts");

    if (fMult)
      fMult->Write();

    if (fMultVtx)
      fMultVtx->Write();

    for (Int_t i=0; i<3; ++i)
      if (fPartEta[i])
        fPartEta[i]->Write();

    if (fEvents)
      fEvents->Write();

    if (fVertexResolution)
    {
      fVertexResolution->Write();
      fVertexResolution->ProjectionX();
      fVertexResolution->ProjectionY();
    }

    if (fDeltaPhi)
      fDeltaPhi->Write();

    if (fDeltaTheta)
      fDeltaTheta->Write();
    
    if (fPhi)
      fPhi->Write();

    if (fRawPt)
      fRawPt->Write();

    if (fEtaPhi)
      fEtaPhi->Write();

    for (Int_t i=0; i<2; ++i)
      if (fZPhi[i])
        fZPhi[i]->Write();
    
    if (fModuleMap)
      fModuleMap->Write();
    
    if (fFiredChips)
      fFiredChips->Write();

    if (fTrackletsVsClusters)
      fTrackletsVsClusters->Write();
    
    if (fTrackletsVsUnassigned)
      fTrackletsVsUnassigned->Write();
    
    if (fStats)
      fStats->Write();

    if (fStats2)
      fStats2->Write();
    
    if (fVertex)
      fVertex->Write();

    if (fVertexVsMult)
      fVertexVsMult->Write();
    
    if (fVtxEffDen) fVtxEffDen->Write();
    else Printf("fVtxEffDen not found");

    if (fVtxEffNum) fVtxEffNum->Write();
    else Printf("fVtxEffNum not found");

    if (fVtxTrigEffNum) fVtxTrigEffNum->Write();
    else Printf("fVtxTrigEffNum not found");

    if (fVtxTrigEffDen) fVtxTrigEffDen->Write();
    else Printf("fVtxTrigEffDen not found");

    if (fTrigEffNum) fTrigEffNum->Write();
    else Printf("fTrigEffNum not found");

    if (fTrigEffDen) fTrigEffDen->Write();
    else Printf("fTrigEffDen not found");

    fout->Write();
    fout->Close();

    Printf("Writting result to analysis_esd_raw.root");
  }

  if (fReadMC)
  {
    if (fOutput)
    {
      fdNdEtaAnalysis = dynamic_cast<dNdEtaAnalysis*> (fOutput->FindObject("dndeta"));
      fdNdEtaAnalysisND = dynamic_cast<dNdEtaAnalysis*> (fOutput->FindObject("dndetaND"));
      fdNdEtaAnalysisNSD = dynamic_cast<dNdEtaAnalysis*> (fOutput->FindObject("dndetaNSD"));
      fdNdEtaAnalysisOnePart = dynamic_cast<dNdEtaAnalysis*> (fOutput->FindObject("dndetaOnePart"));
      fdNdEtaAnalysisTr = dynamic_cast<dNdEtaAnalysis*> (fOutput->FindObject("dndetaTr"));
      fdNdEtaAnalysisTrVtx = dynamic_cast<dNdEtaAnalysis*> (fOutput->FindObject("dndetaTrVtx"));
      fdNdEtaAnalysisTracks = dynamic_cast<dNdEtaAnalysis*> (fOutput->FindObject("dndetaTracks"));
      fPartPt = dynamic_cast<TH1F*> (fOutput->FindObject("dndeta_check_pt"));
    }

    if (!fdNdEtaAnalysis || !fdNdEtaAnalysisTr || !fdNdEtaAnalysisTrVtx || !fPartPt)
    {
      AliDebug(AliLog::kError, Form("ERROR: Histograms not available %p %p", (void*) fdNdEtaAnalysis, (void*) fPartPt));
      return;
    }

    fdNdEtaAnalysis->Finish(0, -1, AlidNdEtaCorrection::kNone);
    fdNdEtaAnalysisND->Finish(0, -1, AlidNdEtaCorrection::kNone);
    fdNdEtaAnalysisNSD->Finish(0, -1, AlidNdEtaCorrection::kNone);
    fdNdEtaAnalysisOnePart->Finish(0, -1, AlidNdEtaCorrection::kNone);
    fdNdEtaAnalysisTr->Finish(0, -1, AlidNdEtaCorrection::kNone);
    fdNdEtaAnalysisTrVtx->Finish(0, -1, AlidNdEtaCorrection::kNone);
    fdNdEtaAnalysisTracks->Finish(0, -1, AlidNdEtaCorrection::kNone);

    Int_t events = (Int_t) fdNdEtaAnalysis->GetData()->GetEventCorrection()->GetMeasuredHistogram()->Integral();
    fPartPt->Scale(1.0/events);
    fPartPt->Scale(1.0/fPartPt->GetBinWidth(1));

    TFile* fout = new TFile("analysis_mc.root","RECREATE");

    fdNdEtaAnalysis->SaveHistograms();
    fdNdEtaAnalysisND->SaveHistograms();
    fdNdEtaAnalysisNSD->SaveHistograms();
    fdNdEtaAnalysisOnePart->SaveHistograms();
    fdNdEtaAnalysisTr->SaveHistograms();
    fdNdEtaAnalysisTrVtx->SaveHistograms();
    fdNdEtaAnalysisTracks->SaveHistograms();

    if (fPartPt)
      fPartPt->Write();

    fout->Write();
    fout->Close();

    Printf("Writting result to analysis_mc.root");

    if (fPartPt)
    {
      new TCanvas("control2", "control2", 500, 500);
      fPartPt->Draw();
    }
  }
}
 AlidNdEtaTask.cxx:1
 AlidNdEtaTask.cxx:2
 AlidNdEtaTask.cxx:3
 AlidNdEtaTask.cxx:4
 AlidNdEtaTask.cxx:5
 AlidNdEtaTask.cxx:6
 AlidNdEtaTask.cxx:7
 AlidNdEtaTask.cxx:8
 AlidNdEtaTask.cxx:9
 AlidNdEtaTask.cxx:10
 AlidNdEtaTask.cxx:11
 AlidNdEtaTask.cxx:12
 AlidNdEtaTask.cxx:13
 AlidNdEtaTask.cxx:14
 AlidNdEtaTask.cxx:15
 AlidNdEtaTask.cxx:16
 AlidNdEtaTask.cxx:17
 AlidNdEtaTask.cxx:18
 AlidNdEtaTask.cxx:19
 AlidNdEtaTask.cxx:20
 AlidNdEtaTask.cxx:21
 AlidNdEtaTask.cxx:22
 AlidNdEtaTask.cxx:23
 AlidNdEtaTask.cxx:24
 AlidNdEtaTask.cxx:25
 AlidNdEtaTask.cxx:26
 AlidNdEtaTask.cxx:27
 AlidNdEtaTask.cxx:28
 AlidNdEtaTask.cxx:29
 AlidNdEtaTask.cxx:30
 AlidNdEtaTask.cxx:31
 AlidNdEtaTask.cxx:32
 AlidNdEtaTask.cxx:33
 AlidNdEtaTask.cxx:34
 AlidNdEtaTask.cxx:35
 AlidNdEtaTask.cxx:36
 AlidNdEtaTask.cxx:37
 AlidNdEtaTask.cxx:38
 AlidNdEtaTask.cxx:39
 AlidNdEtaTask.cxx:40
 AlidNdEtaTask.cxx:41
 AlidNdEtaTask.cxx:42
 AlidNdEtaTask.cxx:43
 AlidNdEtaTask.cxx:44
 AlidNdEtaTask.cxx:45
 AlidNdEtaTask.cxx:46
 AlidNdEtaTask.cxx:47
 AlidNdEtaTask.cxx:48
 AlidNdEtaTask.cxx:49
 AlidNdEtaTask.cxx:50
 AlidNdEtaTask.cxx:51
 AlidNdEtaTask.cxx:52
 AlidNdEtaTask.cxx:53
 AlidNdEtaTask.cxx:54
 AlidNdEtaTask.cxx:55
 AlidNdEtaTask.cxx:56
 AlidNdEtaTask.cxx:57
 AlidNdEtaTask.cxx:58
 AlidNdEtaTask.cxx:59
 AlidNdEtaTask.cxx:60
 AlidNdEtaTask.cxx:61
 AlidNdEtaTask.cxx:62
 AlidNdEtaTask.cxx:63
 AlidNdEtaTask.cxx:64
 AlidNdEtaTask.cxx:65
 AlidNdEtaTask.cxx:66
 AlidNdEtaTask.cxx:67
 AlidNdEtaTask.cxx:68
 AlidNdEtaTask.cxx:69
 AlidNdEtaTask.cxx:70
 AlidNdEtaTask.cxx:71
 AlidNdEtaTask.cxx:72
 AlidNdEtaTask.cxx:73
 AlidNdEtaTask.cxx:74
 AlidNdEtaTask.cxx:75
 AlidNdEtaTask.cxx:76
 AlidNdEtaTask.cxx:77
 AlidNdEtaTask.cxx:78
 AlidNdEtaTask.cxx:79
 AlidNdEtaTask.cxx:80
 AlidNdEtaTask.cxx:81
 AlidNdEtaTask.cxx:82
 AlidNdEtaTask.cxx:83
 AlidNdEtaTask.cxx:84
 AlidNdEtaTask.cxx:85
 AlidNdEtaTask.cxx:86
 AlidNdEtaTask.cxx:87
 AlidNdEtaTask.cxx:88
 AlidNdEtaTask.cxx:89
 AlidNdEtaTask.cxx:90
 AlidNdEtaTask.cxx:91
 AlidNdEtaTask.cxx:92
 AlidNdEtaTask.cxx:93
 AlidNdEtaTask.cxx:94
 AlidNdEtaTask.cxx:95
 AlidNdEtaTask.cxx:96
 AlidNdEtaTask.cxx:97
 AlidNdEtaTask.cxx:98
 AlidNdEtaTask.cxx:99
 AlidNdEtaTask.cxx:100
 AlidNdEtaTask.cxx:101
 AlidNdEtaTask.cxx:102
 AlidNdEtaTask.cxx:103
 AlidNdEtaTask.cxx:104
 AlidNdEtaTask.cxx:105
 AlidNdEtaTask.cxx:106
 AlidNdEtaTask.cxx:107
 AlidNdEtaTask.cxx:108
 AlidNdEtaTask.cxx:109
 AlidNdEtaTask.cxx:110
 AlidNdEtaTask.cxx:111
 AlidNdEtaTask.cxx:112
 AlidNdEtaTask.cxx:113
 AlidNdEtaTask.cxx:114
 AlidNdEtaTask.cxx:115
 AlidNdEtaTask.cxx:116
 AlidNdEtaTask.cxx:117
 AlidNdEtaTask.cxx:118
 AlidNdEtaTask.cxx:119
 AlidNdEtaTask.cxx:120
 AlidNdEtaTask.cxx:121
 AlidNdEtaTask.cxx:122
 AlidNdEtaTask.cxx:123
 AlidNdEtaTask.cxx:124
 AlidNdEtaTask.cxx:125
 AlidNdEtaTask.cxx:126
 AlidNdEtaTask.cxx:127
 AlidNdEtaTask.cxx:128
 AlidNdEtaTask.cxx:129
 AlidNdEtaTask.cxx:130
 AlidNdEtaTask.cxx:131
 AlidNdEtaTask.cxx:132
 AlidNdEtaTask.cxx:133
 AlidNdEtaTask.cxx:134
 AlidNdEtaTask.cxx:135
 AlidNdEtaTask.cxx:136
 AlidNdEtaTask.cxx:137
 AlidNdEtaTask.cxx:138
 AlidNdEtaTask.cxx:139
 AlidNdEtaTask.cxx:140
 AlidNdEtaTask.cxx:141
 AlidNdEtaTask.cxx:142
 AlidNdEtaTask.cxx:143
 AlidNdEtaTask.cxx:144
 AlidNdEtaTask.cxx:145
 AlidNdEtaTask.cxx:146
 AlidNdEtaTask.cxx:147
 AlidNdEtaTask.cxx:148
 AlidNdEtaTask.cxx:149
 AlidNdEtaTask.cxx:150
 AlidNdEtaTask.cxx:151
 AlidNdEtaTask.cxx:152
 AlidNdEtaTask.cxx:153
 AlidNdEtaTask.cxx:154
 AlidNdEtaTask.cxx:155
 AlidNdEtaTask.cxx:156
 AlidNdEtaTask.cxx:157
 AlidNdEtaTask.cxx:158
 AlidNdEtaTask.cxx:159
 AlidNdEtaTask.cxx:160
 AlidNdEtaTask.cxx:161
 AlidNdEtaTask.cxx:162
 AlidNdEtaTask.cxx:163
 AlidNdEtaTask.cxx:164
 AlidNdEtaTask.cxx:165
 AlidNdEtaTask.cxx:166
 AlidNdEtaTask.cxx:167
 AlidNdEtaTask.cxx:168
 AlidNdEtaTask.cxx:169
 AlidNdEtaTask.cxx:170
 AlidNdEtaTask.cxx:171
 AlidNdEtaTask.cxx:172
 AlidNdEtaTask.cxx:173
 AlidNdEtaTask.cxx:174
 AlidNdEtaTask.cxx:175
 AlidNdEtaTask.cxx:176
 AlidNdEtaTask.cxx:177
 AlidNdEtaTask.cxx:178
 AlidNdEtaTask.cxx:179
 AlidNdEtaTask.cxx:180
 AlidNdEtaTask.cxx:181
 AlidNdEtaTask.cxx:182
 AlidNdEtaTask.cxx:183
 AlidNdEtaTask.cxx:184
 AlidNdEtaTask.cxx:185
 AlidNdEtaTask.cxx:186
 AlidNdEtaTask.cxx:187
 AlidNdEtaTask.cxx:188
 AlidNdEtaTask.cxx:189
 AlidNdEtaTask.cxx:190
 AlidNdEtaTask.cxx:191
 AlidNdEtaTask.cxx:192
 AlidNdEtaTask.cxx:193
 AlidNdEtaTask.cxx:194
 AlidNdEtaTask.cxx:195
 AlidNdEtaTask.cxx:196
 AlidNdEtaTask.cxx:197
 AlidNdEtaTask.cxx:198
 AlidNdEtaTask.cxx:199
 AlidNdEtaTask.cxx:200
 AlidNdEtaTask.cxx:201
 AlidNdEtaTask.cxx:202
 AlidNdEtaTask.cxx:203
 AlidNdEtaTask.cxx:204
 AlidNdEtaTask.cxx:205
 AlidNdEtaTask.cxx:206
 AlidNdEtaTask.cxx:207
 AlidNdEtaTask.cxx:208
 AlidNdEtaTask.cxx:209
 AlidNdEtaTask.cxx:210
 AlidNdEtaTask.cxx:211
 AlidNdEtaTask.cxx:212
 AlidNdEtaTask.cxx:213
 AlidNdEtaTask.cxx:214
 AlidNdEtaTask.cxx:215
 AlidNdEtaTask.cxx:216
 AlidNdEtaTask.cxx:217
 AlidNdEtaTask.cxx:218
 AlidNdEtaTask.cxx:219
 AlidNdEtaTask.cxx:220
 AlidNdEtaTask.cxx:221
 AlidNdEtaTask.cxx:222
 AlidNdEtaTask.cxx:223
 AlidNdEtaTask.cxx:224
 AlidNdEtaTask.cxx:225
 AlidNdEtaTask.cxx:226
 AlidNdEtaTask.cxx:227
 AlidNdEtaTask.cxx:228
 AlidNdEtaTask.cxx:229
 AlidNdEtaTask.cxx:230
 AlidNdEtaTask.cxx:231
 AlidNdEtaTask.cxx:232
 AlidNdEtaTask.cxx:233
 AlidNdEtaTask.cxx:234
 AlidNdEtaTask.cxx:235
 AlidNdEtaTask.cxx:236
 AlidNdEtaTask.cxx:237
 AlidNdEtaTask.cxx:238
 AlidNdEtaTask.cxx:239
 AlidNdEtaTask.cxx:240
 AlidNdEtaTask.cxx:241
 AlidNdEtaTask.cxx:242
 AlidNdEtaTask.cxx:243
 AlidNdEtaTask.cxx:244
 AlidNdEtaTask.cxx:245
 AlidNdEtaTask.cxx:246
 AlidNdEtaTask.cxx:247
 AlidNdEtaTask.cxx:248
 AlidNdEtaTask.cxx:249
 AlidNdEtaTask.cxx:250
 AlidNdEtaTask.cxx:251
 AlidNdEtaTask.cxx:252
 AlidNdEtaTask.cxx:253
 AlidNdEtaTask.cxx:254
 AlidNdEtaTask.cxx:255
 AlidNdEtaTask.cxx:256
 AlidNdEtaTask.cxx:257
 AlidNdEtaTask.cxx:258
 AlidNdEtaTask.cxx:259
 AlidNdEtaTask.cxx:260
 AlidNdEtaTask.cxx:261
 AlidNdEtaTask.cxx:262
 AlidNdEtaTask.cxx:263
 AlidNdEtaTask.cxx:264
 AlidNdEtaTask.cxx:265
 AlidNdEtaTask.cxx:266
 AlidNdEtaTask.cxx:267
 AlidNdEtaTask.cxx:268
 AlidNdEtaTask.cxx:269
 AlidNdEtaTask.cxx:270
 AlidNdEtaTask.cxx:271
 AlidNdEtaTask.cxx:272
 AlidNdEtaTask.cxx:273
 AlidNdEtaTask.cxx:274
 AlidNdEtaTask.cxx:275
 AlidNdEtaTask.cxx:276
 AlidNdEtaTask.cxx:277
 AlidNdEtaTask.cxx:278
 AlidNdEtaTask.cxx:279
 AlidNdEtaTask.cxx:280
 AlidNdEtaTask.cxx:281
 AlidNdEtaTask.cxx:282
 AlidNdEtaTask.cxx:283
 AlidNdEtaTask.cxx:284
 AlidNdEtaTask.cxx:285
 AlidNdEtaTask.cxx:286
 AlidNdEtaTask.cxx:287
 AlidNdEtaTask.cxx:288
 AlidNdEtaTask.cxx:289
 AlidNdEtaTask.cxx:290
 AlidNdEtaTask.cxx:291
 AlidNdEtaTask.cxx:292
 AlidNdEtaTask.cxx:293
 AlidNdEtaTask.cxx:294
 AlidNdEtaTask.cxx:295
 AlidNdEtaTask.cxx:296
 AlidNdEtaTask.cxx:297
 AlidNdEtaTask.cxx:298
 AlidNdEtaTask.cxx:299
 AlidNdEtaTask.cxx:300
 AlidNdEtaTask.cxx:301
 AlidNdEtaTask.cxx:302
 AlidNdEtaTask.cxx:303
 AlidNdEtaTask.cxx:304
 AlidNdEtaTask.cxx:305
 AlidNdEtaTask.cxx:306
 AlidNdEtaTask.cxx:307
 AlidNdEtaTask.cxx:308
 AlidNdEtaTask.cxx:309
 AlidNdEtaTask.cxx:310
 AlidNdEtaTask.cxx:311
 AlidNdEtaTask.cxx:312
 AlidNdEtaTask.cxx:313
 AlidNdEtaTask.cxx:314
 AlidNdEtaTask.cxx:315
 AlidNdEtaTask.cxx:316
 AlidNdEtaTask.cxx:317
 AlidNdEtaTask.cxx:318
 AlidNdEtaTask.cxx:319
 AlidNdEtaTask.cxx:320
 AlidNdEtaTask.cxx:321
 AlidNdEtaTask.cxx:322
 AlidNdEtaTask.cxx:323
 AlidNdEtaTask.cxx:324
 AlidNdEtaTask.cxx:325
 AlidNdEtaTask.cxx:326
 AlidNdEtaTask.cxx:327
 AlidNdEtaTask.cxx:328
 AlidNdEtaTask.cxx:329
 AlidNdEtaTask.cxx:330
 AlidNdEtaTask.cxx:331
 AlidNdEtaTask.cxx:332
 AlidNdEtaTask.cxx:333
 AlidNdEtaTask.cxx:334
 AlidNdEtaTask.cxx:335
 AlidNdEtaTask.cxx:336
 AlidNdEtaTask.cxx:337
 AlidNdEtaTask.cxx:338
 AlidNdEtaTask.cxx:339
 AlidNdEtaTask.cxx:340
 AlidNdEtaTask.cxx:341
 AlidNdEtaTask.cxx:342
 AlidNdEtaTask.cxx:343
 AlidNdEtaTask.cxx:344
 AlidNdEtaTask.cxx:345
 AlidNdEtaTask.cxx:346
 AlidNdEtaTask.cxx:347
 AlidNdEtaTask.cxx:348
 AlidNdEtaTask.cxx:349
 AlidNdEtaTask.cxx:350
 AlidNdEtaTask.cxx:351
 AlidNdEtaTask.cxx:352
 AlidNdEtaTask.cxx:353
 AlidNdEtaTask.cxx:354
 AlidNdEtaTask.cxx:355
 AlidNdEtaTask.cxx:356
 AlidNdEtaTask.cxx:357
 AlidNdEtaTask.cxx:358
 AlidNdEtaTask.cxx:359
 AlidNdEtaTask.cxx:360
 AlidNdEtaTask.cxx:361
 AlidNdEtaTask.cxx:362
 AlidNdEtaTask.cxx:363
 AlidNdEtaTask.cxx:364
 AlidNdEtaTask.cxx:365
 AlidNdEtaTask.cxx:366
 AlidNdEtaTask.cxx:367
 AlidNdEtaTask.cxx:368
 AlidNdEtaTask.cxx:369
 AlidNdEtaTask.cxx:370
 AlidNdEtaTask.cxx:371
 AlidNdEtaTask.cxx:372
 AlidNdEtaTask.cxx:373
 AlidNdEtaTask.cxx:374
 AlidNdEtaTask.cxx:375
 AlidNdEtaTask.cxx:376
 AlidNdEtaTask.cxx:377
 AlidNdEtaTask.cxx:378
 AlidNdEtaTask.cxx:379
 AlidNdEtaTask.cxx:380
 AlidNdEtaTask.cxx:381
 AlidNdEtaTask.cxx:382
 AlidNdEtaTask.cxx:383
 AlidNdEtaTask.cxx:384
 AlidNdEtaTask.cxx:385
 AlidNdEtaTask.cxx:386
 AlidNdEtaTask.cxx:387
 AlidNdEtaTask.cxx:388
 AlidNdEtaTask.cxx:389
 AlidNdEtaTask.cxx:390
 AlidNdEtaTask.cxx:391
 AlidNdEtaTask.cxx:392
 AlidNdEtaTask.cxx:393
 AlidNdEtaTask.cxx:394
 AlidNdEtaTask.cxx:395
 AlidNdEtaTask.cxx:396
 AlidNdEtaTask.cxx:397
 AlidNdEtaTask.cxx:398
 AlidNdEtaTask.cxx:399
 AlidNdEtaTask.cxx:400
 AlidNdEtaTask.cxx:401
 AlidNdEtaTask.cxx:402
 AlidNdEtaTask.cxx:403
 AlidNdEtaTask.cxx:404
 AlidNdEtaTask.cxx:405
 AlidNdEtaTask.cxx:406
 AlidNdEtaTask.cxx:407
 AlidNdEtaTask.cxx:408
 AlidNdEtaTask.cxx:409
 AlidNdEtaTask.cxx:410
 AlidNdEtaTask.cxx:411
 AlidNdEtaTask.cxx:412
 AlidNdEtaTask.cxx:413
 AlidNdEtaTask.cxx:414
 AlidNdEtaTask.cxx:415
 AlidNdEtaTask.cxx:416
 AlidNdEtaTask.cxx:417
 AlidNdEtaTask.cxx:418
 AlidNdEtaTask.cxx:419
 AlidNdEtaTask.cxx:420
 AlidNdEtaTask.cxx:421
 AlidNdEtaTask.cxx:422
 AlidNdEtaTask.cxx:423
 AlidNdEtaTask.cxx:424
 AlidNdEtaTask.cxx:425
 AlidNdEtaTask.cxx:426
 AlidNdEtaTask.cxx:427
 AlidNdEtaTask.cxx:428
 AlidNdEtaTask.cxx:429
 AlidNdEtaTask.cxx:430
 AlidNdEtaTask.cxx:431
 AlidNdEtaTask.cxx:432
 AlidNdEtaTask.cxx:433
 AlidNdEtaTask.cxx:434
 AlidNdEtaTask.cxx:435
 AlidNdEtaTask.cxx:436
 AlidNdEtaTask.cxx:437
 AlidNdEtaTask.cxx:438
 AlidNdEtaTask.cxx:439
 AlidNdEtaTask.cxx:440
 AlidNdEtaTask.cxx:441
 AlidNdEtaTask.cxx:442
 AlidNdEtaTask.cxx:443
 AlidNdEtaTask.cxx:444
 AlidNdEtaTask.cxx:445
 AlidNdEtaTask.cxx:446
 AlidNdEtaTask.cxx:447
 AlidNdEtaTask.cxx:448
 AlidNdEtaTask.cxx:449
 AlidNdEtaTask.cxx:450
 AlidNdEtaTask.cxx:451
 AlidNdEtaTask.cxx:452
 AlidNdEtaTask.cxx:453
 AlidNdEtaTask.cxx:454
 AlidNdEtaTask.cxx:455
 AlidNdEtaTask.cxx:456
 AlidNdEtaTask.cxx:457
 AlidNdEtaTask.cxx:458
 AlidNdEtaTask.cxx:459
 AlidNdEtaTask.cxx:460
 AlidNdEtaTask.cxx:461
 AlidNdEtaTask.cxx:462
 AlidNdEtaTask.cxx:463
 AlidNdEtaTask.cxx:464
 AlidNdEtaTask.cxx:465
 AlidNdEtaTask.cxx:466
 AlidNdEtaTask.cxx:467
 AlidNdEtaTask.cxx:468
 AlidNdEtaTask.cxx:469
 AlidNdEtaTask.cxx:470
 AlidNdEtaTask.cxx:471
 AlidNdEtaTask.cxx:472
 AlidNdEtaTask.cxx:473
 AlidNdEtaTask.cxx:474
 AlidNdEtaTask.cxx:475
 AlidNdEtaTask.cxx:476
 AlidNdEtaTask.cxx:477
 AlidNdEtaTask.cxx:478
 AlidNdEtaTask.cxx:479
 AlidNdEtaTask.cxx:480
 AlidNdEtaTask.cxx:481
 AlidNdEtaTask.cxx:482
 AlidNdEtaTask.cxx:483
 AlidNdEtaTask.cxx:484
 AlidNdEtaTask.cxx:485
 AlidNdEtaTask.cxx:486
 AlidNdEtaTask.cxx:487
 AlidNdEtaTask.cxx:488
 AlidNdEtaTask.cxx:489
 AlidNdEtaTask.cxx:490
 AlidNdEtaTask.cxx:491
 AlidNdEtaTask.cxx:492
 AlidNdEtaTask.cxx:493
 AlidNdEtaTask.cxx:494
 AlidNdEtaTask.cxx:495
 AlidNdEtaTask.cxx:496
 AlidNdEtaTask.cxx:497
 AlidNdEtaTask.cxx:498
 AlidNdEtaTask.cxx:499
 AlidNdEtaTask.cxx:500
 AlidNdEtaTask.cxx:501
 AlidNdEtaTask.cxx:502
 AlidNdEtaTask.cxx:503
 AlidNdEtaTask.cxx:504
 AlidNdEtaTask.cxx:505
 AlidNdEtaTask.cxx:506
 AlidNdEtaTask.cxx:507
 AlidNdEtaTask.cxx:508
 AlidNdEtaTask.cxx:509
 AlidNdEtaTask.cxx:510
 AlidNdEtaTask.cxx:511
 AlidNdEtaTask.cxx:512
 AlidNdEtaTask.cxx:513
 AlidNdEtaTask.cxx:514
 AlidNdEtaTask.cxx:515
 AlidNdEtaTask.cxx:516
 AlidNdEtaTask.cxx:517
 AlidNdEtaTask.cxx:518
 AlidNdEtaTask.cxx:519
 AlidNdEtaTask.cxx:520
 AlidNdEtaTask.cxx:521
 AlidNdEtaTask.cxx:522
 AlidNdEtaTask.cxx:523
 AlidNdEtaTask.cxx:524
 AlidNdEtaTask.cxx:525
 AlidNdEtaTask.cxx:526
 AlidNdEtaTask.cxx:527
 AlidNdEtaTask.cxx:528
 AlidNdEtaTask.cxx:529
 AlidNdEtaTask.cxx:530
 AlidNdEtaTask.cxx:531
 AlidNdEtaTask.cxx:532
 AlidNdEtaTask.cxx:533
 AlidNdEtaTask.cxx:534
 AlidNdEtaTask.cxx:535
 AlidNdEtaTask.cxx:536
 AlidNdEtaTask.cxx:537
 AlidNdEtaTask.cxx:538
 AlidNdEtaTask.cxx:539
 AlidNdEtaTask.cxx:540
 AlidNdEtaTask.cxx:541
 AlidNdEtaTask.cxx:542
 AlidNdEtaTask.cxx:543
 AlidNdEtaTask.cxx:544
 AlidNdEtaTask.cxx:545
 AlidNdEtaTask.cxx:546
 AlidNdEtaTask.cxx:547
 AlidNdEtaTask.cxx:548
 AlidNdEtaTask.cxx:549
 AlidNdEtaTask.cxx:550
 AlidNdEtaTask.cxx:551
 AlidNdEtaTask.cxx:552
 AlidNdEtaTask.cxx:553
 AlidNdEtaTask.cxx:554
 AlidNdEtaTask.cxx:555
 AlidNdEtaTask.cxx:556
 AlidNdEtaTask.cxx:557
 AlidNdEtaTask.cxx:558
 AlidNdEtaTask.cxx:559
 AlidNdEtaTask.cxx:560
 AlidNdEtaTask.cxx:561
 AlidNdEtaTask.cxx:562
 AlidNdEtaTask.cxx:563
 AlidNdEtaTask.cxx:564
 AlidNdEtaTask.cxx:565
 AlidNdEtaTask.cxx:566
 AlidNdEtaTask.cxx:567
 AlidNdEtaTask.cxx:568
 AlidNdEtaTask.cxx:569
 AlidNdEtaTask.cxx:570
 AlidNdEtaTask.cxx:571
 AlidNdEtaTask.cxx:572
 AlidNdEtaTask.cxx:573
 AlidNdEtaTask.cxx:574
 AlidNdEtaTask.cxx:575
 AlidNdEtaTask.cxx:576
 AlidNdEtaTask.cxx:577
 AlidNdEtaTask.cxx:578
 AlidNdEtaTask.cxx:579
 AlidNdEtaTask.cxx:580
 AlidNdEtaTask.cxx:581
 AlidNdEtaTask.cxx:582
 AlidNdEtaTask.cxx:583
 AlidNdEtaTask.cxx:584
 AlidNdEtaTask.cxx:585
 AlidNdEtaTask.cxx:586
 AlidNdEtaTask.cxx:587
 AlidNdEtaTask.cxx:588
 AlidNdEtaTask.cxx:589
 AlidNdEtaTask.cxx:590
 AlidNdEtaTask.cxx:591
 AlidNdEtaTask.cxx:592
 AlidNdEtaTask.cxx:593
 AlidNdEtaTask.cxx:594
 AlidNdEtaTask.cxx:595
 AlidNdEtaTask.cxx:596
 AlidNdEtaTask.cxx:597
 AlidNdEtaTask.cxx:598
 AlidNdEtaTask.cxx:599
 AlidNdEtaTask.cxx:600
 AlidNdEtaTask.cxx:601
 AlidNdEtaTask.cxx:602
 AlidNdEtaTask.cxx:603
 AlidNdEtaTask.cxx:604
 AlidNdEtaTask.cxx:605
 AlidNdEtaTask.cxx:606
 AlidNdEtaTask.cxx:607
 AlidNdEtaTask.cxx:608
 AlidNdEtaTask.cxx:609
 AlidNdEtaTask.cxx:610
 AlidNdEtaTask.cxx:611
 AlidNdEtaTask.cxx:612
 AlidNdEtaTask.cxx:613
 AlidNdEtaTask.cxx:614
 AlidNdEtaTask.cxx:615
 AlidNdEtaTask.cxx:616
 AlidNdEtaTask.cxx:617
 AlidNdEtaTask.cxx:618
 AlidNdEtaTask.cxx:619
 AlidNdEtaTask.cxx:620
 AlidNdEtaTask.cxx:621
 AlidNdEtaTask.cxx:622
 AlidNdEtaTask.cxx:623
 AlidNdEtaTask.cxx:624
 AlidNdEtaTask.cxx:625
 AlidNdEtaTask.cxx:626
 AlidNdEtaTask.cxx:627
 AlidNdEtaTask.cxx:628
 AlidNdEtaTask.cxx:629
 AlidNdEtaTask.cxx:630
 AlidNdEtaTask.cxx:631
 AlidNdEtaTask.cxx:632
 AlidNdEtaTask.cxx:633
 AlidNdEtaTask.cxx:634
 AlidNdEtaTask.cxx:635
 AlidNdEtaTask.cxx:636
 AlidNdEtaTask.cxx:637
 AlidNdEtaTask.cxx:638
 AlidNdEtaTask.cxx:639
 AlidNdEtaTask.cxx:640
 AlidNdEtaTask.cxx:641
 AlidNdEtaTask.cxx:642
 AlidNdEtaTask.cxx:643
 AlidNdEtaTask.cxx:644
 AlidNdEtaTask.cxx:645
 AlidNdEtaTask.cxx:646
 AlidNdEtaTask.cxx:647
 AlidNdEtaTask.cxx:648
 AlidNdEtaTask.cxx:649
 AlidNdEtaTask.cxx:650
 AlidNdEtaTask.cxx:651
 AlidNdEtaTask.cxx:652
 AlidNdEtaTask.cxx:653
 AlidNdEtaTask.cxx:654
 AlidNdEtaTask.cxx:655
 AlidNdEtaTask.cxx:656
 AlidNdEtaTask.cxx:657
 AlidNdEtaTask.cxx:658
 AlidNdEtaTask.cxx:659
 AlidNdEtaTask.cxx:660
 AlidNdEtaTask.cxx:661
 AlidNdEtaTask.cxx:662
 AlidNdEtaTask.cxx:663
 AlidNdEtaTask.cxx:664
 AlidNdEtaTask.cxx:665
 AlidNdEtaTask.cxx:666
 AlidNdEtaTask.cxx:667
 AlidNdEtaTask.cxx:668
 AlidNdEtaTask.cxx:669
 AlidNdEtaTask.cxx:670
 AlidNdEtaTask.cxx:671
 AlidNdEtaTask.cxx:672
 AlidNdEtaTask.cxx:673
 AlidNdEtaTask.cxx:674
 AlidNdEtaTask.cxx:675
 AlidNdEtaTask.cxx:676
 AlidNdEtaTask.cxx:677
 AlidNdEtaTask.cxx:678
 AlidNdEtaTask.cxx:679
 AlidNdEtaTask.cxx:680
 AlidNdEtaTask.cxx:681
 AlidNdEtaTask.cxx:682
 AlidNdEtaTask.cxx:683
 AlidNdEtaTask.cxx:684
 AlidNdEtaTask.cxx:685
 AlidNdEtaTask.cxx:686
 AlidNdEtaTask.cxx:687
 AlidNdEtaTask.cxx:688
 AlidNdEtaTask.cxx:689
 AlidNdEtaTask.cxx:690
 AlidNdEtaTask.cxx:691
 AlidNdEtaTask.cxx:692
 AlidNdEtaTask.cxx:693
 AlidNdEtaTask.cxx:694
 AlidNdEtaTask.cxx:695
 AlidNdEtaTask.cxx:696
 AlidNdEtaTask.cxx:697
 AlidNdEtaTask.cxx:698
 AlidNdEtaTask.cxx:699
 AlidNdEtaTask.cxx:700
 AlidNdEtaTask.cxx:701
 AlidNdEtaTask.cxx:702
 AlidNdEtaTask.cxx:703
 AlidNdEtaTask.cxx:704
 AlidNdEtaTask.cxx:705
 AlidNdEtaTask.cxx:706
 AlidNdEtaTask.cxx:707
 AlidNdEtaTask.cxx:708
 AlidNdEtaTask.cxx:709
 AlidNdEtaTask.cxx:710
 AlidNdEtaTask.cxx:711
 AlidNdEtaTask.cxx:712
 AlidNdEtaTask.cxx:713
 AlidNdEtaTask.cxx:714
 AlidNdEtaTask.cxx:715
 AlidNdEtaTask.cxx:716
 AlidNdEtaTask.cxx:717
 AlidNdEtaTask.cxx:718
 AlidNdEtaTask.cxx:719
 AlidNdEtaTask.cxx:720
 AlidNdEtaTask.cxx:721
 AlidNdEtaTask.cxx:722
 AlidNdEtaTask.cxx:723
 AlidNdEtaTask.cxx:724
 AlidNdEtaTask.cxx:725
 AlidNdEtaTask.cxx:726
 AlidNdEtaTask.cxx:727
 AlidNdEtaTask.cxx:728
 AlidNdEtaTask.cxx:729
 AlidNdEtaTask.cxx:730
 AlidNdEtaTask.cxx:731
 AlidNdEtaTask.cxx:732
 AlidNdEtaTask.cxx:733
 AlidNdEtaTask.cxx:734
 AlidNdEtaTask.cxx:735
 AlidNdEtaTask.cxx:736
 AlidNdEtaTask.cxx:737
 AlidNdEtaTask.cxx:738
 AlidNdEtaTask.cxx:739
 AlidNdEtaTask.cxx:740
 AlidNdEtaTask.cxx:741
 AlidNdEtaTask.cxx:742
 AlidNdEtaTask.cxx:743
 AlidNdEtaTask.cxx:744
 AlidNdEtaTask.cxx:745
 AlidNdEtaTask.cxx:746
 AlidNdEtaTask.cxx:747
 AlidNdEtaTask.cxx:748
 AlidNdEtaTask.cxx:749
 AlidNdEtaTask.cxx:750
 AlidNdEtaTask.cxx:751
 AlidNdEtaTask.cxx:752
 AlidNdEtaTask.cxx:753
 AlidNdEtaTask.cxx:754
 AlidNdEtaTask.cxx:755
 AlidNdEtaTask.cxx:756
 AlidNdEtaTask.cxx:757
 AlidNdEtaTask.cxx:758
 AlidNdEtaTask.cxx:759
 AlidNdEtaTask.cxx:760
 AlidNdEtaTask.cxx:761
 AlidNdEtaTask.cxx:762
 AlidNdEtaTask.cxx:763
 AlidNdEtaTask.cxx:764
 AlidNdEtaTask.cxx:765
 AlidNdEtaTask.cxx:766
 AlidNdEtaTask.cxx:767
 AlidNdEtaTask.cxx:768
 AlidNdEtaTask.cxx:769
 AlidNdEtaTask.cxx:770
 AlidNdEtaTask.cxx:771
 AlidNdEtaTask.cxx:772
 AlidNdEtaTask.cxx:773
 AlidNdEtaTask.cxx:774
 AlidNdEtaTask.cxx:775
 AlidNdEtaTask.cxx:776
 AlidNdEtaTask.cxx:777
 AlidNdEtaTask.cxx:778
 AlidNdEtaTask.cxx:779
 AlidNdEtaTask.cxx:780
 AlidNdEtaTask.cxx:781
 AlidNdEtaTask.cxx:782
 AlidNdEtaTask.cxx:783
 AlidNdEtaTask.cxx:784
 AlidNdEtaTask.cxx:785
 AlidNdEtaTask.cxx:786
 AlidNdEtaTask.cxx:787
 AlidNdEtaTask.cxx:788
 AlidNdEtaTask.cxx:789
 AlidNdEtaTask.cxx:790
 AlidNdEtaTask.cxx:791
 AlidNdEtaTask.cxx:792
 AlidNdEtaTask.cxx:793
 AlidNdEtaTask.cxx:794
 AlidNdEtaTask.cxx:795
 AlidNdEtaTask.cxx:796
 AlidNdEtaTask.cxx:797
 AlidNdEtaTask.cxx:798
 AlidNdEtaTask.cxx:799
 AlidNdEtaTask.cxx:800
 AlidNdEtaTask.cxx:801
 AlidNdEtaTask.cxx:802
 AlidNdEtaTask.cxx:803
 AlidNdEtaTask.cxx:804
 AlidNdEtaTask.cxx:805
 AlidNdEtaTask.cxx:806
 AlidNdEtaTask.cxx:807
 AlidNdEtaTask.cxx:808
 AlidNdEtaTask.cxx:809
 AlidNdEtaTask.cxx:810
 AlidNdEtaTask.cxx:811
 AlidNdEtaTask.cxx:812
 AlidNdEtaTask.cxx:813
 AlidNdEtaTask.cxx:814
 AlidNdEtaTask.cxx:815
 AlidNdEtaTask.cxx:816
 AlidNdEtaTask.cxx:817
 AlidNdEtaTask.cxx:818
 AlidNdEtaTask.cxx:819
 AlidNdEtaTask.cxx:820
 AlidNdEtaTask.cxx:821
 AlidNdEtaTask.cxx:822
 AlidNdEtaTask.cxx:823
 AlidNdEtaTask.cxx:824
 AlidNdEtaTask.cxx:825
 AlidNdEtaTask.cxx:826
 AlidNdEtaTask.cxx:827
 AlidNdEtaTask.cxx:828
 AlidNdEtaTask.cxx:829
 AlidNdEtaTask.cxx:830
 AlidNdEtaTask.cxx:831
 AlidNdEtaTask.cxx:832
 AlidNdEtaTask.cxx:833
 AlidNdEtaTask.cxx:834
 AlidNdEtaTask.cxx:835
 AlidNdEtaTask.cxx:836
 AlidNdEtaTask.cxx:837
 AlidNdEtaTask.cxx:838
 AlidNdEtaTask.cxx:839
 AlidNdEtaTask.cxx:840
 AlidNdEtaTask.cxx:841
 AlidNdEtaTask.cxx:842
 AlidNdEtaTask.cxx:843
 AlidNdEtaTask.cxx:844
 AlidNdEtaTask.cxx:845
 AlidNdEtaTask.cxx:846
 AlidNdEtaTask.cxx:847
 AlidNdEtaTask.cxx:848
 AlidNdEtaTask.cxx:849
 AlidNdEtaTask.cxx:850
 AlidNdEtaTask.cxx:851
 AlidNdEtaTask.cxx:852
 AlidNdEtaTask.cxx:853
 AlidNdEtaTask.cxx:854
 AlidNdEtaTask.cxx:855
 AlidNdEtaTask.cxx:856
 AlidNdEtaTask.cxx:857
 AlidNdEtaTask.cxx:858
 AlidNdEtaTask.cxx:859
 AlidNdEtaTask.cxx:860
 AlidNdEtaTask.cxx:861
 AlidNdEtaTask.cxx:862
 AlidNdEtaTask.cxx:863
 AlidNdEtaTask.cxx:864
 AlidNdEtaTask.cxx:865
 AlidNdEtaTask.cxx:866
 AlidNdEtaTask.cxx:867
 AlidNdEtaTask.cxx:868
 AlidNdEtaTask.cxx:869
 AlidNdEtaTask.cxx:870
 AlidNdEtaTask.cxx:871
 AlidNdEtaTask.cxx:872
 AlidNdEtaTask.cxx:873
 AlidNdEtaTask.cxx:874
 AlidNdEtaTask.cxx:875
 AlidNdEtaTask.cxx:876
 AlidNdEtaTask.cxx:877
 AlidNdEtaTask.cxx:878
 AlidNdEtaTask.cxx:879
 AlidNdEtaTask.cxx:880
 AlidNdEtaTask.cxx:881
 AlidNdEtaTask.cxx:882
 AlidNdEtaTask.cxx:883
 AlidNdEtaTask.cxx:884
 AlidNdEtaTask.cxx:885
 AlidNdEtaTask.cxx:886
 AlidNdEtaTask.cxx:887
 AlidNdEtaTask.cxx:888
 AlidNdEtaTask.cxx:889
 AlidNdEtaTask.cxx:890
 AlidNdEtaTask.cxx:891
 AlidNdEtaTask.cxx:892
 AlidNdEtaTask.cxx:893
 AlidNdEtaTask.cxx:894
 AlidNdEtaTask.cxx:895
 AlidNdEtaTask.cxx:896
 AlidNdEtaTask.cxx:897
 AlidNdEtaTask.cxx:898
 AlidNdEtaTask.cxx:899
 AlidNdEtaTask.cxx:900
 AlidNdEtaTask.cxx:901
 AlidNdEtaTask.cxx:902
 AlidNdEtaTask.cxx:903
 AlidNdEtaTask.cxx:904
 AlidNdEtaTask.cxx:905
 AlidNdEtaTask.cxx:906
 AlidNdEtaTask.cxx:907
 AlidNdEtaTask.cxx:908
 AlidNdEtaTask.cxx:909
 AlidNdEtaTask.cxx:910
 AlidNdEtaTask.cxx:911
 AlidNdEtaTask.cxx:912
 AlidNdEtaTask.cxx:913
 AlidNdEtaTask.cxx:914
 AlidNdEtaTask.cxx:915
 AlidNdEtaTask.cxx:916
 AlidNdEtaTask.cxx:917
 AlidNdEtaTask.cxx:918
 AlidNdEtaTask.cxx:919
 AlidNdEtaTask.cxx:920
 AlidNdEtaTask.cxx:921
 AlidNdEtaTask.cxx:922
 AlidNdEtaTask.cxx:923
 AlidNdEtaTask.cxx:924
 AlidNdEtaTask.cxx:925
 AlidNdEtaTask.cxx:926
 AlidNdEtaTask.cxx:927
 AlidNdEtaTask.cxx:928
 AlidNdEtaTask.cxx:929
 AlidNdEtaTask.cxx:930
 AlidNdEtaTask.cxx:931
 AlidNdEtaTask.cxx:932
 AlidNdEtaTask.cxx:933
 AlidNdEtaTask.cxx:934
 AlidNdEtaTask.cxx:935
 AlidNdEtaTask.cxx:936
 AlidNdEtaTask.cxx:937
 AlidNdEtaTask.cxx:938
 AlidNdEtaTask.cxx:939
 AlidNdEtaTask.cxx:940
 AlidNdEtaTask.cxx:941
 AlidNdEtaTask.cxx:942
 AlidNdEtaTask.cxx:943
 AlidNdEtaTask.cxx:944
 AlidNdEtaTask.cxx:945
 AlidNdEtaTask.cxx:946
 AlidNdEtaTask.cxx:947
 AlidNdEtaTask.cxx:948
 AlidNdEtaTask.cxx:949
 AlidNdEtaTask.cxx:950
 AlidNdEtaTask.cxx:951
 AlidNdEtaTask.cxx:952
 AlidNdEtaTask.cxx:953
 AlidNdEtaTask.cxx:954
 AlidNdEtaTask.cxx:955
 AlidNdEtaTask.cxx:956
 AlidNdEtaTask.cxx:957
 AlidNdEtaTask.cxx:958
 AlidNdEtaTask.cxx:959
 AlidNdEtaTask.cxx:960
 AlidNdEtaTask.cxx:961
 AlidNdEtaTask.cxx:962
 AlidNdEtaTask.cxx:963
 AlidNdEtaTask.cxx:964
 AlidNdEtaTask.cxx:965
 AlidNdEtaTask.cxx:966
 AlidNdEtaTask.cxx:967
 AlidNdEtaTask.cxx:968
 AlidNdEtaTask.cxx:969
 AlidNdEtaTask.cxx:970
 AlidNdEtaTask.cxx:971
 AlidNdEtaTask.cxx:972
 AlidNdEtaTask.cxx:973
 AlidNdEtaTask.cxx:974
 AlidNdEtaTask.cxx:975
 AlidNdEtaTask.cxx:976
 AlidNdEtaTask.cxx:977
 AlidNdEtaTask.cxx:978
 AlidNdEtaTask.cxx:979
 AlidNdEtaTask.cxx:980
 AlidNdEtaTask.cxx:981
 AlidNdEtaTask.cxx:982
 AlidNdEtaTask.cxx:983
 AlidNdEtaTask.cxx:984
 AlidNdEtaTask.cxx:985
 AlidNdEtaTask.cxx:986
 AlidNdEtaTask.cxx:987
 AlidNdEtaTask.cxx:988
 AlidNdEtaTask.cxx:989
 AlidNdEtaTask.cxx:990
 AlidNdEtaTask.cxx:991
 AlidNdEtaTask.cxx:992
 AlidNdEtaTask.cxx:993
 AlidNdEtaTask.cxx:994
 AlidNdEtaTask.cxx:995
 AlidNdEtaTask.cxx:996
 AlidNdEtaTask.cxx:997
 AlidNdEtaTask.cxx:998
 AlidNdEtaTask.cxx:999
 AlidNdEtaTask.cxx:1000
 AlidNdEtaTask.cxx:1001
 AlidNdEtaTask.cxx:1002
 AlidNdEtaTask.cxx:1003
 AlidNdEtaTask.cxx:1004
 AlidNdEtaTask.cxx:1005
 AlidNdEtaTask.cxx:1006
 AlidNdEtaTask.cxx:1007
 AlidNdEtaTask.cxx:1008
 AlidNdEtaTask.cxx:1009
 AlidNdEtaTask.cxx:1010
 AlidNdEtaTask.cxx:1011
 AlidNdEtaTask.cxx:1012
 AlidNdEtaTask.cxx:1013
 AlidNdEtaTask.cxx:1014
 AlidNdEtaTask.cxx:1015
 AlidNdEtaTask.cxx:1016
 AlidNdEtaTask.cxx:1017
 AlidNdEtaTask.cxx:1018
 AlidNdEtaTask.cxx:1019
 AlidNdEtaTask.cxx:1020
 AlidNdEtaTask.cxx:1021
 AlidNdEtaTask.cxx:1022
 AlidNdEtaTask.cxx:1023
 AlidNdEtaTask.cxx:1024
 AlidNdEtaTask.cxx:1025
 AlidNdEtaTask.cxx:1026
 AlidNdEtaTask.cxx:1027
 AlidNdEtaTask.cxx:1028
 AlidNdEtaTask.cxx:1029
 AlidNdEtaTask.cxx:1030
 AlidNdEtaTask.cxx:1031
 AlidNdEtaTask.cxx:1032
 AlidNdEtaTask.cxx:1033
 AlidNdEtaTask.cxx:1034
 AlidNdEtaTask.cxx:1035
 AlidNdEtaTask.cxx:1036
 AlidNdEtaTask.cxx:1037
 AlidNdEtaTask.cxx:1038
 AlidNdEtaTask.cxx:1039
 AlidNdEtaTask.cxx:1040
 AlidNdEtaTask.cxx:1041
 AlidNdEtaTask.cxx:1042
 AlidNdEtaTask.cxx:1043
 AlidNdEtaTask.cxx:1044
 AlidNdEtaTask.cxx:1045
 AlidNdEtaTask.cxx:1046
 AlidNdEtaTask.cxx:1047
 AlidNdEtaTask.cxx:1048
 AlidNdEtaTask.cxx:1049
 AlidNdEtaTask.cxx:1050
 AlidNdEtaTask.cxx:1051
 AlidNdEtaTask.cxx:1052
 AlidNdEtaTask.cxx:1053
 AlidNdEtaTask.cxx:1054
 AlidNdEtaTask.cxx:1055
 AlidNdEtaTask.cxx:1056
 AlidNdEtaTask.cxx:1057
 AlidNdEtaTask.cxx:1058
 AlidNdEtaTask.cxx:1059
 AlidNdEtaTask.cxx:1060
 AlidNdEtaTask.cxx:1061
 AlidNdEtaTask.cxx:1062
 AlidNdEtaTask.cxx:1063
 AlidNdEtaTask.cxx:1064
 AlidNdEtaTask.cxx:1065
 AlidNdEtaTask.cxx:1066
 AlidNdEtaTask.cxx:1067
 AlidNdEtaTask.cxx:1068
 AlidNdEtaTask.cxx:1069
 AlidNdEtaTask.cxx:1070
 AlidNdEtaTask.cxx:1071
 AlidNdEtaTask.cxx:1072
 AlidNdEtaTask.cxx:1073
 AlidNdEtaTask.cxx:1074
 AlidNdEtaTask.cxx:1075
 AlidNdEtaTask.cxx:1076
 AlidNdEtaTask.cxx:1077
 AlidNdEtaTask.cxx:1078
 AlidNdEtaTask.cxx:1079
 AlidNdEtaTask.cxx:1080
 AlidNdEtaTask.cxx:1081
 AlidNdEtaTask.cxx:1082
 AlidNdEtaTask.cxx:1083
 AlidNdEtaTask.cxx:1084
 AlidNdEtaTask.cxx:1085
 AlidNdEtaTask.cxx:1086
 AlidNdEtaTask.cxx:1087
 AlidNdEtaTask.cxx:1088
 AlidNdEtaTask.cxx:1089
 AlidNdEtaTask.cxx:1090
 AlidNdEtaTask.cxx:1091
 AlidNdEtaTask.cxx:1092
 AlidNdEtaTask.cxx:1093
 AlidNdEtaTask.cxx:1094
 AlidNdEtaTask.cxx:1095
 AlidNdEtaTask.cxx:1096
 AlidNdEtaTask.cxx:1097
 AlidNdEtaTask.cxx:1098
 AlidNdEtaTask.cxx:1099
 AlidNdEtaTask.cxx:1100
 AlidNdEtaTask.cxx:1101
 AlidNdEtaTask.cxx:1102
 AlidNdEtaTask.cxx:1103
 AlidNdEtaTask.cxx:1104
 AlidNdEtaTask.cxx:1105
 AlidNdEtaTask.cxx:1106
 AlidNdEtaTask.cxx:1107
 AlidNdEtaTask.cxx:1108
 AlidNdEtaTask.cxx:1109
 AlidNdEtaTask.cxx:1110
 AlidNdEtaTask.cxx:1111
 AlidNdEtaTask.cxx:1112
 AlidNdEtaTask.cxx:1113
 AlidNdEtaTask.cxx:1114
 AlidNdEtaTask.cxx:1115
 AlidNdEtaTask.cxx:1116
 AlidNdEtaTask.cxx:1117
 AlidNdEtaTask.cxx:1118
 AlidNdEtaTask.cxx:1119
 AlidNdEtaTask.cxx:1120
 AlidNdEtaTask.cxx:1121
 AlidNdEtaTask.cxx:1122
 AlidNdEtaTask.cxx:1123
 AlidNdEtaTask.cxx:1124
 AlidNdEtaTask.cxx:1125
 AlidNdEtaTask.cxx:1126
 AlidNdEtaTask.cxx:1127
 AlidNdEtaTask.cxx:1128
 AlidNdEtaTask.cxx:1129
 AlidNdEtaTask.cxx:1130
 AlidNdEtaTask.cxx:1131
 AlidNdEtaTask.cxx:1132
 AlidNdEtaTask.cxx:1133
 AlidNdEtaTask.cxx:1134
 AlidNdEtaTask.cxx:1135
 AlidNdEtaTask.cxx:1136
 AlidNdEtaTask.cxx:1137
 AlidNdEtaTask.cxx:1138
 AlidNdEtaTask.cxx:1139
 AlidNdEtaTask.cxx:1140
 AlidNdEtaTask.cxx:1141
 AlidNdEtaTask.cxx:1142
 AlidNdEtaTask.cxx:1143
 AlidNdEtaTask.cxx:1144
 AlidNdEtaTask.cxx:1145
 AlidNdEtaTask.cxx:1146
 AlidNdEtaTask.cxx:1147
 AlidNdEtaTask.cxx:1148
 AlidNdEtaTask.cxx:1149
 AlidNdEtaTask.cxx:1150
 AlidNdEtaTask.cxx:1151
 AlidNdEtaTask.cxx:1152
 AlidNdEtaTask.cxx:1153
 AlidNdEtaTask.cxx:1154
 AlidNdEtaTask.cxx:1155
 AlidNdEtaTask.cxx:1156
 AlidNdEtaTask.cxx:1157
 AlidNdEtaTask.cxx:1158
 AlidNdEtaTask.cxx:1159
 AlidNdEtaTask.cxx:1160
 AlidNdEtaTask.cxx:1161
 AlidNdEtaTask.cxx:1162
 AlidNdEtaTask.cxx:1163
 AlidNdEtaTask.cxx:1164
 AlidNdEtaTask.cxx:1165
 AlidNdEtaTask.cxx:1166
 AlidNdEtaTask.cxx:1167
 AlidNdEtaTask.cxx:1168
 AlidNdEtaTask.cxx:1169
 AlidNdEtaTask.cxx:1170
 AlidNdEtaTask.cxx:1171
 AlidNdEtaTask.cxx:1172
 AlidNdEtaTask.cxx:1173
 AlidNdEtaTask.cxx:1174
 AlidNdEtaTask.cxx:1175
 AlidNdEtaTask.cxx:1176
 AlidNdEtaTask.cxx:1177
 AlidNdEtaTask.cxx:1178
 AlidNdEtaTask.cxx:1179
 AlidNdEtaTask.cxx:1180
 AlidNdEtaTask.cxx:1181
 AlidNdEtaTask.cxx:1182
 AlidNdEtaTask.cxx:1183
 AlidNdEtaTask.cxx:1184
 AlidNdEtaTask.cxx:1185
 AlidNdEtaTask.cxx:1186
 AlidNdEtaTask.cxx:1187
 AlidNdEtaTask.cxx:1188
 AlidNdEtaTask.cxx:1189
 AlidNdEtaTask.cxx:1190
 AlidNdEtaTask.cxx:1191
 AlidNdEtaTask.cxx:1192
 AlidNdEtaTask.cxx:1193
 AlidNdEtaTask.cxx:1194
 AlidNdEtaTask.cxx:1195
 AlidNdEtaTask.cxx:1196
 AlidNdEtaTask.cxx:1197
 AlidNdEtaTask.cxx:1198
 AlidNdEtaTask.cxx:1199
 AlidNdEtaTask.cxx:1200
 AlidNdEtaTask.cxx:1201
 AlidNdEtaTask.cxx:1202
 AlidNdEtaTask.cxx:1203
 AlidNdEtaTask.cxx:1204
 AlidNdEtaTask.cxx:1205
 AlidNdEtaTask.cxx:1206
 AlidNdEtaTask.cxx:1207
 AlidNdEtaTask.cxx:1208
 AlidNdEtaTask.cxx:1209
 AlidNdEtaTask.cxx:1210
 AlidNdEtaTask.cxx:1211
 AlidNdEtaTask.cxx:1212
 AlidNdEtaTask.cxx:1213
 AlidNdEtaTask.cxx:1214
 AlidNdEtaTask.cxx:1215
 AlidNdEtaTask.cxx:1216
 AlidNdEtaTask.cxx:1217
 AlidNdEtaTask.cxx:1218
 AlidNdEtaTask.cxx:1219
 AlidNdEtaTask.cxx:1220
 AlidNdEtaTask.cxx:1221
 AlidNdEtaTask.cxx:1222
 AlidNdEtaTask.cxx:1223
 AlidNdEtaTask.cxx:1224
 AlidNdEtaTask.cxx:1225
 AlidNdEtaTask.cxx:1226
 AlidNdEtaTask.cxx:1227
 AlidNdEtaTask.cxx:1228
 AlidNdEtaTask.cxx:1229
 AlidNdEtaTask.cxx:1230
 AlidNdEtaTask.cxx:1231
 AlidNdEtaTask.cxx:1232
 AlidNdEtaTask.cxx:1233
 AlidNdEtaTask.cxx:1234
 AlidNdEtaTask.cxx:1235
 AlidNdEtaTask.cxx:1236
 AlidNdEtaTask.cxx:1237
 AlidNdEtaTask.cxx:1238
 AlidNdEtaTask.cxx:1239
 AlidNdEtaTask.cxx:1240
 AlidNdEtaTask.cxx:1241
 AlidNdEtaTask.cxx:1242
 AlidNdEtaTask.cxx:1243
 AlidNdEtaTask.cxx:1244
 AlidNdEtaTask.cxx:1245
 AlidNdEtaTask.cxx:1246
 AlidNdEtaTask.cxx:1247
 AlidNdEtaTask.cxx:1248
 AlidNdEtaTask.cxx:1249
 AlidNdEtaTask.cxx:1250
 AlidNdEtaTask.cxx:1251
 AlidNdEtaTask.cxx:1252
 AlidNdEtaTask.cxx:1253
 AlidNdEtaTask.cxx:1254
 AlidNdEtaTask.cxx:1255
 AlidNdEtaTask.cxx:1256
 AlidNdEtaTask.cxx:1257
 AlidNdEtaTask.cxx:1258
 AlidNdEtaTask.cxx:1259
 AlidNdEtaTask.cxx:1260
 AlidNdEtaTask.cxx:1261
 AlidNdEtaTask.cxx:1262
 AlidNdEtaTask.cxx:1263
 AlidNdEtaTask.cxx:1264
 AlidNdEtaTask.cxx:1265
 AlidNdEtaTask.cxx:1266
 AlidNdEtaTask.cxx:1267
 AlidNdEtaTask.cxx:1268
 AlidNdEtaTask.cxx:1269
 AlidNdEtaTask.cxx:1270
 AlidNdEtaTask.cxx:1271
 AlidNdEtaTask.cxx:1272
 AlidNdEtaTask.cxx:1273
 AlidNdEtaTask.cxx:1274
 AlidNdEtaTask.cxx:1275
 AlidNdEtaTask.cxx:1276
 AlidNdEtaTask.cxx:1277
 AlidNdEtaTask.cxx:1278
 AlidNdEtaTask.cxx:1279
 AlidNdEtaTask.cxx:1280
 AlidNdEtaTask.cxx:1281
 AlidNdEtaTask.cxx:1282
 AlidNdEtaTask.cxx:1283
 AlidNdEtaTask.cxx:1284
 AlidNdEtaTask.cxx:1285
 AlidNdEtaTask.cxx:1286
 AlidNdEtaTask.cxx:1287
 AlidNdEtaTask.cxx:1288
 AlidNdEtaTask.cxx:1289
 AlidNdEtaTask.cxx:1290
 AlidNdEtaTask.cxx:1291
 AlidNdEtaTask.cxx:1292
 AlidNdEtaTask.cxx:1293
 AlidNdEtaTask.cxx:1294
 AlidNdEtaTask.cxx:1295
 AlidNdEtaTask.cxx:1296
 AlidNdEtaTask.cxx:1297
 AlidNdEtaTask.cxx:1298
 AlidNdEtaTask.cxx:1299
 AlidNdEtaTask.cxx:1300
 AlidNdEtaTask.cxx:1301
 AlidNdEtaTask.cxx:1302
 AlidNdEtaTask.cxx:1303
 AlidNdEtaTask.cxx:1304
 AlidNdEtaTask.cxx:1305
 AlidNdEtaTask.cxx:1306
 AlidNdEtaTask.cxx:1307
 AlidNdEtaTask.cxx:1308
 AlidNdEtaTask.cxx:1309
 AlidNdEtaTask.cxx:1310
 AlidNdEtaTask.cxx:1311
 AlidNdEtaTask.cxx:1312
 AlidNdEtaTask.cxx:1313
 AlidNdEtaTask.cxx:1314
 AlidNdEtaTask.cxx:1315
 AlidNdEtaTask.cxx:1316
 AlidNdEtaTask.cxx:1317
 AlidNdEtaTask.cxx:1318
 AlidNdEtaTask.cxx:1319
 AlidNdEtaTask.cxx:1320
 AlidNdEtaTask.cxx:1321
 AlidNdEtaTask.cxx:1322
 AlidNdEtaTask.cxx:1323
 AlidNdEtaTask.cxx:1324
 AlidNdEtaTask.cxx:1325
 AlidNdEtaTask.cxx:1326
 AlidNdEtaTask.cxx:1327
 AlidNdEtaTask.cxx:1328
 AlidNdEtaTask.cxx:1329
 AlidNdEtaTask.cxx:1330
 AlidNdEtaTask.cxx:1331
 AlidNdEtaTask.cxx:1332
 AlidNdEtaTask.cxx:1333
 AlidNdEtaTask.cxx:1334
 AlidNdEtaTask.cxx:1335
 AlidNdEtaTask.cxx:1336
 AlidNdEtaTask.cxx:1337
 AlidNdEtaTask.cxx:1338
 AlidNdEtaTask.cxx:1339
 AlidNdEtaTask.cxx:1340
 AlidNdEtaTask.cxx:1341
 AlidNdEtaTask.cxx:1342
 AlidNdEtaTask.cxx:1343
 AlidNdEtaTask.cxx:1344
 AlidNdEtaTask.cxx:1345
 AlidNdEtaTask.cxx:1346
 AlidNdEtaTask.cxx:1347
 AlidNdEtaTask.cxx:1348
 AlidNdEtaTask.cxx:1349
 AlidNdEtaTask.cxx:1350
 AlidNdEtaTask.cxx:1351
 AlidNdEtaTask.cxx:1352
 AlidNdEtaTask.cxx:1353
 AlidNdEtaTask.cxx:1354
 AlidNdEtaTask.cxx:1355
 AlidNdEtaTask.cxx:1356
 AlidNdEtaTask.cxx:1357
 AlidNdEtaTask.cxx:1358
 AlidNdEtaTask.cxx:1359
 AlidNdEtaTask.cxx:1360
 AlidNdEtaTask.cxx:1361
 AlidNdEtaTask.cxx:1362
 AlidNdEtaTask.cxx:1363
 AlidNdEtaTask.cxx:1364
 AlidNdEtaTask.cxx:1365
 AlidNdEtaTask.cxx:1366
 AlidNdEtaTask.cxx:1367
 AlidNdEtaTask.cxx:1368
 AlidNdEtaTask.cxx:1369
 AlidNdEtaTask.cxx:1370
 AlidNdEtaTask.cxx:1371
 AlidNdEtaTask.cxx:1372
 AlidNdEtaTask.cxx:1373
 AlidNdEtaTask.cxx:1374
 AlidNdEtaTask.cxx:1375
 AlidNdEtaTask.cxx:1376
 AlidNdEtaTask.cxx:1377
 AlidNdEtaTask.cxx:1378
 AlidNdEtaTask.cxx:1379
 AlidNdEtaTask.cxx:1380
 AlidNdEtaTask.cxx:1381
 AlidNdEtaTask.cxx:1382
 AlidNdEtaTask.cxx:1383
 AlidNdEtaTask.cxx:1384
 AlidNdEtaTask.cxx:1385
 AlidNdEtaTask.cxx:1386
 AlidNdEtaTask.cxx:1387
 AlidNdEtaTask.cxx:1388
 AlidNdEtaTask.cxx:1389
 AlidNdEtaTask.cxx:1390
 AlidNdEtaTask.cxx:1391
 AlidNdEtaTask.cxx:1392
 AlidNdEtaTask.cxx:1393
 AlidNdEtaTask.cxx:1394
 AlidNdEtaTask.cxx:1395
 AlidNdEtaTask.cxx:1396
 AlidNdEtaTask.cxx:1397
 AlidNdEtaTask.cxx:1398
 AlidNdEtaTask.cxx:1399
 AlidNdEtaTask.cxx:1400
 AlidNdEtaTask.cxx:1401
 AlidNdEtaTask.cxx:1402
 AlidNdEtaTask.cxx:1403
 AlidNdEtaTask.cxx:1404
 AlidNdEtaTask.cxx:1405
 AlidNdEtaTask.cxx:1406
 AlidNdEtaTask.cxx:1407
 AlidNdEtaTask.cxx:1408
 AlidNdEtaTask.cxx:1409
 AlidNdEtaTask.cxx:1410
 AlidNdEtaTask.cxx:1411
 AlidNdEtaTask.cxx:1412
 AlidNdEtaTask.cxx:1413
 AlidNdEtaTask.cxx:1414
 AlidNdEtaTask.cxx:1415
 AlidNdEtaTask.cxx:1416
 AlidNdEtaTask.cxx:1417
 AlidNdEtaTask.cxx:1418
 AlidNdEtaTask.cxx:1419
 AlidNdEtaTask.cxx:1420
 AlidNdEtaTask.cxx:1421
 AlidNdEtaTask.cxx:1422
 AlidNdEtaTask.cxx:1423
 AlidNdEtaTask.cxx:1424
 AlidNdEtaTask.cxx:1425
 AlidNdEtaTask.cxx:1426
 AlidNdEtaTask.cxx:1427
 AlidNdEtaTask.cxx:1428
 AlidNdEtaTask.cxx:1429
 AlidNdEtaTask.cxx:1430
 AlidNdEtaTask.cxx:1431
 AlidNdEtaTask.cxx:1432
 AlidNdEtaTask.cxx:1433
 AlidNdEtaTask.cxx:1434
 AlidNdEtaTask.cxx:1435
 AlidNdEtaTask.cxx:1436
 AlidNdEtaTask.cxx:1437
 AlidNdEtaTask.cxx:1438
 AlidNdEtaTask.cxx:1439
 AlidNdEtaTask.cxx:1440
 AlidNdEtaTask.cxx:1441
 AlidNdEtaTask.cxx:1442
 AlidNdEtaTask.cxx:1443
 AlidNdEtaTask.cxx:1444
 AlidNdEtaTask.cxx:1445
 AlidNdEtaTask.cxx:1446
 AlidNdEtaTask.cxx:1447
 AlidNdEtaTask.cxx:1448
 AlidNdEtaTask.cxx:1449
 AlidNdEtaTask.cxx:1450
 AlidNdEtaTask.cxx:1451
 AlidNdEtaTask.cxx:1452
 AlidNdEtaTask.cxx:1453
 AlidNdEtaTask.cxx:1454
 AlidNdEtaTask.cxx:1455
 AlidNdEtaTask.cxx:1456
 AlidNdEtaTask.cxx:1457
 AlidNdEtaTask.cxx:1458
 AlidNdEtaTask.cxx:1459
 AlidNdEtaTask.cxx:1460
 AlidNdEtaTask.cxx:1461
 AlidNdEtaTask.cxx:1462
 AlidNdEtaTask.cxx:1463
 AlidNdEtaTask.cxx:1464
 AlidNdEtaTask.cxx:1465
 AlidNdEtaTask.cxx:1466
 AlidNdEtaTask.cxx:1467
 AlidNdEtaTask.cxx:1468
 AlidNdEtaTask.cxx:1469
 AlidNdEtaTask.cxx:1470
 AlidNdEtaTask.cxx:1471
 AlidNdEtaTask.cxx:1472
 AlidNdEtaTask.cxx:1473
 AlidNdEtaTask.cxx:1474
 AlidNdEtaTask.cxx:1475
 AlidNdEtaTask.cxx:1476
 AlidNdEtaTask.cxx:1477
 AlidNdEtaTask.cxx:1478
 AlidNdEtaTask.cxx:1479
 AlidNdEtaTask.cxx:1480
 AlidNdEtaTask.cxx:1481
 AlidNdEtaTask.cxx:1482
 AlidNdEtaTask.cxx:1483
 AlidNdEtaTask.cxx:1484
 AlidNdEtaTask.cxx:1485
 AlidNdEtaTask.cxx:1486
 AlidNdEtaTask.cxx:1487
 AlidNdEtaTask.cxx:1488
 AlidNdEtaTask.cxx:1489
 AlidNdEtaTask.cxx:1490
 AlidNdEtaTask.cxx:1491
 AlidNdEtaTask.cxx:1492
 AlidNdEtaTask.cxx:1493
 AlidNdEtaTask.cxx:1494
 AlidNdEtaTask.cxx:1495
 AlidNdEtaTask.cxx:1496
 AlidNdEtaTask.cxx:1497
 AlidNdEtaTask.cxx:1498
 AlidNdEtaTask.cxx:1499
 AlidNdEtaTask.cxx:1500
 AlidNdEtaTask.cxx:1501
 AlidNdEtaTask.cxx:1502
 AlidNdEtaTask.cxx:1503
 AlidNdEtaTask.cxx:1504
 AlidNdEtaTask.cxx:1505
 AlidNdEtaTask.cxx:1506
 AlidNdEtaTask.cxx:1507
 AlidNdEtaTask.cxx:1508
 AlidNdEtaTask.cxx:1509
 AlidNdEtaTask.cxx:1510
 AlidNdEtaTask.cxx:1511
 AlidNdEtaTask.cxx:1512
 AlidNdEtaTask.cxx:1513
 AlidNdEtaTask.cxx:1514
 AlidNdEtaTask.cxx:1515
 AlidNdEtaTask.cxx:1516
 AlidNdEtaTask.cxx:1517
 AlidNdEtaTask.cxx:1518
 AlidNdEtaTask.cxx:1519
 AlidNdEtaTask.cxx:1520
 AlidNdEtaTask.cxx:1521
 AlidNdEtaTask.cxx:1522
 AlidNdEtaTask.cxx:1523
 AlidNdEtaTask.cxx:1524
 AlidNdEtaTask.cxx:1525
 AlidNdEtaTask.cxx:1526
 AlidNdEtaTask.cxx:1527
 AlidNdEtaTask.cxx:1528
 AlidNdEtaTask.cxx:1529
 AlidNdEtaTask.cxx:1530
 AlidNdEtaTask.cxx:1531
 AlidNdEtaTask.cxx:1532
 AlidNdEtaTask.cxx:1533
 AlidNdEtaTask.cxx:1534
 AlidNdEtaTask.cxx:1535
 AlidNdEtaTask.cxx:1536
 AlidNdEtaTask.cxx:1537
 AlidNdEtaTask.cxx:1538
 AlidNdEtaTask.cxx:1539
 AlidNdEtaTask.cxx:1540
 AlidNdEtaTask.cxx:1541
 AlidNdEtaTask.cxx:1542
 AlidNdEtaTask.cxx:1543
 AlidNdEtaTask.cxx:1544
 AlidNdEtaTask.cxx:1545
 AlidNdEtaTask.cxx:1546
 AlidNdEtaTask.cxx:1547
 AlidNdEtaTask.cxx:1548
 AlidNdEtaTask.cxx:1549
 AlidNdEtaTask.cxx:1550
 AlidNdEtaTask.cxx:1551
 AlidNdEtaTask.cxx:1552
 AlidNdEtaTask.cxx:1553
 AlidNdEtaTask.cxx:1554
 AlidNdEtaTask.cxx:1555
 AlidNdEtaTask.cxx:1556
 AlidNdEtaTask.cxx:1557
 AlidNdEtaTask.cxx:1558
 AlidNdEtaTask.cxx:1559
 AlidNdEtaTask.cxx:1560
 AlidNdEtaTask.cxx:1561
 AlidNdEtaTask.cxx:1562
 AlidNdEtaTask.cxx:1563
 AlidNdEtaTask.cxx:1564
 AlidNdEtaTask.cxx:1565
 AlidNdEtaTask.cxx:1566
 AlidNdEtaTask.cxx:1567
 AlidNdEtaTask.cxx:1568
 AlidNdEtaTask.cxx:1569
 AlidNdEtaTask.cxx:1570
 AlidNdEtaTask.cxx:1571
 AlidNdEtaTask.cxx:1572
 AlidNdEtaTask.cxx:1573
 AlidNdEtaTask.cxx:1574
 AlidNdEtaTask.cxx:1575
 AlidNdEtaTask.cxx:1576
 AlidNdEtaTask.cxx:1577
 AlidNdEtaTask.cxx:1578
 AlidNdEtaTask.cxx:1579
 AlidNdEtaTask.cxx:1580
 AlidNdEtaTask.cxx:1581