// "ESDs/pass2/AOD086/*/AliAOD.root"
// "/alice/data/2010/LHC10h"
class AliAnalysisAlien;
void runGridLambdaOverK0sJets(TString runMode = "full",
TString alirootVer = "vAN-20140708",
TString rootVer = "v5-34-08-6",
TString dataPath = /*"AOD124/* /AliAOD.root"*/"ESDs/pass2/AOD115/*/AliAOD.root",
TString dataDir = /*"/alice/sim/2012/LHC12a17d_fix"*/"/alice/data/2011/LHC11h_2",
TString workDir = "test",
TString name = "LambdaOverK0sRatio",
TString data = "PbPb2011",
Float_t minCen = 0.,
Float_t maxCen = 40.,
Bool_t sepInjec = kFALSE,
Bool_t isMC = kFALSE,
Bool_t usePID = kFALSE,
Bool_t doQA = kTRUE,
Bool_t useEtaCut = kFALSE,
Int_t run = 169838/*137530*//*138624*/){
Printf(" \nThe parameters of the programm are : \n ");
Printf(" \t Analysis mode:\t %s\n \t Centrality:\t %.1lf - %.1lf\n \t Use MC Data?:\t %s\n \t Use PID?:\t %s\n",
"Grid",minCen,maxCen,
(isMC) ? "Yes" : "No",
(usePID) ? "Yes" : "No");
// _____________________________________________________ //
InitAndLoadLibs();
AliAnalysisManager *mgr = new AliAnalysisManager("Manager");
AliAnalysisGrid *alienHandler = CreateAlienHandler(runMode,alirootVer,rootVer,dataPath,dataDir,workDir,isMC,run);
if (!alienHandler) return;
mgr->SetGridHandler(alienHandler);
AliAODInputHandler* aodH = new AliAODInputHandler;
mgr->SetInputEventHandler(aodH);
//PID
gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
AliAnalysisTask *pidTask = AddTaskPIDResponse(isMC);
//AliAnalysisTask *pidTask = AddTaskPIDResponse(isMC,kTRUE);
if(!pidTask) { printf("no PIDtask\n"); return; }
//Float_t checkIDTrig= kTRUE;
// My task
gROOT->LoadMacro("AliAnalysisTaskLambdaOverK0sJets.cxx++g");
//gSystem->Load("libPWGLFSTRANGENESS");
gROOT->LoadMacro("AddTaskLambdaOverK0sJets.C");
AliAnalysisTaskLambdaOverK0sJets *task = AddTaskLambdaOverK0sJets(name,data,minCen,maxCen,sepInjec,isMC,doQA,useEtaCut);
// _____________________________________________________ //
if (!mgr->InitAnalysis()) return;
mgr->PrintStatus();
mgr->StartAnalysis("grid");
}
// ______________________________________________________________
void InitAndLoadLibs() {
gSystem->Load("libCore.so");
gSystem->Load("libTree.so");
gSystem->Load("libGeom.so");
gSystem->Load("libVMC.so");
gSystem->Load("libPhysics");
gSystem->Load("libMinuit.so");
gSystem->Load("libProof.so");
gSystem->Load("libGui.so");
gSystem->Load("libXMLParser.so");
gSystem->Load("libProofPlayer.so");
gSystem->Load("libXMLIO.so");
gSystem->Load("libSTEERBase.so");
gSystem->Load("libESD.so");
gSystem->Load("libAOD.so");
gSystem->Load("libCDB.so");
gSystem->Load("libANALYSIS.so");
gSystem->Load("libANALYSISalice.so");
gSystem->Load("libCORRFW.so");
gSystem->Load("libJETAN.so");
gSystem->Load("libRAWDatabase.so");
gSystem->Load("libSTEER.so");
gSystem->Load("libCORRFW.so");
gSystem->AddIncludePath("-I$ALICE_ROOT/include");
}
// ___________________________________________________________________ //
// **** It is change 'AliAnalysisGrid' by 'AliAnalysisAlien'
AliAnalysisAlien* CreateAlienHandler(TString runMode,TString alirootVer,
TString rootVer,TString dataPath,
TString dataDir,TString workDir,
Bool_t isMC,Int_t kRun) {
AliAnalysisAlien *plugin = new AliAnalysisAlien();
plugin->SetCheckCopy(kFALSE);
plugin->SetRunMode(runMode);
// Set versions of used packages
plugin->SetAPIVersion("V1.1x");
plugin->SetROOTVersion(rootVer);
plugin->SetAliROOTVersion(alirootVer);
/////////////////////////////////////////////////////////////////
// Declare input data to be processed.
// Method 1: Create automatically XML collections using alien 'find' command.
plugin->SetGridDataDir(dataDir);
if (!isMC)
plugin->SetRunPrefix("000");
plugin->SetDataPattern(dataPath);
plugin->AddRunNumber(kRun);
// Method 2: Declare existing data files (raw collections, xml collections, root file)
const char working_dir[250];
sprintf(working_dir, "%s/%d",workDir.Data(),kRun);
TString path = TString(working_dir);
plugin->SetGridWorkingDir(path);
//plugin->SetGridWorkingDir(workDir);
// 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
plugin->SetAnalysisSource("AliAnalysisTaskLambdaOverK0sJets.cxx");
//plugin->SetAdditionalLibs("AliAnalysisTaskMultiplicity.h AliAnalysisTaskMultiplicity.cxx");
plugin->SetAdditionalLibs("AliAnalysisTaskLambdaOverK0sJets.cxx AliAnalysisTaskLambdaOverK0sJets.h");
// Optionally set a name for the generated analysis macro (default MyAnalysis.C)
plugin->SetAnalysisMacro("AnalysisProduction.C");
//plugin->SetAnalysisMacro("mytask.C");
// Optionally set maximum number of input files/subjob (default 100, put 0 to ignore)
plugin->SetSplitMaxInputFileNumber(20);
// Optionally set number of failed jobs that will trigger killing waiting sub-jobs.
plugin->SetMaxInitFailed(12);
// Optionally resubmit threshold.
plugin->SetMasterResubmitThreshold(90);
// Optionally set time to live (default 30000 sec)
plugin->SetTTL(30000);
// Optionally set input format (default xml-single)
plugin->SetInputFormat("xml-single");
// Optionally modify the name of the generated JDL (default analysis.jdl)
plugin->SetJDLName("TaskProduction.jdl");
//plugin->SetJDLName("mytask.jdl");
plugin->SetMergeViaJDL(kTRUE);
// Optionally modify job price (default 1)
plugin->SetPrice(1);
// Optionally modify split mode (default 'se')
plugin->SetSplitMode("se");
return plugin;
}
runGridLambdaOverK0sJets.C:1 runGridLambdaOverK0sJets.C:2 runGridLambdaOverK0sJets.C:3 runGridLambdaOverK0sJets.C:4 runGridLambdaOverK0sJets.C:5 runGridLambdaOverK0sJets.C:6 runGridLambdaOverK0sJets.C:7 runGridLambdaOverK0sJets.C:8 runGridLambdaOverK0sJets.C:9 runGridLambdaOverK0sJets.C:10 runGridLambdaOverK0sJets.C:11 runGridLambdaOverK0sJets.C:12 runGridLambdaOverK0sJets.C:13 runGridLambdaOverK0sJets.C:14 runGridLambdaOverK0sJets.C:15 runGridLambdaOverK0sJets.C:16 runGridLambdaOverK0sJets.C:17 runGridLambdaOverK0sJets.C:18 runGridLambdaOverK0sJets.C:19 runGridLambdaOverK0sJets.C:20 runGridLambdaOverK0sJets.C:21 runGridLambdaOverK0sJets.C:22 runGridLambdaOverK0sJets.C:23 runGridLambdaOverK0sJets.C:24 runGridLambdaOverK0sJets.C:25 runGridLambdaOverK0sJets.C:26 runGridLambdaOverK0sJets.C:27 runGridLambdaOverK0sJets.C:28 runGridLambdaOverK0sJets.C:29 runGridLambdaOverK0sJets.C:30 runGridLambdaOverK0sJets.C:31 runGridLambdaOverK0sJets.C:32 runGridLambdaOverK0sJets.C:33 runGridLambdaOverK0sJets.C:34 runGridLambdaOverK0sJets.C:35 runGridLambdaOverK0sJets.C:36 runGridLambdaOverK0sJets.C:37 runGridLambdaOverK0sJets.C:38 runGridLambdaOverK0sJets.C:39 runGridLambdaOverK0sJets.C:40 runGridLambdaOverK0sJets.C:41 runGridLambdaOverK0sJets.C:42 runGridLambdaOverK0sJets.C:43 runGridLambdaOverK0sJets.C:44 runGridLambdaOverK0sJets.C:45 runGridLambdaOverK0sJets.C:46 runGridLambdaOverK0sJets.C:47 runGridLambdaOverK0sJets.C:48 runGridLambdaOverK0sJets.C:49 runGridLambdaOverK0sJets.C:50 runGridLambdaOverK0sJets.C:51 runGridLambdaOverK0sJets.C:52 runGridLambdaOverK0sJets.C:53 runGridLambdaOverK0sJets.C:54 runGridLambdaOverK0sJets.C:55 runGridLambdaOverK0sJets.C:56 runGridLambdaOverK0sJets.C:57 runGridLambdaOverK0sJets.C:58 runGridLambdaOverK0sJets.C:59 runGridLambdaOverK0sJets.C:60 runGridLambdaOverK0sJets.C:61 runGridLambdaOverK0sJets.C:62 runGridLambdaOverK0sJets.C:63 runGridLambdaOverK0sJets.C:64 runGridLambdaOverK0sJets.C:65 runGridLambdaOverK0sJets.C:66 runGridLambdaOverK0sJets.C:67 runGridLambdaOverK0sJets.C:68 runGridLambdaOverK0sJets.C:69 runGridLambdaOverK0sJets.C:70 runGridLambdaOverK0sJets.C:71 runGridLambdaOverK0sJets.C:72 runGridLambdaOverK0sJets.C:73 runGridLambdaOverK0sJets.C:74 runGridLambdaOverK0sJets.C:75 runGridLambdaOverK0sJets.C:76 runGridLambdaOverK0sJets.C:77 runGridLambdaOverK0sJets.C:78 runGridLambdaOverK0sJets.C:79 runGridLambdaOverK0sJets.C:80 runGridLambdaOverK0sJets.C:81 runGridLambdaOverK0sJets.C:82 runGridLambdaOverK0sJets.C:83 runGridLambdaOverK0sJets.C:84 runGridLambdaOverK0sJets.C:85 runGridLambdaOverK0sJets.C:86 runGridLambdaOverK0sJets.C:87 runGridLambdaOverK0sJets.C:88 runGridLambdaOverK0sJets.C:89 runGridLambdaOverK0sJets.C:90 runGridLambdaOverK0sJets.C:91 runGridLambdaOverK0sJets.C:92 runGridLambdaOverK0sJets.C:93 runGridLambdaOverK0sJets.C:94 runGridLambdaOverK0sJets.C:95 runGridLambdaOverK0sJets.C:96 runGridLambdaOverK0sJets.C:97 runGridLambdaOverK0sJets.C:98 runGridLambdaOverK0sJets.C:99 runGridLambdaOverK0sJets.C:100 runGridLambdaOverK0sJets.C:101 runGridLambdaOverK0sJets.C:102 runGridLambdaOverK0sJets.C:103 runGridLambdaOverK0sJets.C:104 runGridLambdaOverK0sJets.C:105 runGridLambdaOverK0sJets.C:106 runGridLambdaOverK0sJets.C:107 runGridLambdaOverK0sJets.C:108 runGridLambdaOverK0sJets.C:109 runGridLambdaOverK0sJets.C:110 runGridLambdaOverK0sJets.C:111 runGridLambdaOverK0sJets.C:112 runGridLambdaOverK0sJets.C:113 runGridLambdaOverK0sJets.C:114 runGridLambdaOverK0sJets.C:115 runGridLambdaOverK0sJets.C:116 runGridLambdaOverK0sJets.C:117 runGridLambdaOverK0sJets.C:118 runGridLambdaOverK0sJets.C:119 runGridLambdaOverK0sJets.C:120 runGridLambdaOverK0sJets.C:121 runGridLambdaOverK0sJets.C:122 runGridLambdaOverK0sJets.C:123 runGridLambdaOverK0sJets.C:124 runGridLambdaOverK0sJets.C:125 runGridLambdaOverK0sJets.C:126 runGridLambdaOverK0sJets.C:127 runGridLambdaOverK0sJets.C:128 runGridLambdaOverK0sJets.C:129 runGridLambdaOverK0sJets.C:130 runGridLambdaOverK0sJets.C:131 runGridLambdaOverK0sJets.C:132 runGridLambdaOverK0sJets.C:133 runGridLambdaOverK0sJets.C:134 runGridLambdaOverK0sJets.C:135 runGridLambdaOverK0sJets.C:136 runGridLambdaOverK0sJets.C:137 runGridLambdaOverK0sJets.C:138 runGridLambdaOverK0sJets.C:139 runGridLambdaOverK0sJets.C:140 runGridLambdaOverK0sJets.C:141 runGridLambdaOverK0sJets.C:142 runGridLambdaOverK0sJets.C:143 runGridLambdaOverK0sJets.C:144 runGridLambdaOverK0sJets.C:145 runGridLambdaOverK0sJets.C:146 runGridLambdaOverK0sJets.C:147 runGridLambdaOverK0sJets.C:148 runGridLambdaOverK0sJets.C:149 runGridLambdaOverK0sJets.C:150 runGridLambdaOverK0sJets.C:151 runGridLambdaOverK0sJets.C:152 runGridLambdaOverK0sJets.C:153 runGridLambdaOverK0sJets.C:154 runGridLambdaOverK0sJets.C:155 runGridLambdaOverK0sJets.C:156 runGridLambdaOverK0sJets.C:157 runGridLambdaOverK0sJets.C:158 runGridLambdaOverK0sJets.C:159 runGridLambdaOverK0sJets.C:160 runGridLambdaOverK0sJets.C:161 runGridLambdaOverK0sJets.C:162 runGridLambdaOverK0sJets.C:163 runGridLambdaOverK0sJets.C:164 runGridLambdaOverK0sJets.C:165