]>
Commit | Line | Data |
---|---|---|
34d2adbe | 1 | void runTask(Float_t etamax=0.5,const char * incollection = 0, const char * outfile = "dndeta.root", Bool_t skipNorm = kFALSE) |
2 | { | |
3 | // for running with root only | |
4 | gSystem->Load("libTree.so"); | |
5 | gSystem->Load("libGeom.so"); | |
6 | gSystem->Load("libVMC.so"); | |
7 | gSystem->Load("libSTEERBase.so"); | |
8 | gSystem->Load("libESD.so"); | |
9 | gSystem->Load("libAOD.so"); | |
10 | ||
11 | // load analysis framework | |
12 | gSystem->Load("libANALYSIS"); | |
13 | gSystem->Load("libANALYSISalice"); | |
14 | ||
15 | ||
16 | TChain * chain = new TChain ("TE"); | |
17 | if (incollection == 0) { | |
18 | chain->Add("galice.root"); | |
19 | } | |
20 | else if (TString(incollection).Contains("xml")){ | |
21 | TGrid::Connect("alien://"); | |
22 | TAlienCollection * coll = TAlienCollection::Open (incollection); | |
23 | while(coll->Next()){ | |
24 | chain->Add(TString("alien://")+coll->GetLFN()); | |
25 | } | |
26 | } else { | |
27 | ifstream file_collect(incollection); | |
28 | TString line; | |
29 | while (line.ReadLine(file_collect) ) { | |
30 | chain->Add(line.Data()); | |
31 | } | |
32 | } | |
33 | chain->GetListOfFiles()->Print(); | |
34 | ||
35 | // for includes use either global setting in $HOME/.rootrc | |
36 | // ACLiC.IncludePaths: -I$(ALICE_ROOT)/include | |
37 | // or in each macro | |
38 | gSystem->AddIncludePath("-I$ALICE_ROOT/include"); | |
39 | ||
40 | // Create the analysis manager | |
41 | AliAnalysisManager *mgr = new AliAnalysisManager("dNdeta"); | |
42 | ||
43 | AliVEventHandler* esdH = new AliESDInputHandler; | |
4283b1a9 | 44 | ((AliESDInputHandler*)esdH)->SetReadFriends(kFALSE); |
34d2adbe | 45 | mgr->SetInputEventHandler(esdH); |
46 | ||
47 | // Create tasks | |
48 | gROOT->LoadMacro("AliAnalysisTaskdNdetaMC.cxx++g"); | |
49 | ||
50 | AliAnalysisTask *task1 = new AliAnalysisTaskdNdetaMC("TaskdNdeta"); | |
51 | ((AliAnalysisTaskdNdetaMC*)task1)->SetEtaMax(etamax); | |
52 | if (skipNorm) ((AliAnalysisTaskdNdetaMC*)task1)->SkipNormalization(); | |
53 | // Enable MC event handler | |
54 | ||
55 | AliMCEventHandler* handler = new AliMCEventHandler; | |
56 | handler->SetReadTR(kFALSE); | |
57 | mgr->SetMCtruthEventHandler(handler); | |
58 | ||
59 | // Add tasks | |
60 | mgr->AddTask(task1); | |
61 | ||
62 | // Create containers for input/output | |
63 | AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer(); | |
64 | AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("coutput", TList::Class(), AliAnalysisManager::kOutputContainer, outfile); | |
65 | ||
66 | // Connect input/output | |
67 | mgr->ConnectInput(task1, 0, cinput); | |
68 | mgr->ConnectOutput(task1, 1, coutput1); | |
69 | ||
70 | // Enable debug printouts | |
71 | mgr->SetDebugLevel(0); | |
72 | ||
73 | if (!mgr->InitAnalysis()) return; | |
74 | ||
75 | mgr->PrintStatus(); | |
76 | ||
77 | mgr->StartAnalysis("local", chain); | |
78 | } |