]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/vertexingHF/AddTaskVertexingHF.C
Update (Rossella)
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AddTaskVertexingHF.C
CommitLineData
a9b75906 1AliAnalysisTaskSEVertexingHF *AddTaskVertexingHF(const char* fname="AliAOD.VertexingHF.root") {
29f884f0 2 //
3 // Creates a task for heavy flavour vertexing and adds it to the analysis manager.
4 // andrea.dainese@lnl.infn.it
5 //
6
7 // Get the pointer to the existing analysis manager via the static access method.
8 //==============================================================================
9 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
10 if (!mgr) {
11 ::Error("AddTaskVertexingHF", "No analysis manager to connect to.");
12 return NULL;
13 }
14
15 // This task requires an ESD or AOD input handler and an AOD output handler.
16 // Check this using the analysis manager.
17 //===============================================================================
18 TString type = mgr->GetInputEventHandler()->GetDataType();
19 if (!type.Contains("ESD") && !type.Contains("AOD")) {
20 ::Error("AddTaskVertexingHF", "HF vertexing task needs the manager to have an ESD or AOD input handler.");
21 return NULL;
22 }
23 // Check if AOD output handler exist.
24 AliAODHandler *aodh = (AliAODHandler*)mgr->GetOutputEventHandler();
25 if (!aodh) {
26 ::Error("AddTaskVertexingHF", "HF vertexing task needs the manager to have an AOD output handler.");
27 return NULL;
28 }
29
30 // Create the task, add it to the manager and configure it.
31 //===========================================================================
32 AliAnalysisTaskSEVertexingHF *hfTask = new AliAnalysisTaskSEVertexingHF("vertexing HF");
a9b75906 33 hfTask->SetDeltaAODFileName(fname);
29f884f0 34 mgr->AddTask(hfTask);
35
36 //
37 // Create containers for input/output
a9b75906 38 AliAnalysisDataContainer *coutputListOfCuts = mgr->CreateContainer("ListOfCuts",TList::Class(),AliAnalysisManager::kOutputContainer,hfTask->GetDeltaAODFileName()); //cuts
39
29f884f0 40 mgr->ConnectInput(hfTask,0,mgr->GetCommonInputContainer());
41 mgr->ConnectOutput(hfTask,0,mgr->GetCommonOutputContainer());
a9b75906 42 mgr->ConnectOutput(hfTask,1,coutputListOfCuts);
29f884f0 43
44 return hfTask;
45}