1 void Load(const char* taskName, Bool_t debug)
3 TString compileTaskName;
4 compileTaskName.Form("%s.cxx++", taskName);
6 compileTaskName += "g";
9 gProof->Load(compileTaskName);
11 gROOT->Macro(compileTaskName);
13 // Enable debug printouts
16 AliLog::SetClassDebugLevel(taskName, AliLog::kDebug+2);
19 AliLog::SetClassDebugLevel(taskName, AliLog::kWarning);
22 void run(Int_t runWhat, const Char_t* data, Int_t nRuns=20, Int_t offset=0, Bool_t aDebug = kFALSE, Int_t aProof = kFALSE, Bool_t mc = kTRUE, const char* option = "")
24 // runWhat options: 0 = AlidNdEtaTask
25 // 1 = AlidNdEtaCorrectionTask
28 // aProof option: 0 no proof
30 // 2 proof with dataset
33 if (runWhat == 0 || runWhat == 2)
35 Printf("Running AlidNdEtaTask");
37 if (runWhat == 1 || runWhat == 2)
39 Printf("Running AlidNdEtaCorrectionTask");
42 Printf("AlidNdEtaCorrectionTask needs MC. Exiting...");
52 TProof::Open("lxb6046");
53 //gProof->SetParallel(1);
55 // Enable the needed package
58 gProof->UploadPackage("$ALICE_ROOT/STEERBase");
59 gProof->EnablePackage("$ALICE_ROOT/STEERBase");
60 gProof->UploadPackage("$ALICE_ROOT/ESD");
61 gProof->EnablePackage("$ALICE_ROOT/ESD");
62 gProof->UploadPackage("$ALICE_ROOT/AOD");
63 gProof->EnablePackage("$ALICE_ROOT/AOD");
64 gProof->UploadPackage("$ALICE_ROOT/ANALYSIS");
65 gProof->EnablePackage("$ALICE_ROOT/ANALYSIS");
66 gProof->UploadPackage("$ALICE_ROOT/ANALYSISalice");
67 gProof->EnablePackage("$ALICE_ROOT/ANALYSISalice");
71 gProof->UploadPackage("/afs/cern.ch/alice/caf/sw/ALICE/PARs/v4-14-Release/AF-v4-14");
72 gProof->EnablePackage("/afs/cern.ch/alice/caf/sw/ALICE/PARs/v4-14-Release/AF-v4-14");
75 gProof->UploadPackage("$ALICE_ROOT/PWG0base");
76 gProof->EnablePackage("$ALICE_ROOT/PWG0base");
80 gSystem->Load("libVMC");
81 gSystem->Load("libTree");
82 gSystem->Load("libSTEERBase");
83 gSystem->Load("libESD");
84 gSystem->Load("libAOD");
85 gSystem->Load("libANALYSIS");
86 gSystem->Load("libANALYSISalice");
87 gSystem->Load("libPWG0base");
90 // Create the analysis manager
91 mgr = new AliAnalysisManager;
93 AliPWG0Helper::AnalysisMode analysisMode = AliPWG0Helper::kSPD;
94 AliPWG0Helper::Trigger trigger = AliPWG0Helper::kMB1;
96 AliPWG0Helper::PrintConf(analysisMode, trigger);
98 AliESDtrackCuts* esdTrackCuts = 0;
99 if (analysisMode != AliPWG0Helper::kSPD)
101 // selection of esd tracks
102 gROOT->ProcessLine(".L ../CreateStandardCuts.C");
103 esdTrackCuts = CreateTrackCuts(analysisMode);
106 printf("ERROR: esdTrackCuts could not be created\n");
109 esdTrackCuts->SetHistogramsOn(kTRUE);
112 cInput = mgr->CreateContainer("cInput", TChain::Class(), AliAnalysisManager::kInputContainer);
115 if (runWhat == 0 || runWhat == 2)
117 Load("AlidNdEtaTask", aDebug);
118 task = new AlidNdEtaTask(option);
124 //task->SetUseMCVertex();
125 //task->SetUseMCKine();
126 //task->SetOnlyPrimaries();
128 task->SetTrigger(trigger);
129 task->SetAnalysisMode(analysisMode);
130 task->SetTrackCuts(esdTrackCuts);
135 mgr->ConnectInput(task, 0, cInput);
138 cOutput = mgr->CreateContainer("cOutput", TList::Class(), AliAnalysisManager::kOutputContainer);
139 mgr->ConnectOutput(task, 0, cOutput);
141 if (runWhat == 1 || runWhat == 2)
143 Load("AlidNdEtaCorrectionTask", aDebug);
144 task2 = new AlidNdEtaCorrectionTask(option);
147 //task2->SetOnlyPrimaries();
149 task2->SetTrigger(trigger);
150 task2->SetAnalysisMode(analysisMode);
151 task2->SetTrackCuts(esdTrackCuts);
156 mgr->ConnectInput(task2, 0, cInput);
159 cOutput = mgr->CreateContainer("cOutput2", TList::Class(), AliAnalysisManager::kOutputContainer);
160 mgr->ConnectOutput(task2, 0, cOutput);
164 // Enable MC event handler
165 AliMCEventHandler* handler = new AliMCEventHandler;
166 handler->SetReadTR(kFALSE);
167 mgr->SetMCtruthEventHandler(handler);
171 AliESDInputHandler* esdH = new AliESDInputHandler;
172 esdH->SetInactiveBranches("*");
173 mgr->SetInputEventHandler(esdH);
175 // Enable debug printouts
177 mgr->SetDebugLevel(2);
187 mgr->StartAnalysis("proof", data, nRuns, offset);
189 else if (aProof == 3)
191 ROOT->ProcessLine(".L CreateChainFromDataSet.C");
192 ds = gProof->GetDataSet(data);
193 chain = CreateChainFromDataSet(ds);
194 mgr->StartAnalysis("local", chain, nRuns, offset);
198 // Create chain of input files
199 gROOT->LoadMacro("../CreateESDChain.C");
201 chain = CreateESDChain(data, nRuns, offset);
202 //chain = CreateChain("TE", data, nRuns, offset);
204 mgr->StartAnalysis((aProof > 0) ? "proof" : "local", chain);