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