1 void runTask(Float_t etamax=0.5,const char * incollection = 0, const char * outfile = "dndeta.root", Bool_t skipNorm = kFALSE)
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");
11 // load analysis framework
12 gSystem->Load("libANALYSIS");
13 gSystem->Load("libANALYSISalice");
16 TChain * chain = new TChain ("TE");
17 if (incollection == 0) {
18 chain->Add("galice.root");
20 else if (TString(incollection).Contains("xml")){
21 TGrid::Connect("alien://");
22 TAlienCollection * coll = TAlienCollection::Open (incollection);
24 chain->Add(TString("alien://")+coll->GetLFN());
27 ifstream file_collect(incollection);
29 while (line.ReadLine(file_collect) ) {
30 chain->Add(line.Data());
33 chain->GetListOfFiles()->Print();
35 // for includes use either global setting in $HOME/.rootrc
36 // ACLiC.IncludePaths: -I$(ALICE_ROOT)/include
38 gSystem->AddIncludePath("-I$ALICE_ROOT/include");
40 // Create the analysis manager
41 AliAnalysisManager *mgr = new AliAnalysisManager("dNdeta");
43 AliVEventHandler* esdH = new AliESDInputHandler;
44 mgr->SetInputEventHandler(esdH);
47 gROOT->LoadMacro("AliAnalysisTaskdNdetaMC.cxx++g");
49 AliAnalysisTask *task1 = new AliAnalysisTaskdNdetaMC("TaskdNdeta");
50 ((AliAnalysisTaskdNdetaMC*)task1)->SetEtaMax(etamax);
51 if (skipNorm) ((AliAnalysisTaskdNdetaMC*)task1)->SkipNormalization();
52 // Enable MC event handler
54 AliMCEventHandler* handler = new AliMCEventHandler;
55 handler->SetReadTR(kFALSE);
56 mgr->SetMCtruthEventHandler(handler);
61 // Create containers for input/output
62 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
63 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("coutput", TList::Class(), AliAnalysisManager::kOutputContainer, outfile);
65 // Connect input/output
66 mgr->ConnectInput(task1, 0, cinput);
67 mgr->ConnectOutput(task1, 1, coutput1);
69 // Enable debug printouts
70 mgr->SetDebugLevel(0);
72 if (!mgr->InitAnalysis()) return;
76 mgr->StartAnalysis("local", chain);