]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/SPECTRA/PiKaPr/TestAOD/runAODProof.C
new set of macros for LMEE-PAG
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TestAOD / runAODProof.C
CommitLineData
624a6bb0 1void runAODProof(Int_t c=1, const char * proofMode = "full")
c88234ad 2{
3
4 gEnv->SetValue("XSec.GSI.DelegProxy", "2");
c88234ad 5
6 gSystem->Load("libTree.so");
7 gSystem->Load("libGeom.so");
8 gSystem->Load("libVMC.so");
9 gSystem->Load("libPhysics.so");
10 gSystem->Load("libSTEERBase.so");
11 gSystem->Load("libESD.so");
12 gSystem->Load("libAOD.so");
13 gSystem->Load("libANALYSIS.so");
14 gSystem->Load("libOADB.so");
15 gSystem->Load("libANALYSISalice.so");
16 gSystem->AddIncludePath("-I$ALICE_ROOT/include");
17
18
19 AliAnalysisAlien * handler = new AliAnalysisAlien("test");
20 handler->SetOverwriteMode();
21 handler->SetRunMode(proofMode);
22 handler->SetProofReset(0);
823864bf 23 //handler->SetROOTVersion("v5-33-02a");
24 //handler->SetAliROOTVersion("v5-03-11-AN");
25 handler->SetAliROOTVersion("v5-03-13-AN");
6522a8cb 26
c88234ad 27 handler->SetProofCluster(Form("%s@alice-caf.cern.ch", gSystem->Getenv("CAFUSER")));
6522a8cb 28 //handler->SetProofCluster(Form("%s@skaf.saske.sk",gSystem->Getenv("CAFUSER")));
29
823864bf 30 // Set handler for Real DATA:
31 if (c == 1)
6522a8cb 32 {
33 handler->SetProofDataSet("/alice/data/LHC10h_000138653_p2_AOD049#aodTree");
34 //handler->SetProofDataSet("/alice/data/LHC10h_000138653_p2_AOD049#aodTree|/alice/data/LHC10h_000138662_p2_AOD049#aodTree|/alice/data/LHC10h_000138666_p2_AOD049#aodTree|/alice/data/LHC10h_000138795_p2_AOD049#aodTree|/alice/data/LHC10h_000139107_p2_AOD049#aodTree|/alice/data/LHC10h_000139110_p2_AOD049#aodTree");
35 }
823864bf 36 if (c == 2)
6522a8cb 37 {
38 handler->SetProofDataSet("/alice/sim/LHC11a10a_000138653_AOD048#aodTree|/alice/sim/LHC11a10a_000138662_AOD048#aodTree|/alice/sim/LHC11a10a_000138666_AOD048#aodTree|/alice/sim/LHC11a10a_000138795_AOD048#aodTree|/alice/sim/LHC11a10a_000139107_AOD048#aodTree|/alice/sim/LHC11a10a_000139110_AOD048#aodTree");
39 }
c88234ad 40 handler->SetNproofWorkersPerSlave(1);
41 handler->SetAliRootMode("default");
42 handler->SetAdditionalLibs("AliSpectraAODHistoManager.cxx AliSpectraAODHistoManager.h AliSpectraAODEventCuts.cxx AliSpectraAODEventCuts.h AliSpectraAODTrackCuts.cxx AliSpectraAODTrackCuts.h AliAnalysisTaskSpectraAOD.cxx AliAnalysisTaskSpectraAOD.h");
43 handler->SetAnalysisSource("AliSpectraAODHistoManager.cxx+ AliSpectraAODEventCuts.cxx+ AliSpectraAODTrackCuts.cxx+ AliAnalysisTaskSpectraAOD.cxx+");
44 handler->SetFileForTestMode("filelist.txt"); // list of local files for testing
c88234ad 45 // handler->SetAliRootMode("");
46 handler->SetClearPackages();
47
48
49 AliAnalysisManager *mgr = new AliAnalysisManager("testAnalysis");
50 mgr->SetGridHandler(handler);
51 AliAODInputHandler* aodH = new AliAODInputHandler();
52 mgr->SetInputEventHandler(aodH);
53
54 gROOT->LoadMacro("AliSpectraAODTrackCuts.cxx+g");
55 gROOT->LoadMacro("AliSpectraAODEventCuts.cxx+g");
56 gROOT->LoadMacro("AliSpectraAODHistoManager.cxx+g");
57 gROOT->LoadMacro("AliAnalysisTaskSpectraAOD.cxx+g");
58
823864bf 59
c88234ad 60 // Add PID task
61 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
823864bf 62 Bool_t isMC = kFALSE;
63 if (c == 2 || c == 3) isMC = kTRUE;
64 AliAnalysisTask * taskPID = AddTaskPIDResponse(isMC);
c88234ad 65 mgr->AddTask(taskPID);
66
823864bf 67 //LOOP OVER SELECTION
68 Double_t CentCutMin[4]={0,0,20,20};
69 Double_t CentCutMax[4]={100,5,40,40};
70 Double_t QvecCutMin[4]={0,0,0,3};
71 Double_t QvecCutMax[4]={100,100,2,100};
624a6bb0 72 // Double_t CentCutMin[4]={5,10,20,30};
73 // Double_t CentCutMax[4]={10,20,30,40};
74 // Double_t QvecCutMin[4]={0,0,0,0};
75 // Double_t QvecCutMax[4]={100,100,100,100};
6522a8cb 76 for(Int_t iCut=1;iCut<2;iCut++){
823864bf 77 AliAnalysisTaskSpectraAOD *task = new AliAnalysisTaskSpectraAOD("TaskAODExercise");
78 mgr->AddTask(task);
79 //physics selection
80 task->SelectCollisionCandidates();
81 // Set the cuts
82 AliSpectraAODEventCuts * vcuts = new AliSpectraAODEventCuts("Event Cuts");
83 AliSpectraAODTrackCuts * tcuts = new AliSpectraAODTrackCuts("Track Cuts");
84 tcuts->SetTrackType(5);
85 tcuts->SetEta(.8);
86 //tcuts->SetDCA(.1);
624a6bb0 87 tcuts->SetPt(5);
823864bf 88 tcuts->SetPtTOFMatching(0.6);
89 tcuts->SetQvecMin(QvecCutMin[iCut]);
90 tcuts->SetQvecMax(QvecCutMax[iCut]);
91 vcuts->SetCentralityCutMax(CentCutMax[iCut]);
92 vcuts->SetCentralityCutMin(CentCutMin[iCut]);
93 task->SetEventCuts(vcuts);
94 task->SetTrackCuts(tcuts);
6522a8cb 95 task->SetNSigmaForIdentification(5.); // FIXME
823864bf 96 task->SetYCut(.5);
97 vcuts->PrintCuts();
98 tcuts->PrintCuts();
99
100 // check for MC or real data
101 if (c == 2 || c == 3)
102 {
103 task->SetIsMC(kTRUE);
104 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
105 AliAnalysisDataContainer *coutputpt1 = mgr->CreateContainer(Form("chistpt%d",iCut), AliSpectraAODHistoManager::Class(), AliAnalysisManager::kOutputContainer,
106 Form("Pt.AOD.1._MC_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCutMin[iCut],CentCutMax[iCut],QvecCutMin[iCut],QvecCutMax[iCut]));
107 AliAnalysisDataContainer *coutputpt2 = mgr->CreateContainer(Form("cvcutpt%d",iCut), AliSpectraAODEventCuts::Class(), AliAnalysisManager::kOutputContainer,
108 Form("Pt.AOD.1._MC_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCutMin[iCut],CentCutMax[iCut],QvecCutMin[iCut],QvecCutMax[iCut]));
109 AliAnalysisDataContainer *coutputpt3 = mgr->CreateContainer(Form("ctcutpt%d",iCut), AliSpectraAODTrackCuts::Class(), AliAnalysisManager::kOutputContainer,
110 Form("Pt.AOD.1._MC_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCutMin[iCut],CentCutMax[iCut],QvecCutMin[iCut],QvecCutMax[iCut]));
111 }
112 if (c == 1)
113 {
114 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
115 AliAnalysisDataContainer *coutputpt1 = mgr->CreateContainer(Form("chistpt%d",iCut), AliSpectraAODHistoManager::Class(), AliAnalysisManager::kOutputContainer,
116 Form("Pt.AOD.1._data_ptcut_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCutMin[iCut],CentCutMax[iCut],QvecCutMin[iCut],QvecCutMax[iCut]));
117 AliAnalysisDataContainer *coutputpt2 = mgr->CreateContainer(Form("cvcutpt%d",iCut), AliSpectraAODEventCuts::Class(), AliAnalysisManager::kOutputContainer,
118 Form("Pt.AOD.1._data_ptcut_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCutMin[iCut],CentCutMax[iCut],QvecCutMin[iCut],QvecCutMax[iCut]));
119 AliAnalysisDataContainer *coutputpt3 = mgr->CreateContainer(Form("ctcutpt%d",iCut), AliSpectraAODTrackCuts::Class(), AliAnalysisManager::kOutputContainer,
120 Form("Pt.AOD.1._data_ptcut_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCutMin[iCut],CentCutMax[iCut],QvecCutMin[iCut],QvecCutMax[iCut]));
121
122 }
123 mgr->ConnectInput(task, 0, cinput);
124 mgr->ConnectOutput(task, 1, coutputpt1);
125 mgr->ConnectOutput(task, 2, coutputpt2);
126 mgr->ConnectOutput(task, 3, coutputpt3);
127 }
c88234ad 128 mgr->SetDebugLevel(2);
823864bf 129
c88234ad 130 if (!mgr->InitAnalysis()) return;
131 mgr->PrintStatus();
823864bf 132 if (c == 3)
133 {
134 mgr->StartAnalysis("local");
135 }
136 if (c != 3)
137 {
138 mgr->StartAnalysis("proof");
139 }
c88234ad 140}