]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/STRANGENESS/Correlations/macros/runGridLambdaOverK0sJets.C
declaring fData as integer and moving all containers to the AnalysisResults.root...
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / Correlations / macros / runGridLambdaOverK0sJets.C
1 class AliAnalysisAlien;\r
2 \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
10                               Int_t    data       = 2010,\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
22   \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
28   \r
29   // _____________________________________________________ //\r
30   \r
31   InitAndLoadLibs();\r
32   \r
33   AliAnalysisManager *mgr = new AliAnalysisManager("Manager");\r
34   \r
35   AliAnalysisGrid *alienHandler = CreateAlienHandler(runMode,alirootVer,rootVer,dataPath,dataDir,workDir,isMC,run);  \r
36   if (!alienHandler) return;\r
37   mgr->SetGridHandler(alienHandler);\r
38     \r
39   AliAODInputHandler* aodH = new AliAODInputHandler;\r
40   mgr->SetInputEventHandler(aodH);\r
41   \r
42   //PID\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
47  \r
48   Float_t checkIDTrig= kTRUE;\r
49 \r
50   // My task\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
56  \r
57    if (!mgr->InitAnalysis()) return;\r
58    mgr->PrintStatus();\r
59    \r
60    mgr->StartAnalysis("grid");\r
61 }\r
62 \r
63 // ______________________________________________________________\r
64 \r
65 void InitAndLoadLibs() {\r
66   \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
78 \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
90 \r
91    \r
92     gSystem->AddIncludePath("-I$ALICE_ROOT/include");\r
93 }\r
94 \r
95 // ___________________________________________________________________ //\r
96 \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
102   \r
103   AliAnalysisAlien *plugin = new AliAnalysisAlien();\r
104   plugin->SetCheckCopy(kFALSE);\r
105 \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
111   \r
112   /////////////////////////////////////////////////////////////////\r
113 \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
117   \r
118   if (!isMC) \r
119     plugin->SetRunPrefix("000");\r
120   plugin->SetDataPattern(dataPath);\r
121     \r
122   plugin->AddRunNumber(kRun);\r
123 \r
124   // Method 2: Declare existing data files (raw collections, xml collections, root file)\r
125   const char working_dir[250];\r
126 \r
127   sprintf(working_dir, "%s/%d",workDir.Data(),kRun);\r
128   TString path = TString(working_dir);\r
129   plugin->SetGridWorkingDir(path);\r
130 \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
159   return plugin;\r
160 \r
161 }\r