TENDER becomes Tender
[u/mrichter/AliRoot.git] / PWGHF / hfe / macros / test / CreateAlienHandlerpPb.C
1 //Macro to test Analysis Macros on the GRID 
2 //please check settings for output files
3 //for local test use 'test' mode
4
5 AliAnalysisGrid* CreateAlienHandlerpPb(bool isAOD = kFALSE)
6 {
7 // Check if user has a valid token, otherwise make one. This has limitations.
8 // One can always follow the standard procedure of calling alien-token-init then
9 //   source /tmp/gclient_env_$UID in the current shell.
10 //   if (!AliAnalysisGrid::CreateToken()) return NULL;
11    AliAnalysisAlien *plugin = new AliAnalysisAlien();
12    plugin->SetOverwriteMode();
13 // Set the run mode (can be "full", "test", "offline", "submit" or "terminate")
14    plugin->SetRunMode("test");
15 //   plugin->SetRunMode("offline");
16 //   plugin->SetRunMode("full");
17 //   plugin->SetRunMode("terminate");
18    plugin->SetNtestFiles(1);
19 // Set versions of used packages
20
21    plugin->SetAPIVersion("V1.1x");
22    plugin->SetROOTVersion("v5-34-02-1");
23    plugin->SetAliROOTVersion("v5-04-32-AN");
24 // Declare input data to be processed.
25 // Method 1: Create automatically XML collections using alien 'find' command.
26 // Define production directory LFN
27 // On real reconstructed data:
28    plugin->SetGridDataDir("/alice/data/2013/LHC13b");
29 // Set data search pattern
30    if(isAOD)
31       plugin->SetDataPattern("*/pass2/AOD/*/AliAOD.root");
32    else
33       plugin->SetDataPattern("*/pass2/*/AliESDs.root");
34
35 //same for pp MC:
36 //   plugin->SetGridDataDir("/alice/sim/LHC10f6a");
37 //  plugin->SetDataPattern("*/*/AliESDs.root");
38 // Data pattern for reconstructed data
39 //   plugin->SetDataPattern("*AliAOD.root"); //esta linea sirve para pruebas
40
41    plugin->SetRunPrefix("000");   // real data
42
43 // ...then add run numbers to be considered
44 //   plugin->SetRunRange(122374,126437); //sim data
45 //10d
46 // plugin->AddRunNumber(126437); //sim data
47 //11h.pass2
48 plugin->AddRunNumber(195351); 
49 //   plugin->SetOutputSingleFolder("output");
50    plugin->SetOutputToRunNo();
51 // Method 2: Declare existing data files (raw collections, xml collections, root file)
52 // If no path mentioned data is supposed to be in the work directory (see SetGridWorkingDir())
53 // XML collections added via this method can be combined with the first method if
54 // the content is compatible (using or not tags)
55 //   plugin->AddDataFile("tag.xml");
56 //   plugin->AddDataFile("/alice/data/2008/LHC08c/000057657/raw/Run57657.Merged.RAW.tag.root");
57 // Define alien work directory where all files will be copied. Relative to alien $HOME.
58    plugin->SetGridWorkingDir("work");
59 // Declare alien output directory. Relative to working directory.
60    plugin->SetGridOutputDir("output"); // In this case will be $HOME/work/output
61 // Declare the analysis source files names separated by blancs. To be compiled runtime
62 // using ACLiC on the worker nodes.
63 //   plugin->SetAnalysisSource("AliAnalysisHelperJetTasks.cxx AliAnalysisTaskPartonDisc.cxx");
64    plugin->AddIncludePath("-I. .I$ALIEN_ROOT/api/lib -I$ROOTSYS/lib -I$ROOTSYS/include -I$ALICE_ROOT/include -I$ALICE_ROOT/PWGHF/ -I$ALICE_ROOT/PWGHF/hfe/macros -I$ALICE_ROOT/PWGHF/hfe -I$ALICE_ROOT/ANALYSIS -I$ALICE_ROOT/ANALYSIS/Tender -I$ALICE_ROOT/ANALYSIS/TenderSupplies -I$ALICE_ROOT/PWG/ -I$ALICE_ROOT/PWG/FLOW -I$ALICE_ROOT/PWG/Base -I$ALICE_ROOT/PWG/Tasks");
65  //  plugin->SetAdditionalLibs("libGui.so  libXMLParser.so libSTEERBase.so libESD.so libAOD.so libCDB.so libANALYSIS.so libANALYSISalice.so libCORRFW.so  libTender.so libProof.so libRAWDatabase.so libSTEER.so libTOFbase.so libPWGDQdielectron.so");// ConfigLowMassDiE.C")
66    plugin->SetAdditionalLibs("libGui.so  libXMLParser.so libSTEERBase.so libESD.so libAOD.so libCDB.so libANALYSIS.so libANALYSISalice.so libCORRFW.so  libPWGflowBase.so libPWGflowTasks.so libPWGHFhfe.so libTender.so libProof.so libRAWDatabase.so libSTEER.so libTOFbase.so");
67    
68 // Declare all libraries (other than the default ones for the framework. These will be
69 // loaded by the generated analysis macro. Add all extra files (task .cxx/.h) here.
70 //   plugin->SetAdditionalLibs("AliAnalysisHelperJetTasks.h AliAnalysisHelperJetTasks.cxx AliAnalysisTaskPartonDisc.h AliAnalysisTaskPartonDisc.cxx");
71 // Declare the output file names separated by blancs.
72 // (can be like: file.root or file.root@ALICE::Niham::File)
73 //   plugin->SetOutputFiles("Output.root");
74    //plugin->SetDefaultOutputs(); 
75    plugin->SetDefaultOutputs(kFALSE);
76    plugin->SetOutputFiles("AnalysisResults.root"); 
77      //plugin->SetOutputFiles("cbaumann_LMEEpp2010_out.root"); 
78 //   plugin->SetOutputFiles("cbaumann_lowmass_out.root cbaumann_lowmass_CF.root");
79 // Optionally define the files to be archived.
80 //   plugin->SetOutputArchive("log_archive.zip:stdout,stderr@disk=2 root_archive.zip:*.root@disk=2");
81 //   plugin->SetOutputArchive("log_archive.zip:stdout,stderr");
82 // Optionally set a name for the generated analysis macro (default MyAnalysis.C)
83    plugin->SetAnalysisMacro("TPCTOFanalysispPb.C");
84 // Optionally set maximum number of input files/subjob (default 100, put 0 to ignore)
85 //   plugin->SetSplitMaxInputFileNumber(2);
86 // Optionally modify the executable name (default analysis.sh)
87    plugin->SetExecutable("TPCTOFanalysispPb.sh");
88    plugin->SetExecutableCommand("aliroot -b -q");
89 // Optionally set number of failed jobs that will trigger killing waiting sub-jobs.
90 //   plugin->SetMaxInitFailed(5);
91 // Optionally resubmit threshold.
92 //   plugin->SetMasterResubmitThreshold(90);
93 // Optionally set time to live (default 30000 sec)
94    plugin->SetTTL(30000);
95 // Optionally set input format (default xml-single)
96    plugin->SetInputFormat("xml-single");
97 // Optionally modify the name of the generated JDL (default analysis.jdl)
98    plugin->SetJDLName("TPCTOFanalysispPb.jdl");
99 // Optionally modify job price (default 1)
100    plugin->SetPrice(1);      
101 // Optionally modify split mode (default 'se')    
102    plugin->SetSplitMode("se");
103    return plugin;
104 }