AliAnalysisGrid* CreateAnalysisPlugin(TString analysisMode="full")
{
AliAnalysisAlien *plugin = new AliAnalysisAlien();
// Overwrite all generated files, datasets and output results from a previous session
plugin->SetOverwriteMode();
// Set the run mode (can be "full", "test", "offline", "submit" or "terminate")
plugin->SetRunMode(TString (analysisMode.Data()));
// Set versions of used packages
plugin->SetAPIVersion("V1.1x");
plugin->SetROOTVersion("v5-28-00f");
plugin->SetAliROOTVersion("v4-21-33-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");
//* plugin->SetGridDataDir("/alice/data/2010/LHC10b");
// Set data search pattern
// plugin->SetDataPattern("*ESDs.root"); // simulated, tags not used
//* plugin->SetDataPattern("*ESDs/pass2/*ESDs.root"); // real data check reco pass and data base directory
//* plugin->SetRunPrefix("000"); // real data
// plugin->SetDataPattern("*tag.root"); // Use ESD tags (same applies for AOD's)
// ...then add run numbers to be considered
// plugin->AddRunNumber(125020); // simulated
//for ESDs
plugin->SetGridDataDir("/alice/data/2011/LHC11a");
plugin->SetDataPattern("*ESDs/pass1/*ESDs.root");
plugin->SetRunPrefix("000");
//ESDs sim
// plugin->SetGridDataDir("/alice/sim/LHC10f9b");
//plugin->SetDataPattern("*ESDs.root");
//for AODs
// plugin->SetGridDataDir("/alice/data/2010/LHC10c");
// plugin->SetRunPrefix("000"); // real data
//plugin->SetDataPattern("*ESDs/pass2_recovery_900GeV/AOD017/*AOD.root");
//sim AODs
// plugin->SetGridDataDir("/alice/sim/LHC10d4a");
//plugin->SetDataPattern("*AOD012/*AOD.root");
// TString runs ="120824:120823:120822:120821:120820:120758:120750:120741:120671:120617:120616:120505:120504:120503:120244:120079:120076:120073:120072:120069:120067:119862:119859:119856:119853:119849:119846:119845:119844:119842:119841:119163:119161:119159:119086:119085:119084:119079:119077:119067:119061:119047:119041:119037"; // dont forget last two runs
//TString runs ="120829:120825";
// TString runs="118506:118507:118512:118518:118556:118558:118560:118561";
TString runs ="146801";
TObjArray* array = runs.Tokenize ( ":" );
TObjString *str;
TString strr,strr2_1,strr2_2;
for ( Int_t i = 0;i < array->GetEntriesFast();i++ ) {
str = ( TObjString * ) array->At ( i );
strr = str->GetString();
if ( !strr.IsNull() ) {
plugin->AddRunNumber(strr.Atoi());
}
}
// 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("146801");
// 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("AliAnalysisTaskEfficiency.cxx");
// plugin->SetAdditionalRootLibs("CORRFW PWG2resonances");
// plugin->SetAdditionalRootLibs("PWG2resonances");
// plugin->SetAdditionalRootLibs("PWG2resonances");
//
plugin->SetAdditionalLibs("AliAnalysisTaskEfficiency.h AliAnalysisTaskEfficiency.cxx");
// plugin->EnablePackage("PWG2resonances");
// plugin->EnablePackage("");
// plugin->EnablePackage("");
// 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.
// No need for output file names. Procedure is automatic.
// plugin->SetOutputFiles("Pt.ESD.1.root");
// plugin->SetDefaultOutputs();
// No need define the files to be archived. Note that this is handled automatically by the plugin.
// plugin->SetOutputArchive("log_archive.zip:stdout,stderr");
// Set a name for the generated analysis macro (default MyAnalysis.C) Make this unique !
plugin->SetAnalysisMacro("AnalysisTest.C");
// Optionally set maximum number of input files/subjob (default 100, put 0 to ignore). The optimum for an analysis
// is correlated with the run time - count few hours TTL per job, not minutes !
plugin->SetSplitMaxInputFileNumber(100);
// 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(20000);
// Optionally set input format (default xml-single)
plugin->SetInputFormat("xml-single");
// Optionally modify the name of the generated JDL (default analysis.jdl)
plugin->SetJDLName("TaskRsn.jdl");
// Optionally modify job price (default 1)
plugin->SetPrice(1);
// Optionally modify split mode (default 'se')
plugin->SetSplitMode("se");
//++++++++++++++++ PROOF ++++++++++++++++
// Proof cluster
plugin->SetProofCluster("alice-caf");
//plugin->SetProofCluster("skaf.saske.sk");
// plugin->SetProofCluster("skaf-test.saske.sk");
// Dataset to be used
// plugin->SetProofDataSet("/alice/sim/LHC10a12_104316#esdTree");
// plugin->SetProofDataSet("/alice/sim/LHC10a12_104157#esdTree");
// plugin->SetProofDataSet("ds.txt");
plugin->SetProofDataSet("g4g.txt");
// May need to reset proof. Supported modes: 0-no reset, 1-soft, 2-hard
plugin->SetProofReset(0);
// May limit the number of workers per slave. If used with SetNproofWorkers, SetParallel(nproofworkers) will be called after connection
//plugin->SetNproofWorkersPerSlave(1);
// May request connection to alien upon connection to grid
// plugin->SetProofConnectGrid(kTRUE);
// plugin->SetNproofWorkers(51);
// May use a specific version of root installed in proof
// plugin->SetRootVersionForProof("current");
// May set the aliroot mode. Check http://aaf.cern.ch/node/83
plugin->SetAliRootMode("default"); // Loads AF libs by default
// May request ClearPackages (individual ClearPackage not supported)
plugin->SetClearPackages(kFALSE);
// Plugin test mode works only providing a file containing test file locations
// plugin->SetFileForTestMode("AOD.txt");
plugin->SetFileForTestMode("test.txt");
//++++++++++++++ end PROOF ++++++++++++++++
return plugin;
}
CreateAnalysisPlugin.C:10 CreateAnalysisPlugin.C:11 CreateAnalysisPlugin.C:12 CreateAnalysisPlugin.C:13 CreateAnalysisPlugin.C:14 CreateAnalysisPlugin.C:15 CreateAnalysisPlugin.C:16 CreateAnalysisPlugin.C:17 CreateAnalysisPlugin.C:18 CreateAnalysisPlugin.C:19 CreateAnalysisPlugin.C:20 CreateAnalysisPlugin.C:21 CreateAnalysisPlugin.C:22 CreateAnalysisPlugin.C:23 CreateAnalysisPlugin.C:24 CreateAnalysisPlugin.C:25 CreateAnalysisPlugin.C:26 CreateAnalysisPlugin.C:27 CreateAnalysisPlugin.C:28 CreateAnalysisPlugin.C:29 CreateAnalysisPlugin.C:30 CreateAnalysisPlugin.C:31 CreateAnalysisPlugin.C:32 CreateAnalysisPlugin.C:33 CreateAnalysisPlugin.C:34 CreateAnalysisPlugin.C:35 CreateAnalysisPlugin.C:36 CreateAnalysisPlugin.C:37 CreateAnalysisPlugin.C:38 CreateAnalysisPlugin.C:39 CreateAnalysisPlugin.C:40 CreateAnalysisPlugin.C:41 CreateAnalysisPlugin.C:42 CreateAnalysisPlugin.C:43 CreateAnalysisPlugin.C:44 CreateAnalysisPlugin.C:45 CreateAnalysisPlugin.C:46 CreateAnalysisPlugin.C:47 CreateAnalysisPlugin.C:48 CreateAnalysisPlugin.C:49 CreateAnalysisPlugin.C:50 CreateAnalysisPlugin.C:51 CreateAnalysisPlugin.C:52 CreateAnalysisPlugin.C:53 CreateAnalysisPlugin.C:54 CreateAnalysisPlugin.C:55 CreateAnalysisPlugin.C:56 CreateAnalysisPlugin.C:57 CreateAnalysisPlugin.C:58 CreateAnalysisPlugin.C:59 CreateAnalysisPlugin.C:60 CreateAnalysisPlugin.C:61 CreateAnalysisPlugin.C:62 CreateAnalysisPlugin.C:63 CreateAnalysisPlugin.C:64 CreateAnalysisPlugin.C:65 CreateAnalysisPlugin.C:66 CreateAnalysisPlugin.C:67 CreateAnalysisPlugin.C:68 CreateAnalysisPlugin.C:69 CreateAnalysisPlugin.C:70 CreateAnalysisPlugin.C:71 CreateAnalysisPlugin.C:72 CreateAnalysisPlugin.C:73 CreateAnalysisPlugin.C:74 CreateAnalysisPlugin.C:75 CreateAnalysisPlugin.C:76 CreateAnalysisPlugin.C:77 CreateAnalysisPlugin.C:78 CreateAnalysisPlugin.C:79 CreateAnalysisPlugin.C:80 CreateAnalysisPlugin.C:81 CreateAnalysisPlugin.C:82 CreateAnalysisPlugin.C:83 CreateAnalysisPlugin.C:84 CreateAnalysisPlugin.C:85 CreateAnalysisPlugin.C:86 CreateAnalysisPlugin.C:87 CreateAnalysisPlugin.C:88 CreateAnalysisPlugin.C:89 CreateAnalysisPlugin.C:90 CreateAnalysisPlugin.C:91 CreateAnalysisPlugin.C:92 CreateAnalysisPlugin.C:93 CreateAnalysisPlugin.C:94 CreateAnalysisPlugin.C:95 CreateAnalysisPlugin.C:96 CreateAnalysisPlugin.C:97 CreateAnalysisPlugin.C:98 CreateAnalysisPlugin.C:99 CreateAnalysisPlugin.C:100 CreateAnalysisPlugin.C:101 CreateAnalysisPlugin.C:102 CreateAnalysisPlugin.C:103 CreateAnalysisPlugin.C:104 CreateAnalysisPlugin.C:105 CreateAnalysisPlugin.C:106 CreateAnalysisPlugin.C:107 CreateAnalysisPlugin.C:108 CreateAnalysisPlugin.C:109 CreateAnalysisPlugin.C:110 CreateAnalysisPlugin.C:111 CreateAnalysisPlugin.C:112 CreateAnalysisPlugin.C:113 CreateAnalysisPlugin.C:114 CreateAnalysisPlugin.C:115 CreateAnalysisPlugin.C:116 CreateAnalysisPlugin.C:117 CreateAnalysisPlugin.C:118 CreateAnalysisPlugin.C:119 CreateAnalysisPlugin.C:120 CreateAnalysisPlugin.C:121 CreateAnalysisPlugin.C:122 CreateAnalysisPlugin.C:123 CreateAnalysisPlugin.C:124 CreateAnalysisPlugin.C:125 CreateAnalysisPlugin.C:126 CreateAnalysisPlugin.C:127 CreateAnalysisPlugin.C:128 CreateAnalysisPlugin.C:129 CreateAnalysisPlugin.C:130 CreateAnalysisPlugin.C:131 CreateAnalysisPlugin.C:132 CreateAnalysisPlugin.C:133 CreateAnalysisPlugin.C:134 CreateAnalysisPlugin.C:135 CreateAnalysisPlugin.C:136 CreateAnalysisPlugin.C:137 CreateAnalysisPlugin.C:138 CreateAnalysisPlugin.C:139 CreateAnalysisPlugin.C:140 CreateAnalysisPlugin.C:141 CreateAnalysisPlugin.C:142 CreateAnalysisPlugin.C:143 CreateAnalysisPlugin.C:144 CreateAnalysisPlugin.C:145 CreateAnalysisPlugin.C:146