ROOT logo

AliAnalysisGrid* runWithHandler()
{
	// Check if user has a valid token, otherwise make one. This has limitations.
	if (!AliAnalysisGrid::CreateToken()) return NULL;
	AliAnalysisAlien *plugin = new AliAnalysisAlien();
	// Set the run mode (can be "full", "test", "offline", "submit" or "terminate")
	plugin->SetRunMode("full");
	
	// Set versions of used packages
	plugin->SetAPIVersion("V1.1x");
	plugin->SetROOTVersion("v5-26-00b-2");
	plugin->SetAliROOTVersion("v4-19-10-AN");
	
	// Declare input data to be processed.
	// Method 1: Create automatically XML collections using alien 'find' command.
	// Define production directory LFN
	//plugin->SetGridDataDir("/alice/sim/LHC10a6");
	// On real reconstructed data:
        plugin->SetGridDataDir("/alice/data/2009/LHC09d");
	// Set data search pattern
	//plugin->SetDataPattern("*ESDs.root");
	// Data pattern for reconstructed data
        plugin->SetDataPattern("*ESDs/pass4/*ESDs.root");
	plugin->SetRunPrefix("000");   // real data
	// ...then add run numbers to be considered
	plugin->AddRunNumber(104824);
	// plugin->AddRunNumber(104065);  // real data
	// plugin->SetOutputSingleFolder("output");
	// plugin->SetOutputToRunNo();

	// Method 2: Declare existing data files (raw collections, xml collections, root file)
	// If no path mentioned data is supposed to be in the work directory (see SetGridWorkingDir())
	// XML collections added via this method can be combined with the first method if
	// the content is compatible (using or not tags)
	// plugin->AddDataFile("tag.xml");
	// plugin->AddDataFile("/alice/data/2008/LHC08c/000057657/raw/Run57657.Merged.RAW.tag.root");
	// Define alien work directory where all files will be copied. Relative to alien $HOME.
	plugin->SetGridWorkingDir("TrackletsTask");
	// Declare alien output directory. Relative to working directory.
	plugin->SetGridOutputDir("output"); // In this case will be $HOME/work/output
	// Declare the analysis source files names separated by blancs. To be compiled runtime
	// using ACLiC on the worker nodes.
	plugin->SetAnalysisSource("AliTrackletsTask.cxx");
	// Declare all libraries (other than the default ones for the framework. These will be
	// loaded by the generated analysis macro. Add all extra files (task .cxx/.h) here.
	plugin->SetAdditionalLibs("AliTrackletsTask.h AliTrackletsTask.cxx");
	// Declare the output file names separated by blancs.
	// (can be like: file.root or file.root@ALICE::Niham::File)
	//plugin->SetOutputFiles("Pt.ESD.1.root");
	plugin->SetDefaultOutputs();
	// Optionally define the files to be archived.
	//   plugin->SetOutputArchive("log_archive.zip:stdout,stderr@ALICE::NIHAM::File root_archive.zip:*.root@ALICE::NIHAM::File");
	plugin->SetOutputArchive("log_archive.zip:stdout,stderr");
	// Optionally set a name for the generated analysis macro (default MyAnalysis.C)
	plugin->SetAnalysisMacro("MacroTrackletsTask.C");
	// Optionally set maximum number of input files/subjob (default 100, put 0 to ignore)
	plugin->SetSplitMaxInputFileNumber(50);
	// Optionally modify the executable name (default analysis.sh)
	plugin->SetExecutable("ExecutableTrackletsTask.sh");
	// Optionally set number of failed jobs that will trigger killing waiting sub-jobs.
	//   plugin->SetMaxInitFailed(5);
	// Optionally resubmit threshold.
	//   plugin->SetMasterResubmitThreshold(90);
	// Optionally set time to live (default 30000 sec)
	plugin->SetTTL(28000);
	// Optionally set input format (default xml-single)
	plugin->SetInputFormat("xml-single");
	// Optionally modify the name of the generated JDL (default analysis.jdl)
	plugin->SetJDLName("JdlTrackletsTask.jdl");
	// Optionally modify job price (default 1)
	plugin->SetPrice(1);      
	// Optionally modify split mode (default 'se')    
	plugin->SetSplitMode("se");
	return plugin;
}
 runWithHandler.C:1
 runWithHandler.C:2
 runWithHandler.C:3
 runWithHandler.C:4
 runWithHandler.C:5
 runWithHandler.C:6
 runWithHandler.C:7
 runWithHandler.C:8
 runWithHandler.C:9
 runWithHandler.C:10
 runWithHandler.C:11
 runWithHandler.C:12
 runWithHandler.C:13
 runWithHandler.C:14
 runWithHandler.C:15
 runWithHandler.C:16
 runWithHandler.C:17
 runWithHandler.C:18
 runWithHandler.C:19
 runWithHandler.C:20
 runWithHandler.C:21
 runWithHandler.C:22
 runWithHandler.C:23
 runWithHandler.C:24
 runWithHandler.C:25
 runWithHandler.C:26
 runWithHandler.C:27
 runWithHandler.C:28
 runWithHandler.C:29
 runWithHandler.C:30
 runWithHandler.C:31
 runWithHandler.C:32
 runWithHandler.C:33
 runWithHandler.C:34
 runWithHandler.C:35
 runWithHandler.C:36
 runWithHandler.C:37
 runWithHandler.C:38
 runWithHandler.C:39
 runWithHandler.C:40
 runWithHandler.C:41
 runWithHandler.C:42
 runWithHandler.C:43
 runWithHandler.C:44
 runWithHandler.C:45
 runWithHandler.C:46
 runWithHandler.C:47
 runWithHandler.C:48
 runWithHandler.C:49
 runWithHandler.C:50
 runWithHandler.C:51
 runWithHandler.C:52
 runWithHandler.C:53
 runWithHandler.C:54
 runWithHandler.C:55
 runWithHandler.C:56
 runWithHandler.C:57
 runWithHandler.C:58
 runWithHandler.C:59
 runWithHandler.C:60
 runWithHandler.C:61
 runWithHandler.C:62
 runWithHandler.C:63
 runWithHandler.C:64
 runWithHandler.C:65
 runWithHandler.C:66
 runWithHandler.C:67
 runWithHandler.C:68
 runWithHandler.C:69
 runWithHandler.C:70
 runWithHandler.C:71
 runWithHandler.C:72
 runWithHandler.C:73
 runWithHandler.C:74
 runWithHandler.C:75
 runWithHandler.C:76
 runWithHandler.C:77