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