AliAnalysisTaskSEDplus *AddTaskDplus(Bool_t storeNtuple=kTRUE, Bool_t readMC=kTRUE) { // // Test macro for the AliAnalysisTaskSE for D+ candidates //Invariant mass histogram and // association with MC truth (using MC info in AOD) // R. Bala, bala@to.infn.it // Get the pointer to the existing analysis manager via the static access method. //============================================================================== AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); if (!mgr) { ::Error("AddTaskDplus", "No analysis manager to connect to."); return NULL; } //ptbins const Int_t nptbins=4; Float_t* ptbins; ptbins=new Float_t[nptbins+1]; ptbins[0]=0.; ptbins[1]=2.; ptbins[2]=3.; ptbins[3]=5.; ptbins[4]=99999.; const Int_t nvars=12; Float_t** prodcutsval; prodcutsval=new Float_t*[nvars]; for(Int_t ic=0;icSetPtBins(nptbins+1,ptbins); prodcuts->SetCuts(nvars,nptbins,prodcutsval); //Analysis cuts AliRDHFCutsDplustoKpipi *analysiscuts = new AliRDHFCutsDplustoKpipi(); analysiscuts->SetPtBins(nptbins+1,ptbins); analysiscuts->SetCuts(nvars,nptbins,anacutsval); // Aanalysis task AliAnalysisTaskSEDplus *dplusTask = new AliAnalysisTaskSEDplus("DplusAnalysis",analysiscuts,prodcuts,storeNtuple); dplusTask->SetReadMC(readMC); dplusTask->SetDoLikeSign(kTRUE); dplusTask->SetDebugLevel(0); mgr->AddTask(dplusTask); // Create containers for input/output AliAnalysisDataContainer *cinputDplus = mgr->CreateContainer("cinputDplus",TChain::Class(), AliAnalysisManager::kInputContainer); TString outputfile = AliAnalysisManager::GetCommonFileName(); outputfile += ":PWG3_D2H_InvMassDplus"; AliAnalysisDataContainer *coutputDplusCuts = mgr->CreateContainer("coutputDplusCuts",TList::Class(), AliAnalysisManager::kOutputContainer, outputfile.Data()); AliAnalysisDataContainer *coutputDplus = mgr->CreateContainer("coutputDplus",TList::Class(), AliAnalysisManager::kOutputContainer, outputfile.Data()); if(storeNtuple){ AliAnalysisDataContainer *coutputDplus2 = mgr->CreateContainer("coutputDplus2",TNtuple::Class(), AliAnalysisManager::kOutputContainer, "InvMassDplus_nt1.root"); coutputDplus2->SetSpecialOutput(); } mgr->ConnectInput(dplusTask,0,mgr->GetCommonInputContainer()); mgr->ConnectOutput(dplusTask,1,coutputDplus); mgr->ConnectOutput(dplusTask,2,coutputDplusCuts); if(storeNtuple){ mgr->ConnectOutput(dplusTask,3,coutputDplus2); } return dplusTask; }