]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG0/dNdEta/runCorrection.C
added correction for 0 multiplicity bin
[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
48 AliPWG0Helper::AnalysisMode analysisMode = AliPWG0Helper::kTPC;
49 task->SetAnalysisMode(analysisMode);
50
51 if (analysisMode != AliPWG0Helper::kSPD)
52 {
53 // selection of esd tracks
54 gROOT->ProcessLine(".L ../CreateStandardCuts.C");
55 AliESDtrackCuts* esdTrackCuts = CreateTrackCuts(analysisMode);
56 if (!esdTrackCuts)
57 {
58 printf("ERROR: esdTrackCuts could not be created\n");
59 return;
60 }
61
62 task->SetTrackCuts(esdTrackCuts);
63 }
0f67a57c 64
65 mgr->AddTask(task);
66
67 // Enable MC event handler
68 AliMCEventHandler* handler = new AliMCEventHandler;
69 handler->SetReadTR(kFALSE);
70 mgr->SetMCtruthEventHandler(handler);
71
72 // Add ESD handler
73 AliESDInputHandler* esdH = new AliESDInputHandler;
74 mgr->SetInputEventHandler(esdH);
75
76 // Attach input
77 cInput = mgr->CreateContainer("cInput", TChain::Class(), AliAnalysisManager::kInputContainer);
78 mgr->ConnectInput(task, 0, cInput);
79
80 // Attach output
81 cOutput = mgr->CreateContainer("cOutput", TList::Class(), AliAnalysisManager::kOutputContainer);
82 mgr->ConnectOutput(task, 0, cOutput);
83
84 // Enable debug printouts
85 if (aDebug)
dd367a14 86 {
0f67a57c 87 mgr->SetDebugLevel(2);
dd367a14 88 AliLog::SetClassDebugLevel("AlidNdEtaCorrectionTask", AliLog::kDebug+2);
89 }
0f67a57c 90
91 // Run analysis
92 mgr->InitAnalysis();
93 mgr->PrintStatus();
94
95 //aProof = kFALSE;
96
97 mgr->StartAnalysis((aProof) ? "proof" : "local", chain);
98}