]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/SPECTRA/PiKaPr/TestAOD/runAODProof_init.C
- New PID interface class, also taking care of QA histos
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TestAOD / runAODProof_init.C
1 void runAODProof(Int_t c, const char * proofMode = "full")
2 {
3
4    gEnv->SetValue("XSec.GSI.DelegProxy", "2");
5
6    gSystem->Load("libMinuit.so");
7    gSystem->Load("libTree.so");
8    gSystem->Load("libGeom.so");
9    gSystem->Load("libVMC.so");
10    gSystem->Load("libPhysics.so");
11    gSystem->Load("libSTEERBase.so");
12    gSystem->Load("libESD.so");
13    gSystem->Load("libAOD.so");
14    gSystem->Load("libANALYSIS.so");
15    gSystem->Load("libOADB.so");
16    gSystem->Load("libANALYSISalice.so");
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);
24    handler->SetAliROOTVersion("v5-02-20-AN");
25
26    //   handler->SetProofCluster(Form("%s@alice-caf.cern.ch", gSystem->Getenv("CAFUSER")));
27    handler->SetProofCluster("alice-caf.cern.ch");
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 }