X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PWG3%2FvertexingHF%2Fmacros%2FAddTaskDplus.C;h=8080361782fb96ef941bd117fb4d05b85ebf5a59;hb=ba27eecded1fe6a94ba832ad3fca85009ffd421d;hp=0918daedad3a43bd78250b3c25e8d6d49fdfd98f;hpb=fad29dfd27c99826c57ed5bce2ea9ab56b9be35e;p=u%2Fmrichter%2FAliRoot.git diff --git a/PWG3/vertexingHF/macros/AddTaskDplus.C b/PWG3/vertexingHF/macros/AddTaskDplus.C index 0918daedad3..8080361782f 100644 --- a/PWG3/vertexingHF/macros/AddTaskDplus.C +++ b/PWG3/vertexingHF/macros/AddTaskDplus.C @@ -1,5 +1,10 @@ -AliAnalysisTaskSEDplus *AddTaskDplus(TString filename="./DplustoKpipiCuts.root",Bool_t storeNtuple=kFALSE, - Bool_t readMC=kFALSE) +AliAnalysisTaskSEDplus *AddTaskDplus(Int_t system=0/*0=pp,1=PbPb*/, + Float_t minC=0, Float_t maxC=100, + Bool_t storeNtuple=kFALSE, + Bool_t readMC=kFALSE, + TString finDirname="Loose", + TString filename="DplustoKpipiCuts.root", + TString finAnObjname="AnalysisCuts", TString finProdObjname="ProduCuts") { // // Test macro for the AliAnalysisTaskSE for D+ candidates @@ -12,24 +17,44 @@ AliAnalysisTaskSEDplus *AddTaskDplus(TString filename="./DplustoKpipiCuts.root", AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); if (!mgr) { ::Error("AddTaskDplus", "No analysis manager to connect to."); - return NULL; } + Bool_t stdcuts=kFALSE; TFile* filecuts=new TFile(filename.Data()); if(!filecuts->IsOpen()){ - cout<<"Input file not found: exit"<Get("AnalysisCuts"); + AliRDHFCutsDplustoKpipi* analysiscuts=new AliRDHFCutsDplustoKpipi(); + if(stdcuts) { + if(system==0) analysiscuts->SetStandardCutsPP2010(); + else if(system==1){ + analysiscuts->SetStandardCutsPbPb2010(); + analysiscuts->SetMinCentrality(minC); + analysiscuts->SetMaxCentrality(maxC); + // analysiscuts->SetUseAOD049(kTRUE); + analysiscuts->SetUseCentrality(AliRDHFCuts::kCentV0M); + } + } + else analysiscuts = (AliRDHFCutsDplustoKpipi*)filecuts->Get(finAnObjname); AliRDHFCutsDplustoKpipi* prodcuts=new AliRDHFCutsDplustoKpipi(); - prodcuts = (AliRDHFCutsDplustoKpipi*)filecuts->Get("ProdCuts"); + if(stdcuts) { + if(system==0) prodcuts->SetStandardCutsPP2010(); + else if(system==1) { + prodcuts->SetStandardCutsPbPb2010(); + prodcuts->SetMinCentrality(minC); + prodcuts->SetMaxCentrality(maxC); + // prodcuts->SetUseAOD049(kTRUE); + prodcuts->SetUseCentrality(AliRDHFCuts::kCentV0M); + } + } + else prodcuts = (AliRDHFCutsDplustoKpipi*)filecuts->Get(finProdObjname); //AliRDHFCutsDplustoKpipi *prodcuts = (AliRDHFCutsDplustoKpipi*)fileCuts->Get("ProdCuts"); //AliRDHFCutsDplustoKpipi *analysiscuts = (AliRDHFCutsDplustoKpipi*)fileCuts->Get("AnalysisCuts"); @@ -37,30 +62,55 @@ AliAnalysisTaskSEDplus *AddTaskDplus(TString filename="./DplustoKpipiCuts.root", AliAnalysisTaskSEDplus *dplusTask = new AliAnalysisTaskSEDplus("DplusAnalysis",analysiscuts,prodcuts,storeNtuple); dplusTask->SetReadMC(readMC); - dplusTask->SetDoLikeSign(kTRUE); + dplusTask->SetDoLikeSign(kFALSE); // dplusTask->SetUseTPCpid(kTRUE); //dplusTask->SetUseTOFpid(kTRUE); dplusTask->SetDebugLevel(0); dplusTask->SetMassLimits(0.2); + dplusTask->SetUseBit(kTRUE); + + if (system==0) dplusTask->SetDoImpactParameterHistos(kTRUE); + mgr->AddTask(dplusTask); // Create containers for input/output - - AliAnalysisDataContainer *cinputDplus = mgr->CreateContainer("cinputDplus",TChain::Class(), + + TString inname = "cinputDplus"; + TString outname = "coutputDplus"; + TString cutsname = "coutputDplusCuts"; + TString normname = "coutputDplusNorm"; + TString ntuplename = "coutputDplus2"; + inname += finDirname.Data(); + outname += finDirname.Data(); + cutsname += finDirname.Data(); + normname += finDirname.Data(); + ntuplename += finDirname.Data(); + TString centr=Form("%.0f%.0f",analysiscuts->GetMinCentrality(),analysiscuts->GetMaxCentrality()); + inname += centr; + outname += centr; + cutsname += centr; + normname += centr; + ntuplename += centr; + + + AliAnalysisDataContainer *cinputDplus = mgr->CreateContainer(inname,TChain::Class(), AliAnalysisManager::kInputContainer); TString outputfile = AliAnalysisManager::GetCommonFileName(); outputfile += ":PWG3_D2H_InvMassDplus"; - AliAnalysisDataContainer *coutputDplusCuts = mgr->CreateContainer("coutputDplusCuts",TList::Class(), + AliAnalysisDataContainer *coutputDplusCuts = mgr->CreateContainer(cutsname,TList::Class(), AliAnalysisManager::kOutputContainer, outputfile.Data()); - AliAnalysisDataContainer *coutputDplus = mgr->CreateContainer("coutputDplus",TList::Class(), + AliAnalysisDataContainer *coutputDplus = mgr->CreateContainer(outname,TList::Class(), + AliAnalysisManager::kOutputContainer, + outputfile.Data()); + AliAnalysisDataContainer *coutputDplusNorm = mgr->CreateContainer(normname,AliNormalizationCounter::Class(), AliAnalysisManager::kOutputContainer, outputfile.Data()); if(storeNtuple){ - AliAnalysisDataContainer *coutputDplus2 = mgr->CreateContainer("coutputDplus2",TNtuple::Class(), + AliAnalysisDataContainer *coutputDplus2 = mgr->CreateContainer(ntuplename,TNtuple::Class(), AliAnalysisManager::kOutputContainer, "InvMassDplus_nt1.root"); @@ -71,9 +121,10 @@ AliAnalysisTaskSEDplus *AddTaskDplus(TString filename="./DplustoKpipiCuts.root", mgr->ConnectOutput(dplusTask,1,coutputDplus); mgr->ConnectOutput(dplusTask,2,coutputDplusCuts); - + + mgr->ConnectOutput(dplusTask,3,coutputDplusNorm); if(storeNtuple){ - mgr->ConnectOutput(dplusTask,3,coutputDplus2); + mgr->ConnectOutput(dplusTask,4,coutputDplus2); } return dplusTask; }