]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/DevNanoAOD/runLocalESE.C
Temporary patch for Nano AOD tests in AliAODEvent
[u/mrichter/AliRoot.git] / PWG / DevNanoAOD / runLocalESE.C
CommitLineData
778636d4 1#if !defined (__CINT__) || (defined(__MAKECINT__))
2#include <iostream>
3#include "AliAnalysisGrid.h"
4#include "TSystem.h"
5#include "TROOT.h"
6#include "AliAnalysisManager.h"
7#include "AliAnalysisGrid.h"
8#include "AliVEventHandler.h"
9#include "AliAODInputHandler.h"
10#include "AliAnalysisAlien.h"
11#include "AliMCEventHandler.h"
12#include "AliPhysicsSelectionTask.h"
13#include "TRegexp.h"
14#include "AliTriggerAnalysis.h"
15#include "TChain.h"
16#include "AliAnalysisTaskPIDResponse.h"
17#include "AliAODHandler.h"
18#include "AliAnalysisTaskNanoAODFilter.h"
19#include "AliESEHelpers.h"
20
21#endif
22void LoadLibs();
23
24class AliAnalysisGrid;
25class AliESETrkCut;
26class AliESEEvtCut;
27
28AliESETrkCut * TrkCuts() {
29
30 AliESETrkCut * trk = new AliESETrkCut;
31
32 AliSpectraAODTrackCuts * trcuts = new AliSpectraAODTrackCuts("TrackCuts");
33 trcuts->SetDCA(100000);
34 trcuts->SetTrackBits(1);
35 trcuts->SetPt(50);
36 trcuts->SetPtTOFMatching(0.6);
37 trcuts->SetEta(-0.8,0.8);
38 trcuts->SetMinTPCcls(70);
39 trcuts->PrintCuts();
40
41 trk->SetTrackCuts(trcuts);
42 trk->Init();
43
44 return trk;
45
46}
47
48AliESEEvtCut * EvtCuts(Int_t mc) {
49
50 AliESEEvtCut * evt = new AliESEEvtCut;
51
52 AliSpectraAODEventCuts * evcuts = new AliSpectraAODEventCuts("EventCuts");
53 evcuts->SetQVectorCut(0,100);
54 evcuts->SetCentralityCutMax(100);
55 evcuts->SetCentralityCutMin(0);
56 if(mc>0)evcuts->SetIsMC(kTRUE);
57 TFile * fCalib = new TFile("./calibV0New.root");
58 evcuts->SetCalibFile(fCalib);
59 evcuts->SetIsLHC10h(kTRUE);
60 evcuts->PrintCuts();
61 // evcuts->SetEventSelectionBit(AliVEvent::kAny);
62
63 evt->SetEventCuts(evcuts);
64 evt->Init();
65
66 return evt;
67
68}
69
70//______________________________________________________________________________
71void runLocalESE(
72 const int iMCtruth = 2,
73 const char * addTaskString = ".x AddTaskNanoAODFilter.C(%d,1)" //
74 )
75{
76 LoadLibs();
77 // analysis manager
78 AliAnalysisManager* mgr = new AliAnalysisManager("NanoAOD Filter", "NanoAOD filter for nanoAOD production");
79
80 AliAODInputHandler* iH = new AliAODInputHandler();
81 mgr->SetInputEventHandler(iH);
82
83 // Define aod output handler
84 AliAODHandler* aodOutputHandler = new AliAODHandler();
85 aodOutputHandler->SetOutputFileName("AliAOD.NanoAOD.root");
86 mgr->SetOutputEventHandler(aodOutputHandler);
87
88 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
89 AliAnalysisTaskPIDResponse *taskPID=AddTaskPIDResponse(iMCtruth);
90 taskPID->SetUseTPCEtaCorrection(kTRUE);
91
92 // create task
93 cout << "Macro: "<< addTaskString << " " << Form(addTaskString, iMCtruth) << endl;
94
95 AliAnalysisTaskNanoAODFilter * task = (AliAnalysisTaskNanoAODFilter*) gROOT->ProcessLine(Form(addTaskString, iMCtruth));
96
97 // Set Track event and vertex cuts here!
98 task->SetVarList("pt,theta,phi,cstNSigmaTPCPi,cstNSigmaTPCKa,cstNSigmaTPCPr,cstNSigmaTOFPi,cstNSigmaTOFKa,cstNSigmaTOFPr,cstBayesTPCPi,cstBayesTPCKa,cstBayesTPCPr,cstBayesTOFPi,cstBayesTOFKa,cstBayesTOFPr");
99 task->SetVarListHead("cstCentr,cstQVec");
100 AliESETrkCut * trkCuts = TrkCuts();
101 AliESEEvtCut * evtCuts = EvtCuts(iMCtruth);
102 evtCuts->SetTrackCuts(trkCuts->GetTrackCuts());
103 AliAnalysisESESetter * setter = new AliAnalysisESESetter;
104 setter->SetEventCuts(evtCuts->GetEventCuts());
105
106 task->SetTrkCuts(trkCuts);
107 task->SetEvtCuts(evtCuts);
108 task->SetSetter(setter);
109
110 //task->SelectCollisionCandidates(AliVEvent::kMB);// FIXME
111 // enable debug printouts
112 mgr->SetDebugLevel(10);
113 // mgr->SetNSysInfo(100);
114 if (!mgr->InitAnalysis()) return;
115 mgr->PrintStatus();
116
117 // start analysis
118 // Always read the same file:
119 TChain * chain = new TChain("aodTree");
120 chain->Add("./AliAOD.root");
121
122 Printf("Starting Analysis....");
123 mgr->StartAnalysis("local", chain,123456789);
124
125}
126
127//______________________________________________________________________________
128
129void LoadLibs() {
130 gSystem->Load("libCore.so");
131 gSystem->Load("libGeom.so");
132 gSystem->Load("libPhysics.so");
133 gSystem->Load("libVMC");
134 gSystem->Load("libTree");
135 gSystem->Load("libProof");
136 gSystem->Load("libMatrix");
137 gSystem->Load("libMinuit");
138 gSystem->Load("libSTEERBase");
139 gSystem->Load("libESD");
140 gSystem->Load("libAOD");
141 gSystem->Load("libANALYSIS");
142 // return;
143 gSystem->Load("libOADB");
144 gSystem->Load("libANALYSISalice");
145 gSystem->Load("libTENDER");
146 gSystem->Load("libCORRFW");
147
148 // gSystem->Load("libNanoAOD.so");
149 gSystem->Load("libPWGLFspectra");
150 gSystem->Load("libPWGDevNanoAOD");
151
152}