]>
Commit | Line | Data |
---|---|---|
bc92c0cb | 1 | /************************************************************************* |
2 | * Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. * | |
3 | * * | |
4 | * Author: The ALICE Off-line Project. * | |
5 | * Contributors are mentioned in the code where appropriate. * | |
6 | * * | |
52021ae2 | 7 | * Permission to use, copy, modify and distribute this software and its * |
bc92c0cb | 8 | * documentation strictly for non-commercial purposes is hereby granted * |
9 | * without fee, provided that the above copyright notice appears in all * | |
10 | * copies and that both the copyright notice and this permission notice * | |
11 | * appear in the supporting documentation. The authors make no claims * | |
12 | * about the suitability of this software for any purpose. It is * | |
13 | * provided "as is" without express or implied warranty. * | |
14 | **************************************************************************/ | |
15 | ||
16 | /************************************** | |
17 | * analysis task for Q-cumulants * | |
18 | * * | |
19 | * authors: Naomi van der Kolk * | |
20 | * (kolk@nikhef.nl) * | |
21 | * Raimond Snellings * | |
22 | * (snelling@nikhef.nl) * | |
23 | * Ante Bilandzic * | |
24 | * (anteb@nikhef.nl) * | |
25 | * ***********************************/ | |
26 | ||
27 | #include "Riostream.h" | |
28 | #include "TChain.h" | |
29 | #include "TTree.h" | |
30 | #include "TFile.h" | |
31 | #include "TList.h" | |
32 | #include "TH1.h" | |
e085f1a9 | 33 | #include "TGraph.h" |
bc92c0cb | 34 | #include "TProfile.h" |
35 | #include "TProfile2D.h" | |
36 | #include "TProfile3D.h" | |
37 | ||
38 | #include "AliAnalysisTask.h" | |
39 | #include "AliAnalysisDataSlot.h" | |
40 | #include "AliAnalysisDataContainer.h" | |
41 | #include "AliAnalysisManager.h" | |
42 | ||
7183fe85 | 43 | #include "AliFlowEventSimple.h" |
bc92c0cb | 44 | #include "AliAnalysisTaskQCumulants.h" |
bc92c0cb | 45 | #include "AliFlowAnalysisWithQCumulants.h" |
46 | #include "AliFlowCumuConstants.h" | |
47 | #include "AliFlowCommonConstants.h" | |
7e58a232 | 48 | #include "AliFlowCommonHist.h" |
bc92c0cb | 49 | #include "AliFlowCommonHistResults.h" |
50 | #include "AliQCumulantsFunctions.h" | |
51 | ||
52 | ClassImp(AliAnalysisTaskQCumulants) | |
53 | ||
54 | //================================================================================================================ | |
55 | ||
7183fe85 | 56 | AliAnalysisTaskQCumulants::AliAnalysisTaskQCumulants(const char *name, Bool_t useWeights): |
bc92c0cb | 57 | AliAnalysisTask(name,""), |
7183fe85 | 58 | fEvent(NULL), |
59 | fQCA(NULL), // Q-cumulant Analysis (QCA) object | |
e04e4ec5 | 60 | fUseWeights(useWeights), |
61 | fUsePhiWeights(kFALSE), | |
62 | fUsePtWeights(kFALSE), | |
63 | fUseEtaWeights(kFALSE), | |
64 | fListWeights(NULL) | |
bc92c0cb | 65 | { |
7183fe85 | 66 | // constructor |
bc92c0cb | 67 | cout<<"AliAnalysisTaskQCumulants::AliAnalysisTaskQCumulants(const char *name)"<<endl; |
68 | ||
69 | // Define input and output slots here | |
70 | // Input slot #0 works with a TChain | |
7183fe85 | 71 | DefineInput(0, AliFlowEventSimple::Class()); |
bc92c0cb | 72 | |
e04e4ec5 | 73 | // Input slot #1 is needed for the weights |
74 | if(useWeights) | |
75 | { | |
76 | DefineInput(1, TList::Class()); | |
77 | } | |
78 | ||
bc92c0cb | 79 | // Output slot #0 writes into a TList container |
80 | DefineOutput(0, TList::Class()); | |
e04e4ec5 | 81 | |
bc92c0cb | 82 | } |
83 | ||
84 | AliAnalysisTaskQCumulants::AliAnalysisTaskQCumulants(): | |
7183fe85 | 85 | fEvent(NULL), |
bc92c0cb | 86 | fQCA(NULL),//Q-cumulant Analysis (QCA) object |
7183fe85 | 87 | fListHistos(NULL), |
e04e4ec5 | 88 | fUseWeights(kFALSE), |
89 | fUsePhiWeights(kFALSE), | |
90 | fUsePtWeights(kFALSE), | |
91 | fUseEtaWeights(kFALSE), | |
92 | fListWeights(NULL) | |
bc92c0cb | 93 | { |
7183fe85 | 94 | // dummy constructor |
bc92c0cb | 95 | cout<<"AliAnalysisTaskQCumulants::AliAnalysisTaskQCumulants()"<<endl; |
96 | } | |
97 | ||
98 | //================================================================================================================ | |
99 | ||
100 | void AliAnalysisTaskQCumulants::ConnectInputData(Option_t *) | |
101 | { | |
7183fe85 | 102 | // connect ESD or AOD (called once) |
bc92c0cb | 103 | cout<<"AliAnalysisTaskQCumulants::ConnectInputData(Option_t *)"<<endl; |
bc92c0cb | 104 | } |
105 | ||
106 | //================================================================================================================ | |
107 | ||
108 | void AliAnalysisTaskQCumulants::CreateOutputObjects() | |
109 | { | |
7183fe85 | 110 | // called at every worker node to initialize |
bc92c0cb | 111 | cout<<"AliAnalysisTaskQCumulants::CreateOutputObjects()"<<endl; |
112 | ||
7183fe85 | 113 | // analyser |
bc92c0cb | 114 | fQCA = new AliFlowAnalysisWithQCumulants(); |
e085f1a9 | 115 | fQCA->Init(); |
e04e4ec5 | 116 | |
117 | //weights: | |
118 | if(fUseWeights) | |
119 | { | |
120 | //pass the flags to class: | |
121 | if(fUsePhiWeights) fQCA->SetUsePhiWeights(fUsePhiWeights); | |
122 | if(fUsePtWeights) fQCA->SetUsePtWeights(fUsePtWeights); | |
123 | if(fUseEtaWeights) fQCA->SetUseEtaWeights(fUseEtaWeights); | |
124 | //get data from input slot #1 which is used for weights: | |
125 | if(GetNinputs()==2) | |
126 | { | |
127 | fListWeights = (TList*)GetInputData(1); | |
128 | } | |
129 | //pass the list with weights to class: | |
130 | if(fListWeights) fQCA->SetWeightsList(fListWeights); | |
131 | } | |
132 | ||
bc92c0cb | 133 | if(fQCA->GetHistList()) |
134 | { | |
135 | fListHistos = fQCA->GetHistList(); | |
136 | //fListHistos->Print(); | |
137 | } | |
138 | else | |
139 | { | |
7183fe85 | 140 | Printf(" ERROR: Could not retrieve histogram list (QC, Task::COO)"); |
bc92c0cb | 141 | } |
e04e4ec5 | 142 | |
bc92c0cb | 143 | //PostData(0,fListHistos); |
144 | ||
145 | } | |
146 | ||
147 | //================================================================================================================ | |
148 | ||
149 | void AliAnalysisTaskQCumulants::Exec(Option_t *) | |
150 | { | |
7183fe85 | 151 | // main loop (called for each event) |
152 | fEvent = dynamic_cast<AliFlowEventSimple*>(GetInputData(0)); | |
153 | ||
154 | // Q-cumulants | |
155 | if(fEvent) | |
156 | { | |
157 | fQCA->Make(fEvent); | |
158 | }else | |
159 | { | |
160 | cout<<" WARNING: No input data (QC, Task::E) !!!"<<endl; | |
161 | cout<<endl; | |
bc92c0cb | 162 | } |
163 | ||
7183fe85 | 164 | PostData(0,fListHistos); |
bc92c0cb | 165 | } |
166 | ||
167 | //================================================================================================================ | |
168 | ||
169 | void AliAnalysisTaskQCumulants::Terminate(Option_t *) | |
8842fb2b | 170 | { |
bc92c0cb | 171 | //accessing the output list which contains the merged 2D and 3D profiles from all worker nodes |
172 | fListHistos = (TList*)GetOutputData(0); | |
173 | //fListHistos->Print(); | |
e04e4ec5 | 174 | |
bc92c0cb | 175 | if(fListHistos) |
176 | { | |
8842fb2b | 177 | //final results (integrated flow) |
1315fe58 | 178 | TH1D *intFlowResults = dynamic_cast<TH1D*>(fListHistos->FindObject("fIntFlowResultsQC")); |
bc92c0cb | 179 | |
8842fb2b | 180 | //final results (differential flow) |
1315fe58 | 181 | TH1D *diffFlowResults2ndOrder = dynamic_cast<TH1D*>(fListHistos->FindObject("fDiffFlowResults2ndOrderQC")); |
182 | TH1D *diffFlowResults4thOrder = dynamic_cast<TH1D*>(fListHistos->FindObject("fDiffFlowResults4thOrderQC")); | |
bc92c0cb | 183 | |
8842fb2b | 184 | //final results for covariances (1st bin <2*4>-<2>*<4>, 2nd bin <2*6>-<2>*<6>, ...) |
1315fe58 | 185 | TH1D *covariances = dynamic_cast<TH1D*>(fListHistos->FindObject("fCovariances")); |
bc92c0cb | 186 | |
7e58a232 | 187 | //common control histograms (taking into account only the events with 2 and more particles) |
188 | AliFlowCommonHist *commonHist2nd = dynamic_cast<AliFlowCommonHist*>(fListHistos->FindObject("AliFlowCommonHist2ndOrderQC")); | |
189 | ||
190 | //common control histograms (taking into account only the events with 4 and more particles) | |
191 | AliFlowCommonHist *commonHist4th = dynamic_cast<AliFlowCommonHist*>(fListHistos->FindObject("AliFlowCommonHist4thOrderQC")); | |
192 | ||
193 | //common control histograms (taking into account only the events with 6 and more particles) | |
194 | AliFlowCommonHist *commonHist6th = dynamic_cast<AliFlowCommonHist*>(fListHistos->FindObject("AliFlowCommonHist6thOrderQC")); | |
195 | ||
196 | //common control histograms (taking into account only the events with 8 and more particles) | |
197 | AliFlowCommonHist *commonHist8th = dynamic_cast<AliFlowCommonHist*>(fListHistos->FindObject("AliFlowCommonHist8thOrderQC")); | |
198 | ||
8842fb2b | 199 | //common histograms to store the final results for the 2nd order integrated and differential flow |
200 | AliFlowCommonHistResults *commonHistRes2nd = dynamic_cast<AliFlowCommonHistResults*>(fListHistos->FindObject("AliFlowCommonHistResults2ndOrderQC")); | |
bc92c0cb | 201 | |
8842fb2b | 202 | //common histograms to store the final results for the 4th order integrated and differential flow |
203 | AliFlowCommonHistResults *commonHistRes4th = dynamic_cast<AliFlowCommonHistResults*>(fListHistos->FindObject("AliFlowCommonHistResults4thOrderQC")); | |
bc92c0cb | 204 | |
8842fb2b | 205 | //common histograms to store the final results for the 6th order integrated and differential flow |
206 | AliFlowCommonHistResults *commonHistRes6th = dynamic_cast<AliFlowCommonHistResults*>(fListHistos->FindObject("AliFlowCommonHistResults6thOrderQC")); | |
bc92c0cb | 207 | |
8842fb2b | 208 | //common histograms to store the final results for the 8th order integrated and differential flow |
209 | AliFlowCommonHistResults *commonHistRes8th = dynamic_cast<AliFlowCommonHistResults*>(fListHistos->FindObject("AliFlowCommonHistResults8thOrderQC")); | |
bc92c0cb | 210 | |
8842fb2b | 211 | //average selected multiplicity (for int. flow) |
212 | TProfile *AvMult = dynamic_cast<TProfile*>(fListHistos->FindObject("fAvMultIntFlowQC")); | |
bc92c0cb | 213 | |
e085f1a9 | 214 | //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
215 | // !!!! to be removed !!!! | |
216 | //profiles containing the Q-vectors from all events | |
217 | TProfile *qvectorForEachEventX = dynamic_cast<TProfile*>(fListHistos->FindObject("fQvectorForEachEventX")); | |
218 | TProfile *qvectorForEachEventY = dynamic_cast<TProfile*>(fListHistos->FindObject("fQvectorForEachEventY")); | |
219 | //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | |
220 | ||
8842fb2b | 221 | //multi-particle correlations calculated from Q-vectors |
222 | TProfile *QCorrelations = dynamic_cast<TProfile*>(fListHistos->FindObject("fQCorrelations")); | |
bc92c0cb | 223 | |
3d824203 | 224 | //weighted multi-particle correlations calculated from Q-vectors |
225 | TProfile *QCorrelationsW = dynamic_cast<TProfile*>(fListHistos->FindObject("fQCorrelationsW")); | |
226 | ||
8842fb2b | 227 | //average of products: 1st bin: <2*4>, 2nd bin: <2*6>, ... |
228 | TProfile *QProduct = dynamic_cast<TProfile*>(fListHistos->FindObject("fQProduct")); | |
bc92c0cb | 229 | |
1dfa3c16 | 230 | //average 2-, 3- and 4-particle correlations per pt-bin |
ae733b3b | 231 | TProfile *binnedPt2p1n1nRP = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f2PerPtBin1n1nRP")); |
232 | TProfile *binnedPt2p2n2nRP = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f2PerPtBin2n2nRP")); | |
233 | TProfile *binnedPt3p2n1n1nRP = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f3PerPtBin2n1n1nRP")); | |
234 | TProfile *binnedPt3p1n1n2nRP = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f3PerPtBin1n1n2nRP")); | |
235 | TProfile *binnedPt4p1n1n1n1nRP = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f4PerPtBin1n1n1n1nRP")); | |
1dfa3c16 | 236 | |
237 | //average 2-, 3- and 4-particle correlations per eta-bin | |
ae733b3b | 238 | TProfile *binnedEta2p1n1nRP = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f2PerEtaBin1n1nRP")); |
239 | TProfile *binnedEta2p2n2nRP = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f2PerEtaBin2n2nRP")); | |
240 | TProfile *binnedEta3p2n1n1nRP = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f3PerEtaBin2n1n1nRP")); | |
241 | TProfile *binnedEta3p1n1n2nRP = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f3PerEtaBin1n1n2nRP")); | |
242 | TProfile *binnedEta4p1n1n1n1nRP = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f4PerEtaBin1n1n1n1nRP")); | |
1dfa3c16 | 243 | |
244 | //average 2-, 3- and 4-particle correlations per pt-bin | |
ae733b3b | 245 | TProfile *binnedPt2p1n1nPOI = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f2PerPtBin1n1nPOI")); |
246 | TProfile *binnedPt2p2n2nPOI = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f2PerPtBin2n2nPOI")); | |
247 | TProfile *binnedPt3p2n1n1nPOI = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f3PerPtBin2n1n1nPOI")); | |
248 | TProfile *binnedPt3p1n1n2nPOI = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f3PerPtBin1n1n2nPOI")); | |
249 | TProfile *binnedPt4p1n1n1n1nPOI = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f4PerPtBin1n1n1n1nPOI")); | |
1dfa3c16 | 250 | |
251 | //average 2-, 3- and 4-particle correlations per eta-bin | |
ae733b3b | 252 | TProfile *binnedEta2p1n1nPOI = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f2PerEtaBin1n1nPOI")); |
253 | TProfile *binnedEta2p2n2nPOI = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f2PerEtaBin2n2nPOI")); | |
254 | TProfile *binnedEta3p2n1n1nPOI = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f3PerEtaBin2n1n1nPOI")); | |
255 | TProfile *binnedEta3p1n1n2nPOI = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f3PerEtaBin1n1n2nPOI")); | |
256 | TProfile *binnedEta4p1n1n1n1nPOI = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f4PerEtaBin1n1n1n1nPOI")); | |
3d824203 | 257 | |
258 | ||
259 | ||
260 | //average 2-, 3- and 4-particle correlations per pt-bin | |
261 | TProfile *binnedWPt2p1n1nPOI = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f2WPerPtBin1n1nPOI")); | |
262 | TProfile *binnedWPt2p2n2nPOI = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f2WPerPtBin2n2nPOI")); | |
263 | TProfile *binnedWPt3p2n1n1nPOI = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f3WPerPtBin2n1n1nPOI")); | |
264 | TProfile *binnedWPt3p1n1n2nPOI = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f3WPerPtBin1n1n2nPOI")); | |
265 | TProfile *binnedWPt4p1n1n1n1nPOI = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f4WPerPtBin1n1n1n1nPOI")); | |
266 | ||
267 | cout<<endl; | |
268 | cout<<"ab"<<endl; | |
269 | cout<<binnedWPt4p1n1n1n1nPOI->GetName()<<endl; | |
270 | cout<<endl; | |
271 | ||
272 | ||
273 | ||
274 | TProfile *binnedWEta2p1n1nPOI = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f2WPerEtaBin1n1nPOI")); | |
275 | ||
276 | TProfile *binnedWEta4p1n1n1n1nPOI = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f4WPerEtaBin1n1n1n1nPOI")); | |
277 | ||
278 | ||
279 | TProfile *binnedWPt2p1n1nRP = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f2WPerPtBin1n1nRP")); | |
280 | ||
281 | TProfile *binnedWPt4p1n1n1n1nRP = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f4WPerPtBin1n1n1n1nRP")); | |
282 | ||
283 | TProfile *binnedWEta2p1n1nRP = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f2WPerEtaBin1n1nRP")); | |
284 | ||
285 | TProfile *binnedWEta4p1n1n1n1nRP = dynamic_cast<TProfile*>((dynamic_cast<TList*>(fListHistos->FindObject("DifferentialFlow")))->FindObject("f4WPerEtaBin1n1n1n1nRP")); | |
286 | ||
287 | ||
288 | ||
289 | ||
290 | ||
291 | ||
e085f1a9 | 292 | |
8842fb2b | 293 | //average values of Q-vector components (1st bin: <Q_x>, 2nd bin: <Q_y>, 3rd bin: <(Q_x)^2>, 4th bin: <(Q_y)^2>) |
294 | TProfile *QVectorComponents = dynamic_cast<TProfile*>(fListHistos->FindObject("fQvectorComponents")); | |
295 | ||
296 | //multi-particle correlations calculated with nested loop | |
297 | TProfile *DirectCorrelations = dynamic_cast<TProfile*>(fListHistos->FindObject("fDirectCorrelations")); | |
298 | ||
52021ae2 | 299 | //---------------------------------------------------- |
8842fb2b | 300 | |
301 | fQCA = new AliFlowAnalysisWithQCumulants(); | |
302 | ||
303 | fQCA->SetIntFlowResults(intFlowResults); | |
304 | fQCA->SetDiffFlowResults2nd(diffFlowResults2ndOrder); | |
305 | fQCA->SetDiffFlowResults4th(diffFlowResults4thOrder); | |
306 | fQCA->SetCovariances(covariances); | |
7e58a232 | 307 | |
308 | fQCA->SetCommonHists2nd(commonHist2nd); | |
309 | fQCA->SetCommonHists4th(commonHist4th); | |
310 | fQCA->SetCommonHists6th(commonHist6th); | |
311 | fQCA->SetCommonHists8th(commonHist8th); | |
8842fb2b | 312 | |
313 | fQCA->SetCommonHistsResults2nd(commonHistRes2nd); | |
314 | fQCA->SetCommonHistsResults4th(commonHistRes4th); | |
315 | fQCA->SetCommonHistsResults6th(commonHistRes6th); | |
316 | fQCA->SetCommonHistsResults8th(commonHistRes8th); | |
317 | ||
318 | fQCA->SetAverageMultiplicity(AvMult); | |
e085f1a9 | 319 | //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
320 | // !!!! to be removed !!!! | |
321 | fQCA->SetQvectorForEachEventX(qvectorForEachEventX); | |
322 | fQCA->SetQvectorForEachEventY(qvectorForEachEventY); | |
323 | //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | |
8842fb2b | 324 | fQCA->SetQCorrelations(QCorrelations); |
3d824203 | 325 | fQCA->SetQCorrelationsW(QCorrelationsW); |
8842fb2b | 326 | fQCA->SetQProduct(QProduct); |
327 | fQCA->SetQVectorComponents(QVectorComponents); | |
328 | ||
1dfa3c16 | 329 | fQCA->SetTwo1n1nPerPtBinRP(binnedPt2p1n1nRP); |
330 | fQCA->SetTwo2n2nPerPtBinRP(binnedPt2p2n2nRP); | |
331 | fQCA->SetThree2n1n1nPerPtBinRP(binnedPt3p2n1n1nRP); | |
332 | fQCA->SetThree1n1n2nPerPtBinRP(binnedPt3p1n1n2nRP); | |
333 | fQCA->SetFour1n1n1n1nPerPtBinRP(binnedPt4p1n1n1n1nRP); | |
334 | ||
335 | fQCA->SetTwo1n1nPerEtaBinRP(binnedEta2p1n1nRP); | |
336 | fQCA->SetTwo2n2nPerEtaBinRP(binnedEta2p2n2nRP); | |
337 | fQCA->SetThree2n1n1nPerEtaBinRP(binnedEta3p2n1n1nRP); | |
338 | fQCA->SetThree1n1n2nPerEtaBinRP(binnedEta3p1n1n2nRP); | |
339 | fQCA->SetFour1n1n1n1nPerEtaBinRP(binnedEta4p1n1n1n1nRP); | |
340 | ||
341 | fQCA->SetTwo1n1nPerPtBinPOI(binnedPt2p1n1nPOI); | |
342 | fQCA->SetTwo2n2nPerPtBinPOI(binnedPt2p2n2nPOI); | |
343 | fQCA->SetThree2n1n1nPerPtBinPOI(binnedPt3p2n1n1nPOI); | |
344 | fQCA->SetThree1n1n2nPerPtBinPOI(binnedPt3p1n1n2nPOI); | |
345 | fQCA->SetFour1n1n1n1nPerPtBinPOI(binnedPt4p1n1n1n1nPOI); | |
346 | ||
347 | fQCA->SetTwo1n1nPerEtaBinPOI(binnedEta2p1n1nPOI); | |
348 | fQCA->SetTwo2n2nPerEtaBinPOI(binnedEta2p2n2nPOI); | |
349 | fQCA->SetThree2n1n1nPerEtaBinPOI(binnedEta3p2n1n1nPOI); | |
350 | fQCA->SetThree1n1n2nPerEtaBinPOI(binnedEta3p1n1n2nPOI); | |
351 | fQCA->SetFour1n1n1n1nPerEtaBinPOI(binnedEta4p1n1n1n1nPOI); | |
bc92c0cb | 352 | |
3d824203 | 353 | |
354 | ||
355 | ||
356 | ||
357 | fQCA->SetTwo1n1nWPerPtBinPOI(binnedWPt2p1n1nPOI); | |
358 | fQCA->SetTwo2n2nWPerPtBinPOI(binnedWPt2p2n2nPOI); | |
359 | fQCA->SetThree2n1n1nWPerPtBinPOI(binnedWPt3p2n1n1nPOI); | |
360 | fQCA->SetThree1n1n2nWPerPtBinPOI(binnedWPt3p1n1n2nPOI); | |
361 | fQCA->SetFour1n1n1n1nWPerPtBinPOI(binnedWPt4p1n1n1n1nPOI); | |
362 | ||
363 | fQCA->SetTwo1n1nWPerEtaBinPOI(binnedWEta2p1n1nPOI); | |
364 | fQCA->SetFour1n1n1n1nWPerEtaBinPOI(binnedWEta4p1n1n1n1nPOI); | |
365 | ||
366 | fQCA->SetTwo1n1nWPerPtBinRP(binnedWPt2p1n1nRP); | |
367 | fQCA->SetFour1n1n1n1nWPerPtBinRP(binnedWPt4p1n1n1n1nRP); | |
368 | ||
369 | fQCA->SetTwo1n1nWPerEtaBinRP(binnedWEta2p1n1nRP); | |
370 | fQCA->SetFour1n1n1n1nWPerEtaBinRP(binnedWEta4p1n1n1n1nRP); | |
371 | ||
372 | ||
373 | ||
374 | ||
375 | ||
376 | ||
377 | ||
8842fb2b | 378 | fQCA->SetDirectCorrelations(DirectCorrelations); |
bc92c0cb | 379 | |
8842fb2b | 380 | fQCA->Finish(); |
52021ae2 | 381 | |
382 | //---------------------------------------------------- | |
bc92c0cb | 383 | } |
384 | else | |
385 | { | |
3d824203 | 386 | cout<<" WARNING: histogram list pointer is empty (QC, Task::Terminate())"<<endl; |
ae733b3b | 387 | cout<<endl; |
bc92c0cb | 388 | } |
389 | } | |
390 | ||
391 | ||
392 | ||
393 | ||
394 | ||
395 | ||
396 | ||
397 | ||
398 | ||
399 | ||
400 | ||
401 | ||
402 | ||
403 | ||
404 | ||
405 | ||
406 | ||
407 | ||
408 | ||
409 | ||
410 |