]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/RESONANCES/macros/train/PluginByRunProof.C
Migration of PWG2/RESONANCES -> PWGLF/RESONANCES
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / macros / train / PluginByRunProof.C
1 // ======================================
2 // ===== ALIEN PLUGIN CONFIGURATION =====
3 // ======================================
4 //
5 // This macro configures an AliEn plugin in order to launch a job
6 // which runs a task from the resonance package on a list of runs
7 // which are processed separately.
8 //
9 // All the possible configuration parameters are arguments
10 // of the macro function, even if most of them have default
11 // values which the user will rarely change.
12 //
13 // The macro tries to synchronize some output names, using
14 // a unique name ('analysisName') to define all files that
15 // describe the output, the analysis macros/executables/JDL.
16 //
17 // Since the run mode can be more variable than the config
18 // it is not set here, but it is required in the run macro
19 // which uses the plugin.
20 //
21 // Considered that the arguments are many, they are explained
22 // inside the list of arguments in the macro definition.
23 // In ALL cases where a list of strings must be provided, its
24 // elements must be separated by a blank character.
25 //
26 AliAnalysisAlien* PluginByRunProof
27 (
28    // all parameters which could often be customized
29    // are placed at the beginning of the macro, while
30    // all others can stay there with their default values:
31    // -- analysisName   --> common name used for naming all analysis related files
32    // -- dataset        --> dataset to be processed
33    // -- testFile       --> used for test mode only
34    // -- clusterName    --> PROOF cluster to be used
35    const char *dataSet,
36    const char *testFile,
37    const char *clusterName,
38    
39    // -- proofReset     --> require or not the PROOF reset
40    // -- alirootMode    --> the way AliROOT library are loaded
41    // -- clearPack      --> to clear or not the PAR libraries
42    Bool_t      proofReset  = kFALSE,
43    const char *alirootMode = "default",
44    Bool_t      clearPack   = kFALSE,
45
46    // standard package versions
47    const char *rootVersion    = "v5-28-00a",
48    const char *aliVersion     = "v4-21-17a-AN"
49 )
50 {
51    // create plugin object
52    // with specifications which apply to a run-by-run execution
53    // this creates by default also the job structure for merging
54    AliAnalysisAlien *plugin = new AliAnalysisAlien;
55
56    // package versions
57    plugin->SetROOTVersion(rootVersion);
58    plugin->SetAliROOTVersion(aliVersion);
59
60    // additional libraries/includes
61    //plugin->SetAdditionalLibs("libTENDER.so TENDERSupplies.par libEventMixing.so libPWG2resonances.so");
62    plugin->SetAdditionalLibs("libEventMixing.so PWG2resonances.par");
63    
64    // PROOF-specific settings
65    plugin->SetProofCluster(clusterName);
66    plugin->SetProofDataSet(dataSet);
67    plugin->SetProofReset(proofReset);
68    plugin->SetProofConnectGrid(kTRUE);
69    plugin->SetAliRootMode(alirootMode);
70    plugin->SetClearPackages(clearPack);
71    plugin->SetFileForTestMode(testFile);
72
73    // the end!
74    return plugin;
75 }