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