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