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