]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/vertexingHF/macros/AddTaskDs.C
Speedup Ds task (Gian Michele)
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / macros / AddTaskDs.C
CommitLineData
1f796bc2 1AliAnalysisTaskSEDs *AddTaskDs(Int_t storeNtuple=1,Bool_t readMC=kFALSE,
2 TString filename="DstoKKpiCuts.root")
3{
4 //
5 // Test macro for the AliAnalysisTaskSE for Ds candidates
6
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 //==============================================================================
13
14 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
15 if (!mgr) {
16 ::Error("AddTaskDs", "No analysis manager to connect to.");
17 }
18
19
20 TFile* filecuts=TFile::Open(filename.Data());
21 if(!filecuts ||(filecuts&& !filecuts->IsOpen())){
22 cout<<"Error: Input file not found!"<<endl;
23 return 0;
24 }
25
26
27 //Analysis Task
28
29 AliRDHFCutsDstoKKpi* analysiscuts=new AliRDHFCutsDstoKKpi();
30 analysiscuts = (AliRDHFCutsDstoKKpi*)filecuts->Get("AnalysisCuts");
31
32 AliAnalysisTaskSEDs *dsTask = new AliAnalysisTaskSEDs("DsAnalysis",analysiscuts,storeNtuple);
33
34 dsTask->SetReadMC(readMC);
35 //dsTask->SetDoLikeSign(kTRUE);
36 // dsTask->SetUseTPCpid(kTRUE);
37 //dsTask->SetUseTOFpid(kTRUE);
38 dsTask->SetDebugLevel(10);
39 dsTask->SetUseSelectionBit(kTRUE);
40 //dsTask->SetMassLimits(0.2);
41 mgr->AddTask(dsTask);
42
43 // Create containers for input/output
44
45 AliAnalysisDataContainer *cinputDs = mgr->CreateContainer("cinputDs",TChain::Class(),
46 AliAnalysisManager::kInputContainer);
47 TString outputfile = AliAnalysisManager::GetCommonFileName();
48 outputfile += ":PWG3_D2H_InvMassDs";
49
50 AliAnalysisDataContainer *coutputDsCuts = mgr->CreateContainer("coutputDsCuts",TList::Class(),
51 AliAnalysisManager::kOutputContainer,
52 outputfile.Data());
53
54 AliAnalysisDataContainer *coutputDs = mgr->CreateContainer("coutputDs",TList::Class(),
55 AliAnalysisManager::kOutputContainer,
56 outputfile.Data());
57 AliAnalysisDataContainer *coutputDsNorm = mgr->CreateContainer("coutputDsNorm",AliNormalizationCounter::Class(),
58 AliAnalysisManager::kOutputContainer,
59 outputfile.Data());
60
61 if(storeNtuple){
62 AliAnalysisDataContainer *coutputDs2 = mgr->CreateContainer("coutputDs2",TNtuple::Class(),
63 AliAnalysisManager::kOutputContainer,
64 outputfile.Data());
65
66 coutputDs2->SetSpecialOutput();
67 }
68
69 mgr->ConnectInput(dsTask,0,mgr->GetCommonInputContainer());
70
71 mgr->ConnectOutput(dsTask,1,coutputDs);
72
73 mgr->ConnectOutput(dsTask,2,coutputDsCuts);
74
75 mgr->ConnectOutput(dsTask,3,coutputDsNorm);
76
77 if(storeNtuple){
78 mgr->ConnectOutput(dsTask,4,coutputDs2);
79 }
80
81 return dsTask;
82}