]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG0/genLevelSimulation/runTask.C
fixed the tainted variables
[u/mrichter/AliRoot.git] / PWG0 / genLevelSimulation / runTask.C
CommitLineData
34d2adbe 1void 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}