1 #if !defined (__CINT__) || (defined(__MAKECINT__))
3 #include "AliAnalysisGrid.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"
14 #include "AliTriggerAnalysis.h"
16 #include "AliAnalysisTaskPIDResponse.h"
17 #include "AliAODHandler.h"
18 #include "AliAnalysisTaskNanoAODFilter.h"
19 #include "AliESEHelpers.h"
24 class AliAnalysisGrid;
28 AliESETrkCut * TrkCuts() {
30 AliESETrkCut * trk = new AliESETrkCut;
32 AliSpectraAODTrackCuts * trcuts = new AliSpectraAODTrackCuts("TrackCuts");
33 trcuts->SetDCA(100000);
34 trcuts->SetTrackBits(1024);
36 trcuts->SetPtTOFMatching(0.6);
37 trcuts->SetEta(-0.8,0.8);
38 trcuts->SetMinTPCcls(70);
41 trk->SetTrackCuts(trcuts);
48 AliESEEvtCut * EvtCuts(Int_t mc) {
50 AliESEEvtCut * evt = new AliESEEvtCut;
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);
61 // evcuts->SetEventSelectionBit(AliVEvent::kAny);
63 evt->SetEventCuts(evcuts);
70 //______________________________________________________________________________
72 const int iMCtruth = 0,
73 const char * addTaskString = ".x AddTaskNanoAODFilter.C(%d,1)" //
78 AliAnalysisManager* mgr = new AliAnalysisManager("NanoAOD Filter", "NanoAOD filter for nanoAOD production");
80 AliAODInputHandler* iH = new AliAODInputHandler();
81 mgr->SetInputEventHandler(iH);
83 // Define aod output handler
84 AliAODHandler* aodOutputHandler = new AliAODHandler();
85 aodOutputHandler->SetOutputFileName("AliAOD.NanoAOD.root");
86 mgr->SetOutputEventHandler(aodOutputHandler);
88 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
89 AliAnalysisTaskPIDResponse *taskPID=AddTaskPIDResponse(iMCtruth);
90 taskPID->SetUseTPCEtaCorrection(kTRUE);
91 taskPID->SetUserDataRecoPass(2);
93 cout << "Macro: "<< addTaskString << " " << Form(addTaskString, iMCtruth) << endl;
95 AliAnalysisTaskNanoAODFilter * task = (AliAnalysisTaskNanoAODFilter*) gROOT->ProcessLine(Form(addTaskString, iMCtruth));
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->SetVarList("pt,theta,phi,cstNSigmaTPCPi,cstNSigmaTPCKa,cstNSigmaTPCPr,cstNSigmaTOFPi,cstNSigmaTOFKa,cstNSigmaTOFPr");
100 task->SetVarListHead("cstCentr,cstQVec");
101 AliESETrkCut * trkCuts = TrkCuts();
102 AliESEEvtCut * evtCuts = EvtCuts(iMCtruth);
103 evtCuts->SetTrackCuts(trkCuts->GetTrackCuts());
104 AliAnalysisESESetter * setter = new AliAnalysisESESetter;
105 setter->SetEventCuts(evtCuts->GetEventCuts());
107 task->SetTrkCuts(trkCuts);
108 task->SetEvtCuts(evtCuts);
109 task->SetSetter(setter);
111 //task->SelectCollisionCandidates(AliVEvent::kMB);// FIXME
112 // enable debug printouts
113 mgr->SetDebugLevel(10);
114 // mgr->SetNSysInfo(100);
115 if (!mgr->InitAnalysis()) return;
119 // Always read the same file:
120 TChain * chain = new TChain("aodTree");
122 chain->Add("~//Work/ALICE/ANALYSIS/current/nAOD/input/LHC10h/AOD86/0356/AliAOD.root");
123 chain->Add("~//Work/ALICE/ANALYSIS/current/nAOD/input/LHC10h/AOD86/0407/AliAOD.root");
124 chain->Add("~//Work/ALICE/ANALYSIS/current/nAOD/input/LHC10h/AOD86/0398/AliAOD.root");
126 Printf("Starting Analysis....");
128 mgr->StartAnalysis("local", chain,123456789);
132 //______________________________________________________________________________
135 gSystem->Load("libCore.so");
136 gSystem->Load("libGeom.so");
137 gSystem->Load("libPhysics.so");
138 gSystem->Load("libVMC");
139 gSystem->Load("libTree");
140 gSystem->Load("libProof");
141 gSystem->Load("libMatrix");
142 gSystem->Load("libMinuit");
143 gSystem->Load("libSTEERBase");
144 gSystem->Load("libESD");
145 gSystem->Load("libAOD");
146 gSystem->Load("libANALYSIS");
148 gSystem->Load("libOADB");
149 gSystem->Load("libANALYSISalice");
150 gSystem->Load("libTENDER");
151 gSystem->Load("libCORRFW");
153 // gSystem->Load("libNanoAOD.so");
154 gSystem->Load("libPWGLFspectra");
155 gSystem->Load("libPWGDevNanoAOD");