]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/totEt/macros/CreateAlienHandlerCaloEtSim.C
Minor tweaks to get calo jobs running on the grid
[u/mrichter/AliRoot.git] / PWG4 / totEt / macros / CreateAlienHandlerCaloEtSim.C
1 AliAnalysisGrid* CreateAlienHandlerCaloEtSim(TString outputDir, TString outputName, const char * pluginRunMode)
2 {
3   // Check if user has a valid token, otherwise make one. This has limitations.
4   // One can always follow the standard procedure of calling alien-token-init then
5   //   source /tmp/gclient_env_$UID in the current shell.
6   if (!AliAnalysisGrid::CreateToken()) return NULL;
7   AliAnalysisAlien *plugin = new AliAnalysisAlien();
8
9   // Overwrite all generated files, datasets and output results from a previous session
10   plugin->SetOverwriteMode();
11   // Set the run mode (can be "full", "test", "offline", "submit" or "terminate")
12   // plugin->SetRunMode("full");  // VERY IMPORTANT - DECRIBED BELOW
13   // plugin->SetRunMode("test");  // VERY IMPORTANT - DECRIBED BELOW
14   plugin->SetRunMode(pluginRunMode);  // VERY IMPORTANT - DECRIBED BELOW
15   cout<<"Running in "<<pluginRunMode<<" mode"<<endl;
16
17   // Set versions of used packages
18    plugin->SetAPIVersion("V1.1x");
19    plugin->SetROOTVersion("v5-28-00a");
20    plugin->SetAliROOTVersion("v4-21-17b-AN");
21   // Declare input data to be processed.
22
23   // Method 1: Create automatically XML collections using alien 'find' command.
24   // Define production directory LFN
25   //   plugin->SetGridDataDir("/alice/sim/LHC10a18");
26   // Set data search pattern
27   //   plugin->SetDataPattern("*ESDs.root");  // simulated, tags not used
28   //   plugin->SetDataPattern("*ESDs/pass4/*ESDs.root"); // real data check reco pass and data base directory
29   //   plugin->SetRunPrefix("000");   // real data
30   //   plugin->SetDataPattern("*tag.root");  // Use ESD tags (same applies for AOD's)
31   // ...then add run numbers to be considered
32   //   plugin->AddRunNumber(125020);    // simulated
33   //   plugin->AddRunNumber(104065);  // real data
34
35    plugin->SetGridDataDir("/alice/sim/LHC10d4");
36    plugin->SetDataPattern("*ESDs.root");
37    plugin->AddRunNumber("120741");//smallest of the above
38   // Method 2: Declare existing data files (raw collections, xml collections, root file)
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("tag.xml");
43   // plugin->AddDataFile("wn.xml"); // test
44   // file generated with:  find -x tag /alice/sim/LHC10d1/117222/* AliESDs.root > tag.xml
45
46   // Define alien work directory where all files will be copied. Relative to alien $HOME.
47   plugin->SetGridWorkingDir(outputDir.Data());
48   // Declare alien output directory. Relative to working directory.
49   plugin->SetGridOutputDir("output"); // In this case will be $HOME/work/output
50   // Declare the analysis source files names separated by blancs. To be compiled runtime IN THE SAME ORDER THEY ARE LISTED
51   // using ACLiC on the worker nodes.
52   plugin->SetAnalysisSource("AliAnalysisEtCuts.cxx AliAnalysisHadEtCorrections.cxx AliAnalysisEtCommon.cxx AliAnalysisEt.cxx AliAnalysisEtMonteCarlo.cxx AliAnalysisEtMonteCarloPhos.cxx AliAnalysisEtMonteCarloEmcal.cxx AliAnalysisEtReconstructed.cxx AliAnalysisEtReconstructedPhos.cxx AliAnalysisEtReconstructedEmcal.cxx AliAnalysisEtSelectionContainer.cxx AliAnalysisEtSelectionHandler.cxx AliAnalysisTaskTransverseEnergy.cxx AliAnalysisTaskTotEt.cxx");
53   // Declare all libraries (other than the default ones for the framework. These will be
54   // loaded by the generated analysis macro. Add all extra files (task .cxx/.h) here.
55   plugin->SetAdditionalLibs("AliAnalysisEtCuts.h AliAnalysisEt.h AliAnalysisEtMonteCarlo.h AliAnalysisEtMonteCarloPhos.h AliAnalysisEtMonteCarloEmcal.h AliAnalysisEtReconstructed.h AliAnalysisEtReconstructedPhos.h AliAnalysisEtReconstructedEmcal.h AliAnalysisTaskTotEt.h AliAnalysisEtCuts.cxx AliAnalysisEt.cxx AliAnalysisEtMonteCarlo.cxx AliAnalysisEtMonteCarloPhos.cxx AliAnalysisEtMonteCarloEmcal.cxx AliAnalysisEtReconstructed.cxx AliAnalysisEtReconstructedPhos.cxx AliAnalysisEtReconstructedEmcal.cxx AliAnalysisTaskTotEt.cxx  AliAnalysisEtCommon.cxx  AliAnalysisEtCommon.h AliAnalysisHadEtCorrections.h AliAnalysisHadEtCorrections.cxx AliAnalysisEtSelectionContainer.h AliAnalysisEtSelectionHandler.h AliAnalysisTaskTransverseEnergy.h AliAnalysisEtSelectionContainer.cxx AliAnalysisEtSelectionHandler.cxx AliAnalysisTaskTransverseEnergy.cxx ConfigEtMonteCarlo.C ConfigEtReconstructed.C physicsSelections.root corrections.root");
56   plugin->SetExecutableCommand("aliroot -b -q");
57   // add extra include files/path
58   plugin->AddIncludePath("-I. -I$ALICE_ROOT/EMCAL -I$ALICE_ROOT/ANALYSIS");
59
60   // No need for output file names. Procedure is automatic. <-- not true
61   plugin->SetDefaultOutputs(kFALSE);
62   //plugin->SetOutputFiles(outputName.Data());
63   plugin->SetOutputFiles("Et.ESD.sim.EMCAL.root event_stat.root");
64   // No need define the files to be archived. Note that this is handled automatically by the plugin.
65   //   plugin->SetOutputArchive("log_archive.zip:stdout,stderr");
66   // Set a name for the generated analysis macro (default MyAnalysis.C) Make this unique !
67   plugin->SetAnalysisMacro("DavidEtAnalysis.C");
68   // Optionally set maximum number of input files/subjob (default 100, put 0 to ignore). The optimum for an analysis
69   // is correlated with the run time - count few hours TTL per job, not minutes !
70   plugin->SetSplitMaxInputFileNumber(100);
71   // Optionally set number of failed jobs that will trigger killing waiting sub-jobs.
72   plugin->SetMaxInitFailed(5);
73   // Optionally resubmit threshold.
74   plugin->SetMasterResubmitThreshold(90);
75   // Optionally set time to live (default 30000 sec)
76   plugin->SetTTL(20000);
77   // Optionally set input format (default xml-single)
78   plugin->SetInputFormat("xml-single");
79   // Optionally modify the name of the generated JDL (default analysis.jdl)
80   plugin->SetJDLName("TaskEt.jdl");
81   // Optionally modify job price (default 1)
82   plugin->SetPrice(1); 
83   // Optionally modify split mode (default 'se')    
84   plugin->SetSplitMode("se");
85
86   return plugin;
87