]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/FlavourJetTasks/macros/AddTaskSEDmesonsFilterCJ.C
Initial commit of the tasks for the flavor jet analysis; targeted at D-meson+jet...
[u/mrichter/AliRoot.git] / PWGJE / FlavourJetTasks / macros / AddTaskSEDmesonsFilterCJ.C
1 // $Id$
2
3 AliAnalysisTaskSEDmesonsFilterCJ *AddTaskSEDmesonsFilterCJ(TString sCutDzero = "", TString sCutDstar = "")
4 {
5   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
6
7   if (!mgr) {
8     ::Error("AddTaskSEDmesonsFilterCJ.C::AddTaskSEDmesonsFilterCJ", "No analysis manager to connect to.");
9     return NULL;
10   }
11
12   TString type = mgr->GetInputEventHandler()->GetDataType();
13   if (!type.Contains("ESD") && !type.Contains("AOD")) {
14     ::Error("AddTaskSEDmesonsFilterCJ.C::AddTaskSEDmesonsFilterCJ", "Task manager to have an ESD or AOD input handler.");
15     return NULL;
16   }
17
18   if (!mgr->GetInputEventHandler()) {
19     ::Error("AddTaskSEEAddTaskSEDmesonsFilterCJ.C::AddTaskSEEAddTaskSEDmesonsFilterCJ", "This task requires an input event handler");
20     return NULL;
21   }
22 //=============================================================================
23
24   TFile *file = 0;
25   AliRDHFCutsD0toKpi      *cutDzero = 0;
26   AliRDHFCutsDStartoKpipi *cutDstar = 0;
27
28   if (!sCutDzero.IsNull()) {
29     file = TFile::Open(sCutDzero.Data(), "READ");
30     cutDzero = dynamic_cast<AliRDHFCutsD0toKpi*>(file->Get("D0toKpiCuts"));
31     file->Close();
32   }
33
34   if (!sCutDstar.IsNull()) {
35     file = TFile::Open(sCutDstar.Data(), "READ");
36     cutDstar = dynamic_cast<AliRDHFCutsDStartoKpipi*>(file->Get("DStartoKpipiCuts"));
37     file->Close();
38   }
39
40   AliAnalysisTaskSEDmesonsFilterCJ *taskDemsonFilterCJ = new AliAnalysisTaskSEDmesonsFilterCJ("AliAnalysisTaskSEDmesonsFilterCJ");
41   taskDemsonFilterCJ->SetCutDzero(cutDzero);
42   taskDemsonFilterCJ->SetCutDstar(cutDstar);
43   mgr->AddTask(taskDemsonFilterCJ);
44
45   mgr->ConnectInput( taskDemsonFilterCJ, 0, mgr->GetCommonInputContainer());
46 //mgr->ConnectOutput(taskDemsonFilterCJ, 0, mgr->GetCommonOutputContainer());
47
48   TString sCommon  = AliAnalysisManager::GetCommonFileName();
49   TString sCutName = "AnalysisCutsDmeson.root";
50   TString sOutput1 = "AliAnalysisTaskSEDmesonsFilterCJ_ListDmesonCuts";
51   TString sOutput2 = "AliAnalysisTaskSEDmesonsFilterCJ_Dzero_ControlHistograms";
52   TString sOutput3 = "AliAnalysisTaskSEDmesonsFilterCJ_Dstar_ControlHistograms";
53   mgr->ConnectOutput(taskDemsonFilterCJ, 1, mgr->CreateContainer(sOutput1.Data(),TList::Class(),AliAnalysisManager::kOutputContainer,sCutName.Data()));
54   mgr->ConnectOutput(taskDemsonFilterCJ, 2, mgr->CreateContainer(sOutput2.Data(),TList::Class(),AliAnalysisManager::kOutputContainer, sCommon.Data()));
55   mgr->ConnectOutput(taskDemsonFilterCJ, 3, mgr->CreateContainer(sOutput3.Data(),TList::Class(),AliAnalysisManager::kOutputContainer, sCommon.Data()));
56   return taskDemsonFilterCJ;
57 }