#include "AliEPSelectionTask.h"
#include <TTree.h>
#include <TList.h>
#include <TH1F.h>
#include <TH2F.h>
#include <THnSparse.h>
#include <TProfile.h>
#include <TFile.h>
#include <TObjString.h>
#include <TString.h>
#include <TCanvas.h>
#include <TROOT.h>
#include <TDirectory.h>
#include <TSystem.h>
#include <iostream>
#include <TRandom2.h>
#include <TArrayF.h>
#include "AliAnalysisManager.h"
#include "AliVEvent.h"
#include "AliESD.h"
#include "AliESDEvent.h"
#include "AliMCEvent.h"
#include "AliESDtrack.h"
#include "AliESDtrackCuts.h"
#include "AliESDHeader.h"
#include "AliESDInputHandler.h"
#include "AliAODHandler.h"
#include "AliAODEvent.h"
#include "AliHeader.h"
#include "AliGenHijingEventHeader.h"
#include "AliAnalysisTaskSE.h"
#include "AliPhysicsSelectionTask.h"
#include "AliPhysicsSelection.h"
#include "AliBackgroundSelection.h"
#include "AliESDUtils.h"
#include "AliOADBContainer.h"
#include "AliAODMCHeader.h"
#include "AliAODTrack.h"
#include "AliVTrack.h"
#include "AliEventplane.h"
using std::cout;
using std::endl;
ClassImp(AliEPSelectionTask)
AliEPSelectionTask::AliEPSelectionTask():
AliAnalysisTaskSE(),
fAnalysisInput("ESD"),
fTrackType("TPC"),
fPeriod(""),
fCentrality(-1.),
fUseMCRP(kFALSE),
fUsePhiWeight(kFALSE),
fUsePtWeight(kFALSE),
fUseRecentering(kFALSE),
fSaveTrackContribution(kFALSE),
fUserphidist(kFALSE),
fUsercuts(kFALSE),
fRunNumber(-15),
fAODfilterbit(1),
fEtaGap(0.),
fSplitMethod(0),
fESDtrackCuts(0),
fEPContainer(0),
fQxContainer(0),
fQyContainer(0),
fSparseDist(0),
fHruns(0),
fQVector(0),
fQContributionX(0),
fQContributionY(0),
fEventplaneQ(0),
fQsub1(0),
fQsub2(0),
fQsubRes(0),
fOutputList(0),
fHOutEventplaneQ(0),
fHOutPhi(0),
fHOutPhiCorr(0),
fHOutsub1sub2(0),
fHOutNTEPRes(0),
fHOutPTPsi(0),
fHOutDiff(0),
fHOutleadPTPsi(0)
{
AliInfo("Event Plane Selection enabled.");
for(Int_t i = 0; i < 4; ++i) {
fPhiDist[i] = 0;
}
for(Int_t i = 0; i < 2; ++i) {
fQDist[i] = 0;
}
}
AliEPSelectionTask::AliEPSelectionTask(const char *name):
AliAnalysisTaskSE(name),
fAnalysisInput("ESD"),
fTrackType("TPC"),
fPeriod(""),
fCentrality(-1.),
fUseMCRP(kFALSE),
fUsePhiWeight(kFALSE),
fUsePtWeight(kFALSE),
fUseRecentering(kFALSE),
fSaveTrackContribution(kFALSE),
fUserphidist(kFALSE),
fUsercuts(kFALSE),
fRunNumber(-15),
fAODfilterbit(1),
fEtaGap(0.),
fSplitMethod(0),
fESDtrackCuts(0),
fEPContainer(0),
fQxContainer(0),
fQyContainer(0),
fSparseDist(0),
fHruns(0),
fQVector(0),
fQContributionX(0),
fQContributionY(0),
fEventplaneQ(0),
fQsub1(0),
fQsub2(0),
fQsubRes(0),
fOutputList(0),
fHOutEventplaneQ(0),
fHOutPhi(0),
fHOutPhiCorr(0),
fHOutsub1sub2(0),
fHOutNTEPRes(0),
fHOutPTPsi(0),
fHOutDiff(0),
fHOutleadPTPsi(0)
{
AliInfo("Event Plane Selection enabled.");
DefineOutput(1, TList::Class());
for(Int_t i = 0; i < 4; i++) {
fPhiDist[i] = 0;
}
for(Int_t i = 0; i < 2; ++i) {
fQDist[i] = 0;
}
}
AliEPSelectionTask::~AliEPSelectionTask()
{
if (fOutputList && !AliAnalysisManager::GetAnalysisManager()->IsProofMode()){
delete fOutputList;
fOutputList = 0;
}
if (fESDtrackCuts){
delete fESDtrackCuts;
fESDtrackCuts = 0;
}
if (fUserphidist) {
if (fPhiDist[0]) {
delete fPhiDist[0];
fPhiDist[0] = 0;
}
}
if (fEPContainer){
delete fEPContainer;
fEPContainer = 0;
}
if (fPeriod.CompareTo("LHC11h")==0){
for(Int_t i = 0; i < 4; i++) {
if(fPhiDist[i]){
delete fPhiDist[i];
fPhiDist[i] = 0;
}
}
if(fHruns) delete fHruns;
}
if(fQDist[0] && fQDist[1]) {
for(Int_t i = 0; i < 2; i++) {
if(fQDist[i]){
delete fQDist[i];
fQDist[i] = 0;
}
}
}
}
void AliEPSelectionTask::UserCreateOutputObjects()
{
if (fDebug>1) printf("AliEPSelectionTask::UserCreateOutputObjects() \n");
AliLog::SetClassDebugLevel("AliEPSelectionTask", AliLog::kInfo);
fOutputList = new TList();
fOutputList->SetOwner();
fHOutEventplaneQ = new TH1F("fHOutEventplaneQ","fHOutEventplaneQ; Event Plane Q",100,0,TMath::Pi());
fHOutPhi = new TH1F("fHOutPhi","fHOutPhi; Phi Distribution",100,0,TMath::TwoPi());
fHOutPhiCorr = new TH1F("fHOutPhiCorr","fHOutPhiCorr; Corrected Phi Distribution",100,0,TMath::TwoPi());
fHOutsub1sub2 = new TH2F("fHOutsub1sub2","fHOutsub1sub2; EP1; EP2",100,0,TMath::Pi(),100,0,TMath::Pi());
fHOutNTEPRes = new TH2F("fHOutNTEPRes","fHOutNTEPRes; Number of Tracks; Event Plane Resolution",100,0,5000,100,-TMath::Pi(),TMath::Pi());
fHOutPTPsi = new TH2F("fHOutPTPsi","fHOutPTPsi; PT; Phi-EP",100,0,20,100,0,TMath::Pi());
fHOutDiff = new TH2F("fHOutDiff","fHOutDiff; EP; MCEP",100,0,TMath::Pi(),100,0,TMath::Pi());
fHOutleadPTPsi = new TH2F("fHOutleadPTPsi","fHOutleadPTPsi; leadPT; EP",100,0,TMath::Pi(),100,0,TMath::Pi());
fOutputList->Add(fHOutEventplaneQ);
fOutputList->Add(fHOutPhi);
fOutputList->Add(fHOutPhiCorr);
fOutputList->Add(fHOutsub1sub2);
fOutputList->Add(fHOutNTEPRes);
fOutputList->Add(fHOutPTPsi);
fOutputList->Add(fHOutleadPTPsi);
fOutputList->Add(fHOutDiff);
PostData(1, fOutputList);
}
void AliEPSelectionTask::UserExec(Option_t *)
{
if (fDebug>1) printf(" **** AliEPSelectionTask::UserExec() \n");
AliEventplane *esdEP;
TVector2 qq1;
TVector2 qq2;
Double_t fRP = 0.;
if (fAnalysisInput.CompareTo("ESD")==0){
AliVEvent* event = InputEvent();
AliESDEvent* esd = dynamic_cast<AliESDEvent*>(event);
if (esd){
if (!(fRunNumber == esd->GetRunNumber())) {
fRunNumber = esd->GetRunNumber();
AliInfo(Form("Changing Phi-distribution to run %d",fRunNumber));
SetOADBandPeriod();
SetPhiDist();
SetQvectorDist();
}
if (fUseMCRP) {
AliMCEvent* mcEvent = MCEvent();
if (mcEvent && mcEvent->GenEventHeader()) {
AliGenHijingEventHeader* headerH = dynamic_cast<AliGenHijingEventHeader*>(mcEvent->GenEventHeader());
if (headerH) fRP = headerH->ReactionPlaneAngle();
}
}
esdEP = esd->GetEventplane();
if (fSaveTrackContribution) {
esdEP->GetQContributionXArray()->Set(esd->GetNumberOfTracks());
esdEP->GetQContributionYArray()->Set(esd->GetNumberOfTracks());
esdEP->GetQContributionXArraysub1()->Set(esd->GetNumberOfTracks());
esdEP->GetQContributionYArraysub1()->Set(esd->GetNumberOfTracks());
esdEP->GetQContributionXArraysub2()->Set(esd->GetNumberOfTracks());
esdEP->GetQContributionYArraysub2()->Set(esd->GetNumberOfTracks());
}
TObjArray* tracklist = new TObjArray;
if (fTrackType.CompareTo("GLOBAL")==0) tracklist = fESDtrackCuts->GetAcceptedTracks(esd,kFALSE);
if (fTrackType.CompareTo("TPC")==0 && fPeriod.CompareTo("LHC10h")==0) tracklist = fESDtrackCuts->GetAcceptedTracks(esd,kTRUE);
else if (fTrackType.CompareTo("TPC")==0 && fPeriod.CompareTo("LHC11h")==0) tracklist = GetTracksForLHC11h(esd);
const int nt = tracklist->GetEntries();
if (nt>4){
fQVector = new TVector2(GetQ(esdEP,tracklist));
fEventplaneQ = fQVector->Phi()/2;
GetQsub(qq1, qq2, tracklist, esdEP);
fQsub1 = new TVector2(qq1);
fQsub2 = new TVector2(qq2);
fQsubRes = (fQsub1->Phi()/2 - fQsub2->Phi()/2);
esdEP->SetQVector(fQVector);
esdEP->SetEventplaneQ(fEventplaneQ);
esdEP->SetQsub(fQsub1,fQsub2);
esdEP->SetQsubRes(fQsubRes);
fHOutEventplaneQ->Fill(fEventplaneQ);
fHOutsub1sub2->Fill(fQsub1->Phi()/2,fQsub2->Phi()/2);
fHOutNTEPRes->Fill(nt,fQsubRes);
if (fUseMCRP) fHOutDiff->Fill(fEventplaneQ, fRP);
for (int iter = 0; iter<nt;iter++){
AliESDtrack* track = dynamic_cast<AliESDtrack*> (tracklist->At(iter));
if (track) {
float delta = track->Phi()-fEventplaneQ;
while (delta < 0) delta += TMath::Pi();
while (delta > TMath::Pi()) delta -= TMath::Pi();
fHOutPTPsi->Fill(track->Pt(),delta);
fHOutPhi->Fill(track->Phi());
fHOutPhiCorr->Fill(track->Phi(),GetPhiWeight(track));
}
}
AliESDtrack* trmax = esd->GetTrack(0);
for (int iter = 1; iter<nt;iter++){
AliESDtrack* track = dynamic_cast<AliESDtrack*> (tracklist->At(iter));
if (track && (track->Pt() > trmax->Pt())) trmax = track;
}
fHOutleadPTPsi->Fill(trmax->Phi(),fEventplaneQ);
}
tracklist->Clear();
delete tracklist;
tracklist = 0;
}
}
else if (fAnalysisInput.CompareTo("AOD")==0){
AliVEvent* event = InputEvent();
AliAODEvent* aod = dynamic_cast<AliAODEvent*>(event);
if (aod){
AliAODHeader *header=dynamic_cast<AliAODHeader*>(aod->GetHeader());
if(!header) AliFatal("Not a standard AOD");
AliCentrality *centrality=header->GetCentralityP();
if(!centrality) AliError(Form("No AliCentrality attached to AOD header"));
fCentrality = centrality->GetCentralityPercentile("V0M");
if (!(fRunNumber == aod->GetRunNumber())) {
fRunNumber = aod->GetRunNumber();
AliInfo(Form("Changing Phi-distribution to run %d",fRunNumber));
SetOADBandPeriod();
SetPhiDist();
SetQvectorDist();
}
if (fUseMCRP) {
AliAODMCHeader *headerH = dynamic_cast<AliAODMCHeader*>(aod->GetList()->FindObject(AliAODMCHeader::StdBranchName()));
if (headerH) fRP = headerH->GetReactionPlaneAngle();
}
esdEP = header->GetEventplaneP();
if(!esdEP) return;
esdEP->Reset();
Int_t maxID = 0;
TObjArray* tracklist = GetAODTracksAndMaxID(aod,maxID);
if (fSaveTrackContribution) {
esdEP->GetQContributionXArray()->Set(maxID+1);
esdEP->GetQContributionYArray()->Set(maxID+1);
esdEP->GetQContributionXArraysub1()->Set(maxID+1);
esdEP->GetQContributionYArraysub1()->Set(maxID+1);
esdEP->GetQContributionXArraysub2()->Set(maxID+1);
esdEP->GetQContributionYArraysub2()->Set(maxID+1);
}
const int NT = tracklist->GetEntries();
if (NT>4){
fQVector = new TVector2(GetQ(esdEP,tracklist));
fEventplaneQ = fQVector->Phi()/2;
GetQsub(qq1, qq2, tracklist, esdEP);
fQsub1 = new TVector2(qq1);
fQsub2 = new TVector2(qq2);
fQsubRes = (fQsub1->Phi()/2 - fQsub2->Phi()/2);
esdEP->SetQVector(fQVector);
esdEP->SetEventplaneQ(fEventplaneQ);
esdEP->SetQsub(fQsub1,fQsub2);
esdEP->SetQsubRes(fQsubRes);
fHOutEventplaneQ->Fill(fEventplaneQ);
fHOutsub1sub2->Fill(fQsub1->Phi()/2.,fQsub2->Phi()/2.);
fHOutNTEPRes->Fill(NT,fQsubRes);
if (fUseMCRP) fHOutDiff->Fill(fEventplaneQ, fRP);
for (int iter = 0; iter<NT;iter++){
AliAODTrack* track = dynamic_cast<AliAODTrack*> (tracklist->At(iter));
if (track) {
float delta = track->Phi()-fEventplaneQ;
while (delta < 0) delta += TMath::Pi();
while (delta > TMath::Pi()) delta -= TMath::Pi();
fHOutPTPsi->Fill(track->Pt(),delta);
fHOutPhi->Fill(track->Phi());
fHOutPhiCorr->Fill(track->Phi(),GetPhiWeight(track));
}
}
AliAODTrack* trmax = dynamic_cast<AliAODTrack*>(aod->GetTrack(0));
if(!trmax) AliFatal("Not a standard AOD");
for (int iter = 1; iter<NT;iter++){
AliAODTrack* track = dynamic_cast<AliAODTrack*> (tracklist->At(iter));
if (track && (track->Pt() > trmax->Pt())) trmax = track;
}
fHOutleadPTPsi->Fill(trmax->Phi(),fEventplaneQ);
}
delete tracklist;
tracklist = 0;
}
}
else {
printf(" Analysis Input not known!\n\n ");
return;
}
PostData(1, fOutputList);
}
void AliEPSelectionTask::Terminate(Option_t *)
{
}
TVector2 AliEPSelectionTask::GetQ(AliEventplane* EP, TObjArray* tracklist)
{
TVector2 mQ;
float mQx=0, mQy=0;
AliVTrack* track;
Double_t weight;
Int_t idtemp = -1;
Double_t mean[2], rms[2];
Recenter(0, mean);
Recenter(1, rms);
int nt = tracklist->GetEntries();
for (int i=0; i<nt; i++){
weight = 1;
track = dynamic_cast<AliVTrack*> (tracklist->At(i));
if (track) {
weight = GetWeight(track);
if (fSaveTrackContribution){
idtemp = track->GetID();
if ((fAnalysisInput.CompareTo("AOD")==0) && (fAODfilterbit == 128)) idtemp = idtemp*(-1) - 1;
EP->GetQContributionXArray()->AddAt(weight*cos(2*track->Phi())/rms[0],idtemp);
EP->GetQContributionYArray()->AddAt(weight*sin(2*track->Phi())/rms[1],idtemp);
}
mQx += (weight*cos(2*track->Phi())/rms[0]);
mQy += (weight*sin(2*track->Phi())/rms[1]);
}
}
mQ.Set(mQx-(mean[0]/rms[0]), mQy-(mean[1]/rms[1]));
return mQ;
}
void AliEPSelectionTask::GetQsub(TVector2 &Q1, TVector2 &Q2, TObjArray* tracklist,AliEventplane* EP)
{
TVector2 mQ[2];
float mQx1=0, mQy1=0, mQx2=0, mQy2=0;
Double_t weight;
Double_t mean[2], rms[2];
Recenter(0, mean);
Recenter(1, rms);
AliVTrack* track;
TRandom2 rn = 0;
int nt = tracklist->GetEntries();
int trackcounter1=0, trackcounter2=0;
int idtemp = 0;
if (fSplitMethod == AliEPSelectionTask::kRandom){
for (Int_t i = 0; i < nt; i++) {
weight = 1;
track = dynamic_cast<AliVTrack*> (tracklist->At(i));
if (!track) continue;
weight = GetWeight(track);
idtemp = track->GetID();
if ((fAnalysisInput.CompareTo("AOD")==0) && (fAODfilterbit == 128)) idtemp = idtemp*(-1) - 1;
if( trackcounter1 < int(nt/2.) && trackcounter2 < int(nt/2.)){
float random = rn.Rndm();
if(random < .5){
mQx1 += (weight*cos(2*track->Phi())/rms[0]);
mQy1 += (weight*sin(2*track->Phi())/rms[1]);
if (fSaveTrackContribution){
EP->GetQContributionXArraysub1()->AddAt(weight*cos(2*track->Phi())/rms[0],idtemp);
EP->GetQContributionYArraysub1()->AddAt(weight*sin(2*track->Phi())/rms[1],idtemp);
}
trackcounter1++;
}
else {
mQx2 += (weight*cos(2*track->Phi())/rms[0]);
mQy2 += (weight*sin(2*track->Phi())/rms[1]);
if (fSaveTrackContribution){
EP->GetQContributionXArraysub2()->AddAt(weight*cos(2*track->Phi())/rms[0],idtemp);
EP->GetQContributionYArraysub2()->AddAt(weight*sin(2*track->Phi())/rms[1],idtemp);
}
trackcounter2++;
}
}
else if( trackcounter1 >= int(nt/2.)){
mQx2 += (weight*cos(2*track->Phi())/rms[0]);
mQy2 += (weight*sin(2*track->Phi())/rms[1]);
if (fSaveTrackContribution){
EP->GetQContributionXArraysub2()->AddAt(weight*cos(2*track->Phi())/rms[0],idtemp);
EP->GetQContributionYArraysub2()->AddAt(weight*sin(2*track->Phi())/rms[1],idtemp);
}
trackcounter2++;
}
else {
mQx1 += (weight*cos(2*track->Phi())/rms[0]);
mQy1 += (weight*sin(2*track->Phi())/rms[1]);
if (fSaveTrackContribution){
EP->GetQContributionXArraysub1()->AddAt(weight*cos(2*track->Phi())/rms[0],idtemp);
EP->GetQContributionYArraysub1()->AddAt(weight*sin(2*track->Phi())/rms[1],idtemp);
}
trackcounter1++;
}
}
} else if (fSplitMethod == AliEPSelectionTask::kEta) {
for (Int_t i = 0; i < nt; i++) {
weight = 1;
track = dynamic_cast<AliVTrack*> (tracklist->At(i));
if (!track) continue;
weight = GetWeight(track);
Double_t eta = track->Eta();
idtemp = track->GetID();
if ((fAnalysisInput.CompareTo("AOD")==0) && (fAODfilterbit == 128)) idtemp = idtemp*(-1) - 1;
if (eta > fEtaGap/2.) {
mQx1 += (weight*cos(2*track->Phi())/rms[0]);
mQy1 += (weight*sin(2*track->Phi())/rms[1]);
if (fSaveTrackContribution){
EP->GetQContributionXArraysub1()->AddAt(weight*cos(2*track->Phi())/rms[0],idtemp);
EP->GetQContributionYArraysub1()->AddAt(weight*sin(2*track->Phi())/rms[1],idtemp);
}
} else if (eta < -1.*fEtaGap/2.) {
mQx2 += (weight*cos(2*track->Phi())/rms[0]);
mQy2 += (weight*sin(2*track->Phi())/rms[1]);
if (fSaveTrackContribution){
EP->GetQContributionXArraysub2()->AddAt(weight*cos(2*track->Phi())/rms[0],idtemp);
EP->GetQContributionYArraysub2()->AddAt(weight*sin(2*track->Phi())/rms[1],idtemp);
}
}
}
} else if (fSplitMethod == AliEPSelectionTask::kCharge) {
for (Int_t i = 0; i < nt; i++) {
weight = 1;
track = dynamic_cast<AliVTrack*> (tracklist->At(i));
if (!track) continue;
weight = GetWeight(track);
Short_t cha = track->Charge();
idtemp = track->GetID();
if ((fAnalysisInput.CompareTo("AOD")==0) && (fAODfilterbit == 128)) idtemp = idtemp*(-1) - 1;
if (cha > 0) {
mQx1 += (weight*cos(2*track->Phi())/rms[0]);
mQy1 += (weight*sin(2*track->Phi())/rms[1]);
if (fSaveTrackContribution){
EP->GetQContributionXArraysub1()->AddAt(weight*cos(2*track->Phi())/rms[0],idtemp);
EP->GetQContributionYArraysub1()->AddAt(weight*sin(2*track->Phi())/rms[1],idtemp);
}
} else if (cha < 0) {
mQx2 += (weight*cos(2*track->Phi())/rms[0]);
mQy2 += (weight*sin(2*track->Phi())/rms[1]);
if (fSaveTrackContribution){
EP->GetQContributionXArraysub2()->AddAt(weight*cos(2*track->Phi())/rms[0],idtemp);
EP->GetQContributionYArraysub2()->AddAt(weight*sin(2*track->Phi())/rms[1],idtemp);
}
}
}
} else {
printf("plane resolution determination method not available!\n\n ");
return;
}
mQ[0].Set(mQx1-(mean[0]/rms[0]), mQy1-(mean[1]/rms[1]));
mQ[1].Set(mQx2-(mean[0]/rms[0]), mQy2-(mean[1]/rms[1]));
Q1 = mQ[0];
Q2 = mQ[1];
}
void AliEPSelectionTask::SetPersonalESDtrackCuts(AliESDtrackCuts* trackcuts){
if(fESDtrackCuts){
delete fESDtrackCuts;
fESDtrackCuts = 0;
}
if (fAnalysisInput.CompareTo("AOD")==0){
AliInfo("ESD track cuts not possible for AOD analysis; please use SetPersonalAODtrackCuts(); using TPC only track cuts");
fUsercuts = kFALSE;
SetTrackType("TPC");
return;
}
fUsercuts = kTRUE;
fESDtrackCuts = trackcuts;
}
void AliEPSelectionTask::SetPersonalAODtrackCuts(UInt_t filterbit, Float_t etalow, Float_t etaup, Float_t ptlow, Float_t ptup, Int_t ntpc){
if(fESDtrackCuts){
delete fESDtrackCuts;
fESDtrackCuts = 0;
}
if (fAnalysisInput.CompareTo("ESD")==0){
AliInfo("AOD track cuts not possible for ESD analysis; please use SetPersonalESDtrackCuts(); using TPC only track cuts");
fUsercuts = kFALSE;
SetTrackType("TPC");
return;
}
fUsercuts = kTRUE;
fESDtrackCuts = new AliESDtrackCuts();
fESDtrackCuts->SetPtRange(ptlow,ptup);
fESDtrackCuts->SetMinNClustersTPC(ntpc);
fESDtrackCuts->SetEtaRange(etalow,etaup);
fAODfilterbit = filterbit;
}
void AliEPSelectionTask::SetTrackType(TString tracktype){
fTrackType = tracktype;
if (!fUsercuts) {
if (fTrackType.CompareTo("GLOBAL")==0){
fESDtrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kTRUE);
fAODfilterbit = 32;
}
if (fTrackType.CompareTo("TPC")==0){
fESDtrackCuts = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
fAODfilterbit = 128;
}
fESDtrackCuts->SetPtRange(0.15,20.);
fESDtrackCuts->SetEtaRange(-0.8,0.8);
}
}
Double_t AliEPSelectionTask::GetWeight(TObject* track1)
{
Double_t ptweight=1;
AliVTrack* track = dynamic_cast<AliVTrack*>(track1);
if (fUsePtWeight && track) {
if (track->Pt()<2) ptweight=track->Pt();
else ptweight=2;
}
return ptweight*GetPhiWeight(track);
}
Double_t AliEPSelectionTask::GetPhiWeight(TObject* track1)
{
Double_t phiweight=1;
AliVTrack* track = dynamic_cast<AliVTrack*>(track1);
TH1F *phiDist = 0x0;
if(track) phiDist = SelectPhiDist(track);
if (fUsePhiWeight && phiDist && track) {
Double_t nParticles = phiDist->Integral();
Double_t nPhibins = phiDist->GetNbinsX();
Double_t Phi = track->Phi();
while (Phi<0) Phi += TMath::TwoPi();
while (Phi>TMath::TwoPi()) Phi -= TMath::TwoPi();
Double_t PhiDistValue = phiDist->GetBinContent(1+TMath::FloorNint((track->Phi())*nPhibins/TMath::TwoPi()));
if (PhiDistValue > 0) phiweight = nParticles/nPhibins/PhiDistValue;
}
return phiweight;
}
void AliEPSelectionTask::Recenter(Int_t var, Double_t * values)
{
if (fUseRecentering && fQDist[0] && fQDist[1] && fCentrality!=-1.) {
Int_t centbin = fQDist[0]->FindBin(fCentrality);
if(var==0) {
values[0] = fQDist[0]->GetBinContent(centbin);
values[1] = fQDist[1]->GetBinContent(centbin);
}
else if(var==1) {
values[0] = fQDist[0]->GetBinError(centbin);
values[1] = fQDist[1]->GetBinError(centbin);
if(values[0]==0.0) values[0]=1.0;
if(values[1]==0.0) values[1]=1.0;
}
}
else {
values[0] = var;
values[1] = var;
}
return;
}
void AliEPSelectionTask::SetPhiDist()
{
if(!fUserphidist && (fPeriod.CompareTo("LHC10h") == 0 || fPeriod.CompareTo("LHC11h") == 0)) {
if (fPeriod.CompareTo("LHC10h")==0)
{
fPhiDist[0] = (TH1F*) fEPContainer->GetObject(fRunNumber, "Default");}
else if(fPeriod.CompareTo("LHC11h")==0){
Int_t runbin=fHruns->FindBin(fRunNumber);
if (fHruns->GetBinContent(runbin) > 1){
fSparseDist->GetAxis(0)->SetRange(runbin,runbin);
}
else if(fHruns->GetBinContent(runbin) < 2){
fSparseDist->GetAxis(0)->SetRange(1,2901);
AliInfo("Using integrated Phi-weights for this run");
}
for (Int_t i = 0; i<4 ;i++)
{
if(fPhiDist[i]){
delete fPhiDist[i];
fPhiDist[i] = 0x0;
}
if(i == 0){
fSparseDist->GetAxis(1)->SetRange(1,1);
fSparseDist->GetAxis(2)->SetRange(1,1);}
if(i == 1){
fSparseDist->GetAxis(1)->SetRange(2,2);
fSparseDist->GetAxis(2)->SetRange(1,1);}
if(i == 2){
fSparseDist->GetAxis(1)->SetRange(1,1);
fSparseDist->GetAxis(2)->SetRange(2,2);}
if(i == 3){
fSparseDist->GetAxis(1)->SetRange(2,2);
fSparseDist->GetAxis(2)->SetRange(2,2);}
fPhiDist[i] = (TH1F*)fSparseDist->Projection(3);
fPhiDist[i]->SetName(Form("phidist%d%d",i,fRunNumber));
fSparseDist->GetAxis(1)->SetRange(1,2);
fSparseDist->GetAxis(2)->SetRange(1,2);
}
fSparseDist->GetAxis(0)->SetRange(1,2901);
}
if (!fPhiDist[0]) AliFatal(Form("Cannot find OADB phi distribution for run %d", fRunNumber));
}
if (fPeriod.CompareTo("LHC10h")==0 || fUserphidist){
Bool_t emptybins;
int iter = 0;
while (iter<3){
emptybins = kFALSE;
for (int i=1; i<fPhiDist[0]->GetNbinsX(); i++){
if (!((fPhiDist[0]->GetBinContent(i))>0)) {
emptybins = kTRUE;
}
}
if (emptybins) {
cout << "empty bins - rebinning!" << endl;
fPhiDist[0]->Rebin();
iter++;
}
else iter = 3;
}
if (emptybins) {
AliError("After Maximum of rebinning still empty Phi-bins!!!");
}
}
if (fPeriod.CompareTo("LHC10h") != 0 && fPeriod.CompareTo("LHC11h") != 0 && !fUserphidist){
AliInfo("No Phi-weights available. All Phi weights set to 1");
SetUsePhiWeight(kFALSE);
}
}
void AliEPSelectionTask::SetQvectorDist()
{
if(!fUseRecentering) return;
AliInfo(Form("Setting q vector distributions"));
fQDist[0] = (TProfile*) fQxContainer->GetObject(fRunNumber, "Default");
fQDist[1] = (TProfile*) fQyContainer->GetObject(fRunNumber, "Default");
if (!fQDist[0] || !fQDist[1]) {
AliError(Form("Cannot find OADB q-vector distributions for run %d. Using default values (mean=0,rms=1).", fRunNumber));
return;
}
Bool_t emptybins;
int iter = 0;
while (iter<3){
emptybins = kFALSE;
for (int i=1; i<=fQDist[0]->GetNbinsX()-2; i++){
if (!((fQDist[0]->GetBinEntries(i))>0)) {
emptybins = kTRUE;
}
}
if (emptybins) {
cout << "empty bins - rebinning!" << endl;
fQDist[0]->Rebin();
fQDist[1]->Rebin();
iter++;
}
else iter = 3;
}
if (emptybins) {
AliError("After Maximum of rebinning still empty Qxy-bins!!!");
}
}
void AliEPSelectionTask::SetPersonalPhiDistribution(const char* infilename, char* listname)
{
fUserphidist = kTRUE;
TFile f(infilename);
TObject* list = f.Get(listname);
fPhiDist[0] = (TH1F*)list->FindObject("fHOutPhi");
if (!fPhiDist[0]) AliFatal("Phi Distribution not found!!!");
f.Close();
}
TObjArray* AliEPSelectionTask::GetAODTracksAndMaxID(AliAODEvent* aod, Int_t& maxid)
{
TObjArray *acctracks = new TObjArray();
AliAODTrack *tr = 0;
Int_t maxid1 = 0;
Int_t maxidtemp = -1;
Float_t ptlow = 0;
Float_t ptup = 0;
Float_t etalow = 0;
Float_t etaup = 0;
fESDtrackCuts->GetPtRange(ptlow,ptup);
fESDtrackCuts->GetEtaRange(etalow,etaup);
Int_t ntpc = fESDtrackCuts->GetMinNClusterTPC();
for (Int_t i = 0; i < aod->GetNumberOfTracks() ; i++){
tr = dynamic_cast<AliAODTrack*>(aod->GetTrack(i));
if(!tr) AliFatal("Not a standard AOD");
maxidtemp = tr->GetID();
if(maxidtemp < 0 && fAODfilterbit != 128) continue;
if(maxidtemp > -1 && fAODfilterbit == 128) continue;
if (fAODfilterbit == 128) maxidtemp = maxidtemp*(-1) - 1;
if (maxidtemp > maxid1) maxid1 = maxidtemp;
if(tr->TestFilterBit(fAODfilterbit) && tr->Pt() < ptup && tr->Pt() > ptlow && tr->Eta() < etaup && tr->Eta() > etalow && tr->GetTPCNcls() > ntpc){
acctracks->Add(tr);
}
}
maxid = maxid1;
return acctracks;
}
void AliEPSelectionTask::SetOADBandPeriod()
{
TString oadbfilename;
if (fRunNumber >= 136851 && fRunNumber <= 139515)
{fPeriod = "LHC10h";
if (!fUserphidist) {
if (fAnalysisInput.CompareTo("AOD")==0){
oadbfilename = (Form("%s/COMMON/EVENTPLANE/data/epphidist.aod.root", AliAnalysisManager::GetOADBPath()));
} else if (fAnalysisInput.CompareTo("ESD")==0){
oadbfilename = (Form("%s/COMMON/EVENTPLANE/data/epphidist.root", AliAnalysisManager::GetOADBPath()));
}
TFile foadb(oadbfilename);
if(!foadb.IsOpen()) AliFatal(Form("Cannot open OADB file %s", oadbfilename.Data()));
AliInfo("Using Standard OADB");
fEPContainer = (AliOADBContainer*) foadb.Get("epphidist");
if (!fEPContainer) AliFatal("Cannot fetch OADB container for EP selection");
foadb.Close();
}
}
if (fRunNumber >= 166529 && fRunNumber <= 170593)
{fPeriod = "LHC11h";
if (!fUserphidist) {
oadbfilename = (Form("%s/COMMON/EVENTPLANE/data/epphidist2011.root", AliAnalysisManager::GetOADBPath()));
TFile *foadb = TFile::Open(oadbfilename);
if(!foadb->IsOpen()) AliFatal(Form("Cannot open OADB file %s", oadbfilename.Data()));
AliInfo("Using Standard OADB");
fSparseDist = (THnSparse*) foadb->Get("Default");
if (!fSparseDist) AliFatal("Cannot fetch OADB container for EP selection");
foadb->Close();
if(!fHruns){
fHruns = (TH1F*)fSparseDist->Projection(0);
fHruns->SetName("runsHisto");
}
}
if(fUseRecentering) {
oadbfilename = (Form("%s/COMMON/EVENTPLANE/data/eprecentering.root", AliAnalysisManager::GetOADBPath()));
TFile *foadb = TFile::Open(oadbfilename);
if(!foadb->IsOpen()) AliFatal(Form("Cannot open OADB file %s", oadbfilename.Data()));
AliInfo("Using Standard OADB");
fQxContainer = (AliOADBContainer*) foadb->Get("eprecentering.Qx");
fQyContainer = (AliOADBContainer*) foadb->Get("eprecentering.Qy");
if (!fQxContainer || !fQyContainer) AliFatal("Cannot fetch OADB container for EP recentering");
foadb->Close();
}
}
}
TH1F* AliEPSelectionTask::SelectPhiDist(AliVTrack *track)
{
if (fPeriod.CompareTo("LHC10h")==0 || fUserphidist) return fPhiDist[0];
else if(fPeriod.CompareTo("LHC11h")==0)
{
if (track->Charge() < 0)
{
if(track->Eta() < 0.) return fPhiDist[0];
else if (track->Eta() > 0.) return fPhiDist[2];
}
else if (track->Charge() > 0)
{
if(track->Eta() < 0.) return fPhiDist[1];
else if (track->Eta() > 0.) return fPhiDist[3];
}
}
return 0;
}
TObjArray* AliEPSelectionTask::GetTracksForLHC11h(AliESDEvent* esd)
{
TObjArray *acctracks = new TObjArray();
acctracks->SetOwner(kTRUE);
const AliESDVertex *vtxSPD = esd->GetPrimaryVertexSPD();
Float_t ptlow = 0;
Float_t ptup = 0;
Float_t etalow = 0;
Float_t etaup = 0;
fESDtrackCuts->GetPtRange(ptlow,ptup);
fESDtrackCuts->GetEtaRange(etalow,etaup);
Double_t pDCA[3] = { 0. };
Double_t rDCA[3] = { 0. };
Float_t dDCA[2] = {0.};
Float_t cDCA[3] = {0.};
for (Int_t i = 0; i < esd->GetNumberOfTracks() ; i++){
AliESDtrack* esdTrack = esd->GetTrack(i);
if (!fESDtrackCuts->AcceptTrack(esdTrack)) continue;
AliESDtrack *track = AliESDtrackCuts::GetTPCOnlyTrack(const_cast<AliESDEvent*>(esd),esdTrack->GetID());
if(!track) continue;
if(track->Pt()>0.)
{
AliExternalTrackParam exParam;
Bool_t relate = false;
relate = track->RelateToVertexTPC(vtxSPD,esd->GetMagneticField(),kVeryBig,&exParam);
if(!relate){
delete track;
continue;
}
if(track->GetTPCInnerParam()){
track->GetTPCInnerParam()->GetPxPyPz(pDCA);
track->GetTPCInnerParam()->GetXYZ(rDCA);
}
track->GetImpactParametersTPC(dDCA,cDCA);
track->Set(exParam.GetX(),exParam.GetAlpha(),exParam.GetParameter(),exParam.GetCovariance());
}
Float_t eta = track->Eta();
Float_t pT = track->Pt();
if(pT < ptlow || pT > ptup || eta < etalow || eta > etaup){
delete track;
continue;
}
acctracks->Add(track);
}
return acctracks;
}
AliEPSelectionTask.cxx:10 AliEPSelectionTask.cxx:11 AliEPSelectionTask.cxx:12 AliEPSelectionTask.cxx:13 AliEPSelectionTask.cxx:14 AliEPSelectionTask.cxx:15 AliEPSelectionTask.cxx:16 AliEPSelectionTask.cxx:17 AliEPSelectionTask.cxx:18 AliEPSelectionTask.cxx:19 AliEPSelectionTask.cxx:20 AliEPSelectionTask.cxx:21 AliEPSelectionTask.cxx:22 AliEPSelectionTask.cxx:23 AliEPSelectionTask.cxx:24 AliEPSelectionTask.cxx:25 AliEPSelectionTask.cxx:26 AliEPSelectionTask.cxx:27 AliEPSelectionTask.cxx:28 AliEPSelectionTask.cxx:29 AliEPSelectionTask.cxx:30 AliEPSelectionTask.cxx:31 AliEPSelectionTask.cxx:32 AliEPSelectionTask.cxx:33 AliEPSelectionTask.cxx:34 AliEPSelectionTask.cxx:35 AliEPSelectionTask.cxx:36 AliEPSelectionTask.cxx:37 AliEPSelectionTask.cxx:38 AliEPSelectionTask.cxx:39 AliEPSelectionTask.cxx:40 AliEPSelectionTask.cxx:41 AliEPSelectionTask.cxx:42 AliEPSelectionTask.cxx:43 AliEPSelectionTask.cxx:44 AliEPSelectionTask.cxx:45 AliEPSelectionTask.cxx:46 AliEPSelectionTask.cxx:47 AliEPSelectionTask.cxx:48 AliEPSelectionTask.cxx:49 AliEPSelectionTask.cxx:50 AliEPSelectionTask.cxx:51 AliEPSelectionTask.cxx:52 AliEPSelectionTask.cxx:53 AliEPSelectionTask.cxx:54 AliEPSelectionTask.cxx:55 AliEPSelectionTask.cxx:56 AliEPSelectionTask.cxx:57 AliEPSelectionTask.cxx:58 AliEPSelectionTask.cxx:59 AliEPSelectionTask.cxx:60 AliEPSelectionTask.cxx:61 AliEPSelectionTask.cxx:62 AliEPSelectionTask.cxx:63 AliEPSelectionTask.cxx:64 AliEPSelectionTask.cxx:65 AliEPSelectionTask.cxx:66 AliEPSelectionTask.cxx:67 AliEPSelectionTask.cxx:68 AliEPSelectionTask.cxx:69 AliEPSelectionTask.cxx:70 AliEPSelectionTask.cxx:71 AliEPSelectionTask.cxx:72 AliEPSelectionTask.cxx:73 AliEPSelectionTask.cxx:74 AliEPSelectionTask.cxx:75 AliEPSelectionTask.cxx:76 AliEPSelectionTask.cxx:77 AliEPSelectionTask.cxx:78 AliEPSelectionTask.cxx:79 AliEPSelectionTask.cxx:80 AliEPSelectionTask.cxx:81 AliEPSelectionTask.cxx:82 AliEPSelectionTask.cxx:83 AliEPSelectionTask.cxx:84 AliEPSelectionTask.cxx:85 AliEPSelectionTask.cxx:86 AliEPSelectionTask.cxx:87 AliEPSelectionTask.cxx:88 AliEPSelectionTask.cxx:89 AliEPSelectionTask.cxx:90 AliEPSelectionTask.cxx:91 AliEPSelectionTask.cxx:92 AliEPSelectionTask.cxx:93 AliEPSelectionTask.cxx:94 AliEPSelectionTask.cxx:95 AliEPSelectionTask.cxx:96 AliEPSelectionTask.cxx:97 AliEPSelectionTask.cxx:98 AliEPSelectionTask.cxx:99 AliEPSelectionTask.cxx:100 AliEPSelectionTask.cxx:101 AliEPSelectionTask.cxx:102 AliEPSelectionTask.cxx:103 AliEPSelectionTask.cxx:104 AliEPSelectionTask.cxx:105 AliEPSelectionTask.cxx:106 AliEPSelectionTask.cxx:107 AliEPSelectionTask.cxx:108 AliEPSelectionTask.cxx:109 AliEPSelectionTask.cxx:110 AliEPSelectionTask.cxx:111 AliEPSelectionTask.cxx:112 AliEPSelectionTask.cxx:113 AliEPSelectionTask.cxx:114 AliEPSelectionTask.cxx:115 AliEPSelectionTask.cxx:116 AliEPSelectionTask.cxx:117 AliEPSelectionTask.cxx:118 AliEPSelectionTask.cxx:119 AliEPSelectionTask.cxx:120 AliEPSelectionTask.cxx:121 AliEPSelectionTask.cxx:122 AliEPSelectionTask.cxx:123 AliEPSelectionTask.cxx:124 AliEPSelectionTask.cxx:125 AliEPSelectionTask.cxx:126 AliEPSelectionTask.cxx:127 AliEPSelectionTask.cxx:128 AliEPSelectionTask.cxx:129 AliEPSelectionTask.cxx:130 AliEPSelectionTask.cxx:131 AliEPSelectionTask.cxx:132 AliEPSelectionTask.cxx:133 AliEPSelectionTask.cxx:134 AliEPSelectionTask.cxx:135 AliEPSelectionTask.cxx:136 AliEPSelectionTask.cxx:137 AliEPSelectionTask.cxx:138 AliEPSelectionTask.cxx:139 AliEPSelectionTask.cxx:140 AliEPSelectionTask.cxx:141 AliEPSelectionTask.cxx:142 AliEPSelectionTask.cxx:143 AliEPSelectionTask.cxx:144 AliEPSelectionTask.cxx:145 AliEPSelectionTask.cxx:146 AliEPSelectionTask.cxx:147 AliEPSelectionTask.cxx:148 AliEPSelectionTask.cxx:149 AliEPSelectionTask.cxx:150 AliEPSelectionTask.cxx:151 AliEPSelectionTask.cxx:152 AliEPSelectionTask.cxx:153 AliEPSelectionTask.cxx:154 AliEPSelectionTask.cxx:155 AliEPSelectionTask.cxx:156 AliEPSelectionTask.cxx:157 AliEPSelectionTask.cxx:158 AliEPSelectionTask.cxx:159 AliEPSelectionTask.cxx:160 AliEPSelectionTask.cxx:161 AliEPSelectionTask.cxx:162 AliEPSelectionTask.cxx:163 AliEPSelectionTask.cxx:164 AliEPSelectionTask.cxx:165 AliEPSelectionTask.cxx:166 AliEPSelectionTask.cxx:167 AliEPSelectionTask.cxx:168 AliEPSelectionTask.cxx:169 AliEPSelectionTask.cxx:170 AliEPSelectionTask.cxx:171 AliEPSelectionTask.cxx:172 AliEPSelectionTask.cxx:173 AliEPSelectionTask.cxx:174 AliEPSelectionTask.cxx:175 AliEPSelectionTask.cxx:176 AliEPSelectionTask.cxx:177 AliEPSelectionTask.cxx:178 AliEPSelectionTask.cxx:179 AliEPSelectionTask.cxx:180 AliEPSelectionTask.cxx:181 AliEPSelectionTask.cxx:182 AliEPSelectionTask.cxx:183 AliEPSelectionTask.cxx:184 AliEPSelectionTask.cxx:185 AliEPSelectionTask.cxx:186 AliEPSelectionTask.cxx:187 AliEPSelectionTask.cxx:188 AliEPSelectionTask.cxx:189 AliEPSelectionTask.cxx:190 AliEPSelectionTask.cxx:191 AliEPSelectionTask.cxx:192 AliEPSelectionTask.cxx:193 AliEPSelectionTask.cxx:194 AliEPSelectionTask.cxx:195 AliEPSelectionTask.cxx:196 AliEPSelectionTask.cxx:197 AliEPSelectionTask.cxx:198 AliEPSelectionTask.cxx:199 AliEPSelectionTask.cxx:200 AliEPSelectionTask.cxx:201 AliEPSelectionTask.cxx:202 AliEPSelectionTask.cxx:203 AliEPSelectionTask.cxx:204 AliEPSelectionTask.cxx:205 AliEPSelectionTask.cxx:206 AliEPSelectionTask.cxx:207 AliEPSelectionTask.cxx:208 AliEPSelectionTask.cxx:209 AliEPSelectionTask.cxx:210 AliEPSelectionTask.cxx:211 AliEPSelectionTask.cxx:212 AliEPSelectionTask.cxx:213 AliEPSelectionTask.cxx:214 AliEPSelectionTask.cxx:215 AliEPSelectionTask.cxx:216 AliEPSelectionTask.cxx:217 AliEPSelectionTask.cxx:218 AliEPSelectionTask.cxx:219 AliEPSelectionTask.cxx:220 AliEPSelectionTask.cxx:221 AliEPSelectionTask.cxx:222 AliEPSelectionTask.cxx:223 AliEPSelectionTask.cxx:224 AliEPSelectionTask.cxx:225 AliEPSelectionTask.cxx:226 AliEPSelectionTask.cxx:227 AliEPSelectionTask.cxx:228 AliEPSelectionTask.cxx:229 AliEPSelectionTask.cxx:230 AliEPSelectionTask.cxx:231 AliEPSelectionTask.cxx:232 AliEPSelectionTask.cxx:233 AliEPSelectionTask.cxx:234 AliEPSelectionTask.cxx:235 AliEPSelectionTask.cxx:236 AliEPSelectionTask.cxx:237 AliEPSelectionTask.cxx:238 AliEPSelectionTask.cxx:239 AliEPSelectionTask.cxx:240 AliEPSelectionTask.cxx:241 AliEPSelectionTask.cxx:242 AliEPSelectionTask.cxx:243 AliEPSelectionTask.cxx:244 AliEPSelectionTask.cxx:245 AliEPSelectionTask.cxx:246 AliEPSelectionTask.cxx:247 AliEPSelectionTask.cxx:248 AliEPSelectionTask.cxx:249 AliEPSelectionTask.cxx:250 AliEPSelectionTask.cxx:251 AliEPSelectionTask.cxx:252 AliEPSelectionTask.cxx:253 AliEPSelectionTask.cxx:254 AliEPSelectionTask.cxx:255 AliEPSelectionTask.cxx:256 AliEPSelectionTask.cxx:257 AliEPSelectionTask.cxx:258 AliEPSelectionTask.cxx:259 AliEPSelectionTask.cxx:260 AliEPSelectionTask.cxx:261 AliEPSelectionTask.cxx:262 AliEPSelectionTask.cxx:263 AliEPSelectionTask.cxx:264 AliEPSelectionTask.cxx:265 AliEPSelectionTask.cxx:266 AliEPSelectionTask.cxx:267 AliEPSelectionTask.cxx:268 AliEPSelectionTask.cxx:269 AliEPSelectionTask.cxx:270 AliEPSelectionTask.cxx:271 AliEPSelectionTask.cxx:272 AliEPSelectionTask.cxx:273 AliEPSelectionTask.cxx:274 AliEPSelectionTask.cxx:275 AliEPSelectionTask.cxx:276 AliEPSelectionTask.cxx:277 AliEPSelectionTask.cxx:278 AliEPSelectionTask.cxx:279 AliEPSelectionTask.cxx:280 AliEPSelectionTask.cxx:281 AliEPSelectionTask.cxx:282 AliEPSelectionTask.cxx:283 AliEPSelectionTask.cxx:284 AliEPSelectionTask.cxx:285 AliEPSelectionTask.cxx:286 AliEPSelectionTask.cxx:287 AliEPSelectionTask.cxx:288 AliEPSelectionTask.cxx:289 AliEPSelectionTask.cxx:290 AliEPSelectionTask.cxx:291 AliEPSelectionTask.cxx:292 AliEPSelectionTask.cxx:293 AliEPSelectionTask.cxx:294 AliEPSelectionTask.cxx:295 AliEPSelectionTask.cxx:296 AliEPSelectionTask.cxx:297 AliEPSelectionTask.cxx:298 AliEPSelectionTask.cxx:299 AliEPSelectionTask.cxx:300 AliEPSelectionTask.cxx:301 AliEPSelectionTask.cxx:302 AliEPSelectionTask.cxx:303 AliEPSelectionTask.cxx:304 AliEPSelectionTask.cxx:305 AliEPSelectionTask.cxx:306 AliEPSelectionTask.cxx:307 AliEPSelectionTask.cxx:308 AliEPSelectionTask.cxx:309 AliEPSelectionTask.cxx:310 AliEPSelectionTask.cxx:311 AliEPSelectionTask.cxx:312 AliEPSelectionTask.cxx:313 AliEPSelectionTask.cxx:314 AliEPSelectionTask.cxx:315 AliEPSelectionTask.cxx:316 AliEPSelectionTask.cxx:317 AliEPSelectionTask.cxx:318 AliEPSelectionTask.cxx:319 AliEPSelectionTask.cxx:320 AliEPSelectionTask.cxx:321 AliEPSelectionTask.cxx:322 AliEPSelectionTask.cxx:323 AliEPSelectionTask.cxx:324 AliEPSelectionTask.cxx:325 AliEPSelectionTask.cxx:326 AliEPSelectionTask.cxx:327 AliEPSelectionTask.cxx:328 AliEPSelectionTask.cxx:329 AliEPSelectionTask.cxx:330 AliEPSelectionTask.cxx:331 AliEPSelectionTask.cxx:332 AliEPSelectionTask.cxx:333 AliEPSelectionTask.cxx:334 AliEPSelectionTask.cxx:335 AliEPSelectionTask.cxx:336 AliEPSelectionTask.cxx:337 AliEPSelectionTask.cxx:338 AliEPSelectionTask.cxx:339 AliEPSelectionTask.cxx:340 AliEPSelectionTask.cxx:341 AliEPSelectionTask.cxx:342 AliEPSelectionTask.cxx:343 AliEPSelectionTask.cxx:344 AliEPSelectionTask.cxx:345 AliEPSelectionTask.cxx:346 AliEPSelectionTask.cxx:347 AliEPSelectionTask.cxx:348 AliEPSelectionTask.cxx:349 AliEPSelectionTask.cxx:350 AliEPSelectionTask.cxx:351 AliEPSelectionTask.cxx:352 AliEPSelectionTask.cxx:353 AliEPSelectionTask.cxx:354 AliEPSelectionTask.cxx:355 AliEPSelectionTask.cxx:356 AliEPSelectionTask.cxx:357 AliEPSelectionTask.cxx:358 AliEPSelectionTask.cxx:359 AliEPSelectionTask.cxx:360 AliEPSelectionTask.cxx:361 AliEPSelectionTask.cxx:362 AliEPSelectionTask.cxx:363 AliEPSelectionTask.cxx:364 AliEPSelectionTask.cxx:365 AliEPSelectionTask.cxx:366 AliEPSelectionTask.cxx:367 AliEPSelectionTask.cxx:368 AliEPSelectionTask.cxx:369 AliEPSelectionTask.cxx:370 AliEPSelectionTask.cxx:371 AliEPSelectionTask.cxx:372 AliEPSelectionTask.cxx:373 AliEPSelectionTask.cxx:374 AliEPSelectionTask.cxx:375 AliEPSelectionTask.cxx:376 AliEPSelectionTask.cxx:377 AliEPSelectionTask.cxx:378 AliEPSelectionTask.cxx:379 AliEPSelectionTask.cxx:380 AliEPSelectionTask.cxx:381 AliEPSelectionTask.cxx:382 AliEPSelectionTask.cxx:383 AliEPSelectionTask.cxx:384 AliEPSelectionTask.cxx:385 AliEPSelectionTask.cxx:386 AliEPSelectionTask.cxx:387 AliEPSelectionTask.cxx:388 AliEPSelectionTask.cxx:389 AliEPSelectionTask.cxx:390 AliEPSelectionTask.cxx:391 AliEPSelectionTask.cxx:392 AliEPSelectionTask.cxx:393 AliEPSelectionTask.cxx:394 AliEPSelectionTask.cxx:395 AliEPSelectionTask.cxx:396 AliEPSelectionTask.cxx:397 AliEPSelectionTask.cxx:398 AliEPSelectionTask.cxx:399 AliEPSelectionTask.cxx:400 AliEPSelectionTask.cxx:401 AliEPSelectionTask.cxx:402 AliEPSelectionTask.cxx:403 AliEPSelectionTask.cxx:404 AliEPSelectionTask.cxx:405 AliEPSelectionTask.cxx:406 AliEPSelectionTask.cxx:407 AliEPSelectionTask.cxx:408 AliEPSelectionTask.cxx:409 AliEPSelectionTask.cxx:410 AliEPSelectionTask.cxx:411 AliEPSelectionTask.cxx:412 AliEPSelectionTask.cxx:413 AliEPSelectionTask.cxx:414 AliEPSelectionTask.cxx:415 AliEPSelectionTask.cxx:416 AliEPSelectionTask.cxx:417 AliEPSelectionTask.cxx:418 AliEPSelectionTask.cxx:419 AliEPSelectionTask.cxx:420 AliEPSelectionTask.cxx:421 AliEPSelectionTask.cxx:422 AliEPSelectionTask.cxx:423 AliEPSelectionTask.cxx:424 AliEPSelectionTask.cxx:425 AliEPSelectionTask.cxx:426 AliEPSelectionTask.cxx:427 AliEPSelectionTask.cxx:428 AliEPSelectionTask.cxx:429 AliEPSelectionTask.cxx:430 AliEPSelectionTask.cxx:431 AliEPSelectionTask.cxx:432 AliEPSelectionTask.cxx:433 AliEPSelectionTask.cxx:434 AliEPSelectionTask.cxx:435 AliEPSelectionTask.cxx:436 AliEPSelectionTask.cxx:437 AliEPSelectionTask.cxx:438 AliEPSelectionTask.cxx:439 AliEPSelectionTask.cxx:440 AliEPSelectionTask.cxx:441 AliEPSelectionTask.cxx:442 AliEPSelectionTask.cxx:443 AliEPSelectionTask.cxx:444 AliEPSelectionTask.cxx:445 AliEPSelectionTask.cxx:446 AliEPSelectionTask.cxx:447 AliEPSelectionTask.cxx:448 AliEPSelectionTask.cxx:449 AliEPSelectionTask.cxx:450 AliEPSelectionTask.cxx:451 AliEPSelectionTask.cxx:452 AliEPSelectionTask.cxx:453 AliEPSelectionTask.cxx:454 AliEPSelectionTask.cxx:455 AliEPSelectionTask.cxx:456 AliEPSelectionTask.cxx:457 AliEPSelectionTask.cxx:458 AliEPSelectionTask.cxx:459 AliEPSelectionTask.cxx:460 AliEPSelectionTask.cxx:461 AliEPSelectionTask.cxx:462 AliEPSelectionTask.cxx:463 AliEPSelectionTask.cxx:464 AliEPSelectionTask.cxx:465 AliEPSelectionTask.cxx:466 AliEPSelectionTask.cxx:467 AliEPSelectionTask.cxx:468 AliEPSelectionTask.cxx:469 AliEPSelectionTask.cxx:470 AliEPSelectionTask.cxx:471 AliEPSelectionTask.cxx:472 AliEPSelectionTask.cxx:473 AliEPSelectionTask.cxx:474 AliEPSelectionTask.cxx:475 AliEPSelectionTask.cxx:476 AliEPSelectionTask.cxx:477 AliEPSelectionTask.cxx:478 AliEPSelectionTask.cxx:479 AliEPSelectionTask.cxx:480 AliEPSelectionTask.cxx:481 AliEPSelectionTask.cxx:482 AliEPSelectionTask.cxx:483 AliEPSelectionTask.cxx:484 AliEPSelectionTask.cxx:485 AliEPSelectionTask.cxx:486 AliEPSelectionTask.cxx:487 AliEPSelectionTask.cxx:488 AliEPSelectionTask.cxx:489 AliEPSelectionTask.cxx:490 AliEPSelectionTask.cxx:491 AliEPSelectionTask.cxx:492 AliEPSelectionTask.cxx:493 AliEPSelectionTask.cxx:494 AliEPSelectionTask.cxx:495 AliEPSelectionTask.cxx:496 AliEPSelectionTask.cxx:497 AliEPSelectionTask.cxx:498 AliEPSelectionTask.cxx:499 AliEPSelectionTask.cxx:500 AliEPSelectionTask.cxx:501 AliEPSelectionTask.cxx:502 AliEPSelectionTask.cxx:503 AliEPSelectionTask.cxx:504 AliEPSelectionTask.cxx:505 AliEPSelectionTask.cxx:506 AliEPSelectionTask.cxx:507 AliEPSelectionTask.cxx:508 AliEPSelectionTask.cxx:509 AliEPSelectionTask.cxx:510 AliEPSelectionTask.cxx:511 AliEPSelectionTask.cxx:512 AliEPSelectionTask.cxx:513 AliEPSelectionTask.cxx:514 AliEPSelectionTask.cxx:515 AliEPSelectionTask.cxx:516 AliEPSelectionTask.cxx:517 AliEPSelectionTask.cxx:518 AliEPSelectionTask.cxx:519 AliEPSelectionTask.cxx:520 AliEPSelectionTask.cxx:521 AliEPSelectionTask.cxx:522 AliEPSelectionTask.cxx:523 AliEPSelectionTask.cxx:524 AliEPSelectionTask.cxx:525 AliEPSelectionTask.cxx:526 AliEPSelectionTask.cxx:527 AliEPSelectionTask.cxx:528 AliEPSelectionTask.cxx:529 AliEPSelectionTask.cxx:530 AliEPSelectionTask.cxx:531 AliEPSelectionTask.cxx:532 AliEPSelectionTask.cxx:533 AliEPSelectionTask.cxx:534 AliEPSelectionTask.cxx:535 AliEPSelectionTask.cxx:536 AliEPSelectionTask.cxx:537 AliEPSelectionTask.cxx:538 AliEPSelectionTask.cxx:539 AliEPSelectionTask.cxx:540 AliEPSelectionTask.cxx:541 AliEPSelectionTask.cxx:542 AliEPSelectionTask.cxx:543 AliEPSelectionTask.cxx:544 AliEPSelectionTask.cxx:545 AliEPSelectionTask.cxx:546 AliEPSelectionTask.cxx:547 AliEPSelectionTask.cxx:548 AliEPSelectionTask.cxx:549 AliEPSelectionTask.cxx:550 AliEPSelectionTask.cxx:551 AliEPSelectionTask.cxx:552 AliEPSelectionTask.cxx:553 AliEPSelectionTask.cxx:554 AliEPSelectionTask.cxx:555 AliEPSelectionTask.cxx:556 AliEPSelectionTask.cxx:557 AliEPSelectionTask.cxx:558 AliEPSelectionTask.cxx:559 AliEPSelectionTask.cxx:560 AliEPSelectionTask.cxx:561 AliEPSelectionTask.cxx:562 AliEPSelectionTask.cxx:563 AliEPSelectionTask.cxx:564 AliEPSelectionTask.cxx:565 AliEPSelectionTask.cxx:566 AliEPSelectionTask.cxx:567 AliEPSelectionTask.cxx:568 AliEPSelectionTask.cxx:569 AliEPSelectionTask.cxx:570 AliEPSelectionTask.cxx:571 AliEPSelectionTask.cxx:572 AliEPSelectionTask.cxx:573 AliEPSelectionTask.cxx:574 AliEPSelectionTask.cxx:575 AliEPSelectionTask.cxx:576 AliEPSelectionTask.cxx:577 AliEPSelectionTask.cxx:578 AliEPSelectionTask.cxx:579 AliEPSelectionTask.cxx:580 AliEPSelectionTask.cxx:581 AliEPSelectionTask.cxx:582 AliEPSelectionTask.cxx:583 AliEPSelectionTask.cxx:584 AliEPSelectionTask.cxx:585 AliEPSelectionTask.cxx:586 AliEPSelectionTask.cxx:587 AliEPSelectionTask.cxx:588 AliEPSelectionTask.cxx:589 AliEPSelectionTask.cxx:590 AliEPSelectionTask.cxx:591 AliEPSelectionTask.cxx:592 AliEPSelectionTask.cxx:593 AliEPSelectionTask.cxx:594 AliEPSelectionTask.cxx:595 AliEPSelectionTask.cxx:596 AliEPSelectionTask.cxx:597 AliEPSelectionTask.cxx:598 AliEPSelectionTask.cxx:599 AliEPSelectionTask.cxx:600 AliEPSelectionTask.cxx:601 AliEPSelectionTask.cxx:602 AliEPSelectionTask.cxx:603 AliEPSelectionTask.cxx:604 AliEPSelectionTask.cxx:605 AliEPSelectionTask.cxx:606 AliEPSelectionTask.cxx:607 AliEPSelectionTask.cxx:608 AliEPSelectionTask.cxx:609 AliEPSelectionTask.cxx:610 AliEPSelectionTask.cxx:611 AliEPSelectionTask.cxx:612 AliEPSelectionTask.cxx:613 AliEPSelectionTask.cxx:614 AliEPSelectionTask.cxx:615 AliEPSelectionTask.cxx:616 AliEPSelectionTask.cxx:617 AliEPSelectionTask.cxx:618 AliEPSelectionTask.cxx:619 AliEPSelectionTask.cxx:620 AliEPSelectionTask.cxx:621 AliEPSelectionTask.cxx:622 AliEPSelectionTask.cxx:623 AliEPSelectionTask.cxx:624 AliEPSelectionTask.cxx:625 AliEPSelectionTask.cxx:626 AliEPSelectionTask.cxx:627 AliEPSelectionTask.cxx:628 AliEPSelectionTask.cxx:629 AliEPSelectionTask.cxx:630 AliEPSelectionTask.cxx:631 AliEPSelectionTask.cxx:632 AliEPSelectionTask.cxx:633 AliEPSelectionTask.cxx:634 AliEPSelectionTask.cxx:635 AliEPSelectionTask.cxx:636 AliEPSelectionTask.cxx:637 AliEPSelectionTask.cxx:638 AliEPSelectionTask.cxx:639 AliEPSelectionTask.cxx:640 AliEPSelectionTask.cxx:641 AliEPSelectionTask.cxx:642 AliEPSelectionTask.cxx:643 AliEPSelectionTask.cxx:644 AliEPSelectionTask.cxx:645 AliEPSelectionTask.cxx:646 AliEPSelectionTask.cxx:647 AliEPSelectionTask.cxx:648 AliEPSelectionTask.cxx:649 AliEPSelectionTask.cxx:650 AliEPSelectionTask.cxx:651 AliEPSelectionTask.cxx:652 AliEPSelectionTask.cxx:653 AliEPSelectionTask.cxx:654 AliEPSelectionTask.cxx:655 AliEPSelectionTask.cxx:656 AliEPSelectionTask.cxx:657 AliEPSelectionTask.cxx:658 AliEPSelectionTask.cxx:659 AliEPSelectionTask.cxx:660 AliEPSelectionTask.cxx:661 AliEPSelectionTask.cxx:662 AliEPSelectionTask.cxx:663 AliEPSelectionTask.cxx:664 AliEPSelectionTask.cxx:665 AliEPSelectionTask.cxx:666 AliEPSelectionTask.cxx:667 AliEPSelectionTask.cxx:668 AliEPSelectionTask.cxx:669 AliEPSelectionTask.cxx:670 AliEPSelectionTask.cxx:671 AliEPSelectionTask.cxx:672 AliEPSelectionTask.cxx:673 AliEPSelectionTask.cxx:674 AliEPSelectionTask.cxx:675 AliEPSelectionTask.cxx:676 AliEPSelectionTask.cxx:677 AliEPSelectionTask.cxx:678 AliEPSelectionTask.cxx:679 AliEPSelectionTask.cxx:680 AliEPSelectionTask.cxx:681 AliEPSelectionTask.cxx:682 AliEPSelectionTask.cxx:683 AliEPSelectionTask.cxx:684 AliEPSelectionTask.cxx:685 AliEPSelectionTask.cxx:686 AliEPSelectionTask.cxx:687 AliEPSelectionTask.cxx:688 AliEPSelectionTask.cxx:689 AliEPSelectionTask.cxx:690 AliEPSelectionTask.cxx:691 AliEPSelectionTask.cxx:692 AliEPSelectionTask.cxx:693 AliEPSelectionTask.cxx:694 AliEPSelectionTask.cxx:695 AliEPSelectionTask.cxx:696 AliEPSelectionTask.cxx:697 AliEPSelectionTask.cxx:698 AliEPSelectionTask.cxx:699 AliEPSelectionTask.cxx:700 AliEPSelectionTask.cxx:701 AliEPSelectionTask.cxx:702 AliEPSelectionTask.cxx:703 AliEPSelectionTask.cxx:704 AliEPSelectionTask.cxx:705 AliEPSelectionTask.cxx:706 AliEPSelectionTask.cxx:707 AliEPSelectionTask.cxx:708 AliEPSelectionTask.cxx:709 AliEPSelectionTask.cxx:710 AliEPSelectionTask.cxx:711 AliEPSelectionTask.cxx:712 AliEPSelectionTask.cxx:713 AliEPSelectionTask.cxx:714 AliEPSelectionTask.cxx:715 AliEPSelectionTask.cxx:716 AliEPSelectionTask.cxx:717 AliEPSelectionTask.cxx:718 AliEPSelectionTask.cxx:719 AliEPSelectionTask.cxx:720 AliEPSelectionTask.cxx:721 AliEPSelectionTask.cxx:722 AliEPSelectionTask.cxx:723 AliEPSelectionTask.cxx:724 AliEPSelectionTask.cxx:725 AliEPSelectionTask.cxx:726 AliEPSelectionTask.cxx:727 AliEPSelectionTask.cxx:728 AliEPSelectionTask.cxx:729 AliEPSelectionTask.cxx:730 AliEPSelectionTask.cxx:731 AliEPSelectionTask.cxx:732 AliEPSelectionTask.cxx:733 AliEPSelectionTask.cxx:734 AliEPSelectionTask.cxx:735 AliEPSelectionTask.cxx:736 AliEPSelectionTask.cxx:737 AliEPSelectionTask.cxx:738 AliEPSelectionTask.cxx:739 AliEPSelectionTask.cxx:740 AliEPSelectionTask.cxx:741 AliEPSelectionTask.cxx:742 AliEPSelectionTask.cxx:743 AliEPSelectionTask.cxx:744 AliEPSelectionTask.cxx:745 AliEPSelectionTask.cxx:746 AliEPSelectionTask.cxx:747 AliEPSelectionTask.cxx:748 AliEPSelectionTask.cxx:749 AliEPSelectionTask.cxx:750 AliEPSelectionTask.cxx:751 AliEPSelectionTask.cxx:752 AliEPSelectionTask.cxx:753 AliEPSelectionTask.cxx:754 AliEPSelectionTask.cxx:755 AliEPSelectionTask.cxx:756 AliEPSelectionTask.cxx:757 AliEPSelectionTask.cxx:758 AliEPSelectionTask.cxx:759 AliEPSelectionTask.cxx:760 AliEPSelectionTask.cxx:761 AliEPSelectionTask.cxx:762 AliEPSelectionTask.cxx:763 AliEPSelectionTask.cxx:764 AliEPSelectionTask.cxx:765 AliEPSelectionTask.cxx:766 AliEPSelectionTask.cxx:767 AliEPSelectionTask.cxx:768 AliEPSelectionTask.cxx:769 AliEPSelectionTask.cxx:770 AliEPSelectionTask.cxx:771 AliEPSelectionTask.cxx:772 AliEPSelectionTask.cxx:773 AliEPSelectionTask.cxx:774 AliEPSelectionTask.cxx:775 AliEPSelectionTask.cxx:776 AliEPSelectionTask.cxx:777 AliEPSelectionTask.cxx:778 AliEPSelectionTask.cxx:779 AliEPSelectionTask.cxx:780 AliEPSelectionTask.cxx:781 AliEPSelectionTask.cxx:782 AliEPSelectionTask.cxx:783 AliEPSelectionTask.cxx:784 AliEPSelectionTask.cxx:785 AliEPSelectionTask.cxx:786 AliEPSelectionTask.cxx:787 AliEPSelectionTask.cxx:788 AliEPSelectionTask.cxx:789 AliEPSelectionTask.cxx:790 AliEPSelectionTask.cxx:791 AliEPSelectionTask.cxx:792 AliEPSelectionTask.cxx:793 AliEPSelectionTask.cxx:794 AliEPSelectionTask.cxx:795 AliEPSelectionTask.cxx:796 AliEPSelectionTask.cxx:797 AliEPSelectionTask.cxx:798 AliEPSelectionTask.cxx:799 AliEPSelectionTask.cxx:800 AliEPSelectionTask.cxx:801 AliEPSelectionTask.cxx:802 AliEPSelectionTask.cxx:803 AliEPSelectionTask.cxx:804 AliEPSelectionTask.cxx:805 AliEPSelectionTask.cxx:806 AliEPSelectionTask.cxx:807 AliEPSelectionTask.cxx:808 AliEPSelectionTask.cxx:809 AliEPSelectionTask.cxx:810 AliEPSelectionTask.cxx:811 AliEPSelectionTask.cxx:812 AliEPSelectionTask.cxx:813 AliEPSelectionTask.cxx:814 AliEPSelectionTask.cxx:815 AliEPSelectionTask.cxx:816 AliEPSelectionTask.cxx:817 AliEPSelectionTask.cxx:818 AliEPSelectionTask.cxx:819 AliEPSelectionTask.cxx:820 AliEPSelectionTask.cxx:821 AliEPSelectionTask.cxx:822 AliEPSelectionTask.cxx:823 AliEPSelectionTask.cxx:824 AliEPSelectionTask.cxx:825 AliEPSelectionTask.cxx:826 AliEPSelectionTask.cxx:827 AliEPSelectionTask.cxx:828 AliEPSelectionTask.cxx:829 AliEPSelectionTask.cxx:830 AliEPSelectionTask.cxx:831 AliEPSelectionTask.cxx:832 AliEPSelectionTask.cxx:833 AliEPSelectionTask.cxx:834 AliEPSelectionTask.cxx:835 AliEPSelectionTask.cxx:836 AliEPSelectionTask.cxx:837 AliEPSelectionTask.cxx:838 AliEPSelectionTask.cxx:839 AliEPSelectionTask.cxx:840 AliEPSelectionTask.cxx:841 AliEPSelectionTask.cxx:842 AliEPSelectionTask.cxx:843 AliEPSelectionTask.cxx:844 AliEPSelectionTask.cxx:845 AliEPSelectionTask.cxx:846 AliEPSelectionTask.cxx:847 AliEPSelectionTask.cxx:848 AliEPSelectionTask.cxx:849 AliEPSelectionTask.cxx:850 AliEPSelectionTask.cxx:851 AliEPSelectionTask.cxx:852 AliEPSelectionTask.cxx:853 AliEPSelectionTask.cxx:854 AliEPSelectionTask.cxx:855 AliEPSelectionTask.cxx:856 AliEPSelectionTask.cxx:857 AliEPSelectionTask.cxx:858 AliEPSelectionTask.cxx:859 AliEPSelectionTask.cxx:860 AliEPSelectionTask.cxx:861 AliEPSelectionTask.cxx:862 AliEPSelectionTask.cxx:863 AliEPSelectionTask.cxx:864 AliEPSelectionTask.cxx:865 AliEPSelectionTask.cxx:866 AliEPSelectionTask.cxx:867 AliEPSelectionTask.cxx:868 AliEPSelectionTask.cxx:869 AliEPSelectionTask.cxx:870 AliEPSelectionTask.cxx:871 AliEPSelectionTask.cxx:872 AliEPSelectionTask.cxx:873 AliEPSelectionTask.cxx:874 AliEPSelectionTask.cxx:875 AliEPSelectionTask.cxx:876 AliEPSelectionTask.cxx:877 AliEPSelectionTask.cxx:878 AliEPSelectionTask.cxx:879 AliEPSelectionTask.cxx:880 AliEPSelectionTask.cxx:881 AliEPSelectionTask.cxx:882 AliEPSelectionTask.cxx:883 AliEPSelectionTask.cxx:884 AliEPSelectionTask.cxx:885 AliEPSelectionTask.cxx:886 AliEPSelectionTask.cxx:887 AliEPSelectionTask.cxx:888 AliEPSelectionTask.cxx:889 AliEPSelectionTask.cxx:890 AliEPSelectionTask.cxx:891 AliEPSelectionTask.cxx:892 AliEPSelectionTask.cxx:893 AliEPSelectionTask.cxx:894 AliEPSelectionTask.cxx:895 AliEPSelectionTask.cxx:896 AliEPSelectionTask.cxx:897 AliEPSelectionTask.cxx:898 AliEPSelectionTask.cxx:899 AliEPSelectionTask.cxx:900 AliEPSelectionTask.cxx:901 AliEPSelectionTask.cxx:902 AliEPSelectionTask.cxx:903 AliEPSelectionTask.cxx:904 AliEPSelectionTask.cxx:905 AliEPSelectionTask.cxx:906 AliEPSelectionTask.cxx:907 AliEPSelectionTask.cxx:908 AliEPSelectionTask.cxx:909 AliEPSelectionTask.cxx:910 AliEPSelectionTask.cxx:911 AliEPSelectionTask.cxx:912 AliEPSelectionTask.cxx:913 AliEPSelectionTask.cxx:914 AliEPSelectionTask.cxx:915 AliEPSelectionTask.cxx:916 AliEPSelectionTask.cxx:917 AliEPSelectionTask.cxx:918 AliEPSelectionTask.cxx:919 AliEPSelectionTask.cxx:920 AliEPSelectionTask.cxx:921 AliEPSelectionTask.cxx:922 AliEPSelectionTask.cxx:923 AliEPSelectionTask.cxx:924 AliEPSelectionTask.cxx:925 AliEPSelectionTask.cxx:926 AliEPSelectionTask.cxx:927 AliEPSelectionTask.cxx:928 AliEPSelectionTask.cxx:929 AliEPSelectionTask.cxx:930 AliEPSelectionTask.cxx:931 AliEPSelectionTask.cxx:932 AliEPSelectionTask.cxx:933 AliEPSelectionTask.cxx:934 AliEPSelectionTask.cxx:935 AliEPSelectionTask.cxx:936 AliEPSelectionTask.cxx:937 AliEPSelectionTask.cxx:938 AliEPSelectionTask.cxx:939 AliEPSelectionTask.cxx:940 AliEPSelectionTask.cxx:941 AliEPSelectionTask.cxx:942 AliEPSelectionTask.cxx:943 AliEPSelectionTask.cxx:944 AliEPSelectionTask.cxx:945 AliEPSelectionTask.cxx:946 AliEPSelectionTask.cxx:947 AliEPSelectionTask.cxx:948 AliEPSelectionTask.cxx:949 AliEPSelectionTask.cxx:950 AliEPSelectionTask.cxx:951 AliEPSelectionTask.cxx:952 AliEPSelectionTask.cxx:953 AliEPSelectionTask.cxx:954 AliEPSelectionTask.cxx:955 AliEPSelectionTask.cxx:956 AliEPSelectionTask.cxx:957 AliEPSelectionTask.cxx:958 AliEPSelectionTask.cxx:959 AliEPSelectionTask.cxx:960 AliEPSelectionTask.cxx:961 AliEPSelectionTask.cxx:962 AliEPSelectionTask.cxx:963 AliEPSelectionTask.cxx:964 AliEPSelectionTask.cxx:965 AliEPSelectionTask.cxx:966 AliEPSelectionTask.cxx:967 AliEPSelectionTask.cxx:968 AliEPSelectionTask.cxx:969 AliEPSelectionTask.cxx:970 AliEPSelectionTask.cxx:971 AliEPSelectionTask.cxx:972 AliEPSelectionTask.cxx:973 AliEPSelectionTask.cxx:974 AliEPSelectionTask.cxx:975 AliEPSelectionTask.cxx:976 AliEPSelectionTask.cxx:977 AliEPSelectionTask.cxx:978 AliEPSelectionTask.cxx:979 AliEPSelectionTask.cxx:980 AliEPSelectionTask.cxx:981 AliEPSelectionTask.cxx:982 AliEPSelectionTask.cxx:983 AliEPSelectionTask.cxx:984 AliEPSelectionTask.cxx:985 AliEPSelectionTask.cxx:986 AliEPSelectionTask.cxx:987 AliEPSelectionTask.cxx:988 AliEPSelectionTask.cxx:989 AliEPSelectionTask.cxx:990 AliEPSelectionTask.cxx:991 AliEPSelectionTask.cxx:992 AliEPSelectionTask.cxx:993 AliEPSelectionTask.cxx:994 AliEPSelectionTask.cxx:995 AliEPSelectionTask.cxx:996 AliEPSelectionTask.cxx:997 AliEPSelectionTask.cxx:998 AliEPSelectionTask.cxx:999 AliEPSelectionTask.cxx:1000 AliEPSelectionTask.cxx:1001 AliEPSelectionTask.cxx:1002 AliEPSelectionTask.cxx:1003 AliEPSelectionTask.cxx:1004 AliEPSelectionTask.cxx:1005 AliEPSelectionTask.cxx:1006 AliEPSelectionTask.cxx:1007 AliEPSelectionTask.cxx:1008 AliEPSelectionTask.cxx:1009 AliEPSelectionTask.cxx:1010 AliEPSelectionTask.cxx:1011 AliEPSelectionTask.cxx:1012 AliEPSelectionTask.cxx:1013 AliEPSelectionTask.cxx:1014 AliEPSelectionTask.cxx:1015 AliEPSelectionTask.cxx:1016 AliEPSelectionTask.cxx:1017 AliEPSelectionTask.cxx:1018 AliEPSelectionTask.cxx:1019 AliEPSelectionTask.cxx:1020 AliEPSelectionTask.cxx:1021 AliEPSelectionTask.cxx:1022 AliEPSelectionTask.cxx:1023 AliEPSelectionTask.cxx:1024 AliEPSelectionTask.cxx:1025 AliEPSelectionTask.cxx:1026 AliEPSelectionTask.cxx:1027 AliEPSelectionTask.cxx:1028 AliEPSelectionTask.cxx:1029 AliEPSelectionTask.cxx:1030 AliEPSelectionTask.cxx:1031 AliEPSelectionTask.cxx:1032 AliEPSelectionTask.cxx:1033 AliEPSelectionTask.cxx:1034 AliEPSelectionTask.cxx:1035 AliEPSelectionTask.cxx:1036 AliEPSelectionTask.cxx:1037 AliEPSelectionTask.cxx:1038 AliEPSelectionTask.cxx:1039 AliEPSelectionTask.cxx:1040 AliEPSelectionTask.cxx:1041 AliEPSelectionTask.cxx:1042 AliEPSelectionTask.cxx:1043 AliEPSelectionTask.cxx:1044 AliEPSelectionTask.cxx:1045 AliEPSelectionTask.cxx:1046 AliEPSelectionTask.cxx:1047 AliEPSelectionTask.cxx:1048 AliEPSelectionTask.cxx:1049 AliEPSelectionTask.cxx:1050 AliEPSelectionTask.cxx:1051 AliEPSelectionTask.cxx:1052 AliEPSelectionTask.cxx:1053 AliEPSelectionTask.cxx:1054 AliEPSelectionTask.cxx:1055