1 class AliAnalysisManager;
2 class AliAnalysisAlien;
4 void runGrid(TString mode="test",Bool_t mc=1,Int_t day=15,Int_t month=6, 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.so");
13 gSystem->Load("libTree.so");
14 gSystem->Load("libGeom.so");
15 gSystem->Load("libVMC.so");
16 gSystem->Load("libPhysics.so");
17 gSystem->Load("libMinuit.so");
18 gSystem->Load("libGui.so");
19 gSystem->Load("libXMLParser.so");
20 gSystem->Load("libSTEERBase.so");
21 gSystem->Load("libESD.so");
22 gSystem->Load("libCDB.so");
23 gSystem->Load("libAOD");
24 gSystem->Load("libANALYSIS");
25 gSystem->Load("libANALYSISalice");
26 gSystem->Load("libCORRFW");
27 gSystem->Load("libProof.so");
28 gSystem->Load("libRAWDatabase.so");
29 gSystem->Load("libSTEER.so");
30 //__________________________________________________________________________
31 // Use AliRoot includes to compile our task
32 gROOT->ProcessLine(".include $ALICE_ROOT/include");
33 gSystem->Load("libPWGLFspectra.so");
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 CentCutMin[4]= { 0, 30, 30, 30};
59 Double_t CentCutMax[4]= { 5, 40, 40, 40};
60 Double_t QvecCutMin[4]={ 0, 0, 0, 1.5};
61 Double_t QvecCutMax[4]={ 100, 100, 0.4, 100};
62 Double_t EtaMin[4]={ -0.8,-0.8,-0.8,-0.8};
63 Double_t EtaMax[4]={ 0.8, 0.8, 0.8, 0.8};
64 Double_t Nsigmapid=3.;
68 Double_t ptTofMatch=.6;
70 UInt_t trkbitQVector=1;
71 Bool_t UseCentPatchAOD049=kFALSE;
77 for(Int_t icut=0;icut<4;icut++){
78 //if(icut!=0)continue;
79 AliAnalysisTaskSpectraAOD *taskAOD =AddTaskSpectraAOD(mc,CentCutMin[icut],CentCutMax[icut],QvecCutMin[icut],QvecCutMax[icut],EtaMin[icut],EtaMax[icut],Nsigmapid,pt,p,y,ptTofMatch,trkbit,trkbitQVector,UseCentPatchAOD049,DCA,minNclsTPC,nrebin,opt);
80 taskAOD->GetOutputSlot(1)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(1)->GetContainer()->GetName(),taskAOD->GetName()));
81 taskAOD->GetOutputSlot(2)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(2)->GetContainer()->GetName(),taskAOD->GetName()));
82 taskAOD->GetOutputSlot(3)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(3)->GetContainer()->GetName(),taskAOD->GetName()));
83 taskAOD->GetOutputSlot(4)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(4)->GetContainer()->GetName(),taskAOD->GetName()));
85 // __R_ADDTASK__->GetOutputSlot(1)->GetContainer()->SetName(Form("%s_%s",__R_ADDTASK__->GetOutputSlot(1)->GetContainer()->GetName(),__R_ADDTASK__->GetName()));
86 // __R_ADDTASK__->GetOutputSlot(2)->GetContainer()->SetName(Form("%s_%s",__R_ADDTASK__->GetOutputSlot(2)->GetContainer()->GetName(),__R_ADDTASK__->GetName()));
87 // __R_ADDTASK__->GetOutputSlot(3)->GetContainer()->SetName(Form("%s_%s",__R_ADDTASK__->GetOutputSlot(3)->GetContainer()->GetName(),__R_ADDTASK__->GetName()));
88 // __R_ADDTASK__->GetOutputSlot(4)->GetContainer()->SetName(Form("%s_%s",__R_ADDTASK__->GetOutputSlot(4)->GetContainer()->GetName(),__R_ADDTASK__->GetName()));
90 // taskAOD->GetEventCuts()->SetMultiplicityCut(800,2000);
91 // taskAOD->GetEventCuts()->SetVertexCut(-8,10);
94 mgr->SetDebugLevel(2);
97 if (!mgr->InitAnalysis())return;
99 // Start analysis in grid.
100 mgr->StartAnalysis("grid");
104 AliAnalysisGrid* CreateAlienHandler(TString mode="test",Bool_t mc=1,Int_t day=0,Int_t month=0, Int_t year=2012)
106 AliAnalysisAlien *plugin = new AliAnalysisAlien();
107 plugin->AddIncludePath("-I. -I$ROOTSYS/include -I$ALICE_ROOT/include -I$ALICE_ROOT/TOF -I$ALICE_ROOT/PWGLF");
108 plugin->SetAdditionalLibs("libPWGLFspectra.so");
109 plugin->SetOverwriteMode();
110 plugin->SetExecutableCommand("aliroot -q -b");
111 plugin->SetRunMode(mode.Data());
112 plugin->SetNtestFiles(1);
113 //Set versions of used packages
114 plugin->SetAPIVersion("V1.1x");
115 plugin->SetROOTVersion("v5-33-02b");
116 plugin->SetAliROOTVersion("v5-03-32-AN");
117 // Declare input data to be processed.
120 plugin->SetGridDataDir("/alice/sim/LHC11a10a_bis");
121 plugin->SetDataPattern("AOD090/*AliAOD.root");
122 plugin->SetRunPrefix("");
123 plugin->SetAnalysisMacro("TaskAODPbPbMC.C");
124 plugin->SetExecutable("TaskAODPbPbMC.sh");
125 plugin->SetJDLName("TaskAODPbPbMC.jdl");
126 //plugin->SetSplitMaxInputFileNumber(500);
127 plugin->SetGridWorkingDir(Form("/AODPbPb%d%d%d/mc/",day,month,year));
131 plugin->SetGridDataDir("/alice/data/2010/LHC10h");
132 plugin->SetDataPattern("ESDs/pass2/AOD086/*AliAOD.root");
133 plugin->SetRunPrefix("000");
134 plugin->SetAnalysisMacro("TaskAODPbPbdata.C");
135 plugin->SetExecutable("TaskAODPbPbdata.sh");
136 plugin->SetJDLName("TaskAODPbPbdata.jdl");
137 //plugin->SetSplitMaxInputFileNumber(500);
138 plugin->SetGridWorkingDir(Form("/AODPbPb%d%d%d/data/",day,month,year));
140 FILE* listruns=fopen("RunListGrid-AOD086.txt","r");
142 while(!feof(listruns))
144 fscanf(listruns,"%d\n",&irun);
145 plugin->AddRunNumber(irun);
147 // Declare alien output directory. Relative to working directory.
148 plugin->SetGridOutputDir("output"); // In this case will be $HOME/work/output
149 //plugin->SetNrunsPerMaster(3); //
151 // Declare the output file names separated by blancs.
152 // (can be like: file.root or file.root@ALICE::Niham::File)
153 //plugin->SetDefaultOutputs(0);
154 //plugin->SetOutputFiles("AnalysisResults.root.root");
155 plugin->SetMergeViaJDL(kTRUE);
156 plugin->SetOneStageMerging(kFALSE);
157 plugin->SetMaxMergeStages(2);
159 plugin->SetTTL(100000);
160 // Optionally set input format (default xml-single)
161 plugin->SetInputFormat("xml-single");
162 // Optionally modify job price (default 1)
164 // Optionally modify split mode (default 'se')
165 //plugin->SetSplitMaxInputFileNumber();
166 plugin->SetSplitMode("se");