void runAnaEPFlatenningProof(Int_t mode = 0, const char *folder = "/alice/data", const char *dataset = "LHC10h_000138396_hlt_clustering", Int_t workers=28, Bool_t usePS = kFALSE, const char *minBias = "CPBI", Int_t firstFile = 0, Int_t lastFile = -1) { gSystem->Load("libANALYSIS"); gSystem->Load("libANALYSISalice"); gSystem->Load("libOADB"); gSystem->AddIncludePath("-I$ALICE_ROOT/include "); if (mode==0 || mode==2) { // Connect to Proof gEnv->SetValue("XSec.GSI.DelegProxy","2"); Char_t *alienuser = gSystem->Getenv("alien_API_USER"); cout<<"==> Your AliEn username is: "<0 ? Form("workers=%d",workers) : ""); gProof->EnablePackage("VO_ALICE@AliRoot::v5-02-16-AN"); } // Create the analysis manager AliAnalysisManager *mgr = new AliAnalysisManager("EPFlatenningAnalysis"); AliESDInputHandler* esdH = new AliESDInputHandler(); esdH->SetInactiveBranches("FMD AliRawDataErrorLogs CaloClusters Cascades EMCALCells EMCALTrigger ESDfriend.fTracks Kinks MuonTracks TrdTracks"); esdH->SetReadFriends(kFALSE); mgr->SetInputEventHandler(esdH); // physics and centrality selection if (usePS) { gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C"); AliPhysicsSelectionTask *physicsSelectionTask = AddTaskPhysicsSelection(kFALSE); } gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskCentrality.C"); AliCentralitySelectionTask *taskCentrality = AddTaskCentrality(); // Create task if (mode==0 || mode==2) { gProof->Load(Form("%s/AliAnaVZEROEPFlatenning.cxx++g", gSystem->pwd())); } else { gROOT->LoadMacro(Form("%s/AliAnaVZEROEPFlatenning.cxx++g", gSystem->pwd())); } AliAnaVZEROEPFlatenning *task = new AliAnaVZEROEPFlatenning("AliAnaVZEROEPFlatenning"); task->SetMBTrigName(minBias); if (usePS) task->SetUsePhysSel(kTRUE); task->SetInput("VZERO.EPFlatenning.PS.LHC11h_000169683_p1_muon_ESDs.root"); // Add task mgr->AddTask(task); // Create containers for input/output AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer(); AliAnalysisDataContainer *coutput = mgr->CreateContainer("coutput", TList::Class(), AliAnalysisManager::kOutputContainer, (!usePS) ? Form("VZERO.EPFlatenning.%s.root",dataset) : Form("VZERO.EPFlatenning.PS.%s.root",dataset)); // Connect input/output mgr->ConnectInput(task, 0, cinput); mgr->ConnectOutput(task, 1, coutput); // Enable debug printouts mgr->SetDebugLevel(3); if (!mgr->InitAnalysis()) return; mgr->PrintStatus(); if (mode==0) mgr->StartAnalysis("proof", Form("%s/%s",folder,dataset)); else { TGrid::Connect("alien://"); TChain *chain = new TChain("esdTree"); TGridResult *res = gGrid->Query(folder,"AliESDs.root"); Int_t nFiles = res->GetEntries(); if (lastFile < 0) lastFile = nFiles - 1; for(Int_t iFile = firstFile; iFile <= lastFile; ++iFile) { TString filename = res->GetKey(iFile, "turl"); if(filename == "") continue; chain->AddFile(filename.Data()); } if (mode==2) { gProof->Exec("TGrid::Connect(\"alien://\")",kTRUE); mgr->StartAnalysis("proof", chain); } else mgr->StartAnalysis("local", chain); } }