]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/SPECTRA/PiKaPr/TestAOD/runAODProof.C
- update on AOD analysis
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TestAOD / runAODProof.C
CommitLineData
ae0fdd7d 1void runAODProof(Int_t c=1, const char * proofMode = "full")
ed06106e 2{ //1 data AOD049
3 //2 MC AOD048
4 //3 data AOD086
5 //4 MC AOD090
6
0e268798 7 // gEnv->SetValue("XSec.GSI.DelegProxy", "2");
ed06106e 8
9 gSystem->Load("libTree.so");
0e268798 10 gSystem->Load("libGeom.so");
ae0fdd7d 11 gSystem->Load("libVMC.so");
12 gSystem->Load("libPhysics.so");
13 gSystem->Load("libSTEERBase.so");
14 gSystem->Load("libESD.so");
15 gSystem->Load("libAOD.so");
16 gSystem->Load("libANALYSIS.so");
17 gSystem->Load("libOADB.so");
18 gSystem->Load("libANALYSISalice.so");
19 gSystem->AddIncludePath("-I$ALICE_ROOT/include");
c88234ad 20
ae0fdd7d 21 AliAnalysisAlien * handler = new AliAnalysisAlien("test");
22 handler->SetOverwriteMode();
23 handler->SetRunMode(proofMode);
24 handler->SetProofReset(0);
25 //handler->SetROOTVersion("v5-33-02a");
26 //handler->SetAliROOTVersion("v5-03-11-AN");
27 handler->SetAliROOTVersion("v5-04-25-AN");
6522a8cb 28
ae0fdd7d 29 handler->SetNproofWorkers(54);
30 //handler->SetNproofWorkersPerSlave(4);
31 handler->SetProofCluster(Form("%s@alice-caf.cern.ch", gSystem->Getenv("CAFUSER")));
32 //handler->SetProofCluster(Form("%s@skaf.saske.sk",gSystem->Getenv("CAFUSER")));
33 // Set handler for Real DATA:
34 if (c == 1){
35 //handler->SetProofDataSet("/alice/data/LHC10h_000138653_p2_AOD049#aodTree");
36 //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");
37 handler->SetProofDataSet("/default/lmilano/LHC10h_000138653_AOD049_p2#aodTree|/default/lmilano/LHC10h_000138662_AOD049_p2#aodTree|/default/lmilano/LHC10h_000138666_AOD049_p2#aodTree|/default/lmilano/LHC10h_000138730_AOD049_p2#aodTree|/default/lmilano/LHC10h_000138732_AOD049_p2#aodTree|/default/lmilano/LHC10h_000139507_AOD049_p2#aodTree|/default/lmilano/LHC10h_000139465_AOD049_p2#aodTree|/default/lmilano/LHC10h_000139437_AOD049_p2#aodTree|/default/lmilano/LHC10h_000139107_AOD049_p2#aodTree|/default/lmilano/LHC10h_000139510_AOD049_p2#aodTree");
38 }
39 if (c == 2){
40 //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");
41 handler->SetProofDataSet("/default/lmilano/LHC11a10a_138653_AOD048#aodTree|/default/lmilano/LHC11a10a_138662_AOD048#aodTree|/default/lmilano/LHC11a10a_138666_AOD048#aodTree|/default/lmilano/LHC11a10a_138730_AOD048#aodTree|/default/lmilano/LHC11a10a_138732_AOD048#aodTree|/default/lmilano/LHC11a10a_139507_AOD048#aodTree|/default/lmilano/LHC11a10a_139465_AOD048#aodTree|/default/lmilano/LHC11a10a_139437_AOD048#aodTree|/default/lmilano/LHC11a10a_139107_AOD048#aodTree|/default/lmilano/LHC11a10a_139510_AOD048#aodTree");
42 }
43 if (c == 3){
44 handler->SetProofDataSet("/default/lmilano/LHC10h_000138653_AOD086_p2#aodTree|/default/lmilano/LHC10h_000138662_AOD086_p2#aodTree|/default/lmilano/LHC10h_000138666_AOD086_p2#aodTree|/default/lmilano/LHC10h_000139107_AOD086_p2#aodTree|/default/lmilano/LHC10h_000138275_AOD086_p2#aodTree");
45 // handler->SetProofDataSet("/default/lmilano/LHC10h_000138275_AOD086_p2#aodTree");
46 }
47 if (c == 4){
48 handler->SetProofDataSet("/default/lmilano/LHC11a10a_bis_138653_AOD090#aodTree|/default/lmilano/LHC11a10a_bis_138662_AOD090#aodTree|/default/lmilano/LHC11a10a_bis_138666_AOD090#aodTree|/default/lmilano/LHC11a10a_bis_139107_AOD090#aodTree|/default/lmilano/LHC11a10a_bis_138653_AOD090#aodTree");
49 // handler->SetProofDataSet("/default/lmilano/LHC11a10a_bis_138653_AOD090#aodTree");
50 }
ed06106e 51
ae0fdd7d 52 gROOT->LoadMacro("AliSpectraAODTrackCuts.cxx+g");
53 gROOT->LoadMacro("AliSpectraAODEventCuts.cxx+g");
54 gROOT->LoadMacro("AliSpectraAODHistoManager.cxx+g");
55 gROOT->LoadMacro("AliSpectraAODPID.cxx+g");
56 gROOT->LoadMacro("AliAnalysisTaskSpectraAOD.cxx+g");
0e268798 57
ae0fdd7d 58 handler->SetAliRootMode("default");
59 handler->SetAdditionalLibs("AliSpectraAODHistoManager.cxx AliSpectraAODHistoManager.h AliSpectraAODPID.cxx AliSpectraAODPID.h AliSpectraAODTrackCuts.cxx AliSpectraAODTrackCuts.h AliSpectraAODEventCuts.cxx AliSpectraAODEventCuts.h AliAnalysisTaskSpectraAOD.cxx AliAnalysisTaskSpectraAOD.h");
60 handler->SetAnalysisSource("Histograms.h HistogramNames.h AliSpectraAODHistoManager.cxx+ AliSpectraAODTrackCuts.cxx+ AliSpectraAODEventCuts.cxx+ AliSpectraAODPID.cxx+ AliAnalysisTaskSpectraAOD.cxx+");
61 // handler->SetFileForTestMode("filelist.txt"); // list of local files for testing
62 // handler->SetAliRootMode("");
63 handler->SetClearPackages();
ed06106e 64
ae0fdd7d 65 AliAnalysisManager *mgr = new AliAnalysisManager("testAnalysis");
66 mgr->SetGridHandler(handler);
67 AliAODInputHandler* aodH = new AliAODInputHandler();
68 mgr->SetInputEventHandler(aodH);
ed06106e 69
ae0fdd7d 70 // Add PID task
71 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
72 Bool_t isMC = kFALSE;
73 if (c == 2 || c == 4) isMC = kTRUE;
74 AliAnalysisTask * taskPID = AddTaskPIDResponse(isMC);
75 mgr->AddTask(taskPID);
ed06106e 76
ae0fdd7d 77 //LOOP OVER SELECTION
78 Double_t CentCutMin[4]={0,0,20,20};
79 Double_t CentCutMax[4]={100,5,40,40};
80 Double_t QvecCutMin[4]={0,0,0,3};
81 Double_t QvecCutMax[4]={100,100,2,100};
82 // Double_t CentCutMin[4]={5,10,20,30};
83 // Double_t CentCutMax[4]={10,20,30,40};
84 // Double_t QvecCutMin[4]={0,0,0,0};
85 // Double_t QvecCutMax[4]={100,100,100,100};
86 using namespace AliSpectraNameSpace;
87 AliSpectraAODPID *pid = new AliSpectraAODPID(kNSigmaTPCTOF);
88 pid->SetNSigmaCut(3.);
97b01bb0 89
ae0fdd7d 90 for(Int_t iCut=1;iCut<2;iCut++){
91 AliAnalysisTaskSpectraAOD *task = new AliAnalysisTaskSpectraAOD("TaskAODExercise");
92 mgr->AddTask(task);
93 //physics selection
94 task->SelectCollisionCandidates();
95 // set pid object
96 task->SetPID(pid);
97 // Set the cuts
98 AliSpectraAODEventCuts * vcuts = new AliSpectraAODEventCuts("Event Cuts");
99 AliSpectraAODTrackCuts * tcuts = new AliSpectraAODTrackCuts("Track Cuts");
100 if(c==1 || c==2)tcuts->SetTrackType(5); //AOD 046 & 047. Standard Cut with loose DCA
101 //if(c==1 || c==2)tcuts->SetTrackType(6); //AOD 046 & 047. Standard Cut with tight DCA
102 if(c==3 || c==4)tcuts->SetTrackType(10); //AOD 086 & 090. Standard Raa cut
103 //if(c==3 || c==4)tcuts->SetTrackType(8); //AOD 086 & 090. TPC only
104 //if(c==3 || c==4)tcuts->SetTrackType(2); //AOD 086 & 090. ITS strong
105 tcuts->SetEta(.8);
106 //tcuts->SetDCA(.1);
107 tcuts->SetPt(5);
108 tcuts->SetY(.5);
109 tcuts->SetPtTOFMatching(.6);
110 tcuts->SetQvecMin(QvecCutMin[iCut]);
111 tcuts->SetQvecMax(QvecCutMax[iCut]);
112 vcuts->SetCentralityCutMax(CentCutMax[iCut]);
113 vcuts->SetCentralityCutMin(CentCutMin[iCut]);
114 task->SetEventCuts(vcuts);
115 task->SetTrackCuts(tcuts);
116 vcuts->PrintCuts();
117 tcuts->PrintCuts();
823864bf 118
ae0fdd7d 119 // check for MC or real data
120 if (c == 2 || c == 4)
121 {
122 task->SetIsMC(kTRUE);
123 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
124 AliAnalysisDataContainer *coutputpt1 = mgr->CreateContainer(Form("chistpt%d",iCut), AliSpectraAODHistoManager::Class(), AliAnalysisManager::kOutputContainer,
125 Form("Pt.AOD.1._MC_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCutMin[iCut],CentCutMax[iCut],QvecCutMin[iCut],QvecCutMax[iCut]));
126 AliAnalysisDataContainer *coutputpt2 = mgr->CreateContainer(Form("cvcutpt%d",iCut), AliSpectraAODEventCuts::Class(), AliAnalysisManager::kOutputContainer,
127 Form("Pt.AOD.1._MC_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCutMin[iCut],CentCutMax[iCut],QvecCutMin[iCut],QvecCutMax[iCut]));
128 AliAnalysisDataContainer *coutputpt3 = mgr->CreateContainer(Form("ctcutpt%d",iCut), AliSpectraAODTrackCuts::Class(), AliAnalysisManager::kOutputContainer,
129 Form("Pt.AOD.1._MC_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCutMin[iCut],CentCutMax[iCut],QvecCutMin[iCut],QvecCutMax[iCut]));
130 AliAnalysisDataContainer *coutputpt4 = mgr->CreateContainer(Form("cpidpt%d",iCut), AliSpectraAODPID::Class(), AliAnalysisManager::kOutputContainer,
131 Form("Pt.AOD.1._MC_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCutMin[iCut],CentCutMax[iCut],QvecCutMin[iCut],QvecCutMax[iCut]));
132 }
133 if (c == 1 || c==3)
134 {
135 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
136 AliAnalysisDataContainer *coutputpt1 = mgr->CreateContainer(Form("chistpt%d",iCut), AliSpectraAODHistoManager::Class(), AliAnalysisManager::kOutputContainer,
137 Form("Pt.AOD.1._data_ptcut_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCutMin[iCut],CentCutMax[iCut],QvecCutMin[iCut],QvecCutMax[iCut]));
138 AliAnalysisDataContainer *coutputpt2 = mgr->CreateContainer(Form("cvcutpt%d",iCut), AliSpectraAODEventCuts::Class(), AliAnalysisManager::kOutputContainer,
139 Form("Pt.AOD.1._data_ptcut_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCutMin[iCut],CentCutMax[iCut],QvecCutMin[iCut],QvecCutMax[iCut]));
140 AliAnalysisDataContainer *coutputpt3 = mgr->CreateContainer(Form("ctcutpt%d",iCut), AliSpectraAODTrackCuts::Class(), AliAnalysisManager::kOutputContainer,
141 Form("Pt.AOD.1._data_ptcut_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCutMin[iCut],CentCutMax[iCut],QvecCutMin[iCut],QvecCutMax[iCut]));
142 AliAnalysisDataContainer *coutputpt4 = mgr->CreateContainer(Form("cpidpt%d",iCut), AliSpectraAODPID::Class(), AliAnalysisManager::kOutputContainer,
143 Form("Pt.AOD.1._data_ptcut_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCutMin[iCut],CentCutMax[iCut],QvecCutMin[iCut],QvecCutMax[iCut]));
823864bf 144
ae0fdd7d 145 }
146 mgr->ConnectInput(task, 0, cinput);
147 mgr->ConnectOutput(task, 1, coutputpt1);
148 mgr->ConnectOutput(task, 2, coutputpt2);
149 mgr->ConnectOutput(task, 3, coutputpt3);
150 mgr->ConnectOutput(task, 4, coutputpt4);
151 }
152 mgr->SetDebugLevel(2);
823864bf 153
ae0fdd7d 154 if (!mgr->InitAnalysis()) return;
155 mgr->PrintStatus();
156 mgr->StartAnalysis("proof");
c88234ad 157}