1 AliAnalysisTaskSEDplus *AddTaskDplus(Bool_t storeNtuple=kFALSE,
3 TString filename="DplustoKpipiCuts.root")
6 // Test macro for the AliAnalysisTaskSE for D+ candidates
8 //Invariant mass histogram and
9 // association with MC truth (using MC info in AOD)
10 // R. Bala, bala@to.infn.it
11 // Get the pointer to the existing analysis manager via the static access method.
12 //==============================================================================
13 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
15 ::Error("AddTaskDplus", "No analysis manager to connect to.");
18 Bool_t stdcuts=kFALSE;
19 TFile* filecuts=new TFile(filename.Data());
20 if(!filecuts->IsOpen()){
21 cout<<"Input file not found: using standard cuts"<<endl;
29 AliRDHFCutsDplustoKpipi* analysiscuts=new AliRDHFCutsDplustoKpipi();
30 if(stdcuts) analysiscuts->SetStandardCutsPP2010();
31 else analysiscuts = (AliRDHFCutsDplustoKpipi*)filecuts->Get("AnalysisCuts");
33 AliRDHFCutsDplustoKpipi* prodcuts=new AliRDHFCutsDplustoKpipi();
34 if(stdcuts) prodcuts->SetStandardCutsPP2010();
35 else prodcuts = (AliRDHFCutsDplustoKpipi*)filecuts->Get("ProdCuts");
37 //AliRDHFCutsDplustoKpipi *prodcuts = (AliRDHFCutsDplustoKpipi*)fileCuts->Get("ProdCuts");
38 //AliRDHFCutsDplustoKpipi *analysiscuts = (AliRDHFCutsDplustoKpipi*)fileCuts->Get("AnalysisCuts");
41 AliAnalysisTaskSEDplus *dplusTask = new AliAnalysisTaskSEDplus("DplusAnalysis",analysiscuts,prodcuts,storeNtuple);
42 dplusTask->SetReadMC(readMC);
43 dplusTask->SetDoLikeSign(kTRUE);
44 // dplusTask->SetUseTPCpid(kTRUE);
45 //dplusTask->SetUseTOFpid(kTRUE);
46 dplusTask->SetDebugLevel(0);
47 dplusTask->SetMassLimits(0.2);
48 mgr->AddTask(dplusTask);
50 // Create containers for input/output
52 AliAnalysisDataContainer *cinputDplus = mgr->CreateContainer("cinputDplus",TChain::Class(),
53 AliAnalysisManager::kInputContainer);
54 TString outputfile = AliAnalysisManager::GetCommonFileName();
55 outputfile += ":PWG3_D2H_InvMassDplus";
57 AliAnalysisDataContainer *coutputDplusCuts = mgr->CreateContainer("coutputDplusCuts",TList::Class(),
58 AliAnalysisManager::kOutputContainer,
61 AliAnalysisDataContainer *coutputDplus = mgr->CreateContainer("coutputDplus",TList::Class(),
62 AliAnalysisManager::kOutputContainer,
64 AliAnalysisDataContainer *coutputDplusNorm = mgr->CreateContainer("coutputDplusNorm",AliNormalizationCounter::Class(),
65 AliAnalysisManager::kOutputContainer,
69 AliAnalysisDataContainer *coutputDplus2 = mgr->CreateContainer("coutputDplus2",TNtuple::Class(),
70 AliAnalysisManager::kOutputContainer,
71 "InvMassDplus_nt1.root");
73 coutputDplus2->SetSpecialOutput();
75 mgr->ConnectInput(dplusTask,0,mgr->GetCommonInputContainer());
77 mgr->ConnectOutput(dplusTask,1,coutputDplus);
79 mgr->ConnectOutput(dplusTask,2,coutputDplusCuts);
81 mgr->ConnectOutput(dplusTask,3,coutputDplusNorm);
83 mgr->ConnectOutput(dplusTask,4,coutputDplus2);