TENDER becomes Tender, removing .so
[u/mrichter/AliRoot.git] / PWGCF / FLOW / macros / CreateAlienHandler.C
CommitLineData
20717aa6 1AliAnalysisGrid* CreateAlienHandler(Bool_t bUseParFiles=kFALSE) {
9cc5e012 2 // Check if user has a valid token, otherwise make one. This has limitations.
3 // One can always follow the standard procedure of calling alien-token-init
4 // then source /tmp/gclient_env_$UID in the current shell.
9cc5e012 5 AliAnalysisAlien *plugin = new AliAnalysisAlien();
61e0c8c0 6
9cc5e012 7 // Set the run mode (can be "full", "test", "offline", "submit" or "terminate")
a02a1889 8 //plugin->SetRunMode("test");
9 //plugin->SetRunMode("offline");
10 //plugin->SetRunMode("submit");
11 plugin->SetRunMode("full");
12 //plugin->SetRunMode("terminate");
32b846cd 13 plugin->SetNtestFiles(3); // Relevant only for run mode "test"
61e0c8c0 14
9cc5e012 15 // Set versions of used packages
16 plugin->SetAPIVersion("V1.1x");
8544d490 17 plugin->SetROOTVersion("v5-27-06b");
bdd1ed02 18 plugin->SetAliROOTVersion("v4-21-13-AN");
5c09ff70 19
61e0c8c0 20 // Declare input data to be processed - can be done in two ways:
21 // METHOD 1: Create automatically XML collections using alien 'find' command.
22 // ============================================================================
23 // Example 1: MC production (set in macro runFlowTask.C: DATA = kFALSE)
8544d490 24 //plugin->SetGridDataDir("/alice/sim/LHC10d4");
25 //plugin->SetDataPattern("*AliESDs.root"); // The default data pattern, other may be "*tag.root", "*ESD.tag.root", etc
26 //plugin->AddRunNumber(119844); // Alternatively use e.g. plugin->SetRunRange(105044,106044); to add more runs in one go
27 //plugin->SetOutputToRunNo();
61e0c8c0 28 // ============================================================================
29 // Example 2: Real data (set in macro runFlowTask.C: DATA = kTRUE, MCEP = kFALSE)
8544d490 30 plugin->SetGridDataDir("/alice/data/2010/LHC10h");
32b846cd 31 plugin->SetDataPattern("*ESDs/pass1_5plus/*ESDs.root");
8544d490 32 plugin->SetRunPrefix("000"); // IMPORTANT!
32b846cd 33 plugin->AddRunNumber(137161);
5c09ff70 34 // plugin->AddRunNumber(119844); // Alternatively use e.g. plugin->SetRunRange(104044,106044); to add more runs in one go
8544d490 35 plugin->SetOutputToRunNo();
61e0c8c0 36 // ============================================================================
37
38 // METHOD 2: Declare existing data files (raw collections, xml collections, root file)
9cc5e012 39 // If no path mentioned data is supposed to be in the work directory (see SetGridWorkingDir())
40 // XML collections added via this method can be combined with the first method if
41 // the content is compatible (using or not tags)
42 //plugin->AddDataFile("hijingWithoutFlow10000Evts.xml");
43 // plugin->AddDataFile("/alice/data/2008/LHC08c/000057657/raw/Run57657.Merged.RAW.tag.root");
44 // Define alien work directory where all files will be copied. Relative to alien $HOME.
a02a1889 45 plugin->SetGridWorkingDir("data");
9cc5e012 46 // Declare alien output directory. Relative to working directory.
32b846cd 47 plugin->SetGridOutputDir("output1_5plus"); // In this case will be $HOME/work/output
9cc5e012 48 // Declare the analysis source files names separated by blancs. To be compiled runtime
49 // using ACLiC on the worker nodes:
50 // ... (if this is needed see in official tutorial example how to do it!)
51
52 // Declare all libraries (other than the default ones for the framework. These will be
53 // loaded by the generated analysis macro. Add all extra files (task .cxx/.h) here.
230b7aff 54 //plugin->SetAdditionalLibs("libCORRFW libTOFbase libTOFrec");
5c09ff70 55 if(!bUseParFiles)
56 {
230b7aff 57 plugin->SetAdditionalLibs("libGui libProof libMinuit libXMLParser "
58 "libRAWDatabase libRAWDatarec libCDB libSTEERBase "
59 "libSTEER libTPCbase libTOFbase libTOFrec "
60 "libTRDbase libVZERObase libVZEROrec libT0base "
61 "libT0rec libTender libTenderSupplies "
62 "libPWGflowBase libPWGflowTasks");
32b846cd 63 }
64 else // load libs via par files
65 {
230b7aff 66 plugin->SetAdditionalLibs("libGui libProof libMinuit libXMLParser "
67 "libRAWDatabase libRAWDatarec libCDB libSTEERBase "
68 "libSTEER libTPCbase libTOFbase libTOFrec "
69 "libTRDbase libVZERObase libVZEROrec libT0base "
70 "libT0rec libTender libTenderSupplies");
2e311896 71 plugin->EnablePackage("PWGflowBase.par");
72 plugin->EnablePackage("PWGflowTasks.par");
32b846cd 73 }
a02a1889 74 // Do not specify your outputs by hand anymore:
75 plugin->SetDefaultOutputs(kTRUE);
76 // To specify your outputs by hand set plugin->SetDefaultOutputs(kFALSE); and comment in line plugin->SetOutputFiles("...");
77 // and plugin->SetOutputArchive("..."); bellow.
9cc5e012 78 // Declare the output file names separated by blancs.
79 // (can be like: file.root or file.root@ALICE::Niham::File)
a02a1889 80 // plugin->SetOutputFiles("AnalysisResults.root");
9cc5e012 81 // Optionally define the files to be archived.
a02a1889 82 // plugin->SetOutputArchive("log_archive.zip:stdout,stderr@ALICE::NIHAM::File root_archive.zip:*.root@ALICE::NIHAM::File");
83 // plugin->SetOutputArchive("log_archive.zip:stdout,stderr");
84 // plugin->SetOutputArchive("log_archive.zip:");
9cc5e012 85 // Optionally set a name for the generated analysis macro (default MyAnalysis.C)
86 plugin->SetAnalysisMacro("flowAnalysis.C");
87 // Optionally set maximum number of input files/subjob (default 100, put 0 to ignore)
88 plugin->SetSplitMaxInputFileNumber(100);
a02a1889 89 // Optionally set number of runs per masterjob:
90 plugin->SetNrunsPerMaster(1);
91 // Optionally set overwrite mode. Will trigger overwriting input data colections AND existing output files:
92 plugin->SetOverwriteMode(kTRUE);
9cc5e012 93 // Optionally set number of failed jobs that will trigger killing waiting sub-jobs.
94 plugin->SetMaxInitFailed(5);
95 // Optionally resubmit threshold.
96 plugin->SetMasterResubmitThreshold(90);
97 // Optionally set time to live (default 30000 sec)
5c09ff70 98 plugin->SetTTL(100000);
9cc5e012 99 // Optionally set input format (default xml-single)
100 plugin->SetInputFormat("xml-single");
101 // Optionally modify the name of the generated JDL (default analysis.jdl)
102 plugin->SetJDLName("flowAnalysis.jdl");
103 // Optionally modify job price (default 1)
104 plugin->SetPrice(1);
105 // Optionally modify split mode (default 'se')
106 plugin->SetSplitMode("se");
107
108 return plugin;
109}