]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/SPECTRA/PiKaPr/TestAOD/runAODProof_init.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TestAOD / runAODProof_init.C
CommitLineData
c88234ad 1void runAODProof(Int_t c, const char * proofMode = "full")
2{
3
4 gEnv->SetValue("XSec.GSI.DelegProxy", "2");
5
4070f709 6 gSystem->Load("libMinuit");
7 gSystem->Load("libTree");
8 gSystem->Load("libGeom");
9 gSystem->Load("libVMC");
10 gSystem->Load("libPhysics");
11 gSystem->Load("libSTEERBase");
12 gSystem->Load("libESD");
13 gSystem->Load("libAOD");
14 gSystem->Load("libANALYSIS");
15 gSystem->Load("libOADB");
16 gSystem->Load("libANALYSISalice");
c88234ad 17 gSystem->AddIncludePath("-I$ALICE_ROOT/include");
18
19
20 AliAnalysisAlien * handler = new AliAnalysisAlien("test");
21 handler->SetOverwriteMode();
22 handler->SetRunMode(proofMode);
23 handler->SetProofReset(0);
e8b0fe64 24 handler->SetAliROOTVersion("v5-02-20-AN");
c88234ad 25
e8b0fe64 26 // handler->SetProofCluster(Form("%s@alice-caf.cern.ch", gSystem->Getenv("CAFUSER")));
27 handler->SetProofCluster("alice-caf.cern.ch");
c88234ad 28// handler->SetProofCluster(Form("%s@skaf.saske.sk",gSystem->Getenv("CAFUSER")));
29
30 // Set handler for Real DATA:
31 if (c == 1)
32 {
33 handler->SetProofDataSet("/alice/data/LHC10h_000138653_p2_AOD049#aodTree");
34 // handler->SetProofDataSet("/alice/sim/LHC11a10a_000139107_AOD048#aodTree|alice/sim/LHC11a10a_000138653_AOD048#aodTree");
35 }
36 if (c == 2)
37 {
38 handler->SetProofDataSet("/alice/sim/LHC11a10a_000139107_AOD048#aodTree|/alice/sim/LHC11a10a_000138653_AOD048#aodTree|/alice/sim/LHC11a10a_000139110_AOD048#aodTree|/alice/sim/LHC11a10a_000138662_AOD048#aodTree|/alice/sim/LHC11a10a_000138666_AOD048#aodTree|/alice/sim/LHC11a10a_000138795_AOD048#aodTree");
39 }
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
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
59
60 // Add PID task
61 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
62 Bool_t isMC = kFALSE;
63 if (c == 2 || c == 3) isMC = kTRUE;
64 AliAnalysisTask * taskPID = AddTaskPIDResponse(isMC);
65 mgr->AddTask(taskPID);
66
67
68 AliAnalysisTaskSpectraAOD *task = new AliAnalysisTaskSpectraAOD("TaskAODExercise");
69 mgr->AddTask(task);
70
71 // Set the cuts
72 AliSpectraAODEventCuts * vcuts = new AliSpectraAODEventCuts("Event Cuts");
73 AliSpectraAODTrackCuts * tcuts = new AliSpectraAODTrackCuts("Track Cuts");
74 tcuts->SetTrackType(6);
75 tcuts->SetEta(.8);
76 // tcuts->SetDCA(.1);
77 tcuts->SetPt(1.2);
78 vcuts->SetCentralityCutMax(5.); // example min max cuts
79 vcuts->SetCentralityCutMin(0.);
80 task->SetEventCuts(vcuts);
81 task->SetTrackCuts(tcuts);
82 task->SetNSigmaForIdentification(3.); // FIXME
83 task->SetYCut(.5);
84 // check for MC or real data
85 if (c == 2 || c == 3)
86 {
87 task->SetIsMC(kTRUE);
88
89
90 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
91 AliAnalysisDataContainer *coutputpt1 = mgr->CreateContainer("chistpt", AliSpectraAODHistoManager::Class(), AliAnalysisManager::kOutputContainer, "Pt.AOD.1._MC.root");
92 AliAnalysisDataContainer *coutputpt2 = mgr->CreateContainer("cvcutpt", AliSpectraAODEventCuts::Class(), AliAnalysisManager::kOutputContainer, "Pt.AOD.1._MC.root");
93 AliAnalysisDataContainer *coutputpt3 = mgr->CreateContainer("ctcutpt", AliSpectraAODTrackCuts::Class(), AliAnalysisManager::kOutputContainer, "Pt.AOD.1._MC.root");
94 }
95 if (c == 1)
96 {
97 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
98 AliAnalysisDataContainer *coutputpt1 = mgr->CreateContainer("chistpt", AliSpectraAODHistoManager::Class(), AliAnalysisManager::kOutputContainer, "Pt.AOD.1._data_ptcut.root");
99 AliAnalysisDataContainer *coutputpt2 = mgr->CreateContainer("cvcutpt", AliSpectraAODEventCuts::Class(), AliAnalysisManager::kOutputContainer, "Pt.AOD.1._data_ptcut.root");
100 AliAnalysisDataContainer *coutputpt3 = mgr->CreateContainer("ctcutpt", AliSpectraAODTrackCuts::Class(), AliAnalysisManager::kOutputContainer, "Pt.AOD.1._data_ptcut.root");
101
102 }
103 mgr->ConnectInput(task, 0, cinput);
104 mgr->ConnectOutput(task, 1, coutputpt1);
105 mgr->ConnectOutput(task, 2, coutputpt2);
106 mgr->ConnectOutput(task, 3, coutputpt3);
107 mgr->SetDebugLevel(2);
108
109 if (!mgr->InitAnalysis()) return;
110 mgr->PrintStatus();
111 if (c == 3)
112 {
113 mgr->StartAnalysis("local");
114 }
115 if (c != 3)
116 {
117 mgr->StartAnalysis("proof");
118 }
119}