]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG0/dNdEta/runCorrection.C
Minor cleanup of code.
[u/mrichter/AliRoot.git] / PWG0 / dNdEta / runCorrection.C
CommitLineData
0f67a57c 1void runCorrection(Char_t* data, Int_t nRuns=20, Int_t offset=0, Bool_t aDebug = kFALSE, Bool_t aProof = kFALSE, const char* option = ""){
2 if (aProof)
3 {
4 TProof::Open("lxb6046");
5
6 // Enable the needed package
7 gProof->UploadPackage("STEERBase");
8 gProof->EnablePackage("STEERBase");
9 gProof->UploadPackage("ESD");
10 gProof->EnablePackage("ESD");
144ff489 11 gProof->UploadPackage("AOD");
12 gProof->EnablePackage("AOD");
0f67a57c 13 gProof->UploadPackage("ANALYSIS");
14 gProof->EnablePackage("ANALYSIS");
15 gProof->UploadPackage("PWG0base");
16 gProof->EnablePackage("PWG0base");
17 }
18 else
19 {
20 gSystem->Load("libVMC");
21 gSystem->Load("libTree");
22 gSystem->Load("libSTEERBase");
23 gSystem->Load("libESD");
144ff489 24 gSystem->Load("libAOD");
0f67a57c 25 gSystem->Load("libANALYSIS");
26 gSystem->Load("libPWG0base");
27 }
28
29 // Create chain of input files
30 gROOT->LoadMacro("../CreateESDChain.C");
31 chain = CreateESDChain(data, nRuns, offset);
32
33 // Create the analysis manager
34 mgr = new AliAnalysisManager;
35
0f67a57c 36 TString taskName("AlidNdEtaCorrectionTask.cxx+");
37 if (aDebug)
38 taskName += "+g";
39
40 // Create, add task
41 if (aProof) {
42 gProof->Load(taskName);
43 } else
44 gROOT->Macro(taskName);
45
46 task = new AlidNdEtaCorrectionTask(option);
770a1f1d 47
3d7758c1 48 AliPWG0Helper::AnalysisMode analysisMode = AliPWG0Helper::kSPD;
770a1f1d 49 task->SetAnalysisMode(analysisMode);
50
3d7758c1 51 //task->SetOnlyPrimaries();
52
770a1f1d 53 if (analysisMode != AliPWG0Helper::kSPD)
54 {
55 // selection of esd tracks
56 gROOT->ProcessLine(".L ../CreateStandardCuts.C");
57 AliESDtrackCuts* esdTrackCuts = CreateTrackCuts(analysisMode);
58 if (!esdTrackCuts)
59 {
60 printf("ERROR: esdTrackCuts could not be created\n");
61 return;
62 }
63
64 task->SetTrackCuts(esdTrackCuts);
65 }
0f67a57c 66
67 mgr->AddTask(task);
68
69 // Enable MC event handler
70 AliMCEventHandler* handler = new AliMCEventHandler;
71 handler->SetReadTR(kFALSE);
72 mgr->SetMCtruthEventHandler(handler);
73
74 // Add ESD handler
75 AliESDInputHandler* esdH = new AliESDInputHandler;
76 mgr->SetInputEventHandler(esdH);
77
78 // Attach input
79 cInput = mgr->CreateContainer("cInput", TChain::Class(), AliAnalysisManager::kInputContainer);
80 mgr->ConnectInput(task, 0, cInput);
81
82 // Attach output
83 cOutput = mgr->CreateContainer("cOutput", TList::Class(), AliAnalysisManager::kOutputContainer);
84 mgr->ConnectOutput(task, 0, cOutput);
85
86 // Enable debug printouts
87 if (aDebug)
dd367a14 88 {
0f67a57c 89 mgr->SetDebugLevel(2);
dd367a14 90 AliLog::SetClassDebugLevel("AlidNdEtaCorrectionTask", AliLog::kDebug+2);
91 }
3d7758c1 92 else
93 AliLog::SetClassDebugLevel("AlidNdEtaCorrectionTask", AliLog::kWarning);
0f67a57c 94
95 // Run analysis
96 mgr->InitAnalysis();
97 mgr->PrintStatus();
98
99 //aProof = kFALSE;
100
101 mgr->StartAnalysis((aProof) ? "proof" : "local", chain);
102}