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(const Char_t* data, Int_t nRuns=20, Int_t offset=0, Bool_t aDebug = kFALSE, Int_t aProof = kFALSE, const char* option = "")
24 // aProof option: 0 no proof
26 // 2 proof with dataset
28 // option is passed to the task(s)
35 TProof::Open("alicecaf");
36 //gProof->SetParallel(2);
38 // Enable the needed package
41 gProof->UploadPackage("$ALICE_ROOT/STEERBase");
42 gProof->EnablePackage("$ALICE_ROOT/STEERBase");
43 gProof->UploadPackage("$ALICE_ROOT/ESD");
44 gProof->EnablePackage("$ALICE_ROOT/ESD");
45 gProof->UploadPackage("$ALICE_ROOT/AOD");
46 gProof->EnablePackage("$ALICE_ROOT/AOD");
47 gProof->UploadPackage("$ALICE_ROOT/ANALYSIS");
48 gProof->EnablePackage("$ALICE_ROOT/ANALYSIS");
49 gProof->UploadPackage("$ALICE_ROOT/ANALYSISalice");
50 gProof->EnablePackage("$ALICE_ROOT/ANALYSISalice");
54 gProof->UploadPackage("$ALICE_ROOT/AF-v4-18-12-AN.par");
55 gProof->EnablePackage("AF-v4-18-12-AN");
58 gProof->UploadPackage("$ALICE_ROOT/PWG0base");
59 gProof->EnablePackage("$ALICE_ROOT/PWG0base");
63 gSystem->AddIncludePath("-I${ALICE_ROOT}/include/ -I${ALICE_ROOT}/PWG0/ -I${ALICE_ROOT}/PWG0/dNdEta/");
64 gSystem->Load("libVMC");
65 gSystem->Load("libTree");
66 gSystem->Load("libProof");
67 gSystem->Load("libSTEERBase");
68 gSystem->Load("libESD");
69 gSystem->Load("libAOD");
70 gSystem->Load("libANALYSIS");
71 gSystem->Load("libANALYSISalice");
72 gSystem->Load("libPWG0base");
73 gSystem->Load("libPWG0dep");
76 // Create the analysis manager
77 mgr = new AliAnalysisManager;
80 AliESDInputHandler* esdH = new AliESDInputHandler;
81 esdH->SetInactiveBranches("AliRawDataErrorLogs CaloClusters Cascades EMCALCells EMCALTrigger ESDfriend Kinks Kinks Cascades AliESDTZERO MuonTracks TrdTracks CaloClusters");
82 mgr->SetInputEventHandler(esdH);
84 cInput = mgr->GetCommonInputContainer();
86 Load("AliEventStatsTask", aDebug);
87 TString optStr(option);
89 // remove SAVE option if set
91 if (optStr.Contains("SAVE"))
93 optStr = optStr(0,optStr.Index("SAVE")) + optStr(optStr.Index("SAVE")+4, optStr.Length());
97 task = new AliEventStatsTask(optStr);
98 physicsSelection = new AliPhysicsSelection;
100 AliLog::SetClassDebugLevel("AliPhysicsSelection", AliLog::kDebug);
101 task->SetPhysicsSelection(physicsSelection);
102 //AliBackgroundSelection* background = new AliBackgroundSelection("AliBackgroundSelection", "AliBackgroundSelection");
103 //physicsSelection->AddBackgroundIdentification(background);
108 mgr->ConnectInput(task, 0, cInput);
111 cOutput = mgr->CreateContainer("cOutput", TList::Class(), AliAnalysisManager::kOutputContainer);
112 mgr->ConnectOutput(task, 1, cOutput);
114 // Enable debug printouts
116 mgr->SetDebugLevel(2);
126 mgr->StartAnalysis("proof", data, nRuns, offset);
130 TString path("maps/");
131 path += TString(data).Tokenize("/")->Last()->GetName();
133 gSystem->mkdir(path, kTRUE);
134 gSystem->Rename("event_stats.root", path + "/event_stats.root");
136 Printf(">>>>> Moved files to %s", path.Data());
139 else if (aProof == 3)
141 gROOT->ProcessLine(".L CreateChainFromDataSet.C");
142 ds = gProof->GetDataSet(data)->GetStagedSubset();
143 file = TFile::Open("dataset.root", "RECREATE");
144 ds->Write("dataset");
146 chain = CreateChainFromDataSet(ds);
147 mgr->StartAnalysis("local", chain, nRuns, offset);
149 else if (aProof == -1)
151 gROOT->ProcessLine(".L CreateChainFromDataSet.C");
152 TFile::Open("dataset.root");
153 ds = (TFileCollection*) gFile->Get("dataset");
154 chain = CreateChainFromDataSet(ds);
155 mgr->StartAnalysis("local", chain, nRuns, offset);
159 // Create chain of input files
160 gROOT->LoadMacro("../CreateESDChain.C");
162 chain = CreateESDChain(data, nRuns, offset);
163 //chain = CreateChain("TE", data, nRuns, offset);
165 mgr->StartAnalysis((aProof > 0) ? "proof" : "local", chain);