]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/vertexingHF/macros/AddTaskDStarSpectra.C
Transition PWG3 --> PWGHF
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / macros / AddTaskDStarSpectra.C
CommitLineData
63147a75 1//if like define a different number of signal for TPC PID
2
3//by default the task is anyway computing 1, 2 and 3 sigmas
4
5const Bool_t theRareOn = kTRUE;
6
7const Bool_t anaType = 1;//0 HD; 1 UU;
8
9const Bool_t doImp = kFALSE;// imp par studies
10
11//----------------------------------------------------
12
13
14
15AliAnalysisTaskSEDStarSpectra *AddTaskDStarSpectra(Int_t system=0/*0=pp,1=PbPb*/,
16
17 Float_t minC=0, Float_t maxC=100,
18
19 const char * cutsfile="DStartoKpipiCuts.root",
20
21 Bool_t theMCon=kFALSE)
22
23{
24
25
26
27 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
28
29 if (!mgr) {
30
31 ::Error("AddTaskDStarSpectra", "No analysis manager to connect to.");
32
33 return NULL;
34
35 }
36
37
38
39 // cuts are stored in a TFile generated by makeTFile4CutsDStartoKpipi.C in ./macros/
40
41 // set there the cuts!!!!!
42
43 Bool_t stdcuts=kFALSE;
44
45 TFile* filecuts=new TFile("DStartoKpipiCuts.root");
46
47 if(!filecuts->IsOpen()){
48
49 cout<<"Input file not found: exit"<<endl;
50
51 stdcuts=kTRUE;
52
53 }
54
55
56
57
58
59 AliRDHFCutsDStartoKpipi* RDHFDStartoKpipi=new AliRDHFCutsDStartoKpipi();
60
61 if(stdcuts) {
62
63 if(system==0) RDHFDStartoKpipi->SetStandardCutsPP2010();
64
65 else if(system==1) {
66
67 RDHFDStartoKpipi->SetStandardCutsPbPb2010();
68
69 RDHFDStartoKpipi->SetMinCentrality(minC);
70
71 RDHFDStartoKpipi->SetMinCentrality(maxC);
72
73 RDHFDStartoKpipi->SetUseAOD049(kTRUE);
74
75 RDHFDStartoKpipi->SetUseCentrality(AliRDHFCuts::kCentV0M);
76
77 }
78
79 }
80
81 else RDHFDStartoKpipi = (AliRDHFCutsDStartoKpipi*)filecuts->Get("DStartoKpipiCuts");
82
83 RDHFDStartoKpipi->SetName("DStartoKpipiCuts");
84
85
86
87 // mm let's see if everything is ok
88
89 if(!RDHFDStartoKpipi){
90
91 cout<<"Specific AliRDHFCuts not found"<<endl;
92
93 return;
94
95 }
96
97
98
99 //CREATE THE TASK
100
101 printf("CREATE TASK\n");
102
103 // create the task
104
105 AliAnalysisTaskSEDStarSpectra *task = new AliAnalysisTaskSEDStarSpectra("AliAnalysisTaskSEDStarSpectra",RDHFDStartoKpipi);
106
107 task->SetAnalysisType(anaType);
108
109 task->SetMC(theMCon);
110
111 task->SetRareSearch(theRareOn);
112
113 task->SetDoImpactParameterHistos(doImp);
114
115 task->SetDebugLevel(0);
116
117
118
119 mgr->AddTask(task);
120
121
122
123 // Create and connect containers for input/output
124
125
126
127 TString outputfile = AliAnalysisManager::GetCommonFileName();
128
129 outputfile += ":PWG3_D2H_DStarSpectra";
130
131
132
133 // ------ input data ------
134
135
136
137 //AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
138
139 AliAnalysisDataContainer *cinput0 = mgr->CreateContainer("indstar",TChain::Class(),
140
141 AliAnalysisManager::kInputContainer);
142
143
144
145
146
147 // ----- output data -----
148
149 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(Form("chist1%d%d",minC,maxC),TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
150
151 AliAnalysisDataContainer *coutputDStar1 = mgr->CreateContainer(Form("DStarAll%d%d",minC,maxC),TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
152
153 AliAnalysisDataContainer *coutputDStar2 = mgr->CreateContainer(Form("DStarPID%d%d",minC,maxC),TList::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data());
154
155 AliAnalysisDataContainer *coutputDStar3 = mgr->CreateContainer(Form("cuts%d%d",minC,maxC),AliRDHFCutsDStartoKpipi::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data()); //cuts
156
157 AliAnalysisDataContainer *coutputDstarNorm = mgr->CreateContainer(Form("coutputDstarNorm%d%d",minC,maxC),AliNormalizationCounter::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data());
158
159
160
161 mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());
162
163 mgr->ConnectOutput(task,1,coutput1);
164
165 mgr->ConnectOutput(task,2,coutputDStar1);
166
167 mgr->ConnectOutput(task,3,coutputDStar2);
168
169 mgr->ConnectOutput(task,4,coutputDStar3);
170
171 mgr->ConnectOutput(task,5,coutputDstarNorm);
172
173
174
175 return task;
176
177}
178
179
180