ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/
//------------------------------------------------------------------------------
// AlidNdPtEfficiency class. 
//
// a. functionality:
// - fills generic cut histograms
// - generates cuts (selection criteria)
//
// b. data members:
// - generic cut histograms
// - control histograms
//
// Author: J.Otwinowski 18/11/2010 
//------------------------------------------------------------------------------
#include "TH1.h"
#include "TH2.h"

#include "AliHeader.h"  
#include "AliGenEventHeader.h"  
#include "AliStack.h"  
#include "AliESDEvent.h"  
#include "AliMCEvent.h"  
#include "AliESDtrackCuts.h"  
#include "AliLog.h" 
#include "AliTracker.h" 

#include "AlidNdPtEventCuts.h"
#include "AlidNdPtAcceptanceCuts.h"
#include "AlidNdPtBackgroundCuts.h"
#include "AlidNdPtAnalysis.h"
#include "AliPhysicsSelection.h"

#include "AliPWG0Helper.h"
#include "AlidNdPtHelper.h"
#include "AlidNdPtEfficiency.h"

using namespace std;

ClassImp(AlidNdPtEfficiency)

//_____________________________________________________________________________
  AlidNdPtEfficiency::AlidNdPtEfficiency(): AlidNdPt(),
  fAnalysisFolder(0),
  fRecMCTrackHistTPCITS(0),
  fRecMCTrackHistITSTPC(0)
{
  // default constructor
  Init();
}

//_____________________________________________________________________________
AlidNdPtEfficiency::AlidNdPtEfficiency(Char_t* name, Char_t* title): AlidNdPt(name,title),
  fAnalysisFolder(0),
  fRecMCTrackHistTPCITS(0),
  fRecMCTrackHistITSTPC(0)
{
  // constructor
  Init();
}

//_____________________________________________________________________________
AlidNdPtEfficiency::~AlidNdPtEfficiency() {
  // 
  if(fRecMCTrackHistTPCITS) delete fRecMCTrackHistTPCITS; fRecMCTrackHistTPCITS=0;
  if(fRecMCTrackHistITSTPC) delete fRecMCTrackHistITSTPC; fRecMCTrackHistITSTPC=0;

  if(fAnalysisFolder) delete fAnalysisFolder; fAnalysisFolder=0;
}

//_____________________________________________________________________________
void AlidNdPtEfficiency::Init(){
  //
  // Init histograms
  //
  const Int_t ptNbins = 63; 
  const Double_t ptMin = 0.; 
  const Double_t ptMax = 20.; 

  Double_t binsPt[ptNbins+1] = {0.,0.05,0.1,0.15,0.2,0.25,0.3,0.35,0.4,0.45,0.5,0.55,0.6,0.65,0.7,0.75,0.8,0.85,0.9,0.95,1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0,2.2,2.4,2.6,2.8,3.0,3.2,3.4,3.6,3.8,4.0,4.5,5.0,5.5,6.0,6.5,7.0,7.5,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0,16.0,18.0, 20.,25.,30.,35.,40.,50};

  // 
  // THnSparse track histograms
  //

  // TPC -> ITS matching efficiency
  // eta:phi:pt:isPrim:charge:isMatch:isTPC
  Int_t binsRecMCTrackHistTPCITS[7]=  { 30,  90,             ptNbins, 2,   3,  2,  2  };
  Double_t minRecMCTrackHistTPCITS[7]={-1.5, 0.,             ptMin,   0., -1., 0., 0. };
  Double_t maxRecMCTrackHistTPCITS[7]={ 1.5, 2.*TMath::Pi(), ptMax,   2.,  2., 2., 2. };

  fRecMCTrackHistTPCITS = new THnSparseF("fRecMCTrackHistTPCITS","eta:phi:pt:isPrim:charge:isMatch:isTPC",7,binsRecMCTrackHistTPCITS,minRecMCTrackHistTPCITS,maxRecMCTrackHistTPCITS);
  fRecMCTrackHistTPCITS->SetBinEdges(2,binsPt);
  fRecMCTrackHistTPCITS->GetAxis(0)->SetTitle("#eta");
  fRecMCTrackHistTPCITS->GetAxis(1)->SetTitle("#phi (rad)");
  fRecMCTrackHistTPCITS->GetAxis(2)->SetTitle("p_{T} (GeV/c)");
  fRecMCTrackHistTPCITS->GetAxis(3)->SetTitle("isPrim");
  fRecMCTrackHistTPCITS->GetAxis(4)->SetTitle("charge");
  fRecMCTrackHistTPCITS->GetAxis(5)->SetTitle("isMatch");
  fRecMCTrackHistTPCITS->GetAxis(6)->SetTitle("isTPC");
  fRecMCTrackHistTPCITS->Sumw2();

  // ITS -> TPC matching efficiency
  // eta:phi:pt:isPrim:charge:isMatch
  Int_t binsRecMCTrackHistITSTPC[6]=  { 30,  90,             ptNbins,   2,   3,  2 };
  Double_t minRecMCTrackHistITSTPC[6]={-1.5, 0.,             ptMin,     0., -1., 0 };
  Double_t maxRecMCTrackHistITSTPC[6]={ 1.5, 2.*TMath::Pi(), ptMax,     2.,  2., 2.};

  fRecMCTrackHistITSTPC = new THnSparseF("fRecMCTrackHistITSTPC","eta:phi:pt:isPrim:charge:isMatch",6,binsRecMCTrackHistITSTPC,minRecMCTrackHistITSTPC,maxRecMCTrackHistITSTPC);
  fRecMCTrackHistITSTPC->SetBinEdges(2,binsPt);
  fRecMCTrackHistITSTPC->GetAxis(0)->SetTitle("#eta");
  fRecMCTrackHistITSTPC->GetAxis(1)->SetTitle("#phi (rad)");
  fRecMCTrackHistITSTPC->GetAxis(2)->SetTitle("p_{T} (GeV/c)");
  fRecMCTrackHistITSTPC->GetAxis(3)->SetTitle("isPrim");
  fRecMCTrackHistITSTPC->GetAxis(4)->SetTitle("charge");
  fRecMCTrackHistITSTPC->GetAxis(5)->SetTitle("isMatch");
  fRecMCTrackHistITSTPC->Sumw2();

  // init output folder
  fAnalysisFolder = CreateFolder("folderdNdPt","Analysis dNdPt Folder");
}

//_____________________________________________________________________________
void AlidNdPtEfficiency::Process(AliESDEvent *const esdEvent, AliMCEvent * const mcEvent)
{
  //
  // Process real and/or simulated events
  //
  if(!esdEvent) {
    AliDebug(AliLog::kError, "esdEvent not available");
    return;
  }

  // get selection cuts
  AlidNdPtEventCuts *evtCuts      = GetEventCuts(); 
  AlidNdPtAcceptanceCuts *accCuts = GetAcceptanceCuts(); 
  AliESDtrackCuts *esdTrackCuts   = GetTrackCuts(); 

  if(!evtCuts || !accCuts  || !esdTrackCuts) {
    AliDebug(AliLog::kError, "cuts not available");
    return;
  }

   

  // trigger selection
  Bool_t isEventTriggered = kTRUE;
   
  // use MC information
  AliHeader* header = 0;
  AliGenEventHeader* genHeader = 0;
  AliStack* stack = 0;
  TArrayF vtxMC(3);

  Int_t multMCTrueTracks = 0;
  if(IsUseMCInfo())
  {
    //
    if(!mcEvent) {
      AliDebug(AliLog::kError, "mcEvent not available");
      return;
    }
    // get MC event header
    header = mcEvent->Header();
    if (!header) {
      AliDebug(AliLog::kError, "Header not available");
      return;
    }
    // MC particle stack
    stack = mcEvent->Stack();
    if (!stack) {
      AliDebug(AliLog::kError, "Stack not available");
      return;
    }

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

    // multipliticy of all MC primary tracks
    // in Zv, pt and eta ranges)
    multMCTrueTracks = AlidNdPtHelper::GetMCTrueTrackMult(mcEvent,evtCuts,accCuts);

  } // end bUseMC

  // get reconstructed vertex  
  const AliESDVertex* vtxESD = 0; 
  if(evtCuts->IsRecVertexRequired()) 
  {
     if(GetAnalysisMode() == AlidNdPtHelper::kTPC) {
        vtxESD = esdEvent->GetPrimaryVertexTPC();
    }
    else if(GetAnalysisMode() == AlidNdPtHelper::kTPCITS) {
      vtxESD = esdEvent->GetPrimaryVertexTracks();
    }
    else {
    	return;
    }
  }
  Bool_t isEventOK = evtCuts->AcceptEvent(esdEvent,mcEvent,vtxESD); 
  //printf("isEventOK %d, isEventTriggered %d \n",isEventOK, isEventTriggered);
  //printf("GetAnalysisMode() %d \n",GetAnalysisMode());

  TObjArray *allChargedTracks=0;
  //printf("isEventOK %d, isEventTriggered %d \n",isEventOK,isEventTriggered);

  // check event cuts
  if(isEventOK && isEventTriggered)
  {
    // get all charged tracks
    allChargedTracks = AlidNdPtHelper::GetAllChargedTracks(esdEvent,GetAnalysisMode());
    if(!allChargedTracks) return;

    Int_t entries = allChargedTracks->GetEntries();
    Bool_t isTPC = kFALSE;
    Bool_t isMatch = kFALSE;

    // TPC -> ITS prolongation efficiency
    for(Int_t iTrack=0; iTrack<entries;++iTrack) 
    {
      AliESDtrack *track = (AliESDtrack*)allChargedTracks->At(iTrack);
      if(!track) continue;

      isTPC = kFALSE;

      if(track->Charge()==0) continue;
      if(!track->GetTPCInnerParam()) continue;
      if(!(track->GetStatus()&AliESDtrack::kTPCrefit)) continue;

      // check loose cuts for TPC tracks
      if(!esdTrackCuts->AcceptTrack(track))  { continue; } 

      isTPC = kTRUE;
      isMatch = kFALSE;
      if( (track->GetStatus()&AliESDtrack::kITSrefit) && 
	  (track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) ) 
      {
        isMatch = kTRUE;
      }

      //
      FillHistograms(track, stack, isMatch, isTPC, kFALSE);
      //if(tpcTrack) delete tpcTrack;
    } 

    //
    // ITS -> TPC prolongation efficiency
    //
    for(Int_t iTrack=0; iTrack<entries;++iTrack) 
    {
      AliESDtrack *track = (AliESDtrack*)allChargedTracks->At(iTrack);
      if(!track) continue;

      //
      // ITS stand alone tracks
      //
      if(!(track->GetStatus() & AliESDtrack::kITSpureSA)) continue;
      if(!(track->GetStatus() & AliESDtrack::kITSrefit)) continue;
      if(track->GetNcls(0)<4) continue;
      if(!track->HasPointOnITSLayer(0) && !track->HasPointOnITSLayer(1)) continue;

      // Check matching with TPC only track
      for(Int_t jTrack=0; jTrack<entries;++jTrack) 
      {
        isMatch = kFALSE;

        if(iTrack==jTrack) continue;

        AliESDtrack *track2 = (AliESDtrack*)allChargedTracks->At(jTrack);
        if(!track2) continue;
        if(track2->Charge()==0) continue;
	if(!track2->GetTPCInnerParam()) continue;
        if(!(track2->GetStatus() & AliESDtrack::kTPCrefit)) continue;

        // Get TPC only tracks (must be deleted by user) 
        AliESDtrack* tpcTrack2 = AliESDtrackCuts::GetTPCOnlyTrack(esdEvent, jTrack);
        if(!tpcTrack2) continue;
        if(!tpcTrack2->RelateToVertex(vtxESD,esdEvent->GetMagneticField(),100.)) { delete tpcTrack2; continue; } 

        // check loose cuts for TPC tracks
        if(!esdTrackCuts->AcceptTrack(tpcTrack2)) { delete tpcTrack2; continue; }

        // check matching
        if (TMath::Abs(track->GetY() - tpcTrack2->GetY()) > 3) { delete tpcTrack2; continue; }
        if (TMath::Abs(track->GetSnp() - tpcTrack2->GetSnp()) > 0.2) { delete tpcTrack2; continue; }
        if (TMath::Abs(track->GetTgl() - tpcTrack2->GetTgl()) > 0.2) { delete tpcTrack2; continue; }

	isMatch = kTRUE;
	if(tpcTrack2) { 
	  delete tpcTrack2;
	}
	  break;
      }

       //
       FillHistograms(track, stack, isMatch, kFALSE, kTRUE);
    } 
  }

  if(allChargedTracks) delete allChargedTracks; allChargedTracks = 0;

}

//_____________________________________________________________________________
void AlidNdPtEfficiency::FillHistograms(AliESDtrack *const esdTrack, AliStack *const stack, const Bool_t isMatch, const Bool_t isTPC,  const Bool_t isITSTPC) const
{
  //
  // Fill ESD track and MC histograms 
  //
  if(!esdTrack) return;
  Int_t charge = esdTrack->Charge();
  if(charge == 0.) return;

  Float_t pt = esdTrack->Pt();
  Float_t eta = esdTrack->Eta();
  Float_t phi = esdTrack->Phi();

  //
  // Fill rec vs MC information
  //
  Bool_t isPrim = kTRUE;

  if(IsUseMCInfo()) {
    if(!stack) return;
    Int_t label = esdTrack->GetLabel(); 
    if(label < 0.) return; // fake ITS track
    TParticle* particle = stack->Particle(label);
    if(!particle) return;
    if(particle->GetPDG() && particle->GetPDG()->Charge()==0.) return;
    isPrim = stack->IsPhysicalPrimary(label);
  }

  // fill histo
  Double_t vRecMCTrackHist[6] = { eta,phi,pt,static_cast<Double_t>(isPrim),static_cast<Double_t>(charge),static_cast<Double_t>(isMatch) }; 
  Double_t vRecMCTrackHistTPCITS[7] = { eta,phi,pt,static_cast<Double_t>(isPrim),static_cast<Double_t>(charge),static_cast<Double_t>(isMatch),static_cast<Double_t>(isTPC) }; 

  if(isITSTPC) {
    fRecMCTrackHistITSTPC->Fill(vRecMCTrackHist);
  }
  else {
    fRecMCTrackHistTPCITS->Fill(vRecMCTrackHistTPCITS);
  }
}

//_____________________________________________________________________________
Long64_t AlidNdPtEfficiency::Merge(TCollection* const list) 
{
  // Merge list of objects (needed by PROOF)

  if (!list)
  return 0;

  if (list->IsEmpty())
  return 1;

  TIterator* iter = list->MakeIterator();
  TObject* obj = 0;

  // collection of generated histograms
  Int_t count=0;
  while((obj = iter->Next()) != 0) {
    AlidNdPtEfficiency* entry = dynamic_cast<AlidNdPtEfficiency*>(obj);
    if (entry == 0) continue; 
  
    // track histo
    fRecMCTrackHistTPCITS->Add(entry->fRecMCTrackHistTPCITS);
    fRecMCTrackHistITSTPC->Add(entry->fRecMCTrackHistITSTPC);

  count++;
  }

return count;
}

//_____________________________________________________________________________
void AlidNdPtEfficiency::Analyse() 
{
  //
  // Analyse histograms
  //
  TH1::AddDirectory(kFALSE);
  TObjArray *aFolderObj = new TObjArray;
  if(!aFolderObj) return; 

  TH1D *h1Dall = 0; 
  TH1D *h1D = 0; 
  TH1D *h1Dc = 0; 


  //
  // get cuts
  //
  AlidNdPtEventCuts *evtCuts = GetEventCuts(); 
  AlidNdPtAcceptanceCuts *accCuts = GetAcceptanceCuts(); 
  AliESDtrackCuts *esdTrackCuts = GetTrackCuts(); 

  if(!evtCuts || !accCuts || !esdTrackCuts) {
    Error("AlidNdPtEfficiency::Analyse()", "cuts not available");
    return;
  }

  //
  // TPC->ITS efficiency
  //

  //eff vs eta
  fRecMCTrackHistTPCITS->GetAxis(6)->SetRange(2,2);  
  h1Dall = (TH1D *)fRecMCTrackHistTPCITS->Projection(0);
  if(!h1Dall) return;
  fRecMCTrackHistTPCITS->GetAxis(5)->SetRange(2,2);  
  h1D = (TH1D *)fRecMCTrackHistTPCITS->Projection(0);
  if(!h1D) return;

  h1Dc = (TH1D *)h1D->Clone("eff_vs_eta_TPCITS");
  h1Dc->Divide(h1Dall);
  aFolderObj->Add(h1Dc);
  fRecMCTrackHistTPCITS->GetAxis(5)->SetRange(1,2);  
  fRecMCTrackHistTPCITS->GetAxis(6)->SetRange(1,2);  

  //eff vs phi
  fRecMCTrackHistTPCITS->GetAxis(6)->SetRange(2,2);  
  fRecMCTrackHistTPCITS->GetAxis(0)->SetRangeUser(-0.8, 0.799);  
  h1Dall = (TH1D *)fRecMCTrackHistTPCITS->Projection(1);
  if(!h1Dall) return;
  fRecMCTrackHistTPCITS->GetAxis(5)->SetRange(2,2);  
  h1D = (TH1D *)fRecMCTrackHistTPCITS->Projection(1);
  if(!h1D) return;

  h1Dc = (TH1D *)h1D->Clone("eff_vs_phi_TPCITS");
  h1Dc->Divide(h1Dall);
  aFolderObj->Add(h1Dc);
  fRecMCTrackHistTPCITS->GetAxis(5)->SetRange(1,2);  
  fRecMCTrackHistTPCITS->GetAxis(6)->SetRange(1,2);  

  //eff vs pT
  fRecMCTrackHistTPCITS->GetAxis(6)->SetRange(2,2);  
  fRecMCTrackHistTPCITS->GetAxis(0)->SetRangeUser(-0.8, 0.799);  
  h1Dall = (TH1D *)fRecMCTrackHistTPCITS->Projection(2);
  if(!h1Dall) return;
  fRecMCTrackHistTPCITS->GetAxis(5)->SetRange(2,2);  
  h1D = (TH1D *)fRecMCTrackHistTPCITS->Projection(2);
  if(!h1D) return;

  h1Dc = (TH1D *)h1D->Clone("eff_vs_pT_TPCITS");
  h1Dc->Divide(h1Dall);
  aFolderObj->Add(h1Dc);
  fRecMCTrackHistTPCITS->GetAxis(5)->SetRange(1,2);  
  fRecMCTrackHistTPCITS->GetAxis(6)->SetRange(1,2);  


  //
  // ITS->TPC efficiency
  //

  fRecMCTrackHistITSTPC->GetAxis(0)->SetRangeUser(-1.5, 1.499);  
  fRecMCTrackHistITSTPC->GetAxis(5)->SetRange(1,2);  

  //eff vs eta
  h1Dall = (TH1D *)fRecMCTrackHistITSTPC->Projection(0);
  if(!h1Dall) return;
  fRecMCTrackHistITSTPC->GetAxis(5)->SetRange(2,2);  
  h1D = (TH1D *)fRecMCTrackHistITSTPC->Projection(0);
  if(!h1D) return;

  h1Dc = (TH1D *)h1D->Clone("eff_vs_eta_ITSTPC");
  h1Dc->Divide(h1Dall);
  aFolderObj->Add(h1Dc);
  fRecMCTrackHistITSTPC->GetAxis(5)->SetRange(1,2);  

  //eff vs phi
  fRecMCTrackHistITSTPC->GetAxis(0)->SetRangeUser(-0.8, 0.799);  
  h1Dall = (TH1D *)fRecMCTrackHistITSTPC->Projection(1);
  if(!h1Dall) return;
  fRecMCTrackHistITSTPC->GetAxis(5)->SetRange(2,2);  
  h1D = (TH1D *)fRecMCTrackHistITSTPC->Projection(1);
  if(!h1D) return;

  h1Dc = (TH1D *)h1D->Clone("eff_vs_phi_ITSTPC");
  h1Dc->Divide(h1Dall);
  aFolderObj->Add(h1Dc);
  fRecMCTrackHistITSTPC->GetAxis(5)->SetRange(1,2);  

  //eff vs pT
  fRecMCTrackHistITSTPC->GetAxis(0)->SetRangeUser(-0.8, 0.799);  
  h1Dall = (TH1D *)fRecMCTrackHistITSTPC->Projection(2);
  if(!h1Dall) return;
  fRecMCTrackHistITSTPC->GetAxis(5)->SetRange(2,2);  
  h1D = (TH1D *)fRecMCTrackHistITSTPC->Projection(2);
  if(!h1D) return;

  h1Dc = (TH1D *)h1D->Clone("eff_vs_pT_ITSTPC");
  h1Dc->Divide(h1Dall);
  aFolderObj->Add(h1Dc);
  fRecMCTrackHistITSTPC->GetAxis(5)->SetRange(1,2);  
  
  // export objects to analysis folder
  fAnalysisFolder = ExportToFolder(aFolderObj);
  if(!fAnalysisFolder) {
    if(aFolderObj) delete aFolderObj;
    return;
  }

  // delete only TObjArray
  if(aFolderObj) delete aFolderObj;
}

//_____________________________________________________________________________
TFolder* AlidNdPtEfficiency::ExportToFolder(TObjArray * const array) 
{
  // recreate folder avery time and export objects to new one
  //
  AlidNdPtEfficiency * comp=this;
  TFolder *folder = comp->GetAnalysisFolder();

  TString name, title;
  TFolder *newFolder = 0;
  Int_t i = 0;
  Int_t size = array->GetSize();

  if(folder) { 
     // get name and title from old folder
     name = folder->GetName();  
     title = folder->GetTitle();  

	 // delete old one
     delete folder;

	 // create new one
     newFolder = CreateFolder(name.Data(),title.Data());
     newFolder->SetOwner();

	 // add objects to folder
     while(i < size) {
	   newFolder->Add(array->At(i));
	   i++;
	 }
  }

return newFolder;
}

//_____________________________________________________________________________
TFolder* AlidNdPtEfficiency::CreateFolder(TString name,TString title) { 
// create folder for analysed histograms
//
TFolder *folder = 0;
  folder = new TFolder(name.Data(),title.Data());

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