#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)
{
Init();
}
AlidNdPtEfficiency::AlidNdPtEfficiency(Char_t* name, Char_t* title): AlidNdPt(name,title),
fAnalysisFolder(0),
fRecMCTrackHistTPCITS(0),
fRecMCTrackHistITSTPC(0)
{
Init();
}
AlidNdPtEfficiency::~AlidNdPtEfficiency() {
if(fRecMCTrackHistTPCITS) delete fRecMCTrackHistTPCITS; fRecMCTrackHistTPCITS=0;
if(fRecMCTrackHistITSTPC) delete fRecMCTrackHistITSTPC; fRecMCTrackHistITSTPC=0;
if(fAnalysisFolder) delete fAnalysisFolder; fAnalysisFolder=0;
}
void AlidNdPtEfficiency::Init(){
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};
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();
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();
fAnalysisFolder = CreateFolder("folderdNdPt","Analysis dNdPt Folder");
}
void AlidNdPtEfficiency::Process(AliESDEvent *const esdEvent, AliMCEvent * const mcEvent)
{
if(!esdEvent) {
AliDebug(AliLog::kError, "esdEvent not available");
return;
}
AlidNdPtEventCuts *evtCuts = GetEventCuts();
AlidNdPtAcceptanceCuts *accCuts = GetAcceptanceCuts();
AliESDtrackCuts *esdTrackCuts = GetTrackCuts();
if(!evtCuts || !accCuts || !esdTrackCuts) {
AliDebug(AliLog::kError, "cuts not available");
return;
}
Bool_t isEventTriggered = kTRUE;
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;
}
header = mcEvent->Header();
if (!header) {
AliDebug(AliLog::kError, "Header not available");
return;
}
stack = mcEvent->Stack();
if (!stack) {
AliDebug(AliLog::kError, "Stack not available");
return;
}
genHeader = header->GenEventHeader();
if (!genHeader) {
AliDebug(AliLog::kError, "Could not retrieve genHeader from Header");
return;
}
genHeader->PrimaryVertex(vtxMC);
multMCTrueTracks = AlidNdPtHelper::GetMCTrueTrackMult(mcEvent,evtCuts,accCuts);
}
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);
TObjArray *allChargedTracks=0;
if(isEventOK && isEventTriggered)
{
allChargedTracks = AlidNdPtHelper::GetAllChargedTracks(esdEvent,GetAnalysisMode());
if(!allChargedTracks) return;
Int_t entries = allChargedTracks->GetEntries();
Bool_t isTPC = kFALSE;
Bool_t isMatch = kFALSE;
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;
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);
}
for(Int_t iTrack=0; iTrack<entries;++iTrack)
{
AliESDtrack *track = (AliESDtrack*)allChargedTracks->At(iTrack);
if(!track) continue;
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;
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;
AliESDtrack* tpcTrack2 = AliESDtrackCuts::GetTPCOnlyTrack(esdEvent, jTrack);
if(!tpcTrack2) continue;
if(!tpcTrack2->RelateToVertex(vtxESD,esdEvent->GetMagneticField(),100.)) { delete tpcTrack2; continue; }
if(!esdTrackCuts->AcceptTrack(tpcTrack2)) { delete tpcTrack2; continue; }
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
{
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();
Bool_t isPrim = kTRUE;
if(IsUseMCInfo()) {
if(!stack) return;
Int_t label = esdTrack->GetLabel();
if(label < 0.) return;
TParticle* particle = stack->Particle(label);
if(!particle) return;
if(particle->GetPDG() && particle->GetPDG()->Charge()==0.) return;
isPrim = stack->IsPhysicalPrimary(label);
}
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)
{
if (!list)
return 0;
if (list->IsEmpty())
return 1;
TIterator* iter = list->MakeIterator();
TObject* obj = 0;
Int_t count=0;
while((obj = iter->Next()) != 0) {
AlidNdPtEfficiency* entry = dynamic_cast<AlidNdPtEfficiency*>(obj);
if (entry == 0) continue;
fRecMCTrackHistTPCITS->Add(entry->fRecMCTrackHistTPCITS);
fRecMCTrackHistITSTPC->Add(entry->fRecMCTrackHistITSTPC);
count++;
}
return count;
}
void AlidNdPtEfficiency::Analyse()
{
TH1::AddDirectory(kFALSE);
TObjArray *aFolderObj = new TObjArray;
if(!aFolderObj) return;
TH1D *h1Dall = 0;
TH1D *h1D = 0;
TH1D *h1Dc = 0;
AlidNdPtEventCuts *evtCuts = GetEventCuts();
AlidNdPtAcceptanceCuts *accCuts = GetAcceptanceCuts();
AliESDtrackCuts *esdTrackCuts = GetTrackCuts();
if(!evtCuts || !accCuts || !esdTrackCuts) {
Error("AlidNdPtEfficiency::Analyse()", "cuts not available");
return;
}
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);
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);
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);
fRecMCTrackHistITSTPC->GetAxis(0)->SetRangeUser(-1.5, 1.499);
fRecMCTrackHistITSTPC->GetAxis(5)->SetRange(1,2);
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);
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);
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);
fAnalysisFolder = ExportToFolder(aFolderObj);
if(!fAnalysisFolder) {
if(aFolderObj) delete aFolderObj;
return;
}
if(aFolderObj) delete aFolderObj;
}
TFolder* AlidNdPtEfficiency::ExportToFolder(TObjArray * const array)
{
AlidNdPtEfficiency * comp=this;
TFolder *folder = comp->GetAnalysisFolder();
TString name, title;
TFolder *newFolder = 0;
Int_t i = 0;
Int_t size = array->GetSize();
if(folder) {
name = folder->GetName();
title = folder->GetTitle();
delete folder;
newFolder = CreateFolder(name.Data(),title.Data());
newFolder->SetOwner();
while(i < size) {
newFolder->Add(array->At(i));
i++;
}
}
return newFolder;
}
TFolder* AlidNdPtEfficiency::CreateFolder(TString name,TString title) {
TFolder *folder = 0;
folder = new TFolder(name.Data(),title.Data());
return folder;
}
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