]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/SPECTRA/PiKaPr/TestAOD/runAODProof.C
- phys selection for AOD>070 - Expected signal for reconstructed ID
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TestAOD / runAODProof.C
1 void runAODProof(Int_t c=2, const char * proofMode = "full")
2 { //1 data AOD049
3   //2 MC AOD048
4   //3 data AOD086
5   //4 MC AOD090
6   
7   //  gEnv->SetValue("XSec.GSI.DelegProxy", "2");
8   
9   gSystem->Load("libTree.so");
10   gSystem->Load("libGeom.so");
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");
20
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");
28    
29   //handler->SetNproofWorkers(1);
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_000138653_AOD086_p2#aodTree|/default/lmilano/LHC10h_000138666_AOD086_p2#aodTree|/default/lmilano/LHC10h_000139107_AOD086_p2#aodTree|/default/lmilano/LHC10h_000138275_AOD086_p2#aodTree");      
46     //handler->SetProofDataSet("/default/lmilano/LHC10h_000138275_AOD086_p2#aodTree");      
47   }
48   if (c == 4){
49     //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_138275_AOD090#aodTree");      
50     handler->SetProofDataSet("/default/lmilano/LHC11a10a_bis_138653_AOD090#aodTree|/default/lmilano/LHC11a10a_bis_138666_AOD090#aodTree|/default/lmilano/LHC11a10a_bis_139107_AOD090#aodTree|/default/lmilano/LHC11a10a_bis_138275_AOD090#aodTree");      
51     //handler->SetProofDataSet("/default/lmilano/LHC11a10a_bis_138653_AOD090#aodTree");      
52   }
53    
54   gROOT->LoadMacro("AliSpectraAODTrackCuts.cxx+g");
55   gROOT->LoadMacro("AliSpectraAODEventCuts.cxx+g");
56   gROOT->LoadMacro("AliSpectraAODHistoManager.cxx+g");
57   gROOT->LoadMacro("AliSpectraAODPID.cxx+g");
58   gROOT->LoadMacro("AliAnalysisTaskSpectraAOD.cxx+g");
59
60   handler->SetAliRootMode("default");
61   handler->SetAdditionalLibs("AliSpectraAODHistoManager.cxx AliSpectraAODHistoManager.h AliSpectraAODPID.cxx AliSpectraAODPID.h AliSpectraAODTrackCuts.cxx AliSpectraAODTrackCuts.h AliSpectraAODEventCuts.cxx AliSpectraAODEventCuts.h AliAnalysisTaskSpectraAOD.cxx AliAnalysisTaskSpectraAOD.h");
62   handler->SetAnalysisSource("Histograms.h HistogramNames.h AliSpectraAODHistoManager.cxx+ AliSpectraAODTrackCuts.cxx+ AliSpectraAODEventCuts.cxx+ AliSpectraAODPID.cxx+ AliAnalysisTaskSpectraAOD.cxx+");
63   //   handler->SetFileForTestMode("filelist.txt"); // list of local files for testing
64   //  handler->SetAliRootMode("");
65   handler->SetClearPackages();
66    
67   AliAnalysisManager *mgr = new AliAnalysisManager("testAnalysis");
68   mgr->SetGridHandler(handler);
69   AliAODInputHandler* aodH = new AliAODInputHandler();
70   mgr->SetInputEventHandler(aodH);
71    
72   // Add PID task
73   gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
74   Bool_t isMC = kFALSE;
75   if (c == 2 || c == 4) isMC = kTRUE;   
76   Printf("-------------------------------adding in runAOD AddTaskPIDResponse");
77   AliAnalysisTask * taskPID = AddTaskPIDResponse(isMC);
78   //gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDqa.C");
79   //AddTaskPIDqa();
80    
81   //LOOP OVER SELECTION
82   Double_t CentCutMin[4]={0,0,20,20};
83   Double_t CentCutMax[4]={100,5,40,40};
84   Double_t QvecCutMin[4]={0,0,0,3};
85   Double_t QvecCutMax[4]={100,100,2,100};
86   // Double_t CentCutMin[4]={5,10,20,30};
87   // Double_t CentCutMax[4]={10,20,30,40};
88   // Double_t QvecCutMin[4]={0,0,0,0};
89   // Double_t QvecCutMax[4]={100,100,100,100};
90   using namespace AliSpectraNameSpace;
91   AliSpectraAODPID *pid = new AliSpectraAODPID(kNSigmaTPCTOF); 
92   pid->SetNSigmaCut(3.);
93    
94   for(Int_t iCut=1;iCut<2;iCut++){
95     AliAnalysisTaskSpectraAOD *task = new AliAnalysisTaskSpectraAOD("TaskAODExercise");
96     mgr->AddTask(task);
97     //physics selection
98     task->SelectCollisionCandidates();     
99     // set pid object
100     task->SetPID(pid);
101     // Set the cuts
102     AliSpectraAODEventCuts * vcuts = new AliSpectraAODEventCuts("Event Cuts");
103     AliSpectraAODTrackCuts  * tcuts = new AliSpectraAODTrackCuts("Track Cuts");
104     //if(c==1 || c==2)tcuts->SetTrackType(5); //AOD 046 & 047. Standard Cut with loose DCA
105     //if(c==1 || c==2)tcuts->SetTrackType(6); //AOD 046 & 047. Standard Cut with tight DCA
106     //if(c==3 || c==4)tcuts->SetTrackType(10); //AOD 086 & 090. Standard Raa cut
107     //if(c==3 || c==4)tcuts->SetTrackType(4); //AOD 086 & 090. Jet analysis
108     //if(c==3 || c==4)tcuts->SetTrackType(7); //AOD 086 & 090. TPC Only
109     tcuts->SetTrackBits(1);
110     Printf("\n\n\n\n\n\n\n-------------------- tcuts->GetTrackType() %d \n\n\n\n\n\n\n",tcuts->GetTrackType());
111     tcuts->SetEta(.8);
112     //tcuts->SetDCA(.1);
113     tcuts->SetPt(5);
114     tcuts->SetY(.5);
115     tcuts->SetPtTOFMatching(.6);   
116     tcuts->SetQvecMin(QvecCutMin[iCut]);   
117     tcuts->SetQvecMax(QvecCutMax[iCut]);    
118     if(c==1)vcuts->SetUseCentPatchAOD049(kTRUE);
119     vcuts->SetCentralityCutMax(CentCutMax[iCut]);  
120     vcuts->SetCentralityCutMin(CentCutMin[iCut]);
121     task->SetEventCuts(vcuts);
122     task->SetTrackCuts(tcuts);
123     vcuts->PrintCuts();
124     tcuts->PrintCuts();
125      
126     // check for MC or real data
127     if (c == 2 || c == 4)
128       {
129         task->SetIsMC(kTRUE);
130         vcuts->SetIsMC(kTRUE);
131         AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
132         AliAnalysisDataContainer *coutputpt1 = mgr->CreateContainer(Form("chistpt%d",iCut), AliSpectraAODHistoManager::Class(),  AliAnalysisManager::kOutputContainer, 
133                                                                     Form("Pt.AOD.1._MC_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCutMin[iCut],CentCutMax[iCut],QvecCutMin[iCut],QvecCutMax[iCut]));
134         AliAnalysisDataContainer *coutputpt2 = mgr->CreateContainer(Form("cvcutpt%d",iCut), AliSpectraAODEventCuts::Class(),    AliAnalysisManager::kOutputContainer, 
135                                                                     Form("Pt.AOD.1._MC_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCutMin[iCut],CentCutMax[iCut],QvecCutMin[iCut],QvecCutMax[iCut]));
136         AliAnalysisDataContainer *coutputpt3 = mgr->CreateContainer(Form("ctcutpt%d",iCut), AliSpectraAODTrackCuts::Class(),     AliAnalysisManager::kOutputContainer, 
137                                                                     Form("Pt.AOD.1._MC_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCutMin[iCut],CentCutMax[iCut],QvecCutMin[iCut],QvecCutMax[iCut]));
138         AliAnalysisDataContainer *coutputpt4 = mgr->CreateContainer(Form("cpidpt%d",iCut),  AliSpectraAODPID::Class(),     AliAnalysisManager::kOutputContainer, 
139                                                                     Form("Pt.AOD.1._MC_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCutMin[iCut],CentCutMax[iCut],QvecCutMin[iCut],QvecCutMax[iCut]));
140       }
141     if (c == 1 || c==3)
142       {
143         AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
144         AliAnalysisDataContainer *coutputpt1 = mgr->CreateContainer(Form("chistpt%d",iCut), AliSpectraAODHistoManager::Class(),  AliAnalysisManager::kOutputContainer, 
145                                                                     Form("Pt.AOD.1._data_ptcut_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCutMin[iCut],CentCutMax[iCut],QvecCutMin[iCut],QvecCutMax[iCut]));
146         AliAnalysisDataContainer *coutputpt2 = mgr->CreateContainer(Form("cvcutpt%d",iCut), AliSpectraAODEventCuts::Class(),    AliAnalysisManager::kOutputContainer, 
147                                                                     Form("Pt.AOD.1._data_ptcut_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCutMin[iCut],CentCutMax[iCut],QvecCutMin[iCut],QvecCutMax[iCut]));
148         AliAnalysisDataContainer *coutputpt3 = mgr->CreateContainer(Form("ctcutpt%d",iCut), AliSpectraAODTrackCuts::Class(),     AliAnalysisManager::kOutputContainer, 
149                                                                     Form("Pt.AOD.1._data_ptcut_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCutMin[iCut],CentCutMax[iCut],QvecCutMin[iCut],QvecCutMax[iCut]));
150         AliAnalysisDataContainer *coutputpt4 = mgr->CreateContainer(Form("cpidpt%d",iCut),  AliSpectraAODPID::Class(),     AliAnalysisManager::kOutputContainer, 
151                                                                     Form("Pt.AOD.1._data_ptcut_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCutMin[iCut],CentCutMax[iCut],QvecCutMin[iCut],QvecCutMax[iCut]));
152          
153       }
154     mgr->ConnectInput(task, 0, cinput);
155     mgr->ConnectOutput(task, 1, coutputpt1);
156     mgr->ConnectOutput(task, 2, coutputpt2);
157     mgr->ConnectOutput(task, 3, coutputpt3);
158     mgr->ConnectOutput(task, 4, coutputpt4);
159   }
160   mgr->SetDebugLevel(2);
161    
162   if (!mgr->InitAnalysis()) return;
163   mgr->PrintStatus();
164   mgr->StartAnalysis("proof");
165 }