ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: ALICE Offline.                                                 *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/


//=========================================================================//
//             AliEbyE Analysis for Particle Ratio Fluctuation             //
//                   Deepika Rathee  | Satyajit Jena                       //
//                   drathee@cern.ch | sjena@cern.ch                       //
//                  Date: Wed Jul  9 18:38:30 CEST 2014                    //
//          New approch to find particle ratio to reduce memory            //
//                             (Test Only)                                 //
//        Copied from NetParticle Classes
//        Origin: Jochen Thaeder <jochen@thaeder.de>
//                Michael Weber <m.weber@cern.ch>
//=========================================================================//

#include "TMath.h"
#include "TAxis.h"

#include "AliESDEvent.h"
#include "AliStack.h"
#include "AliMCEvent.h"
#include "AliESDtrackCuts.h"
#include "AliAODEvent.h"
#include "AliAODMCParticle.h"

#include "AliEbyEPidRatioEffContExtra.h"

using namespace std;

ClassImp(AliEbyEPidRatioEffContExtra)

//________________________________________________________________________
AliEbyEPidRatioEffContExtra::AliEbyEPidRatioEffContExtra() :
  AliEbyEPidRatioBase("EffCont", "EffCont"),
  fLabelsRec(NULL),
 
  fHnNchEMc(NULL),
  fHnNchERec(NULL),
  fHnNpiEMc(NULL),
  fHnNpiERec(NULL),
  fHnNkaEMc(NULL),
  fHnNkaERec(NULL),
  fHnNprEMc(NULL),
  fHnNprERec(NULL),

  fHnNchCMc(NULL),
  fHnNchCRec(NULL),
  fHnNpiCMc(NULL),
  fHnNpiCRec(NULL),
  fHnNkaCMc(NULL),
  fHnNkaCRec(NULL),
  fHnNprCMc(NULL),
  fHnNprCRec(NULL) {
  AliLog::SetClassDebugLevel("AliEbyEPidRatioEffContExtra",10);
}

//________________________________________________________________________
AliEbyEPidRatioEffContExtra::~AliEbyEPidRatioEffContExtra() {
  // Destructor


  for (Int_t ii = 0; ii < 2; ++ii) {
    for (Int_t kk = 0; kk < 4; ++kk)
      if (fLabelsRec[ii][kk]) delete[] fLabelsRec[ii][kk];
    if (fLabelsRec[ii]) delete[] fLabelsRec[ii];
  }
  if (fLabelsRec) delete[] fLabelsRec;

}


//________________________________________________________________________
void AliEbyEPidRatioEffContExtra::Process() {
  for(Int_t i = 0; i < 4; i++)  {
    FillMCLabels(i);
    FillMCEffHist(i);
  }
  return;
}      

//________________________________________________________________________
void AliEbyEPidRatioEffContExtra::Init() {
  fLabelsRec = new Int_t**[2];
  for (Int_t ii = 0 ; ii < 2; ++ii) {
    fLabelsRec[ii] = new Int_t*[4];
    for (Int_t kk = 0 ; kk < 4; ++kk)
      fLabelsRec[ii][kk] = NULL;
  }
  Printf(" >>>> AliEbyEPidRatioEffContExtra - inside");
}

//________________________________________________________________________
void AliEbyEPidRatioEffContExtra::CreateHistograms() {
   Int_t    binHnEffPIDMC[8] = {AliEbyEPidRatioHelper::fgkfHistNBinsCent, 
			       AliEbyEPidRatioHelper::fgkfHistNBinsSign, 
			       2, 2, 2,
			       AliEbyEPidRatioHelper::fgkfHistNBinsRap,     
			       AliEbyEPidRatioHelper::fgkfHistNBinsPhi, 
			       35};
  
  Double_t minHnEffPIDMC[8] = {AliEbyEPidRatioHelper::fgkfHistRangeCent[0], 
			       AliEbyEPidRatioHelper::fgkfHistRangeSign[0], 
			       -0.5,     -0.5,     -0.5,
			       AliEbyEPidRatioHelper::fgkfHistRangeRap[0],  
			       AliEbyEPidRatioHelper::fgkfHistRangePhi[0], 
			       0.2};  
  
  Double_t maxHnEffPIDMC[8] = {AliEbyEPidRatioHelper::fgkfHistRangeCent[1], 
			       AliEbyEPidRatioHelper::fgkfHistRangeSign[1], 
			       1.5,      1.5,      1.5,
			       AliEbyEPidRatioHelper::fgkfHistRangeRap[1],  
			       AliEbyEPidRatioHelper::fgkfHistRangePhi[1], 
			       3.0};  
  
  

  TString titilemc       = "cent:signMC:findable:recStatus:pidStatus:yMC:phiMC:ptMC";
 
  TString tiltlelaxmc[8]  = {"Centrality", 
			     "sign", 
			     "findable",
			     "recStatus",
			     "recPid",
			     "#it{y}_{MC}", 
			     "#varphi_{MC} (rad)", 
			     "#it{p}_{T,MC} (GeV/#it{c})"
  };

 
  //eff
  fHnNpiEMc  = new THnSparseF("hmNpiEffMc",titilemc.Data(),8,binHnEffPIDMC,minHnEffPIDMC, maxHnEffPIDMC);
  fHnNkaEMc  = new THnSparseF("hmNkaEffMc",titilemc.Data(),8,binHnEffPIDMC,minHnEffPIDMC, maxHnEffPIDMC);
  fHnNprEMc  = new THnSparseF("hmNprEffMc",titilemc.Data(),8,binHnEffPIDMC,minHnEffPIDMC, maxHnEffPIDMC);
  fHnNchEMc  = new THnSparseF("hmNchEffMc",titilemc.Data(),8,binHnEffPIDMC,minHnEffPIDMC, maxHnEffPIDMC);

  for (Int_t i = 0; i < 8; i++) {  
    fHnNchEMc->GetAxis(i)->SetTitle(tiltlelaxmc[i].Data());
    fHnNpiEMc->GetAxis(i)->SetTitle(tiltlelaxmc[i].Data());
    fHnNkaEMc->GetAxis(i)->SetTitle(tiltlelaxmc[i].Data());
    fHnNprEMc->GetAxis(i)->SetTitle(tiltlelaxmc[i].Data());
  }
  
  


  Int_t    binHnEffPID[5] = {AliEbyEPidRatioHelper::fgkfHistNBinsCent, 
			     AliEbyEPidRatioHelper::fgkfHistNBinsSign, 
			     AliEbyEPidRatioHelper::fgkfHistNBinsRap, 
			     AliEbyEPidRatioHelper::fgkfHistNBinsPhi,     
			     35};

  Double_t minHnEffPID[5] = {AliEbyEPidRatioHelper::fgkfHistRangeCent[0], 
			     AliEbyEPidRatioHelper::fgkfHistRangeSign[0],			  
			     AliEbyEPidRatioHelper::fgkfHistRangeRap[0], 
			     AliEbyEPidRatioHelper::fgkfHistRangePhi[0],  
			     0.2};

  
  Double_t maxHnEffPID[5] = {AliEbyEPidRatioHelper::fgkfHistRangeCent[1], 
			     AliEbyEPidRatioHelper::fgkfHistRangeSign[1], 
			     AliEbyEPidRatioHelper::fgkfHistRangeRap[1], 
			     AliEbyEPidRatioHelper::fgkfHistRangePhi[1],  
			     3.0};


  TString titilerec      = "cent:signRec:yRec:phiRec:ptRec";
  TString tiltlelaxrec[5]  = {"Centrality", 
			      "sign", 
			      "#it{y}_{Rec}", 
			      "#varphi_{Rec} (rad)", 
			      "#it{p}_{T,Rec} (GeV/#it{c})"};

 
  fHnNpiERec = new THnSparseF("hmNpiEffRec",titilerec.Data(),5,binHnEffPID, minHnEffPID, maxHnEffPID);
  fHnNkaERec = new THnSparseF("hmNkaEffRec",titilerec.Data(),5,binHnEffPID, minHnEffPID, maxHnEffPID);
  fHnNprERec = new THnSparseF("hmNprEffRec",titilerec.Data(),5,binHnEffPID, minHnEffPID, maxHnEffPID);
  fHnNchERec = new THnSparseF("hmNchEffRec",titilerec.Data(),5,binHnEffPID,minHnEffPID, maxHnEffPID);

  

  for (Int_t i = 0; i < 5; i++) { 
    fHnNchERec->GetAxis(i)->SetTitle(tiltlelaxrec[i].Data());
    fHnNpiERec->GetAxis(i)->SetTitle(tiltlelaxrec[i].Data());
    fHnNkaERec->GetAxis(i)->SetTitle(tiltlelaxrec[i].Data());
    fHnNprERec->GetAxis(i)->SetTitle(tiltlelaxrec[i].Data());
  }  

  //----- cont

  //----
  Int_t    binHnCont[6] = {AliEbyEPidRatioHelper::fgkfHistNBinsCent, 
			   AliEbyEPidRatioHelper::fgkfHistNBinsSign, 
			   8,                                        
			   AliEbyEPidRatioHelper::fgkfHistNBinsRap,  
			   AliEbyEPidRatioHelper::fgkfHistNBinsPhi, 
			   35};  
  
  Double_t minHnCont[6] = {AliEbyEPidRatioHelper::fgkfHistRangeCent[0], 
			   AliEbyEPidRatioHelper::fgkfHistRangeSign[0], 
			   0.5,                                            
			   AliEbyEPidRatioHelper::fgkfHistRangeRap[0],  
			   AliEbyEPidRatioHelper::fgkfHistRangePhi[0], 
			   0.2};
  
  
  
  Double_t maxHnCont[6] = {AliEbyEPidRatioHelper::fgkfHistRangeCent[1], 
			   AliEbyEPidRatioHelper::fgkfHistRangeSign[1],
			   8.5,                        
			   AliEbyEPidRatioHelper::fgkfHistRangeRap[1],  
			   AliEbyEPidRatioHelper::fgkfHistRangePhi[1], 
			   3.0};   




  TString titilecont     = "cent:signMC:contStatus:yMC:phiMC:ptMC";
  TString tiltlelaxcont[6] 
    = {"Centrality","sign","contPart","#it{y}_{MC}","#varphi_{MC} (rad)","#it{p}_{T,MC} (GeV/#it{c})"};
  
  fHnNpiCMc  = new THnSparseF("hmNpiContMc",titilecont.Data(),6,binHnCont,minHnCont, maxHnCont);
  fHnNkaCMc  = new THnSparseF("hmNkaContMc",titilecont.Data(),6,binHnCont,minHnCont, maxHnCont);
  fHnNprCMc  = new THnSparseF("hmNprContMc",titilecont.Data(),6,binHnCont,minHnCont, maxHnCont);
  fHnNchCMc  = new THnSparseF("hmNchContMc",titilecont.Data(),6,binHnCont,minHnCont, maxHnCont);

 for (Int_t i = 0; i < 6; i++) {  
    fHnNchCMc->GetAxis(i)->SetTitle(tiltlelaxcont[i].Data());
    fHnNpiCMc->GetAxis(i)->SetTitle(tiltlelaxcont[i].Data());
    fHnNkaCMc->GetAxis(i)->SetTitle(tiltlelaxcont[i].Data());
    fHnNprCMc->GetAxis(i)->SetTitle(tiltlelaxcont[i].Data());
  }

 

 fHnNpiCRec = new THnSparseF("hmNpiContRec",titilerec.Data(),5,binHnEffPID,minHnEffPID, maxHnEffPID);
 fHnNkaCRec = new THnSparseF("hmNkaContRec",titilerec.Data(),5,binHnEffPID,minHnEffPID, maxHnEffPID);
 fHnNprCRec = new THnSparseF("hmNprContRec",titilerec.Data(),5,binHnEffPID,minHnEffPID, maxHnEffPID);
 fHnNchCRec = new THnSparseF("hmNchContRec",titilerec.Data(),5,binHnEffPID,minHnEffPID, maxHnEffPID);

 for (Int_t i = 0; i < 5; i++) {  
   fHnNchCRec->GetAxis(i)->SetTitle(tiltlelaxrec[i].Data());
   fHnNpiCRec->GetAxis(i)->SetTitle(tiltlelaxrec[i].Data());
   fHnNkaCRec->GetAxis(i)->SetTitle(tiltlelaxrec[i].Data());
   fHnNprCRec->GetAxis(i)->SetTitle(tiltlelaxrec[i].Data());
 }  

 
  fHelper->BinLogAxis(fHnNchERec,4);
  fHelper->BinLogAxis(fHnNpiERec,4);
  fHelper->BinLogAxis(fHnNkaERec,4);
  fHelper->BinLogAxis(fHnNprERec,4);
  
  fHelper->BinLogAxis(fHnNchEMc,7);
  fHelper->BinLogAxis(fHnNpiEMc,7);
  fHelper->BinLogAxis(fHnNkaEMc,7);
  fHelper->BinLogAxis(fHnNprEMc,7);

  fHelper->BinLogAxis(fHnNchCMc,5);
  fHelper->BinLogAxis(fHnNpiCMc,5);
  fHelper->BinLogAxis(fHnNkaCMc,5);
  fHelper->BinLogAxis(fHnNprCMc,5);

  fHelper->BinLogAxis(fHnNchCRec,4);
  fHelper->BinLogAxis(fHnNpiCRec,4);
  fHelper->BinLogAxis(fHnNkaCRec,4);
  fHelper->BinLogAxis(fHnNprCRec,4);


  return;
}

//________________________________________________________________________
Int_t AliEbyEPidRatioEffContExtra::Setup() {
  for(Int_t i = 0; i < 4; i++) {
    fLabelsRec[0][i] = new Int_t[fNTracks];
    if(!fLabelsRec[0][i]) {
      AliError("Cannot create fLabelsRec[0]");
      return -1;
    }
    
    fLabelsRec[1][i] = new Int_t[fNTracks];
    if(!fLabelsRec[1][i]) {
      AliError("Cannot create fLabelsRec[1] for PID");
      return -1;
    }
    
    for(Int_t ii = 0; ii < fNTracks; ++ii) {
      fLabelsRec[0][i][ii] = 0;
      fLabelsRec[1][i][ii] = 0;
    }
  }
 
  return 0;
}

//________________________________________________________________________
void AliEbyEPidRatioEffContExtra::Reset() {
  // -- Reset eventwise

  for(Int_t i = 0; i < 4; i++) {
    for (Int_t ii = 0; ii < 2 ; ++ii) {
      if (fLabelsRec[ii][i])
	delete[] fLabelsRec[ii][i];
      fLabelsRec[ii][i] = NULL;
    }
  }
}

//________________________________________________________________________
void AliEbyEPidRatioEffContExtra::FillMCLabels(Int_t ipid) {
  // Fill MC labels
  // Loop over ESD tracks and fill arrays with MC lables
  //  fLabelsRec[0] : all Tracks
  //  fLabelsRec[1] : all Tracks accepted by PID of TPC
  // Check every accepted track if correctly identified
  //  otherwise check for contamination

  // -- Get ranges for AOD particles
  Float_t etaRange[2];
  fESDTrackCuts->GetEtaRange(etaRange[0],etaRange[1]);

  Float_t ptRange[2];
  fESDTrackCuts->GetPtRange(ptRange[0],ptRange[1]);

  // -- Track Loop
  for (Int_t idxTrack = 0; idxTrack < fNTracks; ++idxTrack) {
    AliVTrack *track = (fESD) ? static_cast<AliVTrack*>(fESD->GetTrack(idxTrack)) : static_cast<AliVTrack*>(fAOD->GetTrack(idxTrack)); 

    // -- Check if track is accepted for basic parameters
    if (!fHelper->IsTrackAcceptedBasicCharged(track))
      continue;
    
    // -- Check if accepted - ESD
    if (fESD && !fESDTrackCuts->AcceptTrack(dynamic_cast<AliESDtrack*>(track)))
      continue;
    
    // -- Check if accepted - AOD
    if (fAOD){
      AliAODTrack * trackAOD = dynamic_cast<AliAODTrack*>(track);
      
      if (!trackAOD) {
	AliError("Pointer to dynamic_cast<AliAODTrack*>(track) = ZERO");
	continue;
      }
      if (!trackAOD->TestFilterBit(fAODtrackCutBit))
	continue;

      // -- Check if in pT and eta range (is done in ESDTrackCuts for ESDs)
      if(!(track->Pt() > ptRange[0] && track->Pt() <= ptRange[1] && TMath::Abs(track->Eta()) <= etaRange[1]))
	continue;
    }
   
    // -- Check if accepted in rapidity window -- for identified particles
    //    for charged particles -- eta check is done in the trackcuts
    Double_t yP;
    if (fHelper->GetUsePID(ipid) && !fHelper->IsTrackAcceptedRapidity(track, yP, ipid))
      continue;

 
    if (!fHelper->IsTrackAcceptedDCA(track))
      continue;

    Int_t label  = TMath::Abs(track->GetLabel()); 
    
    // continue;
    // -- Fill Label of all reconstructed
    fLabelsRec[0][ipid][idxTrack] = label;

    // -- Check if accepted by PID from TPC or TPC+TOF
    Double_t pid[3];
    if (!fHelper->IsTrackAcceptedPID(track, pid, fHelper->GetParticleSpecies(ipid))) // check it
      continue;

   

    // -- Fill Label of all reconstructed && recPid_TPC+TOF    
    fLabelsRec[1][ipid][idxTrack] = label;    
    
    // -- Check for contamination and fill contamination THnSparse
    CheckContTrack(track, ipid);

  } // for (Int_t idxTrack = 0; idxTrack < fNTracks; ++idxTrack) {

  return;
}

//________________________________________________________________________
void AliEbyEPidRatioEffContExtra::CheckContTrack(AliVTrack *track, Int_t ipid) {
  // Check if particle is contamination or correctly identified for ESDs and AODs
  // Check for missidentified primaries and secondaries
  // Fill contamination THnSparse

  Int_t label     = TMath::Abs(track->GetLabel()); 
  Float_t signRec = track->Charge();

  
  AliVParticle* particle = (fESD) ? fMCEvent->GetTrack(label) : static_cast<AliVParticle*>(fArrayMC->At(label));
  if (!particle)
    return;

  Bool_t isPhysicalPrimary = (fESD) ? fStack->IsPhysicalPrimary(label): (static_cast<AliAODMCParticle*>(particle))->IsPhysicalPrimary();

  // -- Check if correctly identified 
  //    > return if correctly identified -> all ok, no action neededin this method
  //    > if PID required check -> for the correct (signed pdgcode) particle
  //    > no PID just check for primary 
  if (fHelper->GetUsePID(ipid)) {
    if (particle->PdgCode() == (signRec*fHelper->GetPdg(ipid)))
      if (isPhysicalPrimary)
	return;
  }
  else {
    if (isPhysicalPrimary)
      return;
  }

  // -- Check if secondaries from material or weak decay
  Bool_t isSecondaryFromWeakDecay = (fESD) ? fStack->IsSecondaryFromWeakDecay(label) : (static_cast<AliAODMCParticle*>(particle))->IsSecondaryFromWeakDecay();
  Bool_t isSecondaryFromMaterial  = (fESD) ? fStack->IsSecondaryFromMaterial(label)  : (static_cast<AliAODMCParticle*>(particle))->IsSecondaryFromMaterial();

  // -- Get PDG Charge of contaminating particle
  Float_t signMC = 0.;
  if      (particle->Charge() == 0.) signMC =  0.;
  else if (particle->Charge() <  0.) signMC = -1.;	
  else if (particle->Charge() >  0.) signMC =  1.;	

  // -- Get contaminating particle
  Double_t contPart = 0;
  if        (isSecondaryFromWeakDecay)                contPart = 7; // probeParticle from WeakDecay
  else if   (isSecondaryFromMaterial)                 contPart = 8; // probeParticle from Material
  else {
    if      (TMath::Abs(particle->PdgCode()) ==  211) contPart = 1; // pion
    else if (TMath::Abs(particle->PdgCode()) ==  321) contPart = 2; // kaon
    else if (TMath::Abs(particle->PdgCode()) == 2212) contPart = 3; // proton
    else if (TMath::Abs(particle->PdgCode()) ==   11) contPart = 4; // electron
    else if (TMath::Abs(particle->PdgCode()) ==   13) contPart = 5; // muon
    else                                              contPart = 6; // other
  }
  
  // -- Get Reconstructed y
  //    yRec = y for identified particles | yRec = eta for charged particles
  Double_t yRec  = 0.;
  fHelper->IsTrackAcceptedRapidity(track, yRec, ipid); 

 
  Double_t yetapid = (ipid == 0 ) ? particle->Eta() : particle->Y();
  Double_t yeta    = (ipid == 0 ) ? track->Eta() : yRec;

  Double_t hnContMc[6]  = {fCentralityBin,signMC,contPart,yetapid,particle->Phi(),particle->Pt()};
  Double_t hnContRec[5] = {fCentralityBin,signRec, yeta,track->Phi(),track->Pt()};
  
  if (ipid == 0) { fHnNchCRec->Fill(hnContRec); fHnNchCMc->Fill(hnContMc); }
  else if (ipid == 1) { fHnNpiCRec->Fill(hnContRec); fHnNpiCMc->Fill(hnContMc); }
  else if (ipid == 2) { fHnNkaCRec->Fill(hnContRec); fHnNkaCMc->Fill(hnContMc); }
  else if (ipid == 3) { fHnNprCRec->Fill(hnContRec); fHnNprCMc->Fill(hnContMc); }
  
  
}

//________________________________________________________________________
void AliEbyEPidRatioEffContExtra::FillMCEffHist(Int_t ipid) {
  // Fill efficiency THnSparse for ESDs

  Float_t etaRange[2];
  fESDTrackCuts->GetEtaRange(etaRange[0],etaRange[1]);

  Int_t nPart  = (fESD) ? fStack->GetNprimary() : fArrayMC->GetEntriesFast();

  for (Int_t idxMC = 0; idxMC < nPart; ++idxMC) {
    AliVParticle* particle = (fESD) ? fMCEvent->GetTrack(idxMC) : static_cast<AliVParticle*>(fArrayMC->At(idxMC));

    // -- Check basic MC properties -> charged physical primary
    if (!fHelper->IsParticleAcceptedBasicCharged(particle, idxMC))
      continue;

    // -- Check if accepted in rapidity window -- for identified particles
    Double_t yMC;
    if (fHelper->GetUsePID(ipid) && !fHelper->IsParticleAcceptedRapidity(particle, yMC, ipid))
      continue;

    // -- Check if accepted in eta window -- for charged particles
    if (!fHelper->GetUsePID(ipid) && TMath::Abs(particle->Eta()) > etaRange[1])
      continue;

    // -- Check if probeParticle / anti-probeParticle 
    //    > skip check if PID is not required
    if (fHelper->GetUsePID(ipid) && TMath::Abs(particle->PdgCode()) != fHelper->GetPdg(ipid))
      continue;
    
    // -- Get sign of particle
    Float_t signMC    = (particle->PdgCode() < 0) ? -1. : 1.;

    // -- Get if particle is findable --- not availible for AODs yet
    Float_t findable  = (fESD) ? Float_t(fHelper->IsParticleFindable(idxMC)) : 1.;

    // -- Get recStatus and pidStatus
    Float_t recStatus = 0.;
    Float_t recPid    = 0.;

    // -- Get Reconstructed values 
    Float_t etaRec  = 0.;
    Float_t phiRec  = 0.;
    Float_t ptRec   = 0.;
    Double_t yRec   = 0.;
    Float_t signRec = 0.;

    // -- Loop over all labels
    for (Int_t idxRec=0; idxRec < fNTracks; ++idxRec) {
      if (idxMC == fLabelsRec[0][ipid][idxRec]) {
	recStatus = 1.;
	
	if (idxMC == fLabelsRec[1][ipid][idxRec]) recPid = 1.;
	
        AliVTrack *track = NULL;
        if(fESD)
          track = fESD->GetTrack(idxRec);
        else if(fAOD)
          track = fAOD->GetTrack(idxRec);
	
        if (track) {
	  etaRec  = track->Eta();
          phiRec  = track->Phi();         
          ptRec   = track->Pt();
	  signRec = track->Charge();
          fHelper->IsTrackAcceptedRapidity(track, yRec, ipid); 
	  Double_t yeta    = (ipid == 0 ) ? etaRec : yRec;
	  Double_t hneffRec[5] = {fCentralityBin,signRec, yeta,phiRec,ptRec};
	  if (ipid == 0) { fHnNchERec->Fill(hneffRec); }
	  else if (ipid == 1) { fHnNpiERec->Fill(hneffRec); }
	  else if (ipid == 2) { fHnNkaERec->Fill(hneffRec); }
	  else if (ipid == 3) { fHnNprERec->Fill(hneffRec); }

        }     
        break;
      }
    } // for (Int_t idxRec=0; idxRec < fNTracks; ++idxRec) {  
    /*
    Double_t deltaPhi = particle->Phi()-phiRec;
    if (TMath::Abs(deltaPhi) > TMath::TwoPi()) {
      if (deltaPhi < 0)
	deltaPhi += TMath::TwoPi();
      else
    	deltaPhi -= TMath::TwoPi();
    }
    */
  
    Double_t yetapid = (ipid == 0 ) ? particle->Eta() : particle->Y();
   

    // Printf("%2d  %10.5f %10.5f %10.5f %10.5f %10.5f %10.5f", ipid, yetapid, yeta, particle->Eta(), particle->Y(),  etaRec, yRec);    

    Double_t hneffMc[8]  = {fCentralityBin,signMC,findable, recStatus, recPid,yetapid,particle->Phi(),particle->Pt()};
    

    if (ipid == 0) { fHnNchEMc->Fill(hneffMc); }
    else if (ipid == 1) { fHnNpiEMc->Fill(hneffMc); }
    else if (ipid == 2) { fHnNkaEMc->Fill(hneffMc); }
    else if (ipid == 3) { fHnNprEMc->Fill(hneffMc); }
   

  } // for (Int_t idxMC = 0; idxMC < nPart; ++idxMC) {
  
  return;
}
 AliEbyEPidRatioEffContExtra.cxx:1
 AliEbyEPidRatioEffContExtra.cxx:2
 AliEbyEPidRatioEffContExtra.cxx:3
 AliEbyEPidRatioEffContExtra.cxx:4
 AliEbyEPidRatioEffContExtra.cxx:5
 AliEbyEPidRatioEffContExtra.cxx:6
 AliEbyEPidRatioEffContExtra.cxx:7
 AliEbyEPidRatioEffContExtra.cxx:8
 AliEbyEPidRatioEffContExtra.cxx:9
 AliEbyEPidRatioEffContExtra.cxx:10
 AliEbyEPidRatioEffContExtra.cxx:11
 AliEbyEPidRatioEffContExtra.cxx:12
 AliEbyEPidRatioEffContExtra.cxx:13
 AliEbyEPidRatioEffContExtra.cxx:14
 AliEbyEPidRatioEffContExtra.cxx:15
 AliEbyEPidRatioEffContExtra.cxx:16
 AliEbyEPidRatioEffContExtra.cxx:17
 AliEbyEPidRatioEffContExtra.cxx:18
 AliEbyEPidRatioEffContExtra.cxx:19
 AliEbyEPidRatioEffContExtra.cxx:20
 AliEbyEPidRatioEffContExtra.cxx:21
 AliEbyEPidRatioEffContExtra.cxx:22
 AliEbyEPidRatioEffContExtra.cxx:23
 AliEbyEPidRatioEffContExtra.cxx:24
 AliEbyEPidRatioEffContExtra.cxx:25
 AliEbyEPidRatioEffContExtra.cxx:26
 AliEbyEPidRatioEffContExtra.cxx:27
 AliEbyEPidRatioEffContExtra.cxx:28
 AliEbyEPidRatioEffContExtra.cxx:29
 AliEbyEPidRatioEffContExtra.cxx:30
 AliEbyEPidRatioEffContExtra.cxx:31
 AliEbyEPidRatioEffContExtra.cxx:32
 AliEbyEPidRatioEffContExtra.cxx:33
 AliEbyEPidRatioEffContExtra.cxx:34
 AliEbyEPidRatioEffContExtra.cxx:35
 AliEbyEPidRatioEffContExtra.cxx:36
 AliEbyEPidRatioEffContExtra.cxx:37
 AliEbyEPidRatioEffContExtra.cxx:38
 AliEbyEPidRatioEffContExtra.cxx:39
 AliEbyEPidRatioEffContExtra.cxx:40
 AliEbyEPidRatioEffContExtra.cxx:41
 AliEbyEPidRatioEffContExtra.cxx:42
 AliEbyEPidRatioEffContExtra.cxx:43
 AliEbyEPidRatioEffContExtra.cxx:44
 AliEbyEPidRatioEffContExtra.cxx:45
 AliEbyEPidRatioEffContExtra.cxx:46
 AliEbyEPidRatioEffContExtra.cxx:47
 AliEbyEPidRatioEffContExtra.cxx:48
 AliEbyEPidRatioEffContExtra.cxx:49
 AliEbyEPidRatioEffContExtra.cxx:50
 AliEbyEPidRatioEffContExtra.cxx:51
 AliEbyEPidRatioEffContExtra.cxx:52
 AliEbyEPidRatioEffContExtra.cxx:53
 AliEbyEPidRatioEffContExtra.cxx:54
 AliEbyEPidRatioEffContExtra.cxx:55
 AliEbyEPidRatioEffContExtra.cxx:56
 AliEbyEPidRatioEffContExtra.cxx:57
 AliEbyEPidRatioEffContExtra.cxx:58
 AliEbyEPidRatioEffContExtra.cxx:59
 AliEbyEPidRatioEffContExtra.cxx:60
 AliEbyEPidRatioEffContExtra.cxx:61
 AliEbyEPidRatioEffContExtra.cxx:62
 AliEbyEPidRatioEffContExtra.cxx:63
 AliEbyEPidRatioEffContExtra.cxx:64
 AliEbyEPidRatioEffContExtra.cxx:65
 AliEbyEPidRatioEffContExtra.cxx:66
 AliEbyEPidRatioEffContExtra.cxx:67
 AliEbyEPidRatioEffContExtra.cxx:68
 AliEbyEPidRatioEffContExtra.cxx:69
 AliEbyEPidRatioEffContExtra.cxx:70
 AliEbyEPidRatioEffContExtra.cxx:71
 AliEbyEPidRatioEffContExtra.cxx:72
 AliEbyEPidRatioEffContExtra.cxx:73
 AliEbyEPidRatioEffContExtra.cxx:74
 AliEbyEPidRatioEffContExtra.cxx:75
 AliEbyEPidRatioEffContExtra.cxx:76
 AliEbyEPidRatioEffContExtra.cxx:77
 AliEbyEPidRatioEffContExtra.cxx:78
 AliEbyEPidRatioEffContExtra.cxx:79
 AliEbyEPidRatioEffContExtra.cxx:80
 AliEbyEPidRatioEffContExtra.cxx:81
 AliEbyEPidRatioEffContExtra.cxx:82
 AliEbyEPidRatioEffContExtra.cxx:83
 AliEbyEPidRatioEffContExtra.cxx:84
 AliEbyEPidRatioEffContExtra.cxx:85
 AliEbyEPidRatioEffContExtra.cxx:86
 AliEbyEPidRatioEffContExtra.cxx:87
 AliEbyEPidRatioEffContExtra.cxx:88
 AliEbyEPidRatioEffContExtra.cxx:89
 AliEbyEPidRatioEffContExtra.cxx:90
 AliEbyEPidRatioEffContExtra.cxx:91
 AliEbyEPidRatioEffContExtra.cxx:92
 AliEbyEPidRatioEffContExtra.cxx:93
 AliEbyEPidRatioEffContExtra.cxx:94
 AliEbyEPidRatioEffContExtra.cxx:95
 AliEbyEPidRatioEffContExtra.cxx:96
 AliEbyEPidRatioEffContExtra.cxx:97
 AliEbyEPidRatioEffContExtra.cxx:98
 AliEbyEPidRatioEffContExtra.cxx:99
 AliEbyEPidRatioEffContExtra.cxx:100
 AliEbyEPidRatioEffContExtra.cxx:101
 AliEbyEPidRatioEffContExtra.cxx:102
 AliEbyEPidRatioEffContExtra.cxx:103
 AliEbyEPidRatioEffContExtra.cxx:104
 AliEbyEPidRatioEffContExtra.cxx:105
 AliEbyEPidRatioEffContExtra.cxx:106
 AliEbyEPidRatioEffContExtra.cxx:107
 AliEbyEPidRatioEffContExtra.cxx:108
 AliEbyEPidRatioEffContExtra.cxx:109
 AliEbyEPidRatioEffContExtra.cxx:110
 AliEbyEPidRatioEffContExtra.cxx:111
 AliEbyEPidRatioEffContExtra.cxx:112
 AliEbyEPidRatioEffContExtra.cxx:113
 AliEbyEPidRatioEffContExtra.cxx:114
 AliEbyEPidRatioEffContExtra.cxx:115
 AliEbyEPidRatioEffContExtra.cxx:116
 AliEbyEPidRatioEffContExtra.cxx:117
 AliEbyEPidRatioEffContExtra.cxx:118
 AliEbyEPidRatioEffContExtra.cxx:119
 AliEbyEPidRatioEffContExtra.cxx:120
 AliEbyEPidRatioEffContExtra.cxx:121
 AliEbyEPidRatioEffContExtra.cxx:122
 AliEbyEPidRatioEffContExtra.cxx:123
 AliEbyEPidRatioEffContExtra.cxx:124
 AliEbyEPidRatioEffContExtra.cxx:125
 AliEbyEPidRatioEffContExtra.cxx:126
 AliEbyEPidRatioEffContExtra.cxx:127
 AliEbyEPidRatioEffContExtra.cxx:128
 AliEbyEPidRatioEffContExtra.cxx:129
 AliEbyEPidRatioEffContExtra.cxx:130
 AliEbyEPidRatioEffContExtra.cxx:131
 AliEbyEPidRatioEffContExtra.cxx:132
 AliEbyEPidRatioEffContExtra.cxx:133
 AliEbyEPidRatioEffContExtra.cxx:134
 AliEbyEPidRatioEffContExtra.cxx:135
 AliEbyEPidRatioEffContExtra.cxx:136
 AliEbyEPidRatioEffContExtra.cxx:137
 AliEbyEPidRatioEffContExtra.cxx:138
 AliEbyEPidRatioEffContExtra.cxx:139
 AliEbyEPidRatioEffContExtra.cxx:140
 AliEbyEPidRatioEffContExtra.cxx:141
 AliEbyEPidRatioEffContExtra.cxx:142
 AliEbyEPidRatioEffContExtra.cxx:143
 AliEbyEPidRatioEffContExtra.cxx:144
 AliEbyEPidRatioEffContExtra.cxx:145
 AliEbyEPidRatioEffContExtra.cxx:146
 AliEbyEPidRatioEffContExtra.cxx:147
 AliEbyEPidRatioEffContExtra.cxx:148
 AliEbyEPidRatioEffContExtra.cxx:149
 AliEbyEPidRatioEffContExtra.cxx:150
 AliEbyEPidRatioEffContExtra.cxx:151
 AliEbyEPidRatioEffContExtra.cxx:152
 AliEbyEPidRatioEffContExtra.cxx:153
 AliEbyEPidRatioEffContExtra.cxx:154
 AliEbyEPidRatioEffContExtra.cxx:155
 AliEbyEPidRatioEffContExtra.cxx:156
 AliEbyEPidRatioEffContExtra.cxx:157
 AliEbyEPidRatioEffContExtra.cxx:158
 AliEbyEPidRatioEffContExtra.cxx:159
 AliEbyEPidRatioEffContExtra.cxx:160
 AliEbyEPidRatioEffContExtra.cxx:161
 AliEbyEPidRatioEffContExtra.cxx:162
 AliEbyEPidRatioEffContExtra.cxx:163
 AliEbyEPidRatioEffContExtra.cxx:164
 AliEbyEPidRatioEffContExtra.cxx:165
 AliEbyEPidRatioEffContExtra.cxx:166
 AliEbyEPidRatioEffContExtra.cxx:167
 AliEbyEPidRatioEffContExtra.cxx:168
 AliEbyEPidRatioEffContExtra.cxx:169
 AliEbyEPidRatioEffContExtra.cxx:170
 AliEbyEPidRatioEffContExtra.cxx:171
 AliEbyEPidRatioEffContExtra.cxx:172
 AliEbyEPidRatioEffContExtra.cxx:173
 AliEbyEPidRatioEffContExtra.cxx:174
 AliEbyEPidRatioEffContExtra.cxx:175
 AliEbyEPidRatioEffContExtra.cxx:176
 AliEbyEPidRatioEffContExtra.cxx:177
 AliEbyEPidRatioEffContExtra.cxx:178
 AliEbyEPidRatioEffContExtra.cxx:179
 AliEbyEPidRatioEffContExtra.cxx:180
 AliEbyEPidRatioEffContExtra.cxx:181
 AliEbyEPidRatioEffContExtra.cxx:182
 AliEbyEPidRatioEffContExtra.cxx:183
 AliEbyEPidRatioEffContExtra.cxx:184
 AliEbyEPidRatioEffContExtra.cxx:185
 AliEbyEPidRatioEffContExtra.cxx:186
 AliEbyEPidRatioEffContExtra.cxx:187
 AliEbyEPidRatioEffContExtra.cxx:188
 AliEbyEPidRatioEffContExtra.cxx:189
 AliEbyEPidRatioEffContExtra.cxx:190
 AliEbyEPidRatioEffContExtra.cxx:191
 AliEbyEPidRatioEffContExtra.cxx:192
 AliEbyEPidRatioEffContExtra.cxx:193
 AliEbyEPidRatioEffContExtra.cxx:194
 AliEbyEPidRatioEffContExtra.cxx:195
 AliEbyEPidRatioEffContExtra.cxx:196
 AliEbyEPidRatioEffContExtra.cxx:197
 AliEbyEPidRatioEffContExtra.cxx:198
 AliEbyEPidRatioEffContExtra.cxx:199
 AliEbyEPidRatioEffContExtra.cxx:200
 AliEbyEPidRatioEffContExtra.cxx:201
 AliEbyEPidRatioEffContExtra.cxx:202
 AliEbyEPidRatioEffContExtra.cxx:203
 AliEbyEPidRatioEffContExtra.cxx:204
 AliEbyEPidRatioEffContExtra.cxx:205
 AliEbyEPidRatioEffContExtra.cxx:206
 AliEbyEPidRatioEffContExtra.cxx:207
 AliEbyEPidRatioEffContExtra.cxx:208
 AliEbyEPidRatioEffContExtra.cxx:209
 AliEbyEPidRatioEffContExtra.cxx:210
 AliEbyEPidRatioEffContExtra.cxx:211
 AliEbyEPidRatioEffContExtra.cxx:212
 AliEbyEPidRatioEffContExtra.cxx:213
 AliEbyEPidRatioEffContExtra.cxx:214
 AliEbyEPidRatioEffContExtra.cxx:215
 AliEbyEPidRatioEffContExtra.cxx:216
 AliEbyEPidRatioEffContExtra.cxx:217
 AliEbyEPidRatioEffContExtra.cxx:218
 AliEbyEPidRatioEffContExtra.cxx:219
 AliEbyEPidRatioEffContExtra.cxx:220
 AliEbyEPidRatioEffContExtra.cxx:221
 AliEbyEPidRatioEffContExtra.cxx:222
 AliEbyEPidRatioEffContExtra.cxx:223
 AliEbyEPidRatioEffContExtra.cxx:224
 AliEbyEPidRatioEffContExtra.cxx:225
 AliEbyEPidRatioEffContExtra.cxx:226
 AliEbyEPidRatioEffContExtra.cxx:227
 AliEbyEPidRatioEffContExtra.cxx:228
 AliEbyEPidRatioEffContExtra.cxx:229
 AliEbyEPidRatioEffContExtra.cxx:230
 AliEbyEPidRatioEffContExtra.cxx:231
 AliEbyEPidRatioEffContExtra.cxx:232
 AliEbyEPidRatioEffContExtra.cxx:233
 AliEbyEPidRatioEffContExtra.cxx:234
 AliEbyEPidRatioEffContExtra.cxx:235
 AliEbyEPidRatioEffContExtra.cxx:236
 AliEbyEPidRatioEffContExtra.cxx:237
 AliEbyEPidRatioEffContExtra.cxx:238
 AliEbyEPidRatioEffContExtra.cxx:239
 AliEbyEPidRatioEffContExtra.cxx:240
 AliEbyEPidRatioEffContExtra.cxx:241
 AliEbyEPidRatioEffContExtra.cxx:242
 AliEbyEPidRatioEffContExtra.cxx:243
 AliEbyEPidRatioEffContExtra.cxx:244
 AliEbyEPidRatioEffContExtra.cxx:245
 AliEbyEPidRatioEffContExtra.cxx:246
 AliEbyEPidRatioEffContExtra.cxx:247
 AliEbyEPidRatioEffContExtra.cxx:248
 AliEbyEPidRatioEffContExtra.cxx:249
 AliEbyEPidRatioEffContExtra.cxx:250
 AliEbyEPidRatioEffContExtra.cxx:251
 AliEbyEPidRatioEffContExtra.cxx:252
 AliEbyEPidRatioEffContExtra.cxx:253
 AliEbyEPidRatioEffContExtra.cxx:254
 AliEbyEPidRatioEffContExtra.cxx:255
 AliEbyEPidRatioEffContExtra.cxx:256
 AliEbyEPidRatioEffContExtra.cxx:257
 AliEbyEPidRatioEffContExtra.cxx:258
 AliEbyEPidRatioEffContExtra.cxx:259
 AliEbyEPidRatioEffContExtra.cxx:260
 AliEbyEPidRatioEffContExtra.cxx:261
 AliEbyEPidRatioEffContExtra.cxx:262
 AliEbyEPidRatioEffContExtra.cxx:263
 AliEbyEPidRatioEffContExtra.cxx:264
 AliEbyEPidRatioEffContExtra.cxx:265
 AliEbyEPidRatioEffContExtra.cxx:266
 AliEbyEPidRatioEffContExtra.cxx:267
 AliEbyEPidRatioEffContExtra.cxx:268
 AliEbyEPidRatioEffContExtra.cxx:269
 AliEbyEPidRatioEffContExtra.cxx:270
 AliEbyEPidRatioEffContExtra.cxx:271
 AliEbyEPidRatioEffContExtra.cxx:272
 AliEbyEPidRatioEffContExtra.cxx:273
 AliEbyEPidRatioEffContExtra.cxx:274
 AliEbyEPidRatioEffContExtra.cxx:275
 AliEbyEPidRatioEffContExtra.cxx:276
 AliEbyEPidRatioEffContExtra.cxx:277
 AliEbyEPidRatioEffContExtra.cxx:278
 AliEbyEPidRatioEffContExtra.cxx:279
 AliEbyEPidRatioEffContExtra.cxx:280
 AliEbyEPidRatioEffContExtra.cxx:281
 AliEbyEPidRatioEffContExtra.cxx:282
 AliEbyEPidRatioEffContExtra.cxx:283
 AliEbyEPidRatioEffContExtra.cxx:284
 AliEbyEPidRatioEffContExtra.cxx:285
 AliEbyEPidRatioEffContExtra.cxx:286
 AliEbyEPidRatioEffContExtra.cxx:287
 AliEbyEPidRatioEffContExtra.cxx:288
 AliEbyEPidRatioEffContExtra.cxx:289
 AliEbyEPidRatioEffContExtra.cxx:290
 AliEbyEPidRatioEffContExtra.cxx:291
 AliEbyEPidRatioEffContExtra.cxx:292
 AliEbyEPidRatioEffContExtra.cxx:293
 AliEbyEPidRatioEffContExtra.cxx:294
 AliEbyEPidRatioEffContExtra.cxx:295
 AliEbyEPidRatioEffContExtra.cxx:296
 AliEbyEPidRatioEffContExtra.cxx:297
 AliEbyEPidRatioEffContExtra.cxx:298
 AliEbyEPidRatioEffContExtra.cxx:299
 AliEbyEPidRatioEffContExtra.cxx:300
 AliEbyEPidRatioEffContExtra.cxx:301
 AliEbyEPidRatioEffContExtra.cxx:302
 AliEbyEPidRatioEffContExtra.cxx:303
 AliEbyEPidRatioEffContExtra.cxx:304
 AliEbyEPidRatioEffContExtra.cxx:305
 AliEbyEPidRatioEffContExtra.cxx:306
 AliEbyEPidRatioEffContExtra.cxx:307
 AliEbyEPidRatioEffContExtra.cxx:308
 AliEbyEPidRatioEffContExtra.cxx:309
 AliEbyEPidRatioEffContExtra.cxx:310
 AliEbyEPidRatioEffContExtra.cxx:311
 AliEbyEPidRatioEffContExtra.cxx:312
 AliEbyEPidRatioEffContExtra.cxx:313
 AliEbyEPidRatioEffContExtra.cxx:314
 AliEbyEPidRatioEffContExtra.cxx:315
 AliEbyEPidRatioEffContExtra.cxx:316
 AliEbyEPidRatioEffContExtra.cxx:317
 AliEbyEPidRatioEffContExtra.cxx:318
 AliEbyEPidRatioEffContExtra.cxx:319
 AliEbyEPidRatioEffContExtra.cxx:320
 AliEbyEPidRatioEffContExtra.cxx:321
 AliEbyEPidRatioEffContExtra.cxx:322
 AliEbyEPidRatioEffContExtra.cxx:323
 AliEbyEPidRatioEffContExtra.cxx:324
 AliEbyEPidRatioEffContExtra.cxx:325
 AliEbyEPidRatioEffContExtra.cxx:326
 AliEbyEPidRatioEffContExtra.cxx:327
 AliEbyEPidRatioEffContExtra.cxx:328
 AliEbyEPidRatioEffContExtra.cxx:329
 AliEbyEPidRatioEffContExtra.cxx:330
 AliEbyEPidRatioEffContExtra.cxx:331
 AliEbyEPidRatioEffContExtra.cxx:332
 AliEbyEPidRatioEffContExtra.cxx:333
 AliEbyEPidRatioEffContExtra.cxx:334
 AliEbyEPidRatioEffContExtra.cxx:335
 AliEbyEPidRatioEffContExtra.cxx:336
 AliEbyEPidRatioEffContExtra.cxx:337
 AliEbyEPidRatioEffContExtra.cxx:338
 AliEbyEPidRatioEffContExtra.cxx:339
 AliEbyEPidRatioEffContExtra.cxx:340
 AliEbyEPidRatioEffContExtra.cxx:341
 AliEbyEPidRatioEffContExtra.cxx:342
 AliEbyEPidRatioEffContExtra.cxx:343
 AliEbyEPidRatioEffContExtra.cxx:344
 AliEbyEPidRatioEffContExtra.cxx:345
 AliEbyEPidRatioEffContExtra.cxx:346
 AliEbyEPidRatioEffContExtra.cxx:347
 AliEbyEPidRatioEffContExtra.cxx:348
 AliEbyEPidRatioEffContExtra.cxx:349
 AliEbyEPidRatioEffContExtra.cxx:350
 AliEbyEPidRatioEffContExtra.cxx:351
 AliEbyEPidRatioEffContExtra.cxx:352
 AliEbyEPidRatioEffContExtra.cxx:353
 AliEbyEPidRatioEffContExtra.cxx:354
 AliEbyEPidRatioEffContExtra.cxx:355
 AliEbyEPidRatioEffContExtra.cxx:356
 AliEbyEPidRatioEffContExtra.cxx:357
 AliEbyEPidRatioEffContExtra.cxx:358
 AliEbyEPidRatioEffContExtra.cxx:359
 AliEbyEPidRatioEffContExtra.cxx:360
 AliEbyEPidRatioEffContExtra.cxx:361
 AliEbyEPidRatioEffContExtra.cxx:362
 AliEbyEPidRatioEffContExtra.cxx:363
 AliEbyEPidRatioEffContExtra.cxx:364
 AliEbyEPidRatioEffContExtra.cxx:365
 AliEbyEPidRatioEffContExtra.cxx:366
 AliEbyEPidRatioEffContExtra.cxx:367
 AliEbyEPidRatioEffContExtra.cxx:368
 AliEbyEPidRatioEffContExtra.cxx:369
 AliEbyEPidRatioEffContExtra.cxx:370
 AliEbyEPidRatioEffContExtra.cxx:371
 AliEbyEPidRatioEffContExtra.cxx:372
 AliEbyEPidRatioEffContExtra.cxx:373
 AliEbyEPidRatioEffContExtra.cxx:374
 AliEbyEPidRatioEffContExtra.cxx:375
 AliEbyEPidRatioEffContExtra.cxx:376
 AliEbyEPidRatioEffContExtra.cxx:377
 AliEbyEPidRatioEffContExtra.cxx:378
 AliEbyEPidRatioEffContExtra.cxx:379
 AliEbyEPidRatioEffContExtra.cxx:380
 AliEbyEPidRatioEffContExtra.cxx:381
 AliEbyEPidRatioEffContExtra.cxx:382
 AliEbyEPidRatioEffContExtra.cxx:383
 AliEbyEPidRatioEffContExtra.cxx:384
 AliEbyEPidRatioEffContExtra.cxx:385
 AliEbyEPidRatioEffContExtra.cxx:386
 AliEbyEPidRatioEffContExtra.cxx:387
 AliEbyEPidRatioEffContExtra.cxx:388
 AliEbyEPidRatioEffContExtra.cxx:389
 AliEbyEPidRatioEffContExtra.cxx:390
 AliEbyEPidRatioEffContExtra.cxx:391
 AliEbyEPidRatioEffContExtra.cxx:392
 AliEbyEPidRatioEffContExtra.cxx:393
 AliEbyEPidRatioEffContExtra.cxx:394
 AliEbyEPidRatioEffContExtra.cxx:395
 AliEbyEPidRatioEffContExtra.cxx:396
 AliEbyEPidRatioEffContExtra.cxx:397
 AliEbyEPidRatioEffContExtra.cxx:398
 AliEbyEPidRatioEffContExtra.cxx:399
 AliEbyEPidRatioEffContExtra.cxx:400
 AliEbyEPidRatioEffContExtra.cxx:401
 AliEbyEPidRatioEffContExtra.cxx:402
 AliEbyEPidRatioEffContExtra.cxx:403
 AliEbyEPidRatioEffContExtra.cxx:404
 AliEbyEPidRatioEffContExtra.cxx:405
 AliEbyEPidRatioEffContExtra.cxx:406
 AliEbyEPidRatioEffContExtra.cxx:407
 AliEbyEPidRatioEffContExtra.cxx:408
 AliEbyEPidRatioEffContExtra.cxx:409
 AliEbyEPidRatioEffContExtra.cxx:410
 AliEbyEPidRatioEffContExtra.cxx:411
 AliEbyEPidRatioEffContExtra.cxx:412
 AliEbyEPidRatioEffContExtra.cxx:413
 AliEbyEPidRatioEffContExtra.cxx:414
 AliEbyEPidRatioEffContExtra.cxx:415
 AliEbyEPidRatioEffContExtra.cxx:416
 AliEbyEPidRatioEffContExtra.cxx:417
 AliEbyEPidRatioEffContExtra.cxx:418
 AliEbyEPidRatioEffContExtra.cxx:419
 AliEbyEPidRatioEffContExtra.cxx:420
 AliEbyEPidRatioEffContExtra.cxx:421
 AliEbyEPidRatioEffContExtra.cxx:422
 AliEbyEPidRatioEffContExtra.cxx:423
 AliEbyEPidRatioEffContExtra.cxx:424
 AliEbyEPidRatioEffContExtra.cxx:425
 AliEbyEPidRatioEffContExtra.cxx:426
 AliEbyEPidRatioEffContExtra.cxx:427
 AliEbyEPidRatioEffContExtra.cxx:428
 AliEbyEPidRatioEffContExtra.cxx:429
 AliEbyEPidRatioEffContExtra.cxx:430
 AliEbyEPidRatioEffContExtra.cxx:431
 AliEbyEPidRatioEffContExtra.cxx:432
 AliEbyEPidRatioEffContExtra.cxx:433
 AliEbyEPidRatioEffContExtra.cxx:434
 AliEbyEPidRatioEffContExtra.cxx:435
 AliEbyEPidRatioEffContExtra.cxx:436
 AliEbyEPidRatioEffContExtra.cxx:437
 AliEbyEPidRatioEffContExtra.cxx:438
 AliEbyEPidRatioEffContExtra.cxx:439
 AliEbyEPidRatioEffContExtra.cxx:440
 AliEbyEPidRatioEffContExtra.cxx:441
 AliEbyEPidRatioEffContExtra.cxx:442
 AliEbyEPidRatioEffContExtra.cxx:443
 AliEbyEPidRatioEffContExtra.cxx:444
 AliEbyEPidRatioEffContExtra.cxx:445
 AliEbyEPidRatioEffContExtra.cxx:446
 AliEbyEPidRatioEffContExtra.cxx:447
 AliEbyEPidRatioEffContExtra.cxx:448
 AliEbyEPidRatioEffContExtra.cxx:449
 AliEbyEPidRatioEffContExtra.cxx:450
 AliEbyEPidRatioEffContExtra.cxx:451
 AliEbyEPidRatioEffContExtra.cxx:452
 AliEbyEPidRatioEffContExtra.cxx:453
 AliEbyEPidRatioEffContExtra.cxx:454
 AliEbyEPidRatioEffContExtra.cxx:455
 AliEbyEPidRatioEffContExtra.cxx:456
 AliEbyEPidRatioEffContExtra.cxx:457
 AliEbyEPidRatioEffContExtra.cxx:458
 AliEbyEPidRatioEffContExtra.cxx:459
 AliEbyEPidRatioEffContExtra.cxx:460
 AliEbyEPidRatioEffContExtra.cxx:461
 AliEbyEPidRatioEffContExtra.cxx:462
 AliEbyEPidRatioEffContExtra.cxx:463
 AliEbyEPidRatioEffContExtra.cxx:464
 AliEbyEPidRatioEffContExtra.cxx:465
 AliEbyEPidRatioEffContExtra.cxx:466
 AliEbyEPidRatioEffContExtra.cxx:467
 AliEbyEPidRatioEffContExtra.cxx:468
 AliEbyEPidRatioEffContExtra.cxx:469
 AliEbyEPidRatioEffContExtra.cxx:470
 AliEbyEPidRatioEffContExtra.cxx:471
 AliEbyEPidRatioEffContExtra.cxx:472
 AliEbyEPidRatioEffContExtra.cxx:473
 AliEbyEPidRatioEffContExtra.cxx:474
 AliEbyEPidRatioEffContExtra.cxx:475
 AliEbyEPidRatioEffContExtra.cxx:476
 AliEbyEPidRatioEffContExtra.cxx:477
 AliEbyEPidRatioEffContExtra.cxx:478
 AliEbyEPidRatioEffContExtra.cxx:479
 AliEbyEPidRatioEffContExtra.cxx:480
 AliEbyEPidRatioEffContExtra.cxx:481
 AliEbyEPidRatioEffContExtra.cxx:482
 AliEbyEPidRatioEffContExtra.cxx:483
 AliEbyEPidRatioEffContExtra.cxx:484
 AliEbyEPidRatioEffContExtra.cxx:485
 AliEbyEPidRatioEffContExtra.cxx:486
 AliEbyEPidRatioEffContExtra.cxx:487
 AliEbyEPidRatioEffContExtra.cxx:488
 AliEbyEPidRatioEffContExtra.cxx:489
 AliEbyEPidRatioEffContExtra.cxx:490
 AliEbyEPidRatioEffContExtra.cxx:491
 AliEbyEPidRatioEffContExtra.cxx:492
 AliEbyEPidRatioEffContExtra.cxx:493
 AliEbyEPidRatioEffContExtra.cxx:494
 AliEbyEPidRatioEffContExtra.cxx:495
 AliEbyEPidRatioEffContExtra.cxx:496
 AliEbyEPidRatioEffContExtra.cxx:497
 AliEbyEPidRatioEffContExtra.cxx:498
 AliEbyEPidRatioEffContExtra.cxx:499
 AliEbyEPidRatioEffContExtra.cxx:500
 AliEbyEPidRatioEffContExtra.cxx:501
 AliEbyEPidRatioEffContExtra.cxx:502
 AliEbyEPidRatioEffContExtra.cxx:503
 AliEbyEPidRatioEffContExtra.cxx:504
 AliEbyEPidRatioEffContExtra.cxx:505
 AliEbyEPidRatioEffContExtra.cxx:506
 AliEbyEPidRatioEffContExtra.cxx:507
 AliEbyEPidRatioEffContExtra.cxx:508
 AliEbyEPidRatioEffContExtra.cxx:509
 AliEbyEPidRatioEffContExtra.cxx:510
 AliEbyEPidRatioEffContExtra.cxx:511
 AliEbyEPidRatioEffContExtra.cxx:512
 AliEbyEPidRatioEffContExtra.cxx:513
 AliEbyEPidRatioEffContExtra.cxx:514
 AliEbyEPidRatioEffContExtra.cxx:515
 AliEbyEPidRatioEffContExtra.cxx:516
 AliEbyEPidRatioEffContExtra.cxx:517
 AliEbyEPidRatioEffContExtra.cxx:518
 AliEbyEPidRatioEffContExtra.cxx:519
 AliEbyEPidRatioEffContExtra.cxx:520
 AliEbyEPidRatioEffContExtra.cxx:521
 AliEbyEPidRatioEffContExtra.cxx:522
 AliEbyEPidRatioEffContExtra.cxx:523
 AliEbyEPidRatioEffContExtra.cxx:524
 AliEbyEPidRatioEffContExtra.cxx:525
 AliEbyEPidRatioEffContExtra.cxx:526
 AliEbyEPidRatioEffContExtra.cxx:527
 AliEbyEPidRatioEffContExtra.cxx:528
 AliEbyEPidRatioEffContExtra.cxx:529
 AliEbyEPidRatioEffContExtra.cxx:530
 AliEbyEPidRatioEffContExtra.cxx:531
 AliEbyEPidRatioEffContExtra.cxx:532
 AliEbyEPidRatioEffContExtra.cxx:533
 AliEbyEPidRatioEffContExtra.cxx:534
 AliEbyEPidRatioEffContExtra.cxx:535
 AliEbyEPidRatioEffContExtra.cxx:536
 AliEbyEPidRatioEffContExtra.cxx:537
 AliEbyEPidRatioEffContExtra.cxx:538
 AliEbyEPidRatioEffContExtra.cxx:539
 AliEbyEPidRatioEffContExtra.cxx:540
 AliEbyEPidRatioEffContExtra.cxx:541
 AliEbyEPidRatioEffContExtra.cxx:542
 AliEbyEPidRatioEffContExtra.cxx:543
 AliEbyEPidRatioEffContExtra.cxx:544
 AliEbyEPidRatioEffContExtra.cxx:545
 AliEbyEPidRatioEffContExtra.cxx:546
 AliEbyEPidRatioEffContExtra.cxx:547
 AliEbyEPidRatioEffContExtra.cxx:548
 AliEbyEPidRatioEffContExtra.cxx:549
 AliEbyEPidRatioEffContExtra.cxx:550
 AliEbyEPidRatioEffContExtra.cxx:551
 AliEbyEPidRatioEffContExtra.cxx:552
 AliEbyEPidRatioEffContExtra.cxx:553
 AliEbyEPidRatioEffContExtra.cxx:554
 AliEbyEPidRatioEffContExtra.cxx:555
 AliEbyEPidRatioEffContExtra.cxx:556
 AliEbyEPidRatioEffContExtra.cxx:557
 AliEbyEPidRatioEffContExtra.cxx:558
 AliEbyEPidRatioEffContExtra.cxx:559
 AliEbyEPidRatioEffContExtra.cxx:560
 AliEbyEPidRatioEffContExtra.cxx:561
 AliEbyEPidRatioEffContExtra.cxx:562
 AliEbyEPidRatioEffContExtra.cxx:563
 AliEbyEPidRatioEffContExtra.cxx:564
 AliEbyEPidRatioEffContExtra.cxx:565
 AliEbyEPidRatioEffContExtra.cxx:566
 AliEbyEPidRatioEffContExtra.cxx:567
 AliEbyEPidRatioEffContExtra.cxx:568
 AliEbyEPidRatioEffContExtra.cxx:569
 AliEbyEPidRatioEffContExtra.cxx:570
 AliEbyEPidRatioEffContExtra.cxx:571
 AliEbyEPidRatioEffContExtra.cxx:572
 AliEbyEPidRatioEffContExtra.cxx:573
 AliEbyEPidRatioEffContExtra.cxx:574
 AliEbyEPidRatioEffContExtra.cxx:575
 AliEbyEPidRatioEffContExtra.cxx:576
 AliEbyEPidRatioEffContExtra.cxx:577