]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/vertexingHF/macros/AddTaskDs.C
Use TFile::Open in all AddTask macros
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / macros / AddTaskDs.C
CommitLineData
2e153422 1AliAnalysisTaskSEDs *AddTaskDs(Int_t storeNtuple=0,Bool_t readMC=kFALSE,
4b74f937 2 TString filename="DstoKKpiCuts.root")
95e5b6b5 3{
4b74f937 4 //
95e5b6b5 5 // Test macro for the AliAnalysisTaskSE for Ds candidates
6
4b74f937 7 //Invariant mass histogram and
8 // association with MC truth (using MC info in AOD)
9 // Origin: R. Bala, bala@to.infn.it
10 // Modified for Ds meson: G.M. Innocenti innocent@to.infn.it
11 // Get the pointer to the existing analysis manager via the static access method.
12 //==============================================================================
95e5b6b5 13
14 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
15 if (!mgr) {
16 ::Error("AddTaskDs", "No analysis manager to connect to.");
95e5b6b5 17 }
18
19
01e9725a 20 TFile* filecuts=TFile::Open(filename.Data());
4b74f937 21 if(!filecuts->IsOpen()){
22 cout<<"Error: Input file not found!"<<endl;
2e153422 23 return 0;
95e5b6b5 24 }
4b74f937 25
26
27 //Analysis Task
95e5b6b5 28
4b74f937 29
30 AliRDHFCutsDstoKKpi* analysiscuts=new AliRDHFCutsDstoKKpi();
31 analysiscuts = (AliRDHFCutsDstoKKpi*)filecuts->Get("AnalysisCuts");
95e5b6b5 32
4b74f937 33 AliRDHFCutsDstoKKpi* prodcuts=new AliRDHFCutsDstoKKpi();
34 prodcuts = (AliRDHFCutsDstoKKpi*)filecuts->Get("ProdCuts");
35
36 //AliRDHFCutsDstoKKpi *prodcuts = (AliRDHFCutsDstoKKpi*)fileCuts->Get("ProdCuts");
37 //AliRDHFCutsDstoKKpi *analysiscuts = (AliRDHFCutsDstoKKpi*)fileCuts->Get("AnalysisCuts");
38
2e153422 39 AliAnalysisTaskSEDs *dsTask = new AliAnalysisTaskSEDs("DsAnalysis",prodcuts,analysiscuts,storeNtuple);
95e5b6b5 40 dsTask->SetReadMC(readMC);
4b74f937 41 //dsTask->SetDoLikeSign(kTRUE);
42 // dsTask->SetUseTPCpid(kTRUE);
43 //dsTask->SetUseTOFpid(kTRUE);
44 dsTask->SetDebugLevel(10);
45 //dsTask->SetMassLimits(0.2);
95e5b6b5 46 mgr->AddTask(dsTask);
4b74f937 47
48 // Create containers for input/output
49
95e5b6b5 50 AliAnalysisDataContainer *cinputDs = mgr->CreateContainer("cinputDs",TChain::Class(),
4b74f937 51 AliAnalysisManager::kInputContainer);
52 TString outputfile = AliAnalysisManager::GetCommonFileName();
53 outputfile += ":PWG3_D2H_InvMassDs";
54
55 AliAnalysisDataContainer *coutputDsCuts = mgr->CreateContainer("coutputDsCuts",TList::Class(),
56 AliAnalysisManager::kOutputContainer,
57 outputfile.Data());
58
95e5b6b5 59 AliAnalysisDataContainer *coutputDs = mgr->CreateContainer("coutputDs",TList::Class(),
4b74f937 60 AliAnalysisManager::kOutputContainer,
61 outputfile.Data());
62 AliAnalysisDataContainer *coutputDsNorm = mgr->CreateContainer("coutputDsNorm",AliNormalizationCounter::Class(),
63 AliAnalysisManager::kOutputContainer,
64 outputfile.Data());
65
2e153422 66 if(storeNtuple){
67 AliAnalysisDataContainer *coutputDs2 = mgr->CreateContainer("coutputDs2",TNtuple::Class(),
68 AliAnalysisManager::kOutputContainer,
69 "InvMassDs_nt1.root");
70
71 coutputDs2->SetSpecialOutput();
72 }
73
95e5b6b5 74 mgr->ConnectInput(dsTask,0,mgr->GetCommonInputContainer());
4b74f937 75
95e5b6b5 76 mgr->ConnectOutput(dsTask,1,coutputDs);
4b74f937 77
95e5b6b5 78 mgr->ConnectOutput(dsTask,2,coutputDsCuts);
4b74f937 79
80 mgr->ConnectOutput(dsTask,3,coutputDsNorm);
81
2e153422 82 if(storeNtuple){
83 mgr->ConnectOutput(dsTask,4,coutputDs2);
84 }
85
95e5b6b5 86 return dsTask;
87}