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