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("alicecaf");
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-16-Release/AF-v4-16");
72 gProof->EnablePackage("AF-v4-16");
75 gProof->UploadPackage("$ALICE_ROOT/PWG0base");
76 gProof->EnablePackage("$ALICE_ROOT/PWG0base");
80 gSystem->AddIncludePath("-I${ALICE_ROOT}/include/ -I${ALICE_ROOT}/PWG0/ -I${ALICE_ROOT}/PWG0/dNdEta/");
81 gSystem->Load("libVMC");
82 gSystem->Load("libTree");
83 gSystem->Load("libProof");
84 gSystem->Load("libSTEERBase");
85 gSystem->Load("libESD");
86 gSystem->Load("libAOD");
87 gSystem->Load("libANALYSIS");
88 gSystem->Load("libANALYSISalice");
89 gSystem->Load("libPWG0base");
92 // Create the analysis manager
93 mgr = new AliAnalysisManager;
96 AliESDInputHandler* esdH = new AliESDInputHandler;
97 esdH->SetInactiveBranches("AliESDACORDE FMD ALIESDTZERO ALIESDVZERO ALIESDZDC AliRawDataErrorLogs CaloClusters Cascades EMCALCells EMCALTrigger ESDfriend Kinks Kinks Cascades AliESDTZERO ALIESDACORDE MuonTracks TrdTracks CaloClusters");
98 mgr->SetInputEventHandler(esdH);
100 AliPWG0Helper::AnalysisMode analysisMode = AliPWG0Helper::kSPD;
101 AliPWG0Helper::Trigger trigger = AliPWG0Helper::kMB1;
103 AliPWG0Helper::PrintConf(analysisMode, trigger);
105 AliESDtrackCuts* esdTrackCuts = 0;
106 if (analysisMode != AliPWG0Helper::kSPD)
108 // selection of esd tracks
109 gROOT->ProcessLine(".L ../CreateStandardCuts.C");
110 esdTrackCuts = CreateTrackCuts(analysisMode);
113 printf("ERROR: esdTrackCuts could not be created\n");
116 esdTrackCuts->SetHistogramsOn(kTRUE);
119 cInput = mgr->GetCommonInputContainer();
122 if (runWhat == 0 || runWhat == 2)
124 Load("AlidNdEtaTask", aDebug);
125 task = new AlidNdEtaTask(option);
131 //task->SetUseMCVertex();
132 //task->SetUseMCKine();
133 //task->SetOnlyPrimaries();
134 //task->SetFillPhi();
136 task->SetTrigger(trigger);
137 task->SetAnalysisMode(analysisMode);
138 task->SetTrackCuts(esdTrackCuts);
139 task->SetDeltaPhiCut(0.05);
144 mgr->ConnectInput(task, 0, cInput);
147 cOutput = mgr->CreateContainer("cOutput", TList::Class(), AliAnalysisManager::kOutputContainer);
148 mgr->ConnectOutput(task, 0, cOutput);
150 if (runWhat == 1 || runWhat == 2)
152 Load("AlidNdEtaCorrectionTask", aDebug);
153 task2 = new AlidNdEtaCorrectionTask(option);
156 //task2->SetFillPhi();
157 //task2->SetOnlyPrimaries();
159 task2->SetTrigger(trigger);
160 task2->SetAnalysisMode(analysisMode);
161 task2->SetTrackCuts(esdTrackCuts);
162 //task2->SetDeltaPhiCut(0.05);
167 mgr->ConnectInput(task2, 0, cInput);
170 cOutput = mgr->CreateContainer("cOutput2", TList::Class(), AliAnalysisManager::kOutputContainer);
171 mgr->ConnectOutput(task2, 0, cOutput);
175 // Enable MC event handler
176 AliMCEventHandler* handler = new AliMCEventHandler;
177 handler->SetReadTR(kFALSE);
178 mgr->SetMCtruthEventHandler(handler);
181 // Enable debug printouts
183 mgr->SetDebugLevel(2);
193 mgr->StartAnalysis("proof", data, nRuns, offset);
195 else if (aProof == 3)
197 gROOT->ProcessLine(".L CreateChainFromDataSet.C");
198 ds = gProof->GetDataSet(data)->GetStagedSubset();
199 chain = CreateChainFromDataSet(ds);
200 mgr->StartAnalysis("local", chain, nRuns, offset);
204 // Create chain of input files
205 gROOT->LoadMacro("../CreateESDChain.C");
207 chain = CreateESDChain(data, nRuns, offset);
208 //chain = CreateChain("TE", data, nRuns, offset);
210 mgr->StartAnalysis((aProof > 0) ? "proof" : "local", chain);