]>
Commit | Line | Data |
---|---|---|
624a6bb0 | 1 | void 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 | } |