]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGPP/VZERO/runAnaEPFlatenningProof.C
b85966001a07ea970800da7d79a0ba02910cee18
[u/mrichter/AliRoot.git] / PWGPP / VZERO / runAnaEPFlatenningProof.C
1 void runAnaEPFlatenningProof(Int_t mode = 0, const char *folder = "/alice/data",
2                              const char *dataset = "LHC10h_000138396_hlt_clustering",
3                              Int_t workers=28,
4                              Bool_t usePS = kFALSE,
5                              const char *minBias = "CPBI",
6                              Int_t firstFile = 0, Int_t lastFile = -1)
7 {
8   gSystem->Load("libANALYSIS");
9   gSystem->Load("libANALYSISalice");
10   gSystem->Load("libOADB");
11   gSystem->AddIncludePath("-I$ALICE_ROOT/include ");
12
13   if (mode==0 || mode==2) {
14     // Connect to Proof
15     gEnv->SetValue("XSec.GSI.DelegProxy","2");
16     Char_t *alienuser = gSystem->Getenv("alien_API_USER");
17     cout<<"==> Your AliEn username is: "<<alienuser<<endl;
18
19     TProof *p = TProof::Open(alienuser!=0 ? Form("%s@alice-caf.cern.ch",
20                                                  alienuser) : "alice-caf.cern.ch",
21                              workers>0 ? Form("workers=%d",workers) : "");
22
23     gProof->EnablePackage("VO_ALICE@AliRoot::v5-02-16-AN");
24   }
25
26   // Create the analysis manager
27   AliAnalysisManager *mgr = new AliAnalysisManager("EPFlatenningAnalysis");
28
29   AliESDInputHandler* esdH = new AliESDInputHandler();
30   esdH->SetInactiveBranches("FMD AliRawDataErrorLogs CaloClusters Cascades EMCALCells EMCALTrigger ESDfriend.fTracks Kinks MuonTracks TrdTracks");
31   esdH->SetReadFriends(kFALSE);
32   mgr->SetInputEventHandler(esdH);
33
34   // physics and centrality selection
35   if (usePS) {
36     gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
37     AliPhysicsSelectionTask *physicsSelectionTask = AddTaskPhysicsSelection(kFALSE);
38   }
39
40   gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskCentrality.C");
41   AliCentralitySelectionTask *taskCentrality = AddTaskCentrality();
42
43   // Create task
44   if (mode==0 || mode==2) {
45     gProof->Load(Form("%s/AliAnaVZEROEPFlatenning.cxx++g",
46                       gSystem->pwd()));
47   }
48   else {
49     gROOT->LoadMacro(Form("%s/AliAnaVZEROEPFlatenning.cxx++g",
50                           gSystem->pwd()));
51   }
52   AliAnaVZEROEPFlatenning *task = new AliAnaVZEROEPFlatenning("AliAnaVZEROEPFlatenning");
53   task->SetMBTrigName(minBias);
54   if (usePS) task->SetUsePhysSel(kTRUE);
55   task->SetInput("VZERO.EPFlatenning.PS.LHC11h_000169683_p1_muon_ESDs.root");
56   
57   // Add task
58   mgr->AddTask(task);
59
60   // Create containers for input/output
61   AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
62   AliAnalysisDataContainer *coutput = 
63     mgr->CreateContainer("coutput", TList::Class(), 
64                          AliAnalysisManager::kOutputContainer, (!usePS) ? Form("VZERO.EPFlatenning.%s.root",dataset) : Form("VZERO.EPFlatenning.PS.%s.root",dataset));
65
66   // Connect input/output
67   mgr->ConnectInput(task, 0, cinput);
68   mgr->ConnectOutput(task, 1, coutput);
69
70
71   // Enable debug printouts
72   mgr->SetDebugLevel(3);
73
74   if (!mgr->InitAnalysis())
75     return;
76
77   mgr->PrintStatus();
78
79   if (mode==0)
80     mgr->StartAnalysis("proof", Form("%s/%s",folder,dataset));
81   else {
82     TGrid::Connect("alien://");
83     TChain *chain = new TChain("esdTree");
84     TGridResult *res = gGrid->Query(folder,"AliESDs.root");
85     Int_t nFiles = res->GetEntries();
86     if (lastFile < 0) lastFile = nFiles - 1;
87     for(Int_t iFile = firstFile; iFile <= lastFile; ++iFile) {
88       TString filename = res->GetKey(iFile, "turl");
89       if(filename == "") continue;
90       chain->AddFile(filename.Data());
91     }
92     if (mode==2) {
93       gProof->Exec("TGrid::Connect(\"alien://\")",kTRUE);
94       mgr->StartAnalysis("proof", chain);
95     }
96     else
97       mgr->StartAnalysis("local", chain);
98   }
99 }
100