]>
Commit | Line | Data |
---|---|---|
345e2385 | 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 |