]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/DevNanoAOD/AddTaskNanoAODFilter.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / DevNanoAOD / AddTaskNanoAODFilter.C
1 #if !defined (__CINT__) || (defined(__MAKECINT__))
2 #include <iostream>
3 #include "TString.h"
4 #include "AliAnalysisManager.h"
5 #include "AliAnalysisTaskSE.h"
6 #include "AliAnalysisTaskNanoAODESEFilter.h"
7 #include "AliAnalysisDataContainer.h"
8 #include "AliVEventHandler.h"
9 #include "AliESEHelpers.h"
10
11 #endif
12
13
14 AliAnalysisTaskSE * AddTaskNanoAODFilter(Int_t iMC, Bool_t savecuts = 0) {
15   // Adds my task
16   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
17   if (!mgr) {
18     ::Error("AddTaskNanoAODESEFilter", "No analysis manager to connect to.");
19     return NULL;
20   }  
21   // Check the analysis type using the event handlers connected to the analysis manager.
22   //==============================================================================
23   if (!mgr->GetInputEventHandler()) {
24     ::Error("AddTaskNanoAODESEFilter", "This task requires an input event handler");
25     return NULL;
26   }
27   TString inputDataType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
28     
29   // Configure analysis
30   //===========================================================================
31
32   //  gROOT->LoadMacro("AliAnalysisTaskNanoAODESEFilter.cxx+");
33
34   AliAnalysisTaskNanoAODFilter * task = new AliAnalysisTaskNanoAODFilter("TaskEseFilter", savecuts);
35   
36   mgr->AddTask(task);
37   task->SetMCMode(iMC);
38
39   mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer());
40   //  mgr->ConnectOutput(task, 1, mgr->GetCommonOutputContainer());
41   
42   if(savecuts) {
43     AliAnalysisDataContainer *coutputpt1 = mgr->CreateContainer("evtcuts", AliAnalysisCuts::Class(),  AliAnalysisManager::kOutputContainer,"cuts.root");
44     AliAnalysisDataContainer *coutputpt2 = mgr->CreateContainer("trkcuts", AliAnalysisCuts::Class(),  AliAnalysisManager::kOutputContainer,"cuts.root");
45     mgr->ConnectOutput(task, 1, coutputpt1);
46     mgr->ConnectOutput(task, 2, coutputpt2);
47   }
48
49   
50
51
52   return task;
53
54 }
55
56
57