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