ROOT logo
void runLocalExample(const TString& dir="./")
{
//
// example for testing the analysis task
//
	TStopwatch timer;
	timer.Start();
	
	// Global configuration flags
	
	const TString kPeriod   = "lhc10d";
	// with period name the next flags can be worked out
	const Bool_t kSimulation = 0;
	const Bool_t kHeavyIons  = 0;
	
	// Load common libraries
	
	gSystem->Load("libTree");
	gSystem->Load("libGeom");
	gSystem->Load("libVMC");
	gSystem->Load("libPhysics");
	gSystem->Load("libMinuit.so");
	
	gSystem->Load("libSTEERBase");
	gSystem->Load("libESD");
	gSystem->Load("libAOD");
	
	// Load analysis framework
	
	gSystem->Load("libANALYSIS.so");
	gSystem->Load("libANALYSISalice.so"); // alice specific, e.g. alien plugin
	
	// Load task
	
	gSystem->Load("libPWGLFspectra.so");
	
	// Get input data
	
	gROOT->LoadMacro("$ALICE_ROOT/PWGUD/macros/CreateESDChain.C");
	TChain* chain = CreateESDChain(dir,900);
	
	// Create the analysis manager
	
	AliAnalysisManager* mgr = new AliAnalysisManager("B2");
	
	// Input event handler (input container created automatically)
	AliESDInputHandler* esdH = new AliESDInputHandler();
	esdH->SetReadFriends(kFALSE);
	mgr->SetInputEventHandler(esdH);
	
	// MonteCarlo handler
	if(kSimulation)
	{
		AliMCEventHandler* mcHandler = new AliMCEventHandler();
		mcHandler->SetReadTR(kFALSE); // read AliTrackReferences?
		mgr->SetMCtruthEventHandler(mcHandler);
	}
	
	// Create and add the task(s)
	
	// PhysicsSelection
	gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
	
	AliPhysicsSelectionTask* phySelectionTask = AddTaskPhysicsSelection(kSimulation);
	
	// Centrality selection
	if(kHeavyIons)
	{
		gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskCentrality.C");
		AliCentralitySelectionTask *taskCentrality = AddTaskCentrality();
	}
	
	// B2: Proton, Deuteron, Triton, ...
	gROOT->LoadMacro("$ALICE_ROOT/PWGLF/SPECTRA/Nuclei/B2/macros/AddTaskB2.C");
	
	// see TrackCuts.C macro for track selection criteria names
	AliAnalysisTaskB2* proton = AddTaskB2("Proton","ProtonTest.root", "its_tpc_dca_spd", AliLnID::kBayes, kPeriod, kSimulation, kHeavyIons, 1);
	
	AliAnalysisTaskB2* deuteron = AddTaskB2("Deuteron","DeuteronTest.root", "its_tpc_tof_dca", AliLnID::kTPC, kPeriod, kSimulation, kHeavyIons, 0.2);
	
	// Run the analysis
	
	if (mgr->InitAnalysis())
	{
		mgr->PrintStatus();
		mgr->StartAnalysis("local", chain);
	}
	
	timer.Stop();
	timer.Print();
}
 runLocalExample.C:1
 runLocalExample.C:2
 runLocalExample.C:3
 runLocalExample.C:4
 runLocalExample.C:5
 runLocalExample.C:6
 runLocalExample.C:7
 runLocalExample.C:8
 runLocalExample.C:9
 runLocalExample.C:10
 runLocalExample.C:11
 runLocalExample.C:12
 runLocalExample.C:13
 runLocalExample.C:14
 runLocalExample.C:15
 runLocalExample.C:16
 runLocalExample.C:17
 runLocalExample.C:18
 runLocalExample.C:19
 runLocalExample.C:20
 runLocalExample.C:21
 runLocalExample.C:22
 runLocalExample.C:23
 runLocalExample.C:24
 runLocalExample.C:25
 runLocalExample.C:26
 runLocalExample.C:27
 runLocalExample.C:28
 runLocalExample.C:29
 runLocalExample.C:30
 runLocalExample.C:31
 runLocalExample.C:32
 runLocalExample.C:33
 runLocalExample.C:34
 runLocalExample.C:35
 runLocalExample.C:36
 runLocalExample.C:37
 runLocalExample.C:38
 runLocalExample.C:39
 runLocalExample.C:40
 runLocalExample.C:41
 runLocalExample.C:42
 runLocalExample.C:43
 runLocalExample.C:44
 runLocalExample.C:45
 runLocalExample.C:46
 runLocalExample.C:47
 runLocalExample.C:48
 runLocalExample.C:49
 runLocalExample.C:50
 runLocalExample.C:51
 runLocalExample.C:52
 runLocalExample.C:53
 runLocalExample.C:54
 runLocalExample.C:55
 runLocalExample.C:56
 runLocalExample.C:57
 runLocalExample.C:58
 runLocalExample.C:59
 runLocalExample.C:60
 runLocalExample.C:61
 runLocalExample.C:62
 runLocalExample.C:63
 runLocalExample.C:64
 runLocalExample.C:65
 runLocalExample.C:66
 runLocalExample.C:67
 runLocalExample.C:68
 runLocalExample.C:69
 runLocalExample.C:70
 runLocalExample.C:71
 runLocalExample.C:72
 runLocalExample.C:73
 runLocalExample.C:74
 runLocalExample.C:75
 runLocalExample.C:76
 runLocalExample.C:77
 runLocalExample.C:78
 runLocalExample.C:79
 runLocalExample.C:80
 runLocalExample.C:81
 runLocalExample.C:82
 runLocalExample.C:83
 runLocalExample.C:84
 runLocalExample.C:85
 runLocalExample.C:86
 runLocalExample.C:87
 runLocalExample.C:88
 runLocalExample.C:89
 runLocalExample.C:90
 runLocalExample.C:91
 runLocalExample.C:92