1 AliAnalysisTaskCombinHF *AddTaskCombinHF(Int_t meson=0, TString containerStr="",Bool_t readMC=kTRUE, TString cutObjFile="",TString cutObjNam="")
4 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
6 ::Error("AddTaskCombinHF", "No analysis manager to connect to.");
12 AliRDHFCuts* analysiscuts=0x0;
14 if(!cutObjFile.IsNull()){
15 TFile *f=TFile::Open(cutObjFile.Data(),"READ");
17 analysiscuts=(AliRDHFCuts*)f->Get(cutObjNam.Data());
18 AliESDtrackCuts *esdc=analysiscuts->GetTrackCuts();
19 pid=analysiscuts->GetPidHF();
23 if(meson==0) analysiscuts=new AliRDHFCutsD0toKpi();
24 else analysiscuts=new AliRDHFCutsDplustoKpipi();
25 analysiscuts->SetStandardCutsPP2010();
26 pid=new AliAODPidHF();
28 pid->SetTPCnSigmaRangeForPions(-3.,3.);
29 pid->SetTPCnSigmaRangeForKaons(-2.,3.);
30 pid->SetTPCnSigmaRangeForProtons(-3.,3.);
31 pid->SetTOFnSigmaRangeForPions(-3.,3.);
32 pid->SetTOFnSigmaRangeForKaons(-2.,2.);
33 pid->SetTOFnSigmaRangeForProtons(-3.,3.);
37 Printf("Wrong file or cut object name set");
41 AliAnalysisTaskCombinHF *dTask = new AliAnalysisTaskCombinHF(meson,analysiscuts);
42 if(!cutObjFile.IsNull()){
43 dTask->SetKaonTrackCuts(esdc);
44 dTask->SetPionTrackCuts(esdc);
45 dTask->SetTrackCuts(esdc);
47 dTask->SetReadMC(readMC);
48 dTask->SetDebugLevel(0);
54 // Create containers for input/output
56 TString mesname="Dzero";
57 if(meson==1) mesname="Dplus";
58 TString inname = Form("cinput%s",mesname.Data());
59 TString outname = Form("coutput%s%s",mesname.Data(),containerStr.Data());
60 TString normname = Form("coutput%sNorm%s",mesname.Data(),containerStr.Data());
62 AliAnalysisDataContainer *cinput = mgr->CreateContainer(inname,TChain::Class(),
63 AliAnalysisManager::kInputContainer);
64 TString outputfile = AliAnalysisManager::GetCommonFileName();
65 outputfile += Form(":PWG3_D2H_InvMass%sLowPt%s",mesname.Data(),containerStr.Data());
68 AliAnalysisDataContainer *coutput = mgr->CreateContainer(outname,TList::Class(),
69 AliAnalysisManager::kOutputContainer,
71 AliAnalysisDataContainer *coutputNorm = mgr->CreateContainer(normname,AliNormalizationCounter::Class(),
72 AliAnalysisManager::kOutputContainer,
75 mgr->ConnectInput(dTask,0,mgr->GetCommonInputContainer());
77 mgr->ConnectOutput(dTask,1,coutput);
79 mgr->ConnectOutput(dTask,2,coutputNorm);