]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGPP/macros/AddTaskImpParRes.C
Additional protection against empty fit results and empty (or low
[u/mrichter/AliRoot.git] / PWGPP / macros / AddTaskImpParRes.C
CommitLineData
319532c0 1AliAnalysisTaskSEImpParRes *AddTaskImpParRes(Bool_t readMC=kFALSE,
2 Int_t selPdg=-1,
47f68c78 3 Bool_t diamond=kTRUE,
66cefb1c 4 Bool_t skipTrack=kTRUE,
5 Int_t minmult=0,
6 Int_t maxmult=1000000)
77e570bf 7{
8 //
9 // Configuration for the study of the impact parameter resolution
10 //
11 // xianbao.yuan@pd.infn.it, andrea.dainese@pd.infn.it
12 //
13
14
15 // Get the pointer to the existing analysis manager via the static access method.
16 //==============================================================================
17 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
18 if (!mgr) {
19 ::Error("AddTaskImpParRes", "No analysis manager to connect to.");
20 return NULL;
21 }
77e570bf 22
23 // Aanalysis task
24 AliAnalysisTaskSEImpParRes *d0ResTask = new AliAnalysisTaskSEImpParRes("d0ResAnalysis");
25 d0ResTask->SetDebugLevel(2);
26 d0ResTask->SetReadMC(readMC);
27 d0ResTask->SetSelectedPdg(selPdg);
a979993d 28 d0ResTask->SetUseDiamond(diamond);
47f68c78 29 d0ResTask->SetSkipTrack(skipTrack);
66cefb1c 30 d0ResTask->SetMultiplicityRange(minmult,maxmult);
77e570bf 31 mgr->AddTask(d0ResTask);
cbddc2a0 32
319532c0 33 TString fname=Form("%s:ImpParRes_Performance",mgr->GetCommonFileName());
cbddc2a0 34 if(selPdg>0) {fname+=selPdg;}
cbddc2a0 35
77e570bf 36
37 //
38 // Create containers for input/output
39 AliAnalysisDataContainer *cinputd0distr = mgr->CreateContainer("cinputd0distr",TChain::Class(),
40 AliAnalysisManager::kInputContainer);
41
349aa691 42 AliAnalysisDataContainer *coutputd0ITSpureSARec = mgr->CreateContainer(Form("coutputd0ITSpureSARec_%d_%d",minmult,maxmult),TList::Class(),
77e570bf 43 AliAnalysisManager::kOutputContainer,
cbddc2a0 44 fname.Data());
77e570bf 45
349aa691 46 AliAnalysisDataContainer *coutputd0ITSpureSASkip = mgr->CreateContainer(Form("coutputd0ITSpureSASkip_%d_%d",minmult,maxmult),TList::Class(),
77e570bf 47 AliAnalysisManager::kOutputContainer,
cbddc2a0 48 fname.Data());
77e570bf 49
349aa691 50 AliAnalysisDataContainer *coutputd0allPointRec = mgr->CreateContainer(Form("coutputd0allPointRec_%d_%d",minmult,maxmult),TList::Class(),
77e570bf 51 AliAnalysisManager::kOutputContainer,
cbddc2a0 52 fname.Data());
77e570bf 53
349aa691 54 AliAnalysisDataContainer *coutputd0allPointSkip = mgr->CreateContainer(Form("coutputd0allPointSkip_%d_%d",minmult,maxmult),TList::Class(),
77e570bf 55 AliAnalysisManager::kOutputContainer,
cbddc2a0 56 fname.Data());
77e570bf 57
349aa691 58 AliAnalysisDataContainer *coutputd0partPointRec = mgr->CreateContainer(Form("coutputd0partPointRec_%d_%d",minmult,maxmult),TList::Class(),
77e570bf 59 AliAnalysisManager::kOutputContainer,
cbddc2a0 60 fname.Data());
77e570bf 61
349aa691 62 AliAnalysisDataContainer *coutputd0partPointSkip = mgr->CreateContainer(Form("coutputd0partPointSkip_%d_%d",minmult,maxmult),TList::Class(),
77e570bf 63 AliAnalysisManager::kOutputContainer,
cbddc2a0 64 fname.Data());
77e570bf 65
349aa691 66 AliAnalysisDataContainer *coutputd0onepointSPDRec = mgr->CreateContainer(Form("coutputd0onepointSPDRec_%d_%d",minmult,maxmult),TList::Class(),
77e570bf 67 AliAnalysisManager::kOutputContainer,
cbddc2a0 68 fname.Data());
77e570bf 69
349aa691 70 AliAnalysisDataContainer *coutputd0onepointSPDSkip = mgr->CreateContainer(Form("coutputd0onepointSPDSkip_%d_%d",minmult,maxmult),TList::Class(),
77e570bf 71 AliAnalysisManager::kOutputContainer,
cbddc2a0 72 fname.Data());
77e570bf 73
349aa691 74 AliAnalysisDataContainer *coutputd0postvTracRec = mgr->CreateContainer(Form("coutputd0postvTracRec_%d_%d",minmult,maxmult),TList::Class(),
77e570bf 75 AliAnalysisManager::kOutputContainer,
cbddc2a0 76 fname.Data());
77e570bf 77
78
349aa691 79 AliAnalysisDataContainer *coutputd0postvTracSkip = mgr->CreateContainer(Form("coutputd0postvTracSkip_%d_%d",minmult,maxmult),TList::Class(),
77e570bf 80 AliAnalysisManager::kOutputContainer,
cbddc2a0 81 fname.Data());
77e570bf 82
349aa691 83 AliAnalysisDataContainer *coutputd0negtvTracRec = mgr->CreateContainer(Form("coutputd0negtvTracRec_%d_%d",minmult,maxmult),TList::Class(),
77e570bf 84 AliAnalysisManager::kOutputContainer,
cbddc2a0 85 fname.Data());
77e570bf 86
349aa691 87 AliAnalysisDataContainer *coutputd0negtvTracSkip = mgr->CreateContainer(Form("coutputd0negtvTracSkip_%d_%d",minmult,maxmult),TList::Class(),
77e570bf 88 AliAnalysisManager::kOutputContainer,
cbddc2a0 89 fname.Data());
77e570bf 90
349aa691 91 AliAnalysisDataContainer *coutputd0pullAllpointRec = mgr->CreateContainer(Form("coutputd0pullAllpointRec_%d_%d",minmult,maxmult),TList::Class(),
77e570bf 92 AliAnalysisManager::kOutputContainer,
cbddc2a0 93 fname.Data());
77e570bf 94
95
349aa691 96 AliAnalysisDataContainer *coutputd0pullAllpointSkip = mgr->CreateContainer(Form("coutputd0pullAllpointSkip_%d_%d",minmult,maxmult),TList::Class(),
77e570bf 97 AliAnalysisManager::kOutputContainer,
cbddc2a0 98 fname.Data());
77e570bf 99
349aa691 100 AliAnalysisDataContainer *coutputd0onlyRefitRec = mgr->CreateContainer(Form("coutputd0onlyRefitRec_%d_%d",minmult,maxmult),TList::Class(),
77e570bf 101 AliAnalysisManager::kOutputContainer,
cbddc2a0 102 fname.Data());
77e570bf 103
349aa691 104 AliAnalysisDataContainer *coutputd0onlyRefitSkip = mgr->CreateContainer(Form("coutputd0onlyRefitSkip_%d_%d",minmult,maxmult),TList::Class(),
77e570bf 105 AliAnalysisManager::kOutputContainer,
cbddc2a0 106 fname.Data());
107
77e570bf 108
349aa691 109 AliAnalysisDataContainer *coutputd0sinThetaRec = mgr->CreateContainer(Form("coutputd0sinThetaRec_%d_%d",minmult,maxmult),TList::Class(),
cbddc2a0 110 AliAnalysisManager::kOutputContainer,
111 fname.Data());
112
113
349aa691 114 AliAnalysisDataContainer *coutputd0sinThetaSkip = mgr->CreateContainer(Form("coutputd0sinThetaSkip_%d_%d",minmult,maxmult),TList::Class(),
77e570bf 115 AliAnalysisManager::kOutputContainer,
cbddc2a0 116 fname.Data());
77e570bf 117
cbddc2a0 118
349aa691 119 AliAnalysisDataContainer *coutputd0allPointTrue = mgr->CreateContainer(Form("coutputd0allPointTrue_%d_%d",minmult,maxmult),TList::Class(),
cbddc2a0 120 AliAnalysisManager::kOutputContainer,
121 fname.Data());
122
349aa691 123 AliAnalysisDataContainer *coutputd0postvTracTrue = mgr->CreateContainer(Form("coutputd0postvTracTrue_%d_%d",minmult,maxmult),TList::Class(),
cbddc2a0 124 AliAnalysisManager::kOutputContainer,
125 fname.Data());
126
349aa691 127 AliAnalysisDataContainer *coutputd0negtvTracTrue = mgr->CreateContainer(Form("coutputd0negtvTracTrue_%d_%d",minmult,maxmult),TList::Class(),
cbddc2a0 128 AliAnalysisManager::kOutputContainer,
129 fname.Data());
130
349aa691 131 AliAnalysisDataContainer *coutputd0pullAllpointTrue = mgr->CreateContainer(Form("coutputd0pullAllpointTrue_%d_%d",minmult,maxmult),TList::Class(),
cbddc2a0 132 AliAnalysisManager::kOutputContainer,
133 fname.Data());
134
135
349aa691 136 AliAnalysisDataContainer *coutputd0phiAllpointSkip = mgr->CreateContainer(Form("coutputd0phiAllpointSkip_%d_%d",minmult,maxmult),TList::Class(),
cbddc2a0 137 AliAnalysisManager::kOutputContainer,
138 fname.Data());
139
349aa691 140 AliAnalysisDataContainer *coutputd0phiPostvtracSkip = mgr->CreateContainer(Form("coutputd0phiPostvtracSkip_%d_%d",minmult,maxmult),TList::Class(),
cbddc2a0 141 AliAnalysisManager::kOutputContainer,
142 fname.Data());
143
349aa691 144 AliAnalysisDataContainer *coutputd0phiNegtvtracSkip = mgr->CreateContainer(Form("coutputd0phiNegtvtracSkip_%d_%d",minmult,maxmult),TList::Class(),
cbddc2a0 145 AliAnalysisManager::kOutputContainer,
146 fname.Data());
147
148
349aa691 149 AliAnalysisDataContainer *coutputd0clusterTypeSPD01Skip = mgr->CreateContainer(Form("coutputd0clusterTypeSPD01Skip_%d_%d",minmult,maxmult),TList::Class(),
cbddc2a0 150 AliAnalysisManager::kOutputContainer,
151 fname.Data());
152
349aa691 153 AliAnalysisDataContainer *coutputd0clusterTypeSPD02Skip = mgr->CreateContainer(Form("coutputd0clusterTypeSPD02Skip_%d_%d",minmult,maxmult),TList::Class(),
cbddc2a0 154 AliAnalysisManager::kOutputContainer,
155 fname.Data());
156
349aa691 157 AliAnalysisDataContainer *coutputd0clusterTypeSPD03Skip = mgr->CreateContainer(Form("coutputd0clusterTypeSPD03Skip_%d_%d",minmult,maxmult),TList::Class(),
cbddc2a0 158 AliAnalysisManager::kOutputContainer,
159 fname.Data());
160
349aa691 161 AliAnalysisDataContainer *coutputd0clusterTypeSPD11Skip = mgr->CreateContainer(Form("coutputd0clusterTypeSPD11Skip_%d_%d",minmult,maxmult),TList::Class(),
cbddc2a0 162 AliAnalysisManager::kOutputContainer,
163 fname.Data());
164
349aa691 165 AliAnalysisDataContainer *coutputd0clusterTypeSPD12Skip = mgr->CreateContainer(Form("coutputd0clusterTypeSPD12Skip_%d_%d",minmult,maxmult),TList::Class(),
cbddc2a0 166 AliAnalysisManager::kOutputContainer,
167 fname.Data());
168
349aa691 169 AliAnalysisDataContainer *coutputd0clusterTypeSPD13Skip = mgr->CreateContainer(Form("coutputd0clusterTypeSPD13Skip_%d_%d",minmult,maxmult),TList::Class(),
cbddc2a0 170 AliAnalysisManager::kOutputContainer,
171 fname.Data());
172
349aa691 173 AliAnalysisDataContainer *coutputd0PID = mgr->CreateContainer(Form("coutputd0PID_%d_%d",minmult,maxmult),TList::Class(),
319532c0 174 AliAnalysisManager::kOutputContainer,
175 fname.Data());
176
349aa691 177 AliAnalysisDataContainer *coutputd0Pt = mgr->CreateContainer(Form("coutputd0Pt_%d_%d",minmult,maxmult),TList::Class(),
cbddc2a0 178 AliAnalysisManager::kOutputContainer,
179 fname.Data());
180
349aa691 181 AliAnalysisDataContainer *coutputNentries = mgr->CreateContainer(Form("coutputNentries_%d_%d",minmult,maxmult),TH1F::Class(),
77e570bf 182 AliAnalysisManager::kOutputContainer,
cbddc2a0 183 fname.Data());
77e570bf 184
349aa691 185 AliAnalysisDataContainer *coutputEstimVtx = mgr->CreateContainer(Form("coutputEstimVtx_%d_%d",minmult,maxmult),TH1F::Class(),
77e570bf 186 AliAnalysisManager::kOutputContainer,
cbddc2a0 187 fname.Data());
319532c0 188
189 // Attach input
77e570bf 190 mgr->ConnectInput(d0ResTask,0,mgr->GetCommonInputContainer());
319532c0 191 // Attack output
77e570bf 192 mgr->ConnectOutput(d0ResTask,1,coutputd0ITSpureSARec);
193 mgr->ConnectOutput(d0ResTask,2,coutputd0ITSpureSASkip);
194 mgr->ConnectOutput(d0ResTask,3,coutputd0allPointRec);
195 mgr->ConnectOutput(d0ResTask,4,coutputd0allPointSkip);
196 mgr->ConnectOutput(d0ResTask,5,coutputd0partPointRec);
197 mgr->ConnectOutput(d0ResTask,6,coutputd0partPointSkip);
198 mgr->ConnectOutput(d0ResTask,7,coutputd0onepointSPDRec);
199 mgr->ConnectOutput(d0ResTask,8,coutputd0onepointSPDSkip);
200 mgr->ConnectOutput(d0ResTask,9,coutputd0postvTracRec);
201 mgr->ConnectOutput(d0ResTask,10,coutputd0postvTracSkip);
202 mgr->ConnectOutput(d0ResTask,11,coutputd0negtvTracRec);
203 mgr->ConnectOutput(d0ResTask,12,coutputd0negtvTracSkip);
204 mgr->ConnectOutput(d0ResTask,13,coutputd0pullAllpointRec);
205 mgr->ConnectOutput(d0ResTask,14,coutputd0pullAllpointSkip);
206 mgr->ConnectOutput(d0ResTask,15,coutputd0onlyRefitRec);
207 mgr->ConnectOutput(d0ResTask,16,coutputd0onlyRefitSkip);
0013ea25 208 mgr->ConnectOutput(d0ResTask,17,coutputd0sinThetaRec);
209 mgr->ConnectOutput(d0ResTask,18,coutputd0sinThetaSkip);
cbddc2a0 210 mgr->ConnectOutput(d0ResTask,19,coutputd0allPointTrue);
211 mgr->ConnectOutput(d0ResTask,20,coutputd0postvTracTrue);
212 mgr->ConnectOutput(d0ResTask,21,coutputd0negtvTracTrue);
213 mgr->ConnectOutput(d0ResTask,22,coutputd0pullAllpointTrue);
214 mgr->ConnectOutput(d0ResTask,23,coutputd0phiAllpointSkip);
215 mgr->ConnectOutput(d0ResTask,24,coutputd0phiPostvtracSkip);
216 mgr->ConnectOutput(d0ResTask,25,coutputd0phiNegtvtracSkip);
217 mgr->ConnectOutput(d0ResTask,26,coutputd0clusterTypeSPD01Skip);
218 mgr->ConnectOutput(d0ResTask,27,coutputd0clusterTypeSPD02Skip);
219 mgr->ConnectOutput(d0ResTask,28,coutputd0clusterTypeSPD03Skip);
220 mgr->ConnectOutput(d0ResTask,29,coutputd0clusterTypeSPD11Skip);
221 mgr->ConnectOutput(d0ResTask,30,coutputd0clusterTypeSPD12Skip);
222 mgr->ConnectOutput(d0ResTask,31,coutputd0clusterTypeSPD13Skip);
319532c0 223 mgr->ConnectOutput(d0ResTask,32,coutputd0PID);
224 mgr->ConnectOutput(d0ResTask,33,coutputd0Pt);
225 mgr->ConnectOutput(d0ResTask,34,coutputNentries);
226 mgr->ConnectOutput(d0ResTask,35,coutputEstimVtx);
227
77e570bf 228 return d0ResTask;
229}