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