1 class AliAnalysisManager;
2 class AliAnalysisAlien;
4 void runGrid(TString mode="test",Bool_t mc=0,Int_t day=19,Int_t month=7, Int_t year=2012)
6 //to be used with Aliroot > v5-03-32-AN
7 AliLog::SetGlobalDebugLevel(100);
8 // Load common libraries
9 gEnv->SetValue("XSec.GSI.DelegProxy", "2");
11 // Load common libraries
12 gSystem->Load("libCore");
13 gSystem->Load("libTree");
14 gSystem->Load("libGeom");
15 gSystem->Load("libVMC");
16 gSystem->Load("libPhysics");
17 gSystem->Load("libMinuit");
18 gSystem->Load("libGui");
19 gSystem->Load("libXMLParser");
20 gSystem->Load("libSTEERBase");
21 gSystem->Load("libESD");
22 gSystem->Load("libCDB");
23 gSystem->Load("libAOD");
24 gSystem->Load("libANALYSIS");
25 gSystem->Load("libANALYSISalice");
26 gSystem->Load("libCORRFW");
27 gSystem->Load("libProof");
28 gSystem->Load("libRAWDatabase");
29 gSystem->Load("libSTEER");
30 //__________________________________________________________________________
31 // Use AliRoot includes to compile our task
32 gROOT->ProcessLine(".include $ALICE_ROOT/include");
33 gSystem->Load("libPWGLFspectra");
35 // Create and configure the alien handler plugin
36 AliAnalysisGrid *alienHandler = CreateAlienHandler(mode,mc,day,month,year);
37 if (!alienHandler) return;
38 // Create the analysis manager
39 AliAnalysisManager *mgr = new AliAnalysisManager("testAnalysis");
40 // Connect plug-in to the analysis manager
41 mgr->SetGridHandler(alienHandler);
42 AliAODInputHandler* aodH = new AliAODInputHandler();
43 mgr->SetInputEventHandler(aodH);
46 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
47 AliAnalysisTaskPIDResponse *taskPID=AddTaskPIDResponse(mc);
48 // Printf("OADB PATH:::::%s",taskPID->GetOADBPath());
49 // taskPID->SetOADBPath("alien:///alice/cern.ch/user/a/akalweit/ForLeornado/OADB");
50 // Printf("OADB PATH:::::%s",taskPID->GetOADBPath());
52 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskVZEROEPSelection.C");
53 AliVZEROEPSelectionTask *selTask = AddTaskVZEROEPSelection();
55 gROOT->LoadMacro("$ALICE_ROOT/PWGLF/SPECTRA/PiKaPr/TestAOD/AddTaskSpectraAOD.C");
57 // 0 1 2 3 4 5 6 7 8 9
58 Double_t Nsigmapid=3.;
62 Double_t ptTofMatch=.6;
64 UInt_t trkbitQVector=1;
65 Bool_t UseCentPatchAOD049=kFALSE;
72 for(Int_t icut=0;icut<1;icut++){
73 //if(icut!=0)continue;
75 AliAnalysisTaskSpectraAOD *taskAOD =AddTaskSpectraAOD(mc,centcut,centcut+1,0,100,-0.8,0.8,Nsigmapid,pt,p,y,ptTofMatch,trkbit,trkbitQVector,UseCentPatchAOD049,DCA,minNclsTPC,nrebin,opt);
76 taskAOD->GetOutputSlot(1)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(1)->GetContainer()->GetName(),taskAOD->GetName()));
77 taskAOD->GetOutputSlot(2)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(2)->GetContainer()->GetName(),taskAOD->GetName()));
78 taskAOD->GetOutputSlot(3)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(3)->GetContainer()->GetName(),taskAOD->GetName()));
79 taskAOD->GetOutputSlot(4)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(4)->GetContainer()->GetName(),taskAOD->GetName()));
80 //taskAOD->GetEventCuts()->SetMultiplicityCut(250,450);
81 taskAOD->GetEventCuts()->PrintCuts();
83 AliAnalysisTaskSpectraAOD *taskAOD =AddTaskSpectraAOD(mc,centcut,centcut+1,0,0.4,-0.8,0.8,Nsigmapid,pt,p,y,ptTofMatch,trkbit,trkbitQVector,UseCentPatchAOD049,DCA,minNclsTPC,nrebin,opt);
84 taskAOD->GetOutputSlot(1)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(1)->GetContainer()->GetName(),taskAOD->GetName()));
85 taskAOD->GetOutputSlot(2)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(2)->GetContainer()->GetName(),taskAOD->GetName()));
86 taskAOD->GetOutputSlot(3)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(3)->GetContainer()->GetName(),taskAOD->GetName()));
87 taskAOD->GetOutputSlot(4)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(4)->GetContainer()->GetName(),taskAOD->GetName()));
88 //taskAOD->GetEventCuts()->SetMultiplicityCut(250,450);
89 taskAOD->GetEventCuts()->PrintCuts();
90 taskAOD->GetEventCuts()->SetCentFromV0(kTRUE);
92 AliAnalysisTaskSpectraAOD *taskAOD =AddTaskSpectraAOD(mc,centcut,centcut+1,1.7,100,-0.8,0.8,Nsigmapid,pt,p,y,ptTofMatch,trkbit,trkbitQVector,UseCentPatchAOD049,DCA,minNclsTPC,nrebin,opt);
93 taskAOD->GetOutputSlot(1)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(1)->GetContainer()->GetName(),taskAOD->GetName()));
94 taskAOD->GetOutputSlot(2)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(2)->GetContainer()->GetName(),taskAOD->GetName()));
95 taskAOD->GetOutputSlot(3)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(3)->GetContainer()->GetName(),taskAOD->GetName()));
96 taskAOD->GetOutputSlot(4)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(4)->GetContainer()->GetName(),taskAOD->GetName()));
97 //taskAOD->GetEventCuts()->SetMultiplicityCut(250,450);
98 taskAOD->GetEventCuts()->PrintCuts();
103 mgr->SetDebugLevel(2);
106 if (!mgr->InitAnalysis())return;
108 // Start analysis in grid.
109 mgr->StartAnalysis("grid");
113 AliAnalysisGrid* CreateAlienHandler(TString mode="test",Bool_t mc=1,Int_t day=0,Int_t month=0, Int_t year=2012)
115 AliAnalysisAlien *plugin = new AliAnalysisAlien();
116 plugin->AddIncludePath("-I. -I$ROOTSYS/include -I$ALICE_ROOT/include -I$ALICE_ROOT/TOF");
117 plugin->SetAdditionalLibs("libPWGLFspectra.so");
118 // gROOT->LoadMacro("AliSpectraAODTrackCuts.cxx+g");
119 // gROOT->LoadMacro("AliSpectraAODEventCuts.cxx+g");
120 // gROOT->LoadMacro("AliSpectraAODHistoManager.cxx+g");
121 // gROOT->LoadMacro("AliSpectraAODPID.cxx+g");
122 // gROOT->LoadMacro("AliAnalysisTaskSpectraAOD.cxx+g");
124 //plugin->SetAnalysisSource("AliSpectraAODTrackCuts.cxx AliSpectraAODEventCuts.cxx AliSpectraAODHistoManager.cxx AliSpectraAODPID.cxx AliAnalysisTaskSpectraAOD.cxx");
125 //plugin->SetAdditionalLibs("Histograms.h HistogramNames.h HistogramNames.cxx AliSpectraAODTrackCuts.cxx AliSpectraAODEventCuts.cxx AliSpectraAODHistoManager.cxx AliSpectraAODPID.cxx AliAnalysisTaskSpectraAOD.cxx AliSpectraAODTrackCuts.h AliSpectraAODEventCuts.h AliSpectraAODHistoManager.h AliSpectraAODPID.h AliAnalysisTaskSpectraAOD.h");
127 plugin->SetOverwriteMode();
128 plugin->SetExecutableCommand("aliroot -q -b");
129 plugin->SetRunMode(mode.Data());
130 plugin->SetNtestFiles(1);
131 //Set versions of used packages
132 plugin->SetAPIVersion("V1.1x");
133 plugin->SetROOTVersion("v5-33-02b");
134 plugin->SetAliROOTVersion("v5-03-35-AN");
135 // Declare input data to be processed.
138 // plugin->SetGridDataDir("/alice/sim/LHC11a10a_bis");
139 // plugin->SetDataPattern("AOD090/*AliAOD.root");
140 // plugin->SetRunPrefix("");
141 // plugin->SetAnalysisMacro("TaskAODPbPbMC.C");
142 // plugin->SetExecutable("TaskAODPbPbMC.sh");
143 // plugin->SetJDLName("TaskAODPbPbMC.jdl");
144 // //plugin->SetSplitMaxInputFileNumber(500);
145 // plugin->SetGridWorkingDir(Form("/AODPbPb%d%d%d/mc/",day,month,year));
147 plugin->SetGridDataDir(" /alice/sim/2012/LHC12a11e/");
148 plugin->SetDataPattern("AOD081/*AliAOD.root");
149 plugin->SetRunPrefix("");
150 plugin->SetAnalysisMacro("TaskAODPbPbMC.C");
151 plugin->SetExecutable("TaskAODPbPbMC.sh");
152 plugin->SetJDLName("TaskAODPbPbMC.jdl");
153 //plugin->SetSplitMaxInputFileNumber(200);
154 plugin->SetGridWorkingDir(Form("/AODPbPb%d%d%d/mcAMPTNoPhysSel_RangeXLarger/",day,month,year));
158 plugin->SetGridDataDir("/alice/data/2010/LHC10h");
159 plugin->SetDataPattern("ESDs/pass2/AOD086/*AliAOD.root");
160 plugin->SetRunPrefix("000");
161 plugin->SetAnalysisMacro("TaskAODPbPbdata.C");
162 plugin->SetExecutable("TaskAODPbPbdata.sh");
163 plugin->SetJDLName("TaskAODPbPbdata.jdl");
164 //plugin->SetSplitMaxInputFileNumber(500);
165 plugin->SetGridWorkingDir(Form("/AODPbPb%d%d%d/dataFinalPlot3040/",day,month,year));
167 FILE* listruns=fopen("RunListGrid-AOD086.txt","r");
169 while(!feof(listruns))
171 fscanf(listruns,"%d\n",&irun);
172 plugin->AddRunNumber(irun);
174 // plugin->AddRunNumber(139437);
175 // plugin->AddRunNumber(139038);
176 // plugin->AddRunNumber(138653);
177 // plugin->AddRunNumber(138534);
178 // plugin->AddRunNumber(137686);
180 // Declare alien output directory. Relative to working directory.
181 plugin->SetGridOutputDir("output"); // In this case will be $HOME/work/output
182 //plugin->SetGridOutputDir("/alice/cern.ch/user/l/lmilano/AODPbPb472012/data/output/000/");
183 plugin->SetNrunsPerMaster(24); //
185 // Declare the output file names separated by blancs.
186 // (can be like: file.root or file.root@ALICE::Niham::File)
187 //plugin->SetDefaultOutputs(0);
188 //plugin->SetOutputFiles("AnalysisResults.root.root");
189 plugin->SetMergeViaJDL(1);
190 plugin->SetOneStageMerging(kFALSE);
191 plugin->SetMaxMergeStages(2);
192 //plugin->SetMaxMergeFiles(100);
193 plugin->SetTTL(100000);
194 // Optionally set input format (default xml-single)
195 plugin->SetInputFormat("xml-single");
196 // Optionally modify job price (default 1)
198 // Optionally modify split mode (default 'se')
199 //plugin->SetSplitMaxInputFileNumber();
200 plugin->SetSplitMode("se");