]>
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 | * * | |
7 | * Permission to use, copy, modify and distribute this software and its * | |
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 | * flow analysis with Q-cumulants * | |
18 | * * | |
19 | * author: Ante Bilandzic * | |
20 | * (anteb@nikhef.nl) * | |
21 | *********************************/ | |
22 | ||
23 | #define AliFlowAnalysisWithQCumulants_cxx | |
24 | ||
25 | #include "Riostream.h" | |
26 | #include "AliFlowCommonConstants.h" | |
27 | #include "AliFlowCommonHist.h" | |
28 | #include "AliFlowCommonHistResults.h" | |
29 | #include "TChain.h" | |
30 | #include "TFile.h" | |
1315fe58 | 31 | #include "TList.h" |
e085f1a9 | 32 | #include "TGraph.h" |
bc92c0cb | 33 | #include "TParticle.h" |
34 | #include "TRandom3.h" | |
1315fe58 | 35 | #include "TStyle.h" |
bc92c0cb | 36 | #include "TProfile.h" |
37 | #include "TProfile2D.h" | |
38 | #include "TProfile3D.h" | |
1dfa3c16 | 39 | #include "TMath.h" |
e085f1a9 | 40 | #include "TArrow.h" |
41 | #include "TPaveLabel.h" | |
42 | #include "TCanvas.h" | |
bc92c0cb | 43 | #include "AliFlowEventSimple.h" |
44 | #include "AliFlowTrackSimple.h" | |
45 | #include "AliFlowAnalysisWithQCumulants.h" | |
1315fe58 | 46 | #include "AliQCumulantsFunctions.h" |
3d824203 | 47 | #include "TArrayD.h" |
48 | ||
bc92c0cb | 49 | |
50 | #include "TRandom.h" | |
51 | ||
52 | class TH1; | |
53 | class TGraph; | |
54 | class TPave; | |
55 | class TLatex; | |
56 | class TMarker; | |
57 | class TRandom3; | |
58 | class TObjArray; | |
59 | class TList; | |
60 | class TCanvas; | |
61 | class TSystem; | |
62 | class TROOT; | |
63 | class AliFlowVector; | |
64 | class TVector; | |
65 | ||
66 | //================================================================================================================ | |
67 | ||
68 | ClassImp(AliFlowAnalysisWithQCumulants) | |
69 | ||
70 | AliFlowAnalysisWithQCumulants::AliFlowAnalysisWithQCumulants(): | |
71 | fTrack(NULL), | |
72 | fHistList(NULL), | |
ae733b3b | 73 | fDiffFlowList(NULL), |
03a02aca | 74 | fWeightsList(NULL), |
1315fe58 | 75 | fAvMultIntFlowQC(NULL), |
bc92c0cb | 76 | fQvectorComponents(NULL), |
1315fe58 | 77 | fIntFlowResultsQC(NULL), |
78 | fDiffFlowResults2ndOrderQC(NULL), | |
79 | fDiffFlowResults4thOrderQC(NULL), | |
80 | fCovariances(NULL), | |
e085f1a9 | 81 | fQvectorForEachEventX(NULL),//to be removed |
82 | fQvectorForEachEventY(NULL),//to be removed | |
bc92c0cb | 83 | fQCorrelations(NULL), |
3d824203 | 84 | fQCorrelationsW(NULL), |
8842fb2b | 85 | fQProduct(NULL), |
bc92c0cb | 86 | fDirectCorrelations(NULL), |
1dfa3c16 | 87 | fPtReq1nRP(NULL), |
88 | fPtImq1nRP(NULL), | |
89 | fPtReq2nRP(NULL), | |
90 | fPtImq2nRP(NULL), | |
91 | f2PerPtBin1n1nRP(NULL), | |
92 | f2PerPtBin2n2nRP(NULL), | |
93 | f3PerPtBin2n1n1nRP(NULL), | |
94 | f3PerPtBin1n1n2nRP(NULL), | |
95 | f4PerPtBin1n1n1n1nRP(NULL), | |
96 | fEtaReq1nRP(NULL), | |
97 | fEtaImq1nRP(NULL), | |
98 | fEtaReq2nRP(NULL), | |
99 | fEtaImq2nRP(NULL), | |
100 | f2PerEtaBin1n1nRP(NULL), | |
101 | f2PerEtaBin2n2nRP(NULL), | |
102 | f3PerEtaBin2n1n1nRP(NULL), | |
103 | f3PerEtaBin1n1n2nRP(NULL), | |
104 | f4PerEtaBin1n1n1n1nRP(NULL), | |
4057ba99 | 105 | fPtReq1nPrimePOI(NULL), |
106 | fPtImq1nPrimePOI(NULL), | |
107 | fPtReq2nPrimePOI(NULL), | |
108 | fPtImq2nPrimePOI(NULL), | |
109 | fmPrimePerPtBin(NULL), | |
110 | fPtReq1nPrimePrimePOI(NULL), | |
111 | fPtImq1nPrimePrimePOI(NULL), | |
112 | fPtReq2nPrimePrimePOI(NULL), | |
113 | fPtImq2nPrimePrimePOI(NULL), | |
114 | fmPrimePrimePerPtBin(NULL), | |
115 | fEtaReq1nPrimePOI(NULL), | |
116 | fEtaImq1nPrimePOI(NULL), | |
117 | fEtaReq2nPrimePOI(NULL), | |
118 | fEtaImq2nPrimePOI(NULL), | |
119 | fmPrimePerEtaBin(NULL), | |
120 | fEtaReq1nPrimePrimePOI(NULL), | |
121 | fEtaImq1nPrimePrimePOI(NULL), | |
122 | fEtaReq2nPrimePrimePOI(NULL), | |
123 | fEtaImq2nPrimePrimePOI(NULL), | |
124 | fmPrimePrimePerEtaBin(NULL), | |
1dfa3c16 | 125 | f2PerPtBin1n1nPOI(NULL), |
126 | f2PerPtBin2n2nPOI(NULL), | |
127 | f3PerPtBin2n1n1nPOI(NULL), | |
128 | f3PerPtBin1n1n2nPOI(NULL), | |
129 | f4PerPtBin1n1n1n1nPOI(NULL), | |
1dfa3c16 | 130 | f2PerEtaBin1n1nPOI(NULL), |
131 | f2PerEtaBin2n2nPOI(NULL), | |
132 | f3PerEtaBin2n1n1nPOI(NULL), | |
133 | f3PerEtaBin1n1n2nPOI(NULL), | |
134 | f4PerEtaBin1n1n1n1nPOI(NULL), | |
3d824203 | 135 | |
136 | ||
137 | ||
138 | ||
139 | f2WPerPtBin1n1nPOI(NULL), | |
140 | f2WPerPtBin2n2nPOI(NULL), | |
141 | f3WPerPtBin2n1n1nPOI(NULL), | |
142 | f3WPerPtBin1n1n2nPOI(NULL), | |
143 | f4WPerPtBin1n1n1n1nPOI(NULL), | |
144 | ||
145 | f2WPerEtaBin1n1nPOI(NULL), | |
146 | f4WPerEtaBin1n1n1n1nPOI(NULL), | |
147 | ||
148 | f2WPerPtBin1n1nRP(NULL), | |
149 | f4WPerPtBin1n1n1n1nRP(NULL), | |
150 | ||
151 | f2WPerEtaBin1n1nRP(NULL), | |
152 | f4WPerEtaBin1n1n1n1nRP(NULL), | |
153 | ||
154 | ||
155 | ||
156 | ||
157 | ||
cb308e83 | 158 | fCommonHists2nd(NULL), |
159 | fCommonHists4th(NULL), | |
160 | fCommonHists6th(NULL), | |
161 | fCommonHists8th(NULL), | |
8842fb2b | 162 | fCommonHistsResults2nd(NULL), |
163 | fCommonHistsResults4th(NULL), | |
164 | fCommonHistsResults6th(NULL), | |
165 | fCommonHistsResults8th(NULL), | |
52021ae2 | 166 | f2pDistribution(NULL), |
167 | f4pDistribution(NULL), | |
168 | f6pDistribution(NULL), | |
5e838eeb | 169 | f8pDistribution(NULL), |
8842fb2b | 170 | fnBinsPt(0), |
171 | fPtMin(0), | |
1dfa3c16 | 172 | fPtMax(0), |
173 | fnBinsEta(0), | |
174 | fEtaMin(0), | |
e085f1a9 | 175 | fEtaMax(0), |
176 | fEventCounter(0), | |
177 | fUsePhiWeights(kFALSE), | |
178 | fUsePtWeights(kFALSE), | |
03a02aca | 179 | fUseEtaWeights(kFALSE) |
bc92c0cb | 180 | { |
181 | //constructor | |
ae733b3b | 182 | fHistList = new TList(); |
183 | fDiffFlowList = new TList(); | |
184 | fDiffFlowList->SetName("DifferentialFlow"); | |
03a02aca | 185 | fWeightsList = new TList(); |
ae733b3b | 186 | fWeightsList->SetName("Weights"); |
03a02aca | 187 | |
8842fb2b | 188 | fnBinsPt = AliFlowCommonConstants::GetNbinsPt(); |
189 | fPtMin = AliFlowCommonConstants::GetPtMin(); | |
190 | fPtMax = AliFlowCommonConstants::GetPtMax(); | |
191 | ||
1dfa3c16 | 192 | fnBinsEta = AliFlowCommonConstants::GetNbinsEta(); |
193 | fEtaMin = AliFlowCommonConstants::GetEtaMin(); | |
194 | fEtaMax = AliFlowCommonConstants::GetEtaMax(); | |
bc92c0cb | 195 | } |
196 | ||
197 | AliFlowAnalysisWithQCumulants::~AliFlowAnalysisWithQCumulants() | |
198 | { | |
03a02aca | 199 | //destructor |
bc92c0cb | 200 | delete fHistList; |
ae733b3b | 201 | delete fDiffFlowList; |
202 | delete fWeightsList; | |
bc92c0cb | 203 | } |
204 | ||
205 | //================================================================================================================ | |
206 | ||
e085f1a9 | 207 | void AliFlowAnalysisWithQCumulants::Init() |
bc92c0cb | 208 | { |
209 | //various output histograms | |
bc92c0cb | 210 | //avarage multiplicity |
1315fe58 | 211 | fAvMultIntFlowQC = new TProfile("fAvMultIntFlowQC","Average Multiplicity",1,0,1,"s"); |
212 | fAvMultIntFlowQC->SetXTitle(""); | |
213 | fAvMultIntFlowQC->SetYTitle(""); | |
214 | fAvMultIntFlowQC->SetLabelSize(0.06); | |
215 | fAvMultIntFlowQC->SetMarkerStyle(25); | |
216 | fAvMultIntFlowQC->SetLabelOffset(0.01); | |
217 | (fAvMultIntFlowQC->GetXaxis())->SetBinLabel(1,"Average Multiplicity"); | |
218 | fHistList->Add(fAvMultIntFlowQC); | |
bc92c0cb | 219 | |
220 | //Q-vector stuff | |
221 | fQvectorComponents = new TProfile("fQvectorComponents","Avarage of Q-vector components",44,0.,44.,"s"); | |
222 | fQvectorComponents->SetXTitle(""); | |
223 | fQvectorComponents->SetYTitle(""); | |
224 | //fHistList->Add(fQvectorComponents); | |
225 | ||
226 | //final results for integrated flow from Q-cumulants | |
1315fe58 | 227 | fIntFlowResultsQC = new TH1D("fIntFlowResultsQC","Integrated Flow from Q-cumulants",4,0,4); |
228 | //fIntFlowResults->SetXTitle(""); | |
3d824203 | 229 | //fIntFlowResultsQC->SetYTitle("IntegFALSrated Flow"); |
1315fe58 | 230 | fIntFlowResultsQC->SetLabelSize(0.06); |
52021ae2 | 231 | //fIntFlowResultsQC->SetTickLength(1); |
1315fe58 | 232 | fIntFlowResultsQC->SetMarkerStyle(25); |
233 | (fIntFlowResultsQC->GetXaxis())->SetBinLabel(1,"v_{n}{2}"); | |
234 | (fIntFlowResultsQC->GetXaxis())->SetBinLabel(2,"v_{n}{4}"); | |
235 | (fIntFlowResultsQC->GetXaxis())->SetBinLabel(3,"v_{n}{6}"); | |
236 | (fIntFlowResultsQC->GetXaxis())->SetBinLabel(4,"v_{n}{8}"); | |
1315fe58 | 237 | fHistList->Add(fIntFlowResultsQC); |
238 | ||
bc92c0cb | 239 | //final results for differential flow from 2nd order Q-cumulant |
8842fb2b | 240 | fDiffFlowResults2ndOrderQC = new TH1D("fDiffFlowResults2ndOrderQC","Differential Flow from 2nd Order Q-cumulant",fnBinsPt,fPtMin,fPtMax); |
1315fe58 | 241 | fDiffFlowResults2ndOrderQC->SetXTitle("p_{t} [GeV]"); |
242 | //fDiffFlowResults2ndOrderQC->SetYTitle("Differential Flow"); | |
243 | fHistList->Add(fDiffFlowResults2ndOrderQC); | |
bc92c0cb | 244 | |
245 | //final results for differential flow from 4th order Q-cumulant | |
8842fb2b | 246 | fDiffFlowResults4thOrderQC = new TH1D("fDiffFlowResults4thOrderQC","Differential Flow from 4th Order Q-cumulant",fnBinsPt,fPtMin,fPtMax); |
1315fe58 | 247 | fDiffFlowResults4thOrderQC->SetXTitle("p_{t} [GeV]"); |
248 | //fDiffFlowResults4thOrderQC->SetYTitle("Differential Flow"); | |
249 | fHistList->Add(fDiffFlowResults4thOrderQC); | |
250 | ||
251 | //final results for covariances (1st bin: <2*4>-<2>*<4>, 2nd bin: <2*6>-<2>*<6>, ...) | |
252 | fCovariances = new TH1D("fCovariances","Covariances",6,0,6); | |
253 | //fCovariances->SetXTitle(""); | |
254 | //fCovariances->SetYTitle("<covariance>"); | |
255 | fCovariances->SetLabelSize(0.04); | |
256 | fCovariances->SetTickLength(1); | |
257 | fCovariances->SetMarkerStyle(25); | |
258 | (fCovariances->GetXaxis())->SetBinLabel(1,"Cov(2,4)"); | |
259 | (fCovariances->GetXaxis())->SetBinLabel(2,"Cov(2,6)"); | |
260 | (fCovariances->GetXaxis())->SetBinLabel(3,"Cov(2,8)"); | |
261 | (fCovariances->GetXaxis())->SetBinLabel(4,"Cov(4,6)"); | |
262 | (fCovariances->GetXaxis())->SetBinLabel(5,"Cov(4,8)"); | |
263 | (fCovariances->GetXaxis())->SetBinLabel(6,"Cov(6,8)"); | |
264 | fHistList->Add(fCovariances); | |
bc92c0cb | 265 | |
e085f1a9 | 266 | //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
267 | // !!!! to be removed !!!! | |
268 | //profile containing the x-components of Q-vectors from all events | |
269 | fQvectorForEachEventX = new TProfile("fQvectorForEachEventX","x-components of Q-vectors",44000,1,44000,"s"); | |
270 | fHistList->Add(fQvectorForEachEventX); | |
271 | ||
272 | //profile containing the y-components of Q-vectors from all events | |
273 | fQvectorForEachEventY = new TProfile("fQvectorForEachEventY","y-components of Q-vectors",44000,1,44000,"s"); | |
274 | fHistList->Add(fQvectorForEachEventY); | |
275 | //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | |
276 | ||
bc92c0cb | 277 | //multi-particle correlations calculated from Q-vectors |
dee1e0e0 | 278 | fQCorrelations = new TProfile("fQCorrelations","multi-particle correlations from Q-vectors",32,0,32,"s"); |
1315fe58 | 279 | //fQCorrelations->SetXTitle("correlations"); |
280 | //fQCorrelations->SetYTitle(""); | |
281 | fQCorrelations->SetTickLength(-0.01,"Y"); | |
282 | fQCorrelations->SetMarkerStyle(25); | |
283 | fQCorrelations->SetLabelSize(0.03); | |
284 | fQCorrelations->SetLabelOffset(0.01,"Y"); | |
dee1e0e0 | 285 | |
1315fe58 | 286 | (fQCorrelations->GetXaxis())->SetBinLabel(1,"<<2>>_{n|n}"); |
287 | (fQCorrelations->GetXaxis())->SetBinLabel(2,"<<2>>_{2n|2n}"); | |
288 | (fQCorrelations->GetXaxis())->SetBinLabel(3,"<<2>>_{3n|3n}"); | |
289 | (fQCorrelations->GetXaxis())->SetBinLabel(4,"<<2>>_{4n|4n}"); | |
dee1e0e0 | 290 | |
1315fe58 | 291 | (fQCorrelations->GetXaxis())->SetBinLabel(6,"<<3>>_{2n|n,n}"); |
292 | (fQCorrelations->GetXaxis())->SetBinLabel(7,"<<3>>_{3n|2n,n}"); | |
293 | (fQCorrelations->GetXaxis())->SetBinLabel(8,"<<3>>_{4n|2n,2n}"); | |
294 | (fQCorrelations->GetXaxis())->SetBinLabel(9,"<<3>>_{4n|3n,n}"); | |
dee1e0e0 | 295 | |
1315fe58 | 296 | (fQCorrelations->GetXaxis())->SetBinLabel(11,"<<4>>_{n,n|n,n}"); |
297 | (fQCorrelations->GetXaxis())->SetBinLabel(12,"<<4>>_{2n,n|2n,n}"); | |
dee1e0e0 | 298 | (fQCorrelations->GetXaxis())->SetBinLabel(13,"<<4>>_{2n,2n|2n,2n}"); |
299 | (fQCorrelations->GetXaxis())->SetBinLabel(14,"<<4>>_{3n|n,n,n}"); | |
300 | (fQCorrelations->GetXaxis())->SetBinLabel(15,"<<4>>_{3n,n|3n,n}"); | |
301 | (fQCorrelations->GetXaxis())->SetBinLabel(16,"<<4>>_{3n,n|2n,2n}"); | |
302 | (fQCorrelations->GetXaxis())->SetBinLabel(17,"<<4>>_{4n|2n,n,n}"); | |
303 | ||
304 | (fQCorrelations->GetXaxis())->SetBinLabel(19,"<<5>>_{2n|n,n,n,n}"); | |
305 | (fQCorrelations->GetXaxis())->SetBinLabel(20,"<<5>>_{2n,2n|2n,n,n}"); | |
306 | (fQCorrelations->GetXaxis())->SetBinLabel(21,"<<5>>_{3n,n|2n,n,n}"); | |
307 | (fQCorrelations->GetXaxis())->SetBinLabel(22,"<<5>>_{4n|n,n,n,n}"); | |
308 | ||
309 | (fQCorrelations->GetXaxis())->SetBinLabel(24,"<<6>>_{n,n,n|n,n,n}"); | |
310 | (fQCorrelations->GetXaxis())->SetBinLabel(25,"<<6>>_{2n,n,n|2n,n,n}"); | |
311 | (fQCorrelations->GetXaxis())->SetBinLabel(26,"<<6>>_{2n,2n|n,n,n,n}"); | |
312 | (fQCorrelations->GetXaxis())->SetBinLabel(27,"<<6>>_{3n,n|n,n,n,n}"); | |
313 | ||
314 | (fQCorrelations->GetXaxis())->SetBinLabel(29,"<<7>>_{2n,n,n|n,n,n,n}"); | |
315 | ||
316 | (fQCorrelations->GetXaxis())->SetBinLabel(31,"<<8>>_{n,n,n,n|n,n,n,n}"); | |
317 | ||
bc92c0cb | 318 | fHistList->Add(fQCorrelations); |
319 | ||
3d824203 | 320 | |
321 | ||
322 | ||
323 | //weighted multi-particle correlations calculated from Q-vectors | |
324 | fQCorrelationsW = new TProfile("fQCorrelationsW","weighted multi-particle correlations from Q-vectors",100,0,100,"s"); | |
325 | //fQCorrelationsW->SetXTitle("correlations"); | |
326 | //fQCorrelationsW->SetYTitle(""); | |
327 | fQCorrelationsW->SetTickLength(-0.01,"Y"); | |
328 | fQCorrelationsW->SetMarkerStyle(25); | |
329 | fQCorrelationsW->SetLabelSize(0.03); | |
330 | fQCorrelationsW->SetLabelOffset(0.01,"Y"); | |
331 | ||
332 | (fQCorrelationsW->GetXaxis())->SetBinLabel(1,"<w_{1}w_{2}cos(n(#phi_{1}-#phi_{2}))>"); | |
333 | (fQCorrelationsW->GetXaxis())->SetBinLabel(2,"<w_{1}^{2}w_{2}^{2}cos(2n(#phi_{1}-#phi_{2}))>"); | |
334 | (fQCorrelationsW->GetXaxis())->SetBinLabel(3,"<w_{1}^{3}w_{2}^{3}cos(3n(#phi_{1}-#phi_{2}))>"); | |
335 | (fQCorrelationsW->GetXaxis())->SetBinLabel(4,"<w_{1}^{4}w_{2}^{4}cos(4n(#phi_{1}-#phi_{2}))>"); | |
336 | (fQCorrelationsW->GetXaxis())->SetBinLabel(5,"<w_{1}^{3}w_{2}cos(n(#phi_{1}-#phi_{2}))>"); | |
337 | (fQCorrelationsW->GetXaxis())->SetBinLabel(6,"<w_{1}^{2}w_{2}w_{3}cos(n(#phi_{1}-#phi_{2}))>"); | |
338 | ||
339 | (fQCorrelationsW->GetXaxis())->SetBinLabel(11,"<w_{1}w_{2}w_{3}^{2}cos(n(2#phi_{1}-#phi_{2}-#phi_{3}))>"); | |
340 | ||
341 | (fQCorrelationsW->GetXaxis())->SetBinLabel(21,"<w_{1}w_{2}w_{3}w_{4}cos(n(#phi_{1}+#phi_{2}-#phi_{3}-#phi_{4}))>"); | |
342 | ||
343 | /* | |
344 | (fQCorrelationsW->GetXaxis())->SetBinLabel(7,"<<3>>_{3n|2n,n}"); | |
345 | (fQCorrelationsW->GetXaxis())->SetBinLabel(8,"<<3>>_{4n|2n,2n}"); | |
346 | (fQCorrelationsW->GetXaxis())->SetBinLabel(9,"<<3>>_{4n|3n,n}"); | |
347 | ||
348 | (fQCorrelationsW->GetXaxis())->SetBinLabel(11,"<<4>>_{n,n|n,n}"); | |
349 | (fQCorrelationsW->GetXaxis())->SetBinLabel(12,"<<4>>_{2n,n|2n,n}"); | |
350 | (fQCorrelationsW->GetXaxis())->SetBinLabel(13,"<<4>>_{2n,2n|2n,2n}"); | |
351 | (fQCorrelationsW->GetXaxis())->SetBinLabel(14,"<<4>>_{3n|n,n,n}"); | |
352 | (fQCorrelationsW->GetXaxis())->SetBinLabel(15,"<<4>>_{3n,n|3n,n}"); | |
353 | (fQCorrelationsW->GetXaxis())->SetBinLabel(16,"<<4>>_{3n,n|2n,2n}"); | |
354 | (fQCorrelationsW->GetXaxis())->SetBinLabel(17,"<<4>>_{4n|2n,n,n}"); | |
355 | ||
356 | (fQCorrelationsW->GetXaxis())->SetBinLabel(19,"<<5>>_{2n|n,n,n,n}"); | |
357 | (fQCorrelationsW->GetXaxis())->SetBinLabel(20,"<<5>>_{2n,2n|2n,n,n}"); | |
358 | (fQCorrelationsW->GetXaxis())->SetBinLabel(21,"<<5>>_{3n,n|2n,n,n}"); | |
359 | (fQCorrelationsW->GetXaxis())->SetBinLabel(22,"<<5>>_{4n|n,n,n,n}"); | |
360 | ||
361 | (fQCorrelationsW->GetXaxis())->SetBinLabel(24,"<<6>>_{n,n,n|n,n,n}"); | |
362 | (fQCorrelationsW->GetXaxis())->SetBinLabel(25,"<<6>>_{2n,n,n|2n,n,n}"); | |
363 | (fQCorrelationsW->GetXaxis())->SetBinLabel(26,"<<6>>_{2n,2n|n,n,n,n}"); | |
364 | (fQCorrelationsW->GetXaxis())->SetBinLabel(27,"<<6>>_{3n,n|n,n,n,n}"); | |
365 | ||
366 | (fQCorrelationsW->GetXaxis())->SetBinLabel(29,"<<7>>_{2n,n,n|n,n,n,n}"); | |
367 | ||
368 | (fQCorrelationsW->GetXaxis())->SetBinLabel(31,"<<8>>_{n,n,n,n|n,n,n,n}"); | |
369 | */ | |
370 | ||
371 | fHistList->Add(fQCorrelationsW); | |
372 | ||
373 | ||
374 | ||
375 | ||
8842fb2b | 376 | //average products |
377 | fQProduct = new TProfile("fQProduct","average of products",6,0,6,"s"); | |
378 | fQProduct->SetTickLength(-0.01,"Y"); | |
379 | fQProduct->SetMarkerStyle(25); | |
380 | fQProduct->SetLabelSize(0.03); | |
381 | fQProduct->SetLabelOffset(0.01,"Y"); | |
382 | (fQProduct->GetXaxis())->SetBinLabel(1,"<<2*4>>"); | |
383 | (fQProduct->GetXaxis())->SetBinLabel(2,"<<2*6>>"); | |
384 | (fQProduct->GetXaxis())->SetBinLabel(3,"<<2*8>>"); | |
385 | (fQProduct->GetXaxis())->SetBinLabel(4,"<<4*6>>"); | |
386 | (fQProduct->GetXaxis())->SetBinLabel(5,"<<4*8>>"); | |
387 | (fQProduct->GetXaxis())->SetBinLabel(6,"<<6*8>>"); | |
388 | fQProduct->SetXTitle(""); | |
389 | fQProduct->SetYTitle(""); | |
390 | fHistList->Add(fQProduct); | |
bc92c0cb | 391 | |
3d824203 | 392 | //weighted multi-particle correlations calculated with nested loops (0..100 integrated flow; 100..200 differential flow) |
393 | fDirectCorrelations = new TProfile("fDirectCorrelations","multi-particle correlations with nested loops",200,0,200,"s"); | |
bc92c0cb | 394 | fDirectCorrelations->SetXTitle(""); |
395 | fDirectCorrelations->SetYTitle("correlations"); | |
396 | fHistList->Add(fDirectCorrelations); | |
397 | ||
1dfa3c16 | 398 | //fPtReq1nRP |
399 | fPtReq1nRP = new TProfile("fPtReq1nRP","Re[q_n]",fnBinsPt,fPtMin,fPtMax,"s"); | |
400 | fPtReq1nRP->SetXTitle("p_{t} [GeV]"); | |
401 | fPtReq1nRP->SetYTitle("Re[q_n]"); | |
1dfa3c16 | 402 | |
403 | //fPtImq1nRP | |
404 | fPtImq1nRP = new TProfile("fPtImq1nRP","Im[q_n]",fnBinsPt,fPtMin,fPtMax,"s"); | |
405 | fPtImq1nRP->SetXTitle("p_{t} [GeV]"); | |
406 | fPtImq1nRP->SetYTitle("Im[q_n]"); | |
1dfa3c16 | 407 | |
408 | //fPtReq2nRP | |
409 | fPtReq2nRP = new TProfile("fPtReq2nRP","Re[q_2n]",fnBinsPt,fPtMin,fPtMax,"s"); | |
410 | fPtReq2nRP->SetXTitle("p_{t} [GeV]"); | |
411 | fPtReq2nRP->SetYTitle("Im[D]"); | |
e085f1a9 | 412 | |
1dfa3c16 | 413 | //fPtImq2nRP |
414 | fPtImq2nRP = new TProfile("fPtImq2nRP","Im[q_2n]",fnBinsPt,fPtMin,fPtMax,"s"); | |
415 | fPtImq2nRP->SetXTitle("p_{t} [GeV]"); | |
416 | fPtImq2nRP->SetYTitle("Im[q_2n]"); | |
1dfa3c16 | 417 | |
418 | //f2PerPtBin1n1nRP | |
419 | f2PerPtBin1n1nRP = new TProfile("f2PerPtBin1n1nRP","<2'>_{n|n}",fnBinsPt,fPtMin,fPtMax,"s"); | |
420 | f2PerPtBin1n1nRP->SetXTitle("p_{t} [GeV]"); | |
ae733b3b | 421 | fDiffFlowList->Add(f2PerPtBin1n1nRP); |
1dfa3c16 | 422 | |
423 | //f2PerPtBin2n2nRP | |
424 | f2PerPtBin2n2nRP = new TProfile("f2PerPtBin2n2nRP","<2'>_{2n|2n}",fnBinsPt,fPtMin,fPtMax,"s"); | |
425 | f2PerPtBin2n2nRP->SetXTitle("p_{t} [GeV]"); | |
ae733b3b | 426 | fDiffFlowList->Add(f2PerPtBin2n2nRP); |
1dfa3c16 | 427 | |
428 | //f3PerPtBin2n1n1nRP | |
429 | f3PerPtBin2n1n1nRP = new TProfile("f3PerPtBin2n1n1nRP","<3'>_{2n|n,n}",fnBinsPt,fPtMin,fPtMax,"s"); | |
430 | f3PerPtBin2n1n1nRP->SetXTitle("p_{t} [GeV]"); | |
ae733b3b | 431 | fDiffFlowList->Add(f3PerPtBin2n1n1nRP); |
1dfa3c16 | 432 | |
433 | //f3PerPtBin1n1n2nRP | |
434 | f3PerPtBin1n1n2nRP = new TProfile("f3PerPtBin1n1n2nRP","<3'>_{n,n|2n}",fnBinsPt,fPtMin,fPtMax,"s"); | |
435 | f3PerPtBin1n1n2nRP->SetXTitle("p_{t} [GeV]"); | |
ae733b3b | 436 | fDiffFlowList->Add(f3PerPtBin1n1n2nRP); |
1dfa3c16 | 437 | |
438 | //f4PerPtBin1n1n1n1nRP | |
439 | f4PerPtBin1n1n1n1nRP = new TProfile("f4PerPtBin1n1n1n1nRP","<4'>_{n,n|n,n}",fnBinsPt,fPtMin,fPtMax,"s"); | |
440 | f4PerPtBin1n1n1n1nRP->SetXTitle("p_{t} [GeV]"); | |
ae733b3b | 441 | fDiffFlowList->Add(f4PerPtBin1n1n1n1nRP); |
1dfa3c16 | 442 | |
443 | //fEtaReq1nRP | |
444 | fEtaReq1nRP = new TProfile("fEtaReq1nRP","Re[q_n]",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
445 | fEtaReq1nRP->SetXTitle("#eta"); | |
446 | fEtaReq1nRP->SetYTitle("Re[q_n]"); | |
1dfa3c16 | 447 | |
448 | //fEtaImq1nRP | |
449 | fEtaImq1nRP = new TProfile("fEtaImq1nRP","Im[q_n]",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
450 | fEtaImq1nRP->SetXTitle("#eta"); | |
451 | fEtaImq1nRP->SetYTitle("Im[q_n]"); | |
1dfa3c16 | 452 | |
453 | //fEtaReq2nRP | |
454 | fEtaReq2nRP = new TProfile("fEtaReq2nRP","Re[q_2n]",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
455 | fEtaReq2nRP->SetXTitle("#eta"); | |
456 | fEtaReq2nRP->SetYTitle("Im[D]"); | |
1dfa3c16 | 457 | |
458 | //fEtaImq2nRP | |
459 | fEtaImq2nRP = new TProfile("fEtaImq2nRP","Im[q_2n]",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
460 | fEtaImq2nRP->SetXTitle("#eta"); | |
461 | fEtaImq2nRP->SetYTitle("Im[q_2n]"); | |
1dfa3c16 | 462 | |
463 | //f2PerEtaBin1n1nRP | |
464 | f2PerEtaBin1n1nRP = new TProfile("f2PerEtaBin1n1nRP","<2'>_{n|n}",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
465 | f2PerEtaBin1n1nRP->SetXTitle("#eta"); | |
ae733b3b | 466 | fDiffFlowList->Add(f2PerEtaBin1n1nRP); |
1dfa3c16 | 467 | |
468 | //f2PerEtaBin2n2nRP | |
469 | f2PerEtaBin2n2nRP = new TProfile("f2PerEtaBin2n2nRP","<2'>_{2n|2n}",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
470 | f2PerEtaBin2n2nRP->SetXTitle("#eta"); | |
ae733b3b | 471 | fDiffFlowList->Add(f2PerEtaBin2n2nRP); |
1dfa3c16 | 472 | |
473 | //f3PerEtaBin2n1n1nRP | |
474 | f3PerEtaBin2n1n1nRP = new TProfile("f3PerEtaBin2n1n1nRP","<3'>_{2n|n,n}",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
475 | f3PerEtaBin2n1n1nRP->SetXTitle("#eta"); | |
ae733b3b | 476 | fDiffFlowList->Add(f3PerEtaBin2n1n1nRP); |
1dfa3c16 | 477 | |
478 | //f3PerEtaBin1n1n2nRP | |
479 | f3PerEtaBin1n1n2nRP = new TProfile("f3PerEtaBin1n1n2RP","<3'>_{n,n|2n}",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
480 | f3PerEtaBin1n1n2nRP->SetXTitle("#eta"); | |
ae733b3b | 481 | fDiffFlowList->Add(f3PerEtaBin1n1n2nRP); |
1dfa3c16 | 482 | |
483 | //f4PerEtaBin1n1n1n1nRP | |
484 | f4PerEtaBin1n1n1n1nRP = new TProfile("f4PerEtaBin1n1n1n1nRP","<4'>_{n,n|n,n}",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
485 | f4PerEtaBin1n1n1n1nRP->SetXTitle("#eta"); | |
ae733b3b | 486 | fDiffFlowList->Add(f4PerEtaBin1n1n1n1nRP); |
1dfa3c16 | 487 | |
4057ba99 | 488 | //fPtReq1nPrimePOI |
489 | fPtReq1nPrimePOI = new TProfile("fPtReq1nPrimePOI","Re[q_{n}^{'}]",fnBinsPt,fPtMin,fPtMax,"s"); | |
490 | fPtReq1nPrimePOI->SetXTitle("p_{t} [GeV]"); | |
491 | fPtReq1nPrimePOI->SetYTitle("Re[q_{n}^{'}]"); | |
4057ba99 | 492 | |
493 | //fPtImq1nPrimePOI | |
494 | fPtImq1nPrimePOI = new TProfile("fPtImq1nPrimePOI","Im[q_{n}^{'}]",fnBinsPt,fPtMin,fPtMax,"s"); | |
495 | fPtImq1nPrimePOI->SetXTitle("p_{t} [GeV]"); | |
496 | fPtImq1nPrimePOI->SetYTitle("Im[q_{n}^{'}]"); | |
4057ba99 | 497 | |
498 | //fPtReq2nPrimePOI | |
499 | fPtReq2nPrimePOI = new TProfile("fPtReq2nPrimePOI","Re[q_{2n}^{'}]",fnBinsPt,fPtMin,fPtMax,"s"); | |
500 | fPtReq2nPrimePOI->SetXTitle("p_{t} [GeV]"); | |
501 | fPtReq2nPrimePOI->SetYTitle("Re[q_{2n}^{'}]"); | |
4057ba99 | 502 | |
503 | //fPtImq2nPrimePOI | |
504 | fPtImq2nPrimePOI = new TProfile("fPtImq2nPrimePOI","Im[q_{2n}^{'}]",fnBinsPt,fPtMin,fPtMax,"s"); | |
505 | fPtImq2nPrimePOI->SetXTitle("p_{t} [GeV]"); | |
506 | fPtImq2nPrimePOI->SetYTitle("Im[q_{2n}^{'}]"); | |
4057ba99 | 507 | |
508 | //fmPrimePerPtBin | |
509 | fmPrimePerPtBin = new TProfile("fmPrimePerPtBin","# of particles selected both as RP and POI per #p_{t} bin",fnBinsPt,fPtMin,fPtMax,"s"); | |
510 | fmPrimePerPtBin->SetXTitle("p_{t} [GeV]"); | |
511 | fmPrimePerPtBin->SetYTitle("Counts"); | |
e8a609bc | 512 | |
4057ba99 | 513 | //fPtReq1nPrimePrimePOI |
514 | fPtReq1nPrimePrimePOI = new TProfile("fPtReq1nPrimePrimePOI","Re[q_{n}^{''}]",fnBinsPt,fPtMin,fPtMax,"s"); | |
515 | fPtReq1nPrimePrimePOI->SetXTitle("p_{t} [GeV]"); | |
516 | fPtReq1nPrimePrimePOI->SetYTitle("Re[q_{n}^{''}]"); | |
4057ba99 | 517 | |
518 | //fPtImq1nPrimePrimePOI | |
519 | fPtImq1nPrimePrimePOI = new TProfile("fPtImq1nPrimePrimePOI","Im[q_{n}^{''}]",fnBinsPt,fPtMin,fPtMax,"s"); | |
520 | fPtImq1nPrimePrimePOI->SetXTitle("p_{t} [GeV]"); | |
521 | fPtImq1nPrimePrimePOI->SetYTitle("Im[q_{n}^{''}]"); | |
4057ba99 | 522 | |
523 | //fPtReq2nPrimePrimePOI | |
524 | fPtReq2nPrimePrimePOI = new TProfile("fPtReq2nPrimePrimePOI","Re[q_{2n}^{''}]",fnBinsPt,fPtMin,fPtMax,"s"); | |
525 | fPtReq2nPrimePrimePOI->SetXTitle("p_{t} [GeV]"); | |
526 | fPtReq2nPrimePrimePOI->SetYTitle("Re[q_{2n}^{''}]"); | |
4057ba99 | 527 | |
528 | //fPtImq2nPrimePrimePOI | |
529 | fPtImq2nPrimePrimePOI = new TProfile("fPtImq2nPrimePrimePOI","Im[q_{2n}^{''}]",fnBinsPt,fPtMin,fPtMax,"s"); | |
530 | fPtImq2nPrimePrimePOI->SetXTitle("p_{t} [GeV]"); | |
531 | fPtImq2nPrimePrimePOI->SetYTitle("Im[q_{2n}^{''}]"); | |
4057ba99 | 532 | |
533 | //fmPrimePrimePerPtBin | |
534 | fmPrimePrimePerPtBin = new TProfile("fmPrimePrimePerPtBin","# of particles selected as POI and NOT as RP per #p_{t} bin",fnBinsPt,fPtMin,fPtMax,"s"); | |
535 | fmPrimePrimePerPtBin->SetXTitle("p_{t} [GeV]"); | |
536 | fmPrimePrimePerPtBin->SetYTitle("Counts"); | |
4057ba99 | 537 | |
538 | //fEtaReq1nPrimePOI | |
539 | fEtaReq1nPrimePOI = new TProfile("fEtaReq1nPrimePOI","Re[q_{n}^{'}]",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
540 | fEtaReq1nPrimePOI->SetXTitle("#eta"); | |
541 | fEtaReq1nPrimePOI->SetYTitle("Re[q_{n}^{'}]"); | |
4057ba99 | 542 | |
543 | //fEtaImq1nPrimePOI | |
544 | fEtaImq1nPrimePOI = new TProfile("fEtaImq1nPrimePOI","Im[q_{n}^{'}]",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
545 | fEtaImq1nPrimePOI->SetXTitle("#eta"); | |
546 | fEtaImq1nPrimePOI->SetYTitle("Im[q_{n}^{'}]"); | |
4057ba99 | 547 | |
548 | //fEtaReq2nPrimePOI | |
549 | fEtaReq2nPrimePOI = new TProfile("fEtaReq2nPrimePOI","Re[q_{2n}^{'}]",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
550 | fEtaReq2nPrimePOI->SetXTitle("#eta"); | |
551 | fEtaReq2nPrimePOI->SetYTitle("Re[q_{2n}^{'}]"); | |
4057ba99 | 552 | |
553 | //fEtaImq2nPrimePOI | |
554 | fEtaImq2nPrimePOI = new TProfile("fEtaImq2nPrimePOI","Im[q_{2n}^{'}]",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
555 | fEtaImq2nPrimePOI->SetXTitle("#eta"); | |
556 | fEtaImq2nPrimePOI->SetYTitle("Im[q_{2n}^{'}]"); | |
4057ba99 | 557 | |
558 | //fmPrimePerEtaBin | |
559 | fmPrimePerEtaBin = new TProfile("fmPrimePerEtaBin","# of particles selected both as RP and POI per #p_{t} bin",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
560 | fmPrimePerEtaBin->SetXTitle("#eta"); | |
561 | fmPrimePerEtaBin->SetYTitle("Counts"); | |
4057ba99 | 562 | |
ae733b3b | 563 | //fEtaReq1nPrimePrimePOI |
4057ba99 | 564 | fEtaReq1nPrimePrimePOI = new TProfile("fEtaReq1nPrimePrimePOI","Re[q_{n}^{''}]",fnBinsEta,fEtaMin,fEtaMax,"s"); |
565 | fEtaReq1nPrimePrimePOI->SetXTitle("#eta"); | |
566 | fEtaReq1nPrimePrimePOI->SetYTitle("Re[q_{n}^{''}]"); | |
4057ba99 | 567 | |
568 | //fEtaImq1nPrimePrimePOI | |
569 | fEtaImq1nPrimePrimePOI = new TProfile("fEtaImq1nPrimePrimePOI","Im[q_{n}^{''}]",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
570 | fEtaImq1nPrimePrimePOI->SetXTitle("#eta"); | |
571 | fEtaImq1nPrimePrimePOI->SetYTitle("Im[q_{n}^{''}]"); | |
4057ba99 | 572 | |
573 | //fEtaReq2nPrimePrimePOI | |
574 | fEtaReq2nPrimePrimePOI = new TProfile("fEtaReq2nPrimePrimePOI","Re[q_{2n}^{''}]",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
575 | fEtaReq2nPrimePrimePOI->SetXTitle("#eta"); | |
576 | fEtaReq2nPrimePrimePOI->SetYTitle("Re[q_{2n}^{''}]"); | |
4057ba99 | 577 | |
578 | //fEtaImq2nPrimePrimePOI | |
579 | fEtaImq2nPrimePrimePOI = new TProfile("fEtaImq2nPrimePrimePOI","Im[q_{2n}^{''}]",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
580 | fEtaImq2nPrimePrimePOI->SetXTitle("#eta"); | |
581 | fEtaImq2nPrimePrimePOI->SetYTitle("Im[q_{2n}^{''}]"); | |
4057ba99 | 582 | |
583 | //fmPrimePrimePerEtaBin | |
584 | fmPrimePrimePerEtaBin = new TProfile("fmPrimePrimePerEtaBin","# of particles selected as POI and NOT as RP per #p_{t} bin",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
585 | fmPrimePrimePerEtaBin->SetXTitle("#eta"); | |
586 | fmPrimePrimePerEtaBin->SetYTitle("Counts"); | |
4057ba99 | 587 | |
1dfa3c16 | 588 | //f2PerPtBin1n1nPOI |
589 | f2PerPtBin1n1nPOI = new TProfile("f2PerPtBin1n1nPOI","<2'>_{n|n}",fnBinsPt,fPtMin,fPtMax,"s"); | |
4057ba99 | 590 | f2PerPtBin1n1nPOI->SetXTitle("#eta"); |
ae733b3b | 591 | fDiffFlowList->Add(f2PerPtBin1n1nPOI); |
1dfa3c16 | 592 | |
593 | //f2PerPtBin2n2nPOI | |
594 | f2PerPtBin2n2nPOI = new TProfile("f2PerPtBin2n2nPOI","<2'>_{2n|2n}",fnBinsPt,fPtMin,fPtMax,"s"); | |
595 | f2PerPtBin2n2nPOI->SetXTitle("p_{t} [GeV]"); | |
ae733b3b | 596 | fDiffFlowList->Add(f2PerPtBin2n2nPOI); |
1dfa3c16 | 597 | |
598 | //f3PerPtBin2n1n1nPOI | |
599 | f3PerPtBin2n1n1nPOI = new TProfile("f3PerPtBin2n1n1nPOI","<3'>_{2n|n,n}",fnBinsPt,fPtMin,fPtMax,"s"); | |
600 | f3PerPtBin2n1n1nPOI->SetXTitle("p_{t} [GeV]"); | |
ae733b3b | 601 | fDiffFlowList->Add(f3PerPtBin2n1n1nPOI); |
1dfa3c16 | 602 | |
603 | //f3PerPtBin1n1n2nPOI | |
604 | f3PerPtBin1n1n2nPOI = new TProfile("f3PerPtBin1n1n2nPOI","<3'>_{n,n|2n}",fnBinsPt,fPtMin,fPtMax,"s"); | |
605 | f3PerPtBin1n1n2nPOI->SetXTitle("p_{t} [GeV]"); | |
ae733b3b | 606 | fDiffFlowList->Add(f3PerPtBin1n1n2nPOI); |
1dfa3c16 | 607 | |
608 | //f4PerPtBin1n1n1n1nPOI | |
609 | f4PerPtBin1n1n1n1nPOI = new TProfile("f4PerPtBin1n1n1n1nPOI","<4'>_{n,n|n,n}",fnBinsPt,fPtMin,fPtMax,"s"); | |
610 | f4PerPtBin1n1n1n1nPOI->SetXTitle("p_{t} [GeV]"); | |
ae733b3b | 611 | fDiffFlowList->Add(f4PerPtBin1n1n1n1nPOI); |
1dfa3c16 | 612 | |
1dfa3c16 | 613 | //f2PerEtaBin1n1nPOI |
614 | f2PerEtaBin1n1nPOI = new TProfile("f2PerEtaBin1n1nPOI","<2'>_{n|n}",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
615 | f2PerEtaBin1n1nPOI->SetXTitle("#eta"); | |
ae733b3b | 616 | fDiffFlowList->Add(f2PerEtaBin1n1nPOI); |
1dfa3c16 | 617 | |
618 | //f2PerEtaBin2n2nPOI | |
619 | f2PerEtaBin2n2nPOI = new TProfile("f2PerEtaBin2n2nPOI","<2'>_{2n|2n}",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
620 | f2PerEtaBin2n2nPOI->SetXTitle("#eta"); | |
ae733b3b | 621 | fDiffFlowList->Add(f2PerEtaBin2n2nPOI); |
1dfa3c16 | 622 | |
623 | //f3PerEtaBin2n1n1nPOI | |
624 | f3PerEtaBin2n1n1nPOI = new TProfile("f3PerEtaBin2n1n1nPOI","<3'>_{2n|n,n}",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
625 | f3PerEtaBin2n1n1nPOI->SetXTitle("#eta"); | |
ae733b3b | 626 | fDiffFlowList->Add(f3PerEtaBin2n1n1nPOI); |
1dfa3c16 | 627 | |
628 | //f3PerEtaBin1n1n2nPOI | |
629 | f3PerEtaBin1n1n2nPOI = new TProfile("f3PerEtaBin1n1n2POI","<3'>_{n,n|2n}",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
630 | f3PerEtaBin1n1n2nPOI->SetXTitle("#eta"); | |
ae733b3b | 631 | fDiffFlowList->Add(f3PerEtaBin1n1n2nPOI); |
1dfa3c16 | 632 | |
633 | //f4PerEtaBin1n1n1n1nPOI | |
634 | f4PerEtaBin1n1n1n1nPOI = new TProfile("f4PerEtaBin1n1n1n1nPOI","<4'>_{n,n|n,n}",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
635 | f4PerEtaBin1n1n1n1nPOI->SetXTitle("#eta"); | |
ae733b3b | 636 | fDiffFlowList->Add(f4PerEtaBin1n1n1n1nPOI); |
bc92c0cb | 637 | |
3d824203 | 638 | |
639 | ||
640 | ||
641 | ||
642 | ||
643 | ||
644 | ||
645 | //f2WPerPtBin1n1nPOI | |
646 | f2WPerPtBin1n1nPOI = new TProfile("f2WPerPtBin1n1nPOI","<2'>_{n|n}",fnBinsPt,fPtMin,fPtMax,"s"); | |
647 | f2WPerPtBin1n1nPOI->SetXTitle("#pt"); | |
648 | fDiffFlowList->Add(f2WPerPtBin1n1nPOI); | |
649 | ||
650 | //f2WPerPtBin2n2nPOI | |
651 | f2WPerPtBin2n2nPOI = new TProfile("f2WPerPtBin2n2nPOI","<2'>_{2n|2n}",fnBinsPt,fPtMin,fPtMax,"s"); | |
652 | f2WPerPtBin2n2nPOI->SetXTitle("#Pt"); | |
653 | fDiffFlowList->Add(f2WPerPtBin2n2nPOI); | |
654 | ||
655 | //f3WPerPtBin2n1n1nPOI | |
656 | f3WPerPtBin2n1n1nPOI = new TProfile("f3WPerPtBin2n1n1nPOI","<3'>_{2n|n,n}",fnBinsPt,fPtMin,fPtMax,"s"); | |
657 | f3WPerPtBin2n1n1nPOI->SetXTitle("#Pt"); | |
658 | fDiffFlowList->Add(f3WPerPtBin2n1n1nPOI); | |
659 | ||
660 | //f3WPerPtBin1n1n2nPOI | |
661 | f3WPerPtBin1n1n2nPOI = new TProfile("f3WPerPtBin1n1n2POI","<3'>_{n,n|2n}",fnBinsPt,fPtMin,fPtMax,"s"); | |
662 | f3WPerPtBin1n1n2nPOI->SetXTitle("#Pt"); | |
663 | fDiffFlowList->Add(f3WPerPtBin1n1n2nPOI); | |
664 | ||
665 | //f4WPerPtBin1n1n1n1nPOI | |
666 | f4WPerPtBin1n1n1n1nPOI = new TProfile("f4WPerPtBin1n1n1n1nPOI","<4'>_{n,n|n,n}",fnBinsPt,fPtMin,fPtMax,"s"); | |
667 | f4WPerPtBin1n1n1n1nPOI->SetXTitle("#Pt"); | |
668 | fDiffFlowList->Add(f4WPerPtBin1n1n1n1nPOI); | |
669 | ||
670 | ||
671 | //f2WPerEtaBin1n1nPOI | |
672 | f2WPerEtaBin1n1nPOI = new TProfile("f2WPerEtaBin1n1nPOI","<2'>_{n|n}",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
673 | f2WPerEtaBin1n1nPOI->SetXTitle("#eta"); | |
674 | fDiffFlowList->Add(f2WPerEtaBin1n1nPOI); | |
675 | ||
676 | //f4WPerEtaBin1n1n1n1nPOI | |
677 | f4WPerEtaBin1n1n1n1nPOI = new TProfile("f4WPerEtaBin1n1n1n1nPOI","<4'>_{n,n|n,n}",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
678 | f4WPerEtaBin1n1n1n1nPOI->SetXTitle("#eta"); | |
679 | fDiffFlowList->Add(f4WPerEtaBin1n1n1n1nPOI); | |
680 | ||
681 | ||
682 | //f2WPerPtBin1n1nRP | |
683 | f2WPerPtBin1n1nRP = new TProfile("f2WPerPtBin1n1nRP","<2'>_{n|n}",fnBinsPt,fPtMin,fPtMax,"s"); | |
684 | f2WPerPtBin1n1nRP->SetXTitle("#pt"); | |
685 | fDiffFlowList->Add(f2WPerPtBin1n1nRP); | |
686 | ||
687 | //f4WPerPtBin1n1n1n1nRP | |
688 | f4WPerPtBin1n1n1n1nRP = new TProfile("f4WPerPtBin1n1n1n1nRP","<4'>_{n,n|n,n}",fnBinsPt,fPtMin,fPtMax,"s"); | |
689 | f4WPerPtBin1n1n1n1nRP->SetXTitle("#Pt"); | |
690 | fDiffFlowList->Add(f4WPerPtBin1n1n1n1nRP); | |
691 | ||
692 | ||
693 | //f2WPerEtaBin1n1nRP | |
694 | f2WPerEtaBin1n1nRP = new TProfile("f2WPerEtaBin1n1nRP","<2'>_{n|n}",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
695 | f2WPerEtaBin1n1nRP->SetXTitle("#eta"); | |
696 | fDiffFlowList->Add(f2WPerEtaBin1n1nRP); | |
697 | ||
698 | //f4WPerEtaBin1n1n1n1nRP | |
699 | f4WPerEtaBin1n1n1n1nRP = new TProfile("f4WPerEtaBin1n1n1n1nRP","<4'>_{n,n|n,n}",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
700 | f4WPerEtaBin1n1n1n1nRP->SetXTitle("#eta"); | |
701 | fDiffFlowList->Add(f4WPerEtaBin1n1n1n1nRP); | |
702 | ||
703 | ||
704 | ||
705 | ||
cb308e83 | 706 | //common control histogram (2nd order) |
707 | fCommonHists2nd = new AliFlowCommonHist("AliFlowCommonHist2ndOrderQC"); | |
708 | fHistList->Add(fCommonHists2nd); | |
1315fe58 | 709 | |
cb308e83 | 710 | //common control histogram (4th order) |
711 | fCommonHists4th = new AliFlowCommonHist("AliFlowCommonHist4thOrderQC"); | |
712 | fHistList->Add(fCommonHists4th); | |
713 | ||
714 | //common control histogram (6th order) | |
715 | fCommonHists6th = new AliFlowCommonHist("AliFlowCommonHist6thOrderQC"); | |
716 | fHistList->Add(fCommonHists6th); | |
717 | ||
718 | //common control histogram (8th order) | |
719 | fCommonHists8th = new AliFlowCommonHist("AliFlowCommonHist8thOrderQC"); | |
720 | fHistList->Add(fCommonHists8th); | |
4057ba99 | 721 | |
8842fb2b | 722 | //common histograms for final results (2nd order) |
1315fe58 | 723 | fCommonHistsResults2nd = new AliFlowCommonHistResults("AliFlowCommonHistResults2ndOrderQC"); |
724 | fHistList->Add(fCommonHistsResults2nd); | |
725 | ||
8842fb2b | 726 | //common histograms for final results (4th order) |
1315fe58 | 727 | fCommonHistsResults4th = new AliFlowCommonHistResults("AliFlowCommonHistResults4thOrderQC"); |
728 | fHistList->Add(fCommonHistsResults4th); | |
729 | ||
8842fb2b | 730 | //common histograms for final results (6th order) |
1315fe58 | 731 | fCommonHistsResults6th = new AliFlowCommonHistResults("AliFlowCommonHistResults6thOrderQC"); |
732 | fHistList->Add(fCommonHistsResults6th); | |
733 | ||
8842fb2b | 734 | //common histograms for final results (8th order) |
1315fe58 | 735 | fCommonHistsResults8th = new AliFlowCommonHistResults("AliFlowCommonHistResults8thOrderQC"); |
736 | fHistList->Add(fCommonHistsResults8th); | |
1315fe58 | 737 | |
738 | //weighted <2>_{n|n} distribution | |
52021ae2 | 739 | f2pDistribution = new TH1D("f2pDistribution","<2>_{n|n} distribution",100000,-0.02,0.1); |
740 | f2pDistribution->SetXTitle("<2>_{n|n}"); | |
741 | f2pDistribution->SetYTitle("Counts"); | |
742 | fHistList->Add(f2pDistribution); | |
1315fe58 | 743 | |
744 | //weighted <4>_{n,n|n,n} distribution | |
52021ae2 | 745 | f4pDistribution = new TH1D("f4pDistribution","<4>_{n,n|n,n} distribution",100000,-0.00025,0.002); |
746 | f4pDistribution->SetXTitle("<4>_{n,n|n,n}"); | |
747 | f4pDistribution->SetYTitle("Counts"); | |
748 | fHistList->Add(f4pDistribution); | |
1315fe58 | 749 | |
750 | //weighted <6>_{n,n,n|n,n,n} distribution | |
52021ae2 | 751 | f6pDistribution = new TH1D("f6pDistribution","<6>_{n,n,n|n,n,n} distribution",100000,-0.000005,0.000025); |
752 | f6pDistribution->SetXTitle("<6>_{n,n,n|n,n,n}"); | |
753 | f6pDistribution->SetYTitle("Counts"); | |
754 | fHistList->Add(f6pDistribution); | |
bc92c0cb | 755 | |
5e838eeb | 756 | //weighted <8>_{n,n,n,n|n,n,n,n} distribution |
757 | f8pDistribution = new TH1D("f8pDistribution","<8>_{n,n,n,n|n,n,n,n} distribution",100000,-0.000000001,0.00000001); | |
758 | f8pDistribution->SetXTitle("<8>_{n,n,n,n|n,n,n,n}"); | |
759 | f8pDistribution->SetYTitle("Counts"); | |
760 | fHistList->Add(f8pDistribution); | |
ae733b3b | 761 | |
762 | // add list fWeightsList with weights to the main list | |
763 | fHistList->Add(fWeightsList); | |
764 | ||
765 | // add list fDiffFlowList with histograms and profiles needed for differential flow to the main list | |
766 | fHistList->Add(fDiffFlowList); | |
e085f1a9 | 767 | }//end of Init() |
bc92c0cb | 768 | |
769 | //================================================================================================================ | |
770 | ||
771 | void AliFlowAnalysisWithQCumulants::Make(AliFlowEventSimple* anEvent) | |
772 | { | |
ae733b3b | 773 | // running over data |
774 | ||
775 | Int_t nPrim = anEvent->NumberOfTracks(); // nPrim = nRP + nPOI + rest | |
776 | Int_t nRP = anEvent->GetEventNSelTracksIntFlow(); // nRP = number of particles used to determine the reaction plane | |
03a02aca | 777 | |
ae733b3b | 778 | Int_t n = 2; // int flow harmonic (to be improved) |
779 | ||
4057ba99 | 780 | //needed for debugging: (to be improved - add explanation here) |
781 | //Bool_t bNestedLoops=kTRUE; | |
782 | //if(!(bNestedLoops)||(nPrim>0&&nPrim<12)) | |
783 | //{ | |
3d824203 | 784 | //if(nPrim>0&&nPrim<10) |
4057ba99 | 785 | //{ |
bc92c0cb | 786 | |
ae733b3b | 787 | |
ae733b3b | 788 | |
789 | //--------------------------------------------------------------------------------------------------------- | |
790 | // non-weighted and weighted Q-vectors of an event built-up from RP particles evaluated in harmonics n, 2n, 3n and 4n: | |
791 | AliFlowVector afvQvector1n, afvQvector2n, afvQvector3n, afvQvector4n; | |
ae733b3b | 792 | |
793 | // non-weighted Q-vector in harmonic n: | |
1dfa3c16 | 794 | afvQvector1n.Set(0.,0.); |
795 | afvQvector1n.SetMult(0); | |
ae733b3b | 796 | afvQvector1n = anEvent->GetQ(1*n); |
ae733b3b | 797 | |
798 | // non-weighted Q-vector in harmonic 2n: | |
1dfa3c16 | 799 | afvQvector2n.Set(0.,0.); |
800 | afvQvector2n.SetMult(0); | |
ae733b3b | 801 | afvQvector2n = anEvent->GetQ(2*n); // to be improved: weights |
3d824203 | 802 | |
ae733b3b | 803 | // non-weighted Q-vector in harmonic 3n: |
1dfa3c16 | 804 | afvQvector3n.Set(0.,0.); |
805 | afvQvector3n.SetMult(0); | |
ae733b3b | 806 | afvQvector3n = anEvent->GetQ(3*n); // to be improved: weights |
bc92c0cb | 807 | |
ae733b3b | 808 | // non-weighted Q-vector in harmonic 4n: |
1dfa3c16 | 809 | afvQvector4n.Set(0.,0.); |
810 | afvQvector4n.SetMult(0); | |
ae733b3b | 811 | afvQvector4n = anEvent->GetQ(4*n); // to be improved: weights |
03a02aca | 812 | |
e085f1a9 | 813 | |
814 | //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | |
815 | // !!!! to be removed !!!! | |
816 | fQvectorForEachEventX->Fill(1.*(++fEventCounter),afvQvector1n.X()); | |
817 | fQvectorForEachEventY->Fill(1.*(fEventCounter),afvQvector1n.Y()); | |
818 | //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | |
819 | ||
820 | ||
821 | ||
bc92c0cb | 822 | //--------------------------------------------------------------------------------------------------------- |
823 | ||
4057ba99 | 824 | //multiplicity of RP particles: |
ae733b3b | 825 | Double_t dMult = afvQvector1n.GetMult(); // to be improved (name, this is actually weighted multiplicity) |
bc92c0cb | 826 | |
ae733b3b | 827 | fAvMultIntFlowQC->Fill(0.,dMult,1.); // to be removed (this info is also stored in one of control histograms) |
bc92c0cb | 828 | |
829 | //--------------------------------------------------------------------------------------------------------- | |
dee1e0e0 | 830 | // |
831 | // ******************* | |
832 | // **** Q-vectors **** | |
833 | // ******************* | |
834 | // | |
1dfa3c16 | 835 | Double_t reQ2nQ1nstarQ1nstar = pow(afvQvector1n.X(),2.)*afvQvector2n.X()+2.*afvQvector1n.X()*afvQvector1n.Y()*afvQvector2n.Y()-pow(afvQvector1n.Y(),2.)*afvQvector2n.X();//Re[Q_{2n} Q_{n}^* Q_{n}^*] |
52021ae2 | 836 | //Double_t imQ2nQ1nstarQ1nstar = pow(Qvector1n.X(),2.)*Qvector2n.Y()-2.*Qvector1n.X()*Qvector1n.Y()*Qvector2n.X()-pow(Qvector1n.Y(),2.)*Qvector2n.Y();//Im[Q_{2n} Q_{n}^* Q_{n}^*] |
837 | Double_t reQ1nQ1nQ2nstar = reQ2nQ1nstarQ1nstar;//Re[Q_{n} Q_{n} Q_{2n}^*] = Re[Q_{2n} Q_{n}^* Q_{n}^*] | |
1dfa3c16 | 838 | Double_t reQ3nQ1nQ2nstarQ2nstar = (pow(afvQvector2n.X(),2.)-pow(afvQvector2n.Y(),2.))*(afvQvector3n.X()*afvQvector1n.X()-afvQvector3n.Y()*afvQvector1n.Y())+2.*afvQvector2n.X()*afvQvector2n.Y()*(afvQvector3n.X()*afvQvector1n.Y()+afvQvector3n.Y()*afvQvector1n.X()); |
52021ae2 | 839 | //Double_t imQ3nQ1nQ2nstarQ2nstar = calculate and implement this (deleteMe) |
840 | Double_t reQ2nQ2nQ3nstarQ1nstar = reQ3nQ1nQ2nstarQ2nstar; | |
1dfa3c16 | 841 | Double_t reQ4nQ2nstarQ2nstar = pow(afvQvector2n.X(),2.)*afvQvector4n.X()+2.*afvQvector2n.X()*afvQvector2n.Y()*afvQvector4n.Y()-pow(afvQvector2n.Y(),2.)*afvQvector4n.X();//Re[Q_{4n} Q_{2n}^* Q_{2n}^*] |
52021ae2 | 842 | //Double_t imQ4nQ2nstarQ2nstar = calculate and implement this (deleteMe) |
843 | Double_t reQ2nQ2nQ4nstar = reQ4nQ2nstarQ2nstar; | |
1dfa3c16 | 844 | Double_t reQ4nQ3nstarQ1nstar = afvQvector4n.X()*(afvQvector3n.X()*afvQvector1n.X()-afvQvector3n.Y()*afvQvector1n.Y())+afvQvector4n.Y()*(afvQvector3n.X()*afvQvector1n.Y()+afvQvector3n.Y()*afvQvector1n.X());//Re[Q_{4n} Q_{3n}^* Q_{n}^*] |
52021ae2 | 845 | Double_t reQ3nQ1nQ4nstar = reQ4nQ3nstarQ1nstar;//Re[Q_{3n} Q_{n} Q_{4n}^*] = Re[Q_{4n} Q_{3n}^* Q_{n}^*] |
846 | //Double_t imQ4nQ3nstarQ1nstar = calculate and implement this (deleteMe) | |
1dfa3c16 | 847 | Double_t reQ3nQ2nstarQ1nstar = afvQvector3n.X()*afvQvector2n.X()*afvQvector1n.X()-afvQvector3n.X()*afvQvector2n.Y()*afvQvector1n.Y()+afvQvector3n.Y()*afvQvector2n.X()*afvQvector1n.Y()+afvQvector3n.Y()*afvQvector2n.Y()*afvQvector1n.X();//Re[Q_{3n} Q_{2n}^* Q_{n}^*] |
52021ae2 | 848 | Double_t reQ2nQ1nQ3nstar = reQ3nQ2nstarQ1nstar;//Re[Q_{2n} Q_{n} Q_{3n}^*] = Re[Q_{3n} Q_{2n}^* Q_{n}^*] |
849 | //Double_t imQ3nQ2nstarQ1nstar; //calculate and implement this (deleteMe) | |
1dfa3c16 | 850 | Double_t reQ3nQ1nstarQ1nstarQ1nstar = afvQvector3n.X()*pow(afvQvector1n.X(),3)-3.*afvQvector1n.X()*afvQvector3n.X()*pow(afvQvector1n.Y(),2)+3.*afvQvector1n.Y()*afvQvector3n.Y()*pow(afvQvector1n.X(),2)-afvQvector3n.Y()*pow(afvQvector1n.Y(),3);//Re[Q_{3n} Q_{n}^* Q_{n}^* Q_{n}^*] |
52021ae2 | 851 | //Double_t imQ3nQ1nstarQ1nstarQ1nstar; //calculate and implement this (deleteMe) |
1dfa3c16 | 852 | Double_t xQ2nQ1nQ2nstarQ1nstar = pow(afvQvector2n.Mod()*afvQvector1n.Mod(),2);//|Q_{2n}|^2 |Q_{n}|^2 |
853 | Double_t reQ4nQ2nstarQ1nstarQ1nstar = (afvQvector4n.X()*afvQvector2n.X()+afvQvector4n.Y()*afvQvector2n.Y())*(pow(afvQvector1n.X(),2)-pow(afvQvector1n.Y(),2))+2.*afvQvector1n.X()*afvQvector1n.Y()*(afvQvector4n.Y()*afvQvector2n.X()-afvQvector4n.X()*afvQvector2n.Y());//Re[Q_{4n} Q_{2n}^* Q_{n}^* Q_{n}^*] | |
52021ae2 | 854 | //Double_t imQ4nQ2nstarQ1nstarQ1nstar; //calculate and implement this (deleteMe) |
1dfa3c16 | 855 | Double_t reQ2nQ1nQ1nstarQ1nstarQ1nstar = (afvQvector2n.X()*afvQvector1n.X()-afvQvector2n.Y()*afvQvector1n.Y())*(pow(afvQvector1n.X(),3)-3.*afvQvector1n.X()*pow(afvQvector1n.Y(),2))+(afvQvector2n.X()*afvQvector1n.Y()+afvQvector1n.X()*afvQvector2n.Y())*(3.*afvQvector1n.Y()*pow(afvQvector1n.X(),2)-pow(afvQvector1n.Y(),3));//Re[Q_{2n} Q_{n} Q_{n}^* Q_{n}^* Q_{n}^*] |
52021ae2 | 856 | //Double_t imQ2nQ1nQ1nstarQ1nstarQ1nstar; //calculate and implement this (deleteMe) |
1dfa3c16 | 857 | Double_t reQ2nQ2nQ2nstarQ1nstarQ1nstar = pow(afvQvector2n.Mod(),2.)*(afvQvector2n.X()*(pow(afvQvector1n.X(),2.)-pow(afvQvector1n.Y(),2.))+2.*afvQvector2n.Y()*afvQvector1n.X()*afvQvector1n.Y());//Re[Q_{2n} Q_{2n} Q_{2n}^* Q_{n}^* Q_{n}^*] |
52021ae2 | 858 | //Double_t imQ2nQ2nQ2nstarQ1nstarQ1nstar = pow(Qvector2n.Mod(),2.)*(Qvector2n.Y()*(pow(Qvector1n.X(),2.)-pow(Qvector1n.Y(),2.))-2.*Qvector2n.X()*Qvector1n.X()*Qvector1n.Y());//Im[Q_{2n} Q_{2n} Q_{2n}^* Q_{n}^* Q_{n}^*] |
1dfa3c16 | 859 | Double_t reQ4nQ1nstarQ1nstarQ1nstarQ1nstar = pow(afvQvector1n.X(),4.)*afvQvector4n.X()-6.*pow(afvQvector1n.X(),2.)*afvQvector4n.X()*pow(afvQvector1n.Y(),2.)+pow(afvQvector1n.Y(),4.)*afvQvector4n.X()+4.*pow(afvQvector1n.X(),3.)*afvQvector1n.Y()*afvQvector4n.Y()-4.*pow(afvQvector1n.Y(),3.)*afvQvector1n.X()*afvQvector4n.Y();//Re[Q_{4n} Q_{n}^* Q_{n}^* Q_{n}^* Q_{n}^*] |
dee1e0e0 | 860 | //Double_t imQ4nQ1nstarQ1nstarQ1nstarQ1nstar = pow(Qvector1n.X(),4.)*Qvector4n.Y()-6.*pow(Qvector1n.X(),2.)*Qvector4n.Y()*pow(Qvector1n.Y(),2.)+pow(Qvector1n.Y(),4.)*Qvector4n.Y()+4.*pow(Qvector1n.Y(),3.)*Qvector1n.X()*Qvector4n.X()-4.*pow(Qvector1n.X(),3.)*Qvector1n.Y()*Qvector4n.X();//Im[Q_{4n} Q_{n}^* Q_{n}^* Q_{n}^* Q_{n}^*] |
1dfa3c16 | 861 | Double_t reQ3nQ1nQ2nstarQ1nstarQ1nstar = pow(afvQvector1n.Mod(),2.)*(afvQvector1n.X()*afvQvector2n.X()*afvQvector3n.X()-afvQvector3n.X()*afvQvector1n.Y()*afvQvector2n.Y()+afvQvector2n.X()*afvQvector1n.Y()*afvQvector3n.Y()+afvQvector1n.X()*afvQvector2n.Y()*afvQvector3n.Y());//Re[Q_{3n} Q_{n} Q_{2n}^* Q_{n}^* Q_{n}^*] |
862 | //Double_t imQ3nQ1nQ2nstarQ1nstarQ1nstar = pow(afvQvector1n.Mod(),2.)*(-afvQvector2n.X()*afvQvector3n.X()*afvQvector1n.Y()-afvQvector1n.X()*afvQvector3n.X()*afvQvector2n.Y()+afvQvector1n.X()*afvQvector2n.X()*afvQvector3n.Y()-afvQvector1n.Y()*afvQvector2n.Y()*afvQvector3n.Y());//Im[Q_{3n} Q_{n} Q_{2n}^* Q_{n}^* Q_{n}^*] | |
863 | Double_t reQ2nQ2nQ1nstarQ1nstarQ1nstarQ1nstar = (pow(afvQvector1n.X(),2.)*afvQvector2n.X()-2.*afvQvector1n.X()*afvQvector2n.X()*afvQvector1n.Y()-afvQvector2n.X()*pow(afvQvector1n.Y(),2.)+afvQvector2n.Y()*pow(afvQvector1n.X(),2.)+2.*afvQvector1n.X()*afvQvector1n.Y()*afvQvector2n.Y()-pow(afvQvector1n.Y(),2.)*afvQvector2n.Y())*(pow(afvQvector1n.X(),2.)*afvQvector2n.X()+2.*afvQvector1n.X()*afvQvector2n.X()*afvQvector1n.Y()-afvQvector2n.X()*pow(afvQvector1n.Y(),2.)-afvQvector2n.Y()*pow(afvQvector1n.X(),2.)+2.*afvQvector1n.X()*afvQvector1n.Y()*afvQvector2n.Y()+pow(afvQvector1n.Y(),2.)*afvQvector2n.Y());//Re[Q_{2n} Q_{2n} Q_{n}^* Q_{n}^* Q_{n}^* Q_{n}^*] | |
864 | //Double_t imQ2nQ2nQ1nstarQ1nstarQ1nstarQ1nstar = 2.*(pow(afvQvector1n.X(),2.)*afvQvector2n.X()-afvQvector2n.X()*pow(afvQvector1n.Y(),2.)+2.*afvQvector1n.X()*afvQvector1n.Y()*afvQvector2n.Y())*(pow(afvQvector1n.X(),2.)*afvQvector2n.Y()-2.*afvQvector1n.X()*afvQvector1n.Y()*afvQvector2n.X()-pow(afvQvector1n.Y(),2.)*afvQvector2n.Y());//Im[Q_{2n} Q_{2n} Q_{n}^* Q_{n}^* Q_{n}^* Q_{n}^*] | |
865 | Double_t reQ3nQ1nQ1nstarQ1nstarQ1nstarQ1nstar = pow(afvQvector1n.Mod(),2.)*(pow(afvQvector1n.X(),3.)*afvQvector3n.X()-3.*afvQvector1n.X()*afvQvector3n.X()*pow(afvQvector1n.Y(),2.)+3.*pow(afvQvector1n.X(),2.)*afvQvector1n.Y()*afvQvector3n.Y()-pow(afvQvector1n.Y(),3.)*afvQvector3n.Y());//Re[Q_{3n} Q_{n} Q_{n}^* Q_{n}^* Q_{n}^* Q_{n}^*] | |
866 | //Double_t imQ3nQ1nQ1nstarQ1nstarQ1nstarQ1nstar = pow(afvQvector1n.Mod(),2.)*(pow(afvQvector1n.Y(),3.)*afvQvector3n.X()-3.*afvQvector1n.Y()*afvQvector3n.X()*pow(afvQvector1n.X(),2.)-3.*pow(afvQvector1n.Y(),2.)*afvQvector1n.X()*afvQvector3n.Y()+pow(afvQvector1n.X(),3.)*afvQvector3n.Y());//Im[Q_{3n} Q_{n} Q_{n}^* Q_{n}^* Q_{n}^* Q_{n}^*] | |
867 | Double_t xQ2nQ1nQ1nQ2nstarQ1nstarQ1nstar = pow(afvQvector2n.Mod(),2.)*pow(afvQvector1n.Mod(),4.);//|Q_{2n}|^2 |Q_{n}|^4 | |
868 | Double_t reQ2nQ1nQ1nQ1nstarQ1nstarQ1nstarQ1nstar = pow(afvQvector1n.Mod(),4.)*(pow(afvQvector1n.X(),2.)*afvQvector2n.X()-afvQvector2n.X()*pow(afvQvector1n.Y(),2.)+2.*afvQvector1n.X()*afvQvector1n.Y()*afvQvector2n.Y());//Re[Q_{2n} Q_{n} Q_{n} Q_{n}^* Q_{n}^* Q_{n}^* Q_{n}^*] | |
869 | //Double_t imQ2nQ1nQ1nQ1nstarQ1nstarQ1nstarQ1nstar = pow(afvQvector1n.Mod(),4.)*(pow(afvQvector1n.X(),2.)*afvQvector2n.Y()-afvQvector2n.Y()*pow(afvQvector1n.Y(),2.)-2.*afvQvector1n.X()*afvQvector2n.X()*afvQvector1n.Y());//Re[Q_{2n} Q_{n} Q_{n} Q_{n}^* Q_{n}^* Q_{n}^* Q_{n}^*] | |
bc92c0cb | 870 | //--------------------------------------------------------------------------------------------------------- |
871 | ||
872 | //--------------------------------------------------------------------------------------------------------- | |
dee1e0e0 | 873 | // |
874 | // ************************************** | |
875 | // **** multi-particle correlations: **** | |
876 | // ************************************** | |
877 | // | |
878 | // Remark 1: multi-particle correlations calculated with Q-vectors are stored in fQCorrelations. | |
879 | // Remark 2: binning of fQCorrelations is organized as follows: | |
880 | // | |
881 | // 1st bin: <2>_{n|n} = two1n1n | |
882 | // 2nd bin: <2>_{2n|2n} = two2n2n | |
883 | // 3rd bin: <2>_{3n|3n} = two3n3n | |
884 | // 4th bin: <2>_{4n|4n} = two4n4n | |
885 | // 5th bin: -- EMPTY -- | |
886 | // 6th bin: <3>_{2n|n,n} = three2n1n1n | |
887 | // 7th bin: <3>_{3n|2n,n} = three3n2n1n | |
888 | // 8th bin: <3>_{4n|2n,2n} = three4n2n2n | |
889 | // 9th bin: <3>_{4n|3n,n} = three4n3n1n | |
890 | //10th bin: -- EMPTY -- | |
891 | //11th bin: <4>_{n,n|n,n} = four1n1n1n1n | |
892 | //12th bin: <4>_{2n,n|2n,n} = four2n1n2n1n | |
893 | //13th bin: <4>_{2n,2n|2n,2n} = four2n2n2n2n | |
894 | //14th bin: <4>_{3n|n,n,n} = four3n1n1n1n | |
895 | //15th bin: <4>_{3n,n|3n,n} = four3n1n3n1n | |
896 | //16th bin: <4>_{3n,n|2n,2n} = four3n1n2n2n | |
897 | //17th bin: <4>_{4n|2n,n,n} = four4n2n1n1n | |
898 | //18th bin: -- EMPTY -- | |
899 | //19th bin: <5>_{2n|n,n,n,n} = five2n1n1n1n1n | |
900 | //20th bin: <5>_{2n,2n|2n,n,n} = five2n2n2n1n1n | |
901 | //21st bin: <5>_{3n,n|2n,n,n} = five3n1n2n1n1n | |
902 | //22nd bin: <5>_{4n|n,n,n,n} = five4n1n1n1n1n | |
903 | //23rd bin: -- EMPTY -- | |
904 | //24th bin: <6>_{n,n,n|n,n,n} = six1n1n1n1n1n1n | |
905 | //25th bin: <6>_{2n,n,n|2n,n,n} = six2n1n1n2n1n1n | |
906 | //26th bin: <6>_{2n,2n|n,n,n,n} = six2n2n1n1n1n1n | |
907 | //27th bin: <6>_{3n,n|n,n,n,n} = six3n1n1n1n1n1n | |
908 | //28th bin: -- EMPTY -- | |
909 | //29th bin: <7>_{2n,n,n|n,n,n,n} = seven2n1n1n1n1n1n1n | |
910 | //30th bin: -- EMPTY -- | |
911 | //31st bin: <8>_{n,n,n,n|n,n,n,n} = eight1n1n1n1n1n1n1n1n | |
912 | ||
1315fe58 | 913 | |
8842fb2b | 914 | // binning of fQProduct (all correlations are evaluated in harmonic n): |
915 | // 1st bin: <2>*<4> | |
916 | // 2nd bin: <2>*<6> | |
917 | // 3rd bin: <2>*<8> | |
918 | // 4th bin: <4>*<6> | |
919 | // 5th bin: <4>*<8> | |
920 | // 6th bin: <6>*<8> | |
921 | ||
ae733b3b | 922 | // 2-particle |
923 | Double_t two1n1n = 0., two2n2n = 0., two3n3n = 0., two4n4n = 0.; | |
924 | ||
3d824203 | 925 | if(dMult>1) |
bc92c0cb | 926 | { |
ae733b3b | 927 | //fill the common control histogram (2nd order): |
cb308e83 | 928 | fCommonHists2nd->FillControlHistograms(anEvent); |
ae733b3b | 929 | |
3d824203 | 930 | two1n1n = (pow(afvQvector1n.Mod(),2.)-dMult)/(dMult*(dMult-1.)); // <2>_{n|n} = <cos(n*(phi1-phi2))> |
ae733b3b | 931 | two2n2n = (pow(afvQvector2n.Mod(),2.)-dMult)/(dMult*(dMult-1.)); // <2>_{2n|2n} = <cos(2n*(phi1-phi2))> |
932 | two3n3n = (pow(afvQvector3n.Mod(),2.)-dMult)/(dMult*(dMult-1.)); // <2>_{3n|3n} = <cos(3n*(phi1-phi2))> | |
933 | two4n4n = (pow(afvQvector4n.Mod(),2.)-dMult)/(dMult*(dMult-1.)); // <2>_{4n|4n} = <cos(4n*(phi1-phi2))> | |
1315fe58 | 934 | |
3d824203 | 935 | fQCorrelations->Fill(0.,two1n1n,dMult*(dMult-1.)); |
936 | fQCorrelations->Fill(1.,two2n2n,dMult*(dMult-1.)); | |
937 | fQCorrelations->Fill(2.,two3n3n,dMult*(dMult-1.)); | |
938 | fQCorrelations->Fill(3.,two4n4n,dMult*(dMult-1.)); | |
1315fe58 | 939 | |
3d824203 | 940 | f2pDistribution->Fill(two1n1n,dMult*(dMult-1.)); |
bc92c0cb | 941 | } |
942 | ||
3d824203 | 943 | // 3-particle |
52021ae2 | 944 | Double_t three2n1n1n=0., three3n2n1n=0., three4n2n2n=0., three4n3n1n=0.; |
1dfa3c16 | 945 | if(dMult>2) |
bc92c0cb | 946 | { |
1dfa3c16 | 947 | three2n1n1n = (reQ2nQ1nstarQ1nstar-2.*pow(afvQvector1n.Mod(),2.)-pow(afvQvector2n.Mod(),2.)+2.*dMult)/(dMult*(dMult-1.)*(dMult-2.)); //Re[<3>_{2n|n,n}] = Re[<3>_{n,n|2n}] = <cos(n*(2.*phi1-phi2-phi3))> |
948 | three3n2n1n = (reQ3nQ2nstarQ1nstar-pow(afvQvector3n.Mod(),2.)-pow(afvQvector2n.Mod(),2.)-pow(afvQvector1n.Mod(),2.)+2.*dMult)/(dMult*(dMult-1.)*(dMult-2.)); //Re[<3>_{3n|2n,n}] = Re[<3>_{2n,n|3n}] = <cos(n*(3.*phi1-2.*phi2-phi3))> | |
949 | three4n2n2n = (reQ4nQ2nstarQ2nstar-2.*pow(afvQvector2n.Mod(),2.)-pow(afvQvector4n.Mod(),2.)+2.*dMult)/(dMult*(dMult-1.)*(dMult-2.)); //Re[<3>_{4n|2n,2n}] = Re[<3>_{2n,2n|4n}] = <cos(n*(4.*phi1-2.*phi2-2.*phi3))> | |
950 | three4n3n1n = (reQ4nQ3nstarQ1nstar-pow(afvQvector4n.Mod(),2.)-pow(afvQvector3n.Mod(),2.)-pow(afvQvector1n.Mod(),2.)+2.*dMult)/(dMult*(dMult-1.)*(dMult-2.)); //Re[<3>_{4n|3n,n}] = Re[<3>_{3n,n|4n}] = <cos(n*(4.*phi1-3.*phi2-phi3))> | |
951 | ||
952 | fQCorrelations->Fill(5.,three2n1n1n,dMult*(dMult-1.)*(dMult-2.)); | |
953 | fQCorrelations->Fill(6.,three3n2n1n,dMult*(dMult-1.)*(dMult-2.)); | |
954 | fQCorrelations->Fill(7.,three4n2n2n,dMult*(dMult-1.)*(dMult-2.)); | |
955 | fQCorrelations->Fill(8.,three4n3n1n,dMult*(dMult-1.)*(dMult-2.)); | |
bc92c0cb | 956 | } |
957 | ||
958 | //4-particle | |
52021ae2 | 959 | Double_t four1n1n1n1n=0., four2n2n2n2n=0., four2n1n2n1n=0., four3n1n1n1n=0., four4n2n1n1n=0., four3n1n2n2n=0., four3n1n3n1n=0.; |
1dfa3c16 | 960 | if(dMult>3) |
bc92c0cb | 961 | { |
cb308e83 | 962 | //fill the common control histogram (4th order): |
963 | fCommonHists4th->FillControlHistograms(anEvent); | |
964 | ||
1dfa3c16 | 965 | four1n1n1n1n = (2.*dMult*(dMult-3.)+pow(afvQvector1n.Mod(),4.)-4.*(dMult-2.)*pow(afvQvector1n.Mod(),2.)-2.*reQ2nQ1nstarQ1nstar+pow(afvQvector2n.Mod(),2.))/(dMult*(dMult-1)*(dMult-2.)*(dMult-3.));//<4>_{n,n|n,n} |
966 | four2n2n2n2n = (2.*dMult*(dMult-3.)+pow(afvQvector2n.Mod(),4.)-4.*(dMult-2.)*pow(afvQvector2n.Mod(),2.)-2.*reQ4nQ2nstarQ2nstar+pow(afvQvector4n.Mod(),2.))/(dMult*(dMult-1)*(dMult-2.)*(dMult-3.));//<4>_{2n,2n|2n,2n} | |
967 | four2n1n2n1n = (xQ2nQ1nQ2nstarQ1nstar-2.*reQ3nQ2nstarQ1nstar-2.*reQ2nQ1nstarQ1nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.))-((dMult-5.)*pow(afvQvector1n.Mod(),2.)+(dMult-4.)*pow(afvQvector2n.Mod(),2.)-pow(afvQvector3n.Mod(),2.))/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.))+(dMult-6.)/((dMult-1.)*(dMult-2.)*(dMult-3.));//Re[<4>_{2n,n|2n,n}] | |
968 | four3n1n1n1n = (reQ3nQ1nstarQ1nstarQ1nstar-3.*reQ3nQ2nstarQ1nstar-3.*reQ2nQ1nstarQ1nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.))+(2.*pow(afvQvector3n.Mod(),2.)+3.*pow(afvQvector2n.Mod(),2.)+6.*pow(afvQvector1n.Mod(),2.)-6.*dMult)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.));//Re[<4>_{3n|n,n,n}] | |
969 | four4n2n1n1n = (reQ4nQ2nstarQ1nstarQ1nstar-2.*reQ4nQ3nstarQ1nstar-reQ4nQ2nstarQ2nstar-2.*reQ3nQ2nstarQ1nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.))-(reQ2nQ1nstarQ1nstar-2.*pow(afvQvector4n.Mod(),2.)-2.*pow(afvQvector3n.Mod(),2.)-3.*pow(afvQvector2n.Mod(),2.)-4.*pow(afvQvector1n.Mod(),2.))/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.))-(6.)/((dMult-1.)*(dMult-2.)*(dMult-3.));//Re[<4>_{4n|2n,n,n}] | |
970 | four3n1n2n2n = (reQ3nQ1nQ2nstarQ2nstar-reQ4nQ2nstarQ2nstar-reQ3nQ1nQ4nstar-2.*reQ3nQ2nstarQ1nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.))-(2.*reQ1nQ1nQ2nstar-pow(afvQvector4n.Mod(),2.)-2.*pow(afvQvector3n.Mod(),2.)-4.*pow(afvQvector2n.Mod(),2.)-4.*pow(afvQvector1n.Mod(),2.))/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.))-(6.)/((dMult-1.)*(dMult-2.)*(dMult-3.));//Re[<4>_{3n,n|2n,2n}] | |
971 | four3n1n3n1n = (pow(afvQvector3n.Mod(),2.)*pow(afvQvector1n.Mod(),2.)-2.*reQ4nQ3nstarQ1nstar-2.*reQ3nQ2nstarQ1nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.))+(pow(afvQvector4n.Mod(),2.)-(dMult-4.)*pow(afvQvector3n.Mod(),2.)+pow(afvQvector2n.Mod(),2.)-(dMult-4.)*pow(afvQvector1n.Mod(),2.))/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.))+(dMult-6.)/((dMult-1.)*(dMult-2.)*(dMult-3.));//<4>_{3n,n|3n,n} | |
1315fe58 | 972 | //four_3n1n3n1n = Q3nQ1nQ3nstarQ1nstar/(M*(M-1.)*(M-2.)*(M-3.))-(2.*three_3n2n1n+2.*three_4n3n1n)/(M-3.)-(two_4n4n+M*two_3n3n+two_2n2n+M*two_1n1n)/((M-2.)*(M-3.))-M/((M-1.)*(M-2.)*(M-3.));//<4>_{3n,n|3n,n} |
973 | ||
1dfa3c16 | 974 | fQCorrelations->Fill(10.,four1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)); |
975 | fQCorrelations->Fill(11.,four2n1n2n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)); | |
976 | fQCorrelations->Fill(12.,four2n2n2n2n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)); | |
977 | fQCorrelations->Fill(13.,four3n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)); | |
978 | fQCorrelations->Fill(14.,four3n1n3n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)); | |
979 | fQCorrelations->Fill(15.,four3n1n2n2n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)); | |
980 | fQCorrelations->Fill(16.,four4n2n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)); | |
dee1e0e0 | 981 | |
1dfa3c16 | 982 | f4pDistribution->Fill(four1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)); |
bc92c0cb | 983 | |
1dfa3c16 | 984 | fQProduct->Fill(0.,two1n1n*four1n1n1n1n,dMult*(dMult-1.)*dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)); |
bc92c0cb | 985 | } |
986 | ||
987 | //5-particle | |
52021ae2 | 988 | Double_t five2n1n1n1n1n=0., five2n2n2n1n1n=0., five3n1n2n1n1n=0., five4n1n1n1n1n=0.; |
1dfa3c16 | 989 | if(dMult>4) |
1315fe58 | 990 | { |
1dfa3c16 | 991 | five2n1n1n1n1n = (reQ2nQ1nQ1nstarQ1nstarQ1nstar-reQ3nQ1nstarQ1nstarQ1nstar+6.*reQ3nQ2nstarQ1nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))-(reQ2nQ1nQ3nstar+3.*(dMult-6.)*reQ2nQ1nstarQ1nstar+3.*reQ1nQ1nQ2nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))-(2.*pow(afvQvector3n.Mod(),2.)+3.*pow(afvQvector2n.Mod()*afvQvector1n.Mod(),2.)-3.*(dMult-4.)*pow(afvQvector2n.Mod(),2.))/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))-3.*(pow(afvQvector1n.Mod(),4.)-2.*(2*dMult-5.)*pow(afvQvector1n.Mod(),2.)+2.*dMult*(dMult-4.))/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.));//Re[<5>_{2n,n|n,n,n}] |
1315fe58 | 992 | |
1dfa3c16 | 993 | five2n2n2n1n1n = (reQ2nQ2nQ2nstarQ1nstarQ1nstar-reQ4nQ2nstarQ1nstarQ1nstar-2.*reQ2nQ2nQ3nstarQ1nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))+2.*(reQ4nQ2nstarQ2nstar+4.*reQ3nQ2nstarQ1nstar+reQ3nQ1nQ4nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))+(reQ2nQ2nQ4nstar-2.*(dMult-5.)*reQ2nQ1nstarQ1nstar+2.*reQ1nQ1nQ2nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))-(2.*pow(afvQvector4n.Mod(),2.)+4.*pow(afvQvector3n.Mod(),2.)+1.*pow(afvQvector2n.Mod(),4.)-2.*(3.*dMult-10.)*pow(afvQvector2n.Mod(),2.))/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))-(4.*pow(afvQvector1n.Mod(),2.)*pow(afvQvector2n.Mod(),2.)-4.*(dMult-5.)*pow(afvQvector1n.Mod(),2.)+4.*dMult*(dMult-6.))/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.));//Re[<5>_{2n,2n|2n,n,n}] |
1315fe58 | 994 | |
dee1e0e0 | 995 | //five_2n2n2n1n1n = reQ2nQ2nQ2nstarQ1nstarQ1nstar/(M*(M-1.)*(M-2.)*(M-3.)*(M-4.))-(4.*four_2n1n2n1n+2.*four_3n1n2n2n+1.*four_2n2n2n2n+four_4n2n1n1n)/(M-4.)-(2.*three_4n3n1n+three_4n2n2n+three_4n2n2n+2.*three_3n2n1n)/((M-3.)*(M-4.))-(4.*three_3n2n1n+(2.*M-1.)*three_2n1n1n+2.*three_2n1n1n)/((M-3.)*(M-4.))-(two_4n4n+2.*two_3n3n+4.*(M-1.)*two_2n2n+2.*(2.*M-1.)*two_1n1n)/((M-2.)*(M-3.)*(M-4.))-(2.*M-1.)/((M-1.)*(M-2.)*(M-3.)*(M-4.)); //OK! |
1315fe58 | 996 | |
1dfa3c16 | 997 | five4n1n1n1n1n = (reQ4nQ1nstarQ1nstarQ1nstarQ1nstar-6.*reQ4nQ2nstarQ1nstarQ1nstar-4.*reQ3nQ1nstarQ1nstarQ1nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))+(8.*reQ4nQ3nstarQ1nstar+3.*reQ4nQ2nstarQ2nstar+12.*reQ3nQ2nstarQ1nstar+12.*reQ2nQ1nstarQ1nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))-(6.*pow(afvQvector4n.Mod(),2.)+8.*pow(afvQvector3n.Mod(),2.)+12.*pow(afvQvector2n.Mod(),2.)+24.*pow(afvQvector1n.Mod(),2.)-24.*dMult)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.));//Re[<5>_{4n|n,n,n,n}] |
1315fe58 | 998 | |
dee1e0e0 | 999 | //five_4n1n1n1n1n = reQ4nQ1nstarQ1nstarQ1nstarQ1nstar/(M*(M-1.)*(M-2.)*(M-3.)*(M-4.)) - (4.*four_3n1n1n1n+6.*four_4n2n1n1n)/(M-4.) - (6.*three_2n1n1n + 12.*three_3n2n1n + 4.*three_4n3n1n + 3.*three_4n2n2n)/((M-3.)*(M-4.)) - (4.*two_1n1n + 6.*two_2n2n + 4.*two_3n3n + 1.*two_4n4n)/((M-2.)*(M-3.)*(M-4.)) - 1./((M-1.)*(M-2.)*(M-3.)*(M-4.)); //OK! |
1000 | ||
1dfa3c16 | 1001 | five3n1n2n1n1n = (reQ3nQ1nQ2nstarQ1nstarQ1nstar-reQ4nQ2nstarQ1nstarQ1nstar-reQ3nQ1nstarQ1nstarQ1nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))-(reQ3nQ1nQ2nstarQ2nstar-3.*reQ4nQ3nstarQ1nstar-reQ4nQ2nstarQ2nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))-((2.*dMult-13.)*reQ3nQ2nstarQ1nstar-reQ3nQ1nQ4nstar-9.*reQ2nQ1nstarQ1nstar)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))-(2.*reQ1nQ1nQ2nstar+2.*pow(afvQvector4n.Mod(),2.)-2.*(dMult-5.)*pow(afvQvector3n.Mod(),2.)+2.*pow(afvQvector3n.Mod(),2.)*pow(afvQvector1n.Mod(),2.))/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))+(2.*(dMult-6.)*pow(afvQvector2n.Mod(),2.)-2.*pow(afvQvector2n.Mod(),2.)*pow(afvQvector1n.Mod(),2.)-pow(afvQvector1n.Mod(),4.)+2.*(3.*dMult-11.)*pow(afvQvector1n.Mod(),2.))/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.))-4.*(dMult-6.)/((dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.));//Re[<5>_{3n,n|2n,n,n}] |
dee1e0e0 | 1002 | |
1dfa3c16 | 1003 | //five3n1n2n1n1n = reQ3nQ1nQ2nstarQ1nstarQ1nstar/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)) - (four4n2n1n1n+four1n1n1n1n+four3n1n1n1n+2.*four2n1n2n1n+2.*three3n2n1n+2.*four3n1n3n1n+four3n1n2n2n)/(dMult-4.) - (2.*three4n3n1n+three4n2n2n+6.*three3n2n1n+three4n3n1n+2.*three3n2n1n+3.*three2n1n1n+2.*three2n1n1n+4.*two1n1n+2.*two2n2n+2.*two3n3n)/((dMult-3.)*(dMult-4.)) - (5.*two1n1n + 4.*two2n2n + 3.*two3n3n + 1.*two4n4n + 2.)/((dMult-2.)*(dMult-3.)*(dMult-4.)) - 1./((dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)) ;//Re[<5>_{3n,n|2n,n,n}] //OK! |
1315fe58 | 1004 | |
1dfa3c16 | 1005 | //five3n1n2n1n1n = reQ3nQ1nQ2nstarQ1nstarQ1nstar/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)) - (four4n2n1n1n+four1n1n1n1n+four3n1n1n1n+2.*four2n1n2n1n+2.*four3n1n3n1n+four3n1n2n2n)/(dMult-4.) - (2.*three4n3n1n+three4n2n2n+2.*dMult*three3n2n1n+three4n3n1n+2.*three3n2n1n+3.*three2n1n1n+2.*three2n1n1n)/((dMult-3.)*(dMult-4.)) - ((4.*dMult-3.)*two1n1n + 2.*dMult*two2n2n + (2.*dMult-1.)*two3n3n + two4n4n)/((dMult-2.)*(dMult-3.)*(dMult-4.)) - (2.*dMult-1.)/((dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)) ;//Re[<5>_{3n,n|2n,n,n}] //OK! |
dee1e0e0 | 1006 | |
1dfa3c16 | 1007 | fQCorrelations->Fill(18.,five2n1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)); |
1008 | fQCorrelations->Fill(19.,five2n2n2n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)); | |
1009 | fQCorrelations->Fill(20.,five3n1n2n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)); | |
1010 | fQCorrelations->Fill(21.,five4n1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)); | |
1315fe58 | 1011 | } |
bc92c0cb | 1012 | |
ae733b3b | 1013 | //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
1014 | // !!!! to be removed: temporary fix !!!! | |
307ed368 | 1015 | if(dMult>1) |
1016 | { | |
1017 | two1n1n = (pow(afvQvector1n.Mod(),2.)-dMult)/(dMult*(dMult-1.)); | |
1018 | } | |
ae733b3b | 1019 | //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
1020 | ||
bc92c0cb | 1021 | //6-particle |
dee1e0e0 | 1022 | Double_t six1n1n1n1n1n1n=0., six2n2n1n1n1n1n=0., six3n1n1n1n1n1n=0., six2n1n1n2n1n1n=0.; |
1dfa3c16 | 1023 | if(dMult>5) |
bc92c0cb | 1024 | { |
cb308e83 | 1025 | //fill the common control histogram (6th order): |
1026 | fCommonHists6th->FillControlHistograms(anEvent); | |
1027 | ||
1dfa3c16 | 1028 | six1n1n1n1n1n1n = (pow(afvQvector1n.Mod(),6.)+9.*xQ2nQ1nQ2nstarQ1nstar-6.*reQ2nQ1nQ1nstarQ1nstarQ1nstar)/(dMult*(dMult-1)*(dMult-2)*(dMult-3)*(dMult-4)*(dMult-5))+4.*(reQ3nQ1nstarQ1nstarQ1nstar-3.*reQ3nQ2nstarQ1nstar)/(dMult*(dMult-1)*(dMult-2)*(dMult-3)*(dMult-4)*(dMult-5))+2.*(9.*(dMult-4.)*reQ2nQ1nstarQ1nstar+2.*pow(afvQvector3n.Mod(),2.))/(dMult*(dMult-1)*(dMult-2)*(dMult-3)*(dMult-4)*(dMult-5))-9.*(pow(afvQvector1n.Mod(),4.)+pow(afvQvector2n.Mod(),2.))/(dMult*(dMult-1)*(dMult-2)*(dMult-3)*(dMult-5))+(18.*pow(afvQvector1n.Mod(),2.))/(dMult*(dMult-1)*(dMult-3)*(dMult-4))-(6.)/((dMult-1)*(dMult-2)*(dMult-3));//<6>_{n,n,n|n,n,n} |
1315fe58 | 1029 | |
1dfa3c16 | 1030 | six2n1n1n2n1n1n = (xQ2nQ1nQ1nQ2nstarQ1nstarQ1nstar-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(2.*five2n2n2n1n1n+4.*five2n1n1n1n1n+4.*five3n1n2n1n1n+4.*four2n1n2n1n+1.*four1n1n1n1n)-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(4.*four1n1n1n1n+4.*two1n1n+2.*three2n1n1n+2.*three2n1n1n+4.*four3n1n1n1n+8.*three2n1n1n+2.*four4n2n1n1n+4.*four2n1n2n1n+2.*two2n2n+8.*four2n1n2n1n+4.*four3n1n3n1n+8.*three3n2n1n+4.*four3n1n2n2n+4.*four1n1n1n1n+4.*four2n1n2n1n+1.*four2n2n2n2n)-dMult*(dMult-1.)*(dMult-2.)*(2.*three2n1n1n+8.*two1n1n+4.*two1n1n+2.+4.*two1n1n+4.*three2n1n1n+2.*two2n2n+4.*three2n1n1n+8.*three3n2n1n+8.*two2n2n+4.*three4n3n1n+4.*two3n3n+4.*three3n2n1n+4.*two1n1n+8.*three2n1n1n+4.*two1n1n+4.*three3n2n1n+4.*three2n1n1n+2.*two2n2n+4.*three3n2n1n+2.*three4n2n2n)-dMult*(dMult-1.)*(4.*two1n1n+4.+4.*two1n1n+2.*two2n2n+1.+4.*two1n1n+4.*two2n2n+4.*two3n3n+ 1.+2.*two2n2n+1.*two4n4n)-dMult)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.));//<6>_{2n,n,n|2n,n,n} |
dee1e0e0 | 1031 | |
1dfa3c16 | 1032 | six2n2n1n1n1n1n = (reQ2nQ2nQ1nstarQ1nstarQ1nstarQ1nstar-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(five4n1n1n1n1n+8.*five2n1n1n1n1n+6.*five2n2n2n1n1n)-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(4.*four3n1n1n1n+6.*four4n2n1n1n+12.*three2n1n1n+12.*four1n1n1n1n+24.*four2n1n2n1n+4.*four3n1n2n2n+3.*four2n2n2n2n)-dMult*(dMult-1.)*(dMult-2.)*(6.*three2n1n1n+12.*three3n2n1n+4.*three4n3n1n+3.*three4n2n2n+8.*three2n1n1n+24.*two1n1n+12.*two2n2n+12.*three2n1n1n+8.*three3n2n1n+1.*three4n2n2n)-dMult*(dMult-1.)*(4.*two1n1n+6.*two2n2n+4.*two3n3n+1.*two4n4n+2.*two2n2n+8.*two1n1n+6.)-dMult)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.));//<6>_{2n,2n,n|n,n,n} |
dee1e0e0 | 1033 | |
1dfa3c16 | 1034 | six3n1n1n1n1n1n = (reQ3nQ1nQ1nstarQ1nstarQ1nstarQ1nstar-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(five4n1n1n1n1n+4.*five2n1n1n1n1n+6.*five3n1n2n1n1n+4.*four3n1n1n1n)-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(4.*four3n1n1n1n+6.*four4n2n1n1n+6.*four1n1n1n1n+12.*three2n1n1n+12.*four2n1n2n1n+6.*four3n1n1n1n+12.*three3n2n1n+4.*four3n1n3n1n+3.*four3n1n2n2n)-dMult*(dMult-1.)*(dMult-2.)*(6.*three2n1n1n+12.*three3n2n1n+4.*three4n3n1n+3.*three4n2n2n+4.*two1n1n+12.*two1n1n+6.*three2n1n1n+12.*three2n1n1n+4.*three3n2n1n+12.*two2n2n+4.*three3n2n1n+4.*two3n3n+1.*three4n3n1n+6.*three3n2n1n)-dMult*(dMult-1.)*(4.*two1n1n+6.*two2n2n+4.*two3n3n+1.*two4n4n+1.*two1n1n+4.+6.*two1n1n+4.*two2n2n+1.*two3n3n)-dMult)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.));//<6>_{3n,n|n,n,n,n} |
dee1e0e0 | 1035 | |
1dfa3c16 | 1036 | fQCorrelations->Fill(23.,six1n1n1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.)); |
1037 | fQCorrelations->Fill(24.,six2n1n1n2n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.)); | |
1038 | fQCorrelations->Fill(25.,six2n2n1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.)); | |
1039 | fQCorrelations->Fill(26.,six3n1n1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.)); | |
dee1e0e0 | 1040 | |
1dfa3c16 | 1041 | f6pDistribution->Fill(six1n1n1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.)); |
bc92c0cb | 1042 | |
1dfa3c16 | 1043 | fQProduct->Fill(1.,two1n1n*six1n1n1n1n1n1n,dMult*(dMult-1.)*dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.)); |
1044 | fQProduct->Fill(3.,four1n1n1n1n*six1n1n1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.)); | |
bc92c0cb | 1045 | } |
dee1e0e0 | 1046 | |
1047 | //7-particle | |
1048 | Double_t seven2n1n1n1n1n1n1n=0.; | |
1dfa3c16 | 1049 | if(dMult>6) |
dee1e0e0 | 1050 | { |
1dfa3c16 | 1051 | seven2n1n1n1n1n1n1n = (reQ2nQ1nQ1nQ1nstarQ1nstarQ1nstarQ1nstar-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.)*(2.*six3n1n1n1n1n1n+4.*six1n1n1n1n1n1n+1.*six2n2n1n1n1n1n+6.*six2n1n1n2n1n1n+8.*five2n1n1n1n1n)-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(1.*five4n1n1n1n1n +8.*five2n1n1n1n1n+8.*four3n1n1n1n+12.*five3n1n2n1n1n+4.*five2n1n1n1n1n+3.*five2n2n2n1n1n+6.*five2n2n2n1n1n+6.*four1n1n1n1n+24.*four1n1n1n1n+12.*five2n1n1n1n1n+12.*five2n1n1n1n1n+12.*three2n1n1n+24.*four2n1n2n1n+4.*five3n1n2n1n1n+4.*five2n1n1n1n1n)-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(4.*four3n1n1n1n+6.*four4n2n1n1n+12.*four1n1n1n1n+24.*three2n1n1n+24.*four2n1n2n1n+12.*four3n1n1n1n+24.*three3n2n1n+8.*four3n1n3n1n+6.*four3n1n2n2n+6.*three2n1n1n+12.*four1n1n1n1n+12.*four2n1n2n1n+6.*three2n1n1n+12.*four2n1n2n1n+4.*four3n1n2n2n+3.*four2n2n2n2n+4.*four1n1n1n1n+6.*three2n1n1n+24.*two1n1n+24.*four1n1n1n1n+4.*four3n1n1n1n+24.*two1n1n+24.*three2n1n1n+12.*two2n2n+24.*three2n1n1n+12.*four2n1n2n1n+8.*three3n2n1n+8.*four2n1n2n1n+1.*four4n2n1n1n)-dMult*(dMult-1.)*(dMult-2.)*(6.*three2n1n1n+1.*three2n1n1n+8.*two1n1n+12.*three3n2n1n+24.*two1n1n+12.*three2n1n1n+4.*three2n1n1n+8.*two1n1n+4.*three4n3n1n+24.*three2n1n1n+8.*three3n2n1n+12.*two1n1n+12.*two1n1n+3.*three4n2n2n+24.*two2n2n+6.*two2n2n+12.+12.*three3n2n1n+8.*two3n3n+12.*three2n1n1n+24.*two1n1n+4.*three3n2n1n+8.*three3n2n1n+2.*three4n3n1n+12.*two1n1n+8.*three2n1n1n+4.*three2n1n1n+2.*three3n2n1n+6.*two2n2n+8.*two2n2n+1.*three4n2n2n+4.*three3n2n1n+6.*three2n1n1n)-dMult*(dMult-1.)*(4.*two1n1n+2.*two1n1n+6.*two2n2n+8.+1.*two2n2n+4.*two3n3n+12.*two1n1n+4.*two1n1n+1.*two4n4n+8.*two2n2n+6.+2.*two3n3n+4.*two1n1n+1.*two2n2n)-dMult)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.)*(dMult-6.)); |
dee1e0e0 | 1052 | |
1dfa3c16 | 1053 | fQCorrelations->Fill(28.,seven2n1n1n1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.)*(dMult-6.)); |
dee1e0e0 | 1054 | } |
1055 | ||
1056 | //8-particle | |
1057 | Double_t eight1n1n1n1n1n1n1n1n=0.; | |
1dfa3c16 | 1058 | if(dMult>7) |
dee1e0e0 | 1059 | { |
cb308e83 | 1060 | //fill the common control histogram (8th order): |
1061 | fCommonHists8th->FillControlHistograms(anEvent); | |
1062 | ||
1dfa3c16 | 1063 | eight1n1n1n1n1n1n1n1n = (pow(afvQvector1n.Mod(),8)-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.)*(dMult-6.)*(12.*seven2n1n1n1n1n1n1n+16.*six1n1n1n1n1n1n)-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.)*(8.*six3n1n1n1n1n1n+48.*six1n1n1n1n1n1n+6.*six2n2n1n1n1n1n+96.*five2n1n1n1n1n+72.*four1n1n1n1n+36.*six2n1n1n2n1n1n)-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(2.*five4n1n1n1n1n+32.*five2n1n1n1n1n+36.*four1n1n1n1n+32.*four3n1n1n1n+48.*five2n1n1n1n1n+48.*five3n1n2n1n1n+144.*five2n1n1n1n1n+288.*four1n1n1n1n+36.*five2n2n2n1n1n+144.*three2n1n1n+96.*two1n1n+144.*four2n1n2n1n)-dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(8.*four3n1n1n1n+48.*four1n1n1n1n+12.*four4n2n1n1n+96.*four2n1n2n1n+96.*three2n1n1n+72.*three2n1n1n+144.*two1n1n+16.*four3n1n3n1n+48.*four3n1n1n1n+144.*four1n1n1n1n+72.*four1n1n1n1n+96.*three3n2n1n+24.*four3n1n2n2n+144.*four2n1n2n1n+288.*two1n1n+288.*three2n1n1n+9.*four2n2n2n2n+72.*two2n2n+24.)-dMult*(dMult-1.)*(dMult-2.)*(12.*three2n1n1n+16.*two1n1n+24.*three3n2n1n+48.*three2n1n1n+96.*two1n1n+8.*three4n3n1n+32.*three3n2n1n+96.*three2n1n1n+144.*two1n1n+6.*three4n2n2n+96.*two2n2n+36.*two2n2n+72.+48.*three3n2n1n+16.*two3n3n+72.*three2n1n1n+144.*two1n1n)-dMult*(dMult-1.)*(8.*two1n1n+12.*two2n2n+16.+8.*two3n3n+48.*two1n1n+1.*two4n4n+16.*two2n2n+18.)-dMult)/(dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.)*(dMult-6.)*(dMult-7.)); |
dee1e0e0 | 1064 | |
1dfa3c16 | 1065 | fQCorrelations->Fill(30.,eight1n1n1n1n1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.)*(dMult-6.)*(dMult-7.)); |
5e838eeb | 1066 | |
1dfa3c16 | 1067 | f8pDistribution->Fill(eight1n1n1n1n1n1n1n1n,dMult*(dMult-1.)*(dMult-2.)*(dMult-3.)*(dMult-4.)*(dMult-5.)*(dMult-6.)*(dMult-7.)); |
dee1e0e0 | 1068 | } |
bc92c0cb | 1069 | //--------------------------------------------------------------------------------------------------------- |
1070 | ||
4057ba99 | 1071 | |
1072 | ||
1073 | ||
bc92c0cb | 1074 | |
bc92c0cb | 1075 | |
e8a609bc | 1076 | |
ae733b3b | 1077 | |
ae733b3b | 1078 | |
3d824203 | 1079 | |
1080 | ||
1081 | ||
1082 | ||
1083 | ||
1084 | ||
1085 | ||
1086 | ||
1087 | ||
1088 | ||
1089 | ||
1090 | ||
1091 | ||
1092 | ||
1093 | ||
1094 | ||
1095 | ||
1096 | ||
1097 | ||
1098 | ||
1099 | ||
1100 | ||
1101 | ||
1102 | ||
1103 | ||
1104 | ||
1105 | ||
1106 | ||
1107 | ||
1108 | ||
1109 | ||
1110 | ||
1111 | ||
1112 | ||
1113 | ||
1114 | ||
1115 | ||
1116 | ||
1117 | ||
1118 | ||
1119 | ||
1120 | ||
1121 | ||
1122 | ||
1123 | ||
1124 | ||
1125 | ||
1126 | ||
1127 | //WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW | |
1128 | ||
1129 | //--------------------------------------------------------------------------------------------------------- | |
1130 | // weights: | |
1131 | Bool_t useWeights = fUsePhiWeights||fUsePtWeights||fUseEtaWeights; | |
1132 | ||
1133 | TH1F *phiWeights = NULL; // histogram with phi weights | |
1134 | TH1D *ptWeights = NULL; // histogram with pt weights | |
1135 | TH1D *etaWeights = NULL; // histogram with eta weights | |
1136 | ||
1137 | if(useWeights) | |
1138 | { | |
1139 | if(!fWeightsList) | |
1315fe58 | 1140 | { |
3d824203 | 1141 | cout<<" WARNING: fWeightsList is NULL pointer. "<<endl; |
1142 | exit(0); | |
1143 | } | |
1144 | if(fUsePhiWeights) | |
1145 | { | |
1146 | phiWeights = dynamic_cast<TH1F *>(fWeightsList->FindObject("phi_weights")); | |
1147 | if(!phiWeights) | |
ae733b3b | 1148 | { |
3d824203 | 1149 | cout<<" WARNING: couldn't access the histogram with phi weights. "<<endl; |
1150 | exit(0); | |
ae733b3b | 1151 | } |
3d824203 | 1152 | } |
1153 | if(fUsePtWeights) | |
1154 | { | |
1155 | ptWeights = dynamic_cast<TH1D *>(fWeightsList->FindObject("pt_weights")); | |
1156 | if(!ptWeights) | |
1157 | { | |
1158 | cout<<" WARNING: couldn't access the histogram with pt weights. "<<endl; | |
1159 | exit(0); | |
1160 | } | |
1161 | } | |
1162 | if(fUseEtaWeights) | |
1163 | { | |
1164 | etaWeights = dynamic_cast<TH1D *>(fWeightsList->FindObject("eta_weights")); | |
1165 | if(!etaWeights) | |
1166 | { | |
1167 | cout<<" WARNING: couldn't access the histogram with eta weights. "<<endl; | |
1168 | exit(0); | |
1169 | } | |
1170 | } | |
1171 | } | |
1172 | ||
1173 | Int_t nBinsPhi = 0; | |
1174 | ||
1175 | Double_t dBinWidthPt=0.; | |
1176 | Double_t dPtMin=0.; | |
1177 | Double_t dBinWidthEta=0.; | |
1178 | Double_t dEtaMin=0.; | |
1179 | ||
1180 | if(fWeightsList) | |
1181 | { | |
1182 | if(fUsePhiWeights) | |
1183 | { | |
1184 | phiWeights = dynamic_cast<TH1F *>(fWeightsList->FindObject("phi_weights")); | |
1185 | if(phiWeights) nBinsPhi = phiWeights->GetNbinsX(); | |
1186 | } | |
1187 | if(fUsePtWeights) | |
1188 | { | |
1189 | ptWeights = dynamic_cast<TH1D *>(fWeightsList->FindObject("pt_weights")); | |
1190 | if(ptWeights) | |
1191 | { | |
1192 | dBinWidthPt = ptWeights->GetBinWidth(1); // assuming that all bins have the same width | |
1193 | dPtMin = (ptWeights->GetXaxis())->GetXmin(); | |
1194 | } | |
1195 | } | |
1196 | if(fUseEtaWeights) | |
1197 | { | |
1198 | etaWeights = dynamic_cast<TH1D *>(fWeightsList->FindObject("eta_weights")); | |
1199 | if(etaWeights) | |
1200 | { | |
1201 | dBinWidthEta = etaWeights->GetBinWidth(1); // assuming that all bins have the same width | |
1202 | dEtaMin = (etaWeights->GetXaxis())->GetXmin(); | |
1203 | } | |
1204 | } | |
1205 | } // end of if(weightsList) | |
1206 | ||
1207 | Double_t wPhi = 1.; // phi weight | |
1208 | Double_t wPt = 1.; // pt weight | |
1209 | Double_t wEta = 1.; // eta weight | |
1210 | ||
1211 | Double_t dPhi = 0.; | |
1212 | Double_t dPt = 0.; | |
1213 | Double_t dEta = 0.; | |
1214 | ||
1215 | ||
1216 | //.................................................................................. | |
1217 | // variables I need to calculate in loop bellow: | |
1218 | Double_t dQnkX[4][8] = {{0.}}; // sum_{i=1}^{M} w_i^k cos(n phi_i) | |
1219 | Double_t dQnkY[4][8] = {{0.}}; // sum_{i=1}^{M} w_i^k sin(n phi_i) | |
1220 | ||
1221 | Double_t dSnk[4][8] = {{0.}}; //(sum_{i=1}^{M} w_i^k)^n | |
1222 | ||
1223 | //Ms | |
1224 | ||
1225 | //.................................................................................. | |
1226 | ||
1227 | ||
1228 | ||
1229 | for(Int_t i=0;i<nPrim;i++) // loop over all particles | |
1230 | { | |
1231 | fTrack=anEvent->GetTrack(i); | |
1232 | if(fTrack) | |
1233 | { | |
1234 | if(fTrack->UseForIntegratedFlow()) | |
1235 | { | |
1236 | dPhi = fTrack->Phi(); | |
1237 | dPt = fTrack->Pt(); | |
1238 | dEta = fTrack->Eta(); | |
1239 | ||
1240 | // determine Phi weight: (to be improved, I should here only access it + the treatment of gaps in the if statement) | |
1241 | if(phiWeights && nBinsPhi) | |
1242 | { | |
1243 | wPhi = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(dPhi*nBinsPhi/TMath::TwoPi()))); | |
1244 | } | |
1245 | // determine v'(pt) weight: | |
1246 | if(ptWeights && dBinWidthPt) | |
1247 | { | |
1248 | wPt=ptWeights->GetBinContent(1+(Int_t)(TMath::Floor((dPt-dPtMin)/dBinWidthPt))); | |
1249 | } | |
1250 | // determine v'(eta) weight: | |
1251 | if(etaWeights && dBinWidthEta) | |
1252 | { | |
1253 | wEta=etaWeights->GetBinContent(1+(Int_t)(TMath::Floor((dEta-dEtaMin)/dBinWidthEta))); | |
1254 | } | |
1255 | ||
1256 | // (Q_{n,k})_x, (Q_{n,k})_x and S_{n,k} | |
1257 | for(Int_t nn=0;nn<4;nn++) | |
1258 | { | |
1259 | for(Int_t k=0;k<8;k++) | |
1260 | { | |
1261 | dQnkX[nn][k]+=pow(wPhi*wPt*wEta,k+1)*TMath::Cos(2*(nn+1)*dPhi); | |
1262 | dQnkY[nn][k]+=pow(wPhi*wPt*wEta,k+1)*TMath::Sin(2*(nn+1)*dPhi); | |
1263 | dSnk[nn][k]+=pow(wPhi*wPt*wEta,k+1); | |
1264 | } | |
1265 | } | |
1266 | ||
1267 | ||
1268 | } // end of if (pTrack->UseForIntegratedFlow()) | |
1269 | } // end of if (pTrack) | |
1270 | else {cerr << "no particle!!!"<<endl;} | |
1271 | } // loop over particles | |
1272 | ||
1273 | for(Int_t nn=0;nn<4;nn++) | |
1274 | { | |
1275 | for(Int_t k=0;k<8;k++) | |
1276 | { | |
1277 | dSnk[nn][k]=pow(dSnk[nn][k],nn+1); | |
1278 | } | |
1279 | } | |
1280 | ||
1281 | ||
1282 | //--------------------------------------------------------------------------------------------------------- | |
1283 | ||
1284 | ||
1285 | ||
1286 | ||
1287 | // Ms | |
1288 | //.................................................................................. | |
1289 | Double_t dM11 = dSnk[1][0]-dSnk[0][1]; // dM11 = sum_{i,j=1,i!=j}^M w_i w_j | |
1290 | Double_t dM22 = dSnk[1][1]-dSnk[0][3]; // dM22 = sum_{i,j=1,i!=j}^M w_i^2 w_j^2 | |
1291 | Double_t dM33 = dSnk[1][2]-dSnk[0][5]; // dM33 = sum_{i,j=1,i!=j}^M w_i^3 w_j^3 | |
1292 | Double_t dM44 = dSnk[1][3]-dSnk[0][7]; // dM44 = sum_{i,j=1,i!=j}^M w_i^4 w_j^4 | |
1293 | Double_t dM31 = dSnk[0][2]*dSnk[0][0]-dSnk[0][3]; // dM31 = sum_{i,j=1,i!=j}^M w_i^3 w_j | |
1294 | Double_t dM211 = dSnk[0][1]*dSnk[1][0]-2.*dSnk[0][2]*dSnk[0][0]-dSnk[1][1]+2.*dSnk[0][3]; // dM211 = sum_{i,j,k=1,i!=j!=k}^M w_i^2 w_j w_k | |
1295 | Double_t dM1111 = dSnk[3][0]-6.*dM211-4.*dM31-3.*dM22-dSnk[0][3]; // dM1111 = sum_{i,j,k,l=1,i!=j!=k!=l}^M w_i w_j w_k w_l | |
1296 | //.................................................................................. | |
1297 | ||
1298 | ||
1299 | ||
1300 | ||
1301 | ||
1302 | ||
1303 | ||
1304 | ||
1305 | ||
1306 | ||
1307 | //--------------------------------------------------------------------------------------------------------- | |
1308 | // | |
1309 | // *********************************************** | |
1310 | // **** weighted multi-particle correlations: **** | |
1311 | // *********************************************** | |
1312 | // | |
1313 | // Remark 1: weighted multi-particle correlations calculated with Q-vectors are stored in fQCorrelationsW. | |
1314 | // Remark 2: binning of fQCorrelationsW is organized as follows: | |
1315 | ||
1316 | // binning | |
1317 | //.............................................................................................. | |
1318 | // 1st bin: weighted <2>_{n|n} = <w1 w2 cos( n*(phi1-phi2))> | |
1319 | // 2nd bin: weighted <2>_{2n|2n} = <w1^2 w2^2 cos(2n*(phi1-phi2))> | |
1320 | // 3rd bin: weighted <2>_{3n|3n} = <w1^3 w2^3 cos(3n*(phi1-phi2))> | |
1321 | // 4th bin: weighted <2>_{4n|4n} = <w1^4 w2^4 cos(4n*(phi1-phi2))> | |
1322 | // 5th bin: weighted <2>_{n|n} = <w1^3 w2 cos(n*(phi1-phi2))> | |
1323 | // 6th bin: weighted <2>_{n|n} = <w1 w2 w3^2 cos(n*(phi1-phi2))> | |
1324 | ||
1325 | // 11th bin: weighted <3>_{2n|n,n} = <w1^2 w2 w3 cos(n*(2phi1-phi2-phi3))> | |
1326 | ||
1327 | // 21st bin: weighted <4>_{n,n|n,n} = <w1 w2 w3 w4 cos(n*(phi1+phi2-phi3-phi4))> | |
1328 | //.............................................................................................. | |
1329 | ||
1330 | ||
1331 | ||
1332 | ||
1333 | ||
1334 | ||
1335 | //.............................................................................................. | |
1336 | // weighted 2-particle correlations: | |
1337 | Double_t two1n1nW1W1=0., two2n2nW2W2=0., two3n3nW3W3=0., two4n4nW4W4=0., two1n1nW3W1=0., two1n1nW2W1W1=0.; | |
1338 | ||
1339 | if(nRP>1) // nRP = number of particles used to determine the reaction plane | |
1340 | { | |
1341 | if(dM11 != 0) | |
1342 | { | |
1343 | two1n1nW1W1 = (pow(dQnkX[0][0],2)+pow(dQnkY[0][0],2)-dSnk[0][1])/dM11; // <2>_{n|n}=<w1 w2 cos(n*(phi1-phi2))> | |
1344 | fQCorrelationsW->Fill(0.,two1n1nW1W1,dM11); | |
1345 | } | |
1346 | if(dM22 != 0) | |
1347 | { | |
1348 | two2n2nW2W2 = (pow(dQnkX[1][1],2)+pow(dQnkY[1][1],2)-dSnk[0][3])/dM22; // <2>_{2n|2n}=<w1^2 w2^2 cos(2n*(phi1-phi2))> | |
1349 | fQCorrelationsW->Fill(1.,two2n2nW2W2,dM22); | |
1350 | } | |
1351 | if(dM33 != 0) | |
1352 | { | |
1353 | two3n3nW3W3 = (pow(dQnkX[2][2],2)+pow(dQnkY[2][2],2)-dSnk[0][5])/dM33; // <2>_{2n|2n}=<w1^3 w2^3 cos(3n*(phi1-phi2))> | |
1354 | fQCorrelationsW->Fill(2.,two3n3nW3W3,dM33); | |
1355 | } | |
1356 | if(dM44 != 0) | |
1357 | { | |
1358 | two4n4nW4W4 = (pow(dQnkX[3][3],2)+pow(dQnkY[3][3],2)-dSnk[0][7])/dM44; // <2>_{2n|2n}=<w1^4 w2^4 cos(4n*(phi1-phi2))> | |
1359 | fQCorrelationsW->Fill(3.,two4n4nW4W4,dM44); | |
1360 | } | |
1361 | if(dM31 != 0) | |
1362 | { | |
1363 | two1n1nW3W1 = (dQnkX[0][2]*dQnkX[0][0]+dQnkY[0][2]*dQnkY[0][0]-dSnk[0][3])/dM31; // <2>_{n|n}=<w1^3 w2 cos(n*(phi1-phi2))> | |
1364 | fQCorrelationsW->Fill(4.,two1n1nW3W1,dM31); | |
1365 | } | |
1366 | if(dM211 != 0) | |
1367 | { | |
1368 | two1n1nW2W1W1 = (dSnk[0][1]*dM11*two1n1nW1W1-2.*dM31*two1n1nW3W1)/dM211; // <2>_{n|n}=<w1^2 w2 w3 cos(n*(phi1-phi2))> | |
1369 | fQCorrelationsW->Fill(5.,two1n1nW2W1W1,dM211); | |
1370 | } | |
1371 | } // end of if(nRP>1) | |
1372 | //.............................................................................................. | |
1373 | ||
1374 | ||
1375 | //.............................................................................................. | |
1376 | // weighted 3-particle correlations: | |
1377 | Double_t three2n1n1nW2W1W1=0.; | |
1378 | ||
1379 | if(nRP>2) // nRP = number of particles used to determine the reaction plane | |
1380 | { | |
1381 | if(dM211 != 0) | |
1382 | { | |
1383 | three2n1n1nW2W1W1 = (pow(dQnkX[0][0],2.)*dQnkX[1][1]+2.*dQnkX[0][0]*dQnkY[0][0]*dQnkY[1][1]-pow(dQnkY[0][0],2.)*dQnkX[1][1]-2.*dM31*two1n1nW3W1-dM22*two2n2nW2W2-dSnk[0][3])/dM211; | |
1384 | fQCorrelationsW->Fill(10.,three2n1n1nW2W1W1,dM211); | |
1385 | } | |
1386 | } // end of if(nRP>2) | |
1387 | //.............................................................................................. | |
1388 | ||
1389 | ||
1390 | ||
1391 | //.............................................................................................. | |
1392 | // weighted 4-particle correlations: | |
1393 | Double_t four1n1n1n1nW1W1W1W1=0.; | |
1394 | ||
1395 | if(nRP>3) // nRP = number of particles used to determine the reaction plane | |
1396 | { | |
1397 | if(dM1111 != 0) | |
1398 | { | |
1399 | four1n1n1n1nW1W1W1W1 = (pow(pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.),2) - 2.*dM211*three2n1n1nW2W1W1 - 4.*dM211*two1n1nW2W1W1 - 4.*dM31*two1n1nW3W1 - dM22*two2n2nW2W2 - 2.*dM22 - dSnk[0][3])/dM1111; | |
1400 | fQCorrelationsW->Fill(20.,four1n1n1n1nW1W1W1W1,dM1111); | |
1401 | } | |
1402 | } // end of if(nRP>3) | |
1403 | //.............................................................................................. | |
1404 | ||
1405 | ||
1406 | //WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW | |
1407 | ||
1408 | ||
1409 | ||
1410 | ||
1411 | ||
1412 | ||
1413 | ||
1414 | ||
1415 | ||
1416 | //--------------------------------------------------------------------------------------------------------- | |
1417 | // DIFFERENTIAL FLOW | |
1418 | ||
1419 | Double_t dQ1nx = afvQvector1n.X(); | |
1420 | Double_t dQ1ny = afvQvector1n.Y(); | |
1421 | Double_t dQ1nxW = dQnkX[0][0]; | |
1422 | Double_t dQ1nyW = dQnkY[0][0]; | |
1423 | Double_t dQ2nx = afvQvector2n.X(); | |
1424 | Double_t dQ2ny = afvQvector2n.Y(); | |
1425 | ||
1426 | //Double_t dBinWidthPt=0.,dBinWidthEta=0.; | |
1427 | if(fnBinsPt) | |
1428 | { | |
1429 | dBinWidthPt=1.*(fPtMax-fPtMin)/fnBinsPt; | |
1430 | } | |
1431 | if(fnBinsEta) | |
1432 | { | |
1433 | dBinWidthEta=1.*(fEtaMax-fEtaMin)/fnBinsEta; | |
1434 | } | |
1435 | ||
1436 | //RP: | |
1437 | Double_t qxPtRP=0.,qyPtRP=0.,q2xPtRP=0.,q2yPtRP=0.,mPtRP=0.;//add comments for these variables (deleteMe) | |
1438 | Double_t qxEtaRP=0.,qyEtaRP=0.,q2xEtaRP=0.,q2yEtaRP=0.,mEtaRP=0.;//add comments for these variables (deleteMe) | |
1439 | ||
1440 | Double_t dSumOfWeightsUpTomPtRP = 0.; // sum_{i=1}^{m} w_{i} | |
1441 | Double_t dSumOfWeightsUpTomEtaRP = 0.; // sum_{i=1}^{m} w_{i} | |
1442 | ||
1443 | TProfile *mPerBinPtRP = new TProfile("mPerBinPtRP","#sum_{i=1}^{m} w_{i}''",fnBinsPt,fPtMin,fPtMax,"s"); | |
1444 | TProfile *mPerBinEtaRP = new TProfile("mPerBinEtaRP","#sum_{i=1}^{m} w_{i}''",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
1445 | ||
1446 | for(Int_t i=0;i<nPrim;i++) // loop over all particles | |
1447 | { | |
1448 | fTrack=anEvent->GetTrack(i); | |
1449 | if(fTrack && fTrack->UseForIntegratedFlow()) // checking RP condition | |
1450 | { | |
1451 | // get azimuthal angle, momentum and pseudorapidity of a particle: | |
1452 | dPhi = fTrack->Phi(); | |
1453 | dPt = fTrack->Pt(); | |
1454 | dEta = fTrack->Eta(); | |
1455 | // pt (without weights): | |
1456 | fPtReq1nRP->Fill(dPt,cos(n*dPhi),1.); | |
1457 | fPtImq1nRP->Fill(dPt,sin(n*dPhi),1.); | |
1458 | fPtReq2nRP->Fill(dPt,cos(2.*n*dPhi),1.); | |
1459 | fPtImq2nRP->Fill(dPt,sin(2.*n*dPhi),1.); | |
1460 | // eta: | |
1461 | fEtaReq1nRP->Fill(dEta,cos(n*dPhi),1.); | |
1462 | fEtaImq1nRP->Fill(dEta,sin(n*dPhi),1.); | |
1463 | fEtaReq2nRP->Fill(dEta,cos(2.*n*dPhi),1.); | |
1464 | fEtaImq2nRP->Fill(dEta,sin(2.*n*dPhi),1.); | |
1465 | // phi weights: | |
1466 | if(fUsePhiWeights) | |
1467 | { | |
1468 | nBinsPhi = phiWeights->GetNbinsX(); | |
1469 | if(nBinsPhi) | |
1470 | { | |
1471 | wPhi = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(dPhi*nBinsPhi/TMath::TwoPi()))); | |
1472 | } | |
1473 | } | |
1474 | // pt weights: | |
1475 | if(fUsePtWeights) | |
1476 | { | |
1477 | if(dBinWidthPt) | |
1478 | { | |
1479 | wPt = ptWeights->GetBinContent(1+(Int_t)(TMath::Floor((dPt-fPtMin)/dBinWidthPt))); | |
1480 | } | |
1481 | } | |
1482 | // eta weights: | |
1483 | if(fUseEtaWeights) | |
1484 | { | |
1485 | if(dBinWidthEta) | |
1486 | { | |
1487 | wEta=etaWeights->GetBinContent(1+(Int_t)(TMath::Floor((dEta-fEtaMin)/dBinWidthEta))); | |
1488 | } | |
1489 | } | |
1490 | // sum_{i=1}^{m} w_{i}: | |
1491 | mPerBinPtRP->Fill(dPt,wPhi*wPt*wEta,1.); | |
1492 | mPerBinEtaRP->Fill(dEta,wPhi*wPt*wEta,1.); | |
1493 | } | |
1494 | } | |
1495 | ||
1496 | //Pt: | |
1dfa3c16 | 1497 | Double_t twoDiffPt1n1nRP=0.,twoDiffPt2n2nRP=0.,threeDiffPt2n1n1nRP=0.,threeDiffPt1n1n2nRP=0.,fourDiffPt1n1n1n1nRP=0.; |
bc92c0cb | 1498 | |
52021ae2 | 1499 | for(Int_t bin=1;bin<(fnBinsPt+1);bin++)//loop over pt-bins |
bc92c0cb | 1500 | { |
1dfa3c16 | 1501 | qxPtRP = (fPtReq1nRP->GetBinContent(bin))*(fPtReq1nRP->GetBinEntries(bin)); |
1502 | qyPtRP = (fPtImq1nRP->GetBinContent(bin))*(fPtImq1nRP->GetBinEntries(bin)); | |
1503 | q2xPtRP = (fPtReq2nRP->GetBinContent(bin))*(fPtReq2nRP->GetBinEntries(bin)); | |
1504 | q2yPtRP = (fPtImq2nRP->GetBinContent(bin))*(fPtImq2nRP->GetBinEntries(bin)); | |
1505 | mPtRP = fPtReq1nRP->GetBinEntries(bin); | |
ae733b3b | 1506 | dSumOfWeightsUpTomPtRP = (mPerBinPtRP->GetBinContent(bin))*(mPerBinPtRP->GetBinEntries(bin)); |
1507 | ||
3d824203 | 1508 | if(mPtRP*dSnk[0][0]-dSumOfWeightsUpTomPtRP) |
bc92c0cb | 1509 | { |
ae733b3b | 1510 | //twoDiffPt1n1nRP = (qxPtRP*dQ1nx+qyPtRP*dQ1ny-mPtRP)/(mPtRP*(dMult-1.)); // OK without weights |
1511 | //f2PerPtBin1n1nRP->Fill(fPtMin+(bin-1)*dBinWidthPt,twoDiffPt1n1nRP,mPtRP*(dMult-1.));//<2'>_{n|n} // OK without weights | |
1512 | ||
3d824203 | 1513 | twoDiffPt1n1nRP = (qxPtRP*dQ1nxW+qyPtRP*dQ1nyW-dSumOfWeightsUpTomPtRP)/(mPtRP*dSnk[0][0]-dSumOfWeightsUpTomPtRP); // OK without weights |
1514 | f2PerPtBin1n1nRP->Fill(fPtMin+(bin-1)*dBinWidthPt,twoDiffPt1n1nRP,mPtRP*dSnk[0][0]-dSumOfWeightsUpTomPtRP);//<2'>_{n|n} // OK without weights | |
ae733b3b | 1515 | } |
bc92c0cb | 1516 | |
ae733b3b | 1517 | if(mPtRP>0&&dMult>1) |
1518 | { | |
1dfa3c16 | 1519 | twoDiffPt2n2nRP = (q2xPtRP*dQ2nx+q2yPtRP*dQ2ny-mPtRP)/(mPtRP*(dMult-1.)); |
1520 | f2PerPtBin2n2nRP->Fill(fPtMin+(bin-1)*dBinWidthPt,twoDiffPt2n2nRP,mPtRP*(dMult-1.));//<2'>_{2n|2n} | |
bc92c0cb | 1521 | } |
1522 | ||
1dfa3c16 | 1523 | if(mPtRP>0&&dMult>2) |
bc92c0cb | 1524 | { |
1dfa3c16 | 1525 | threeDiffPt2n1n1nRP = (q2xPtRP*(dQ1nx*dQ1nx-dQ1ny*dQ1ny)+2.*q2yPtRP*dQ1nx*dQ1ny-2.*(qxPtRP*dQ1nx+qyPtRP*dQ1ny)-(q2xPtRP*dQ2nx+q2yPtRP*dQ2ny)+2.*mPtRP)/(mPtRP*(dMult-1.)*(dMult-2.)); |
1526 | f3PerPtBin2n1n1nRP->Fill(fPtMin+(bin-1)*dBinWidthPt,threeDiffPt2n1n1nRP,mPtRP*(dMult-1.)*(dMult-2.));//Re[<3'>_{2n|n,n}] | |
bc92c0cb | 1527 | |
1dfa3c16 | 1528 | threeDiffPt1n1n2nRP = (dQ2nx*(qxPtRP*dQ1nx-qyPtRP*dQ1ny)+dQ2ny*(qxPtRP*dQ1ny+qyPtRP*dQ1nx)-2.*(qxPtRP*dQ1nx+qyPtRP*dQ1ny)-(q2xPtRP*dQ2nx+q2yPtRP*dQ2ny)+2.*mPtRP)/(mPtRP*(dMult-1.)*(dMult-2.)); |
1529 | f3PerPtBin1n1n2nRP->Fill(fPtMin+(bin-1)*dBinWidthPt,threeDiffPt1n1n2nRP,mPtRP*(dMult-1.)*(dMult-2.));//Re[<3'>_{n,n|2n}] | |
bc92c0cb | 1530 | } |
1531 | ||
1dfa3c16 | 1532 | if(mPtRP>0&&dMult>3) |
bc92c0cb | 1533 | { |
1dfa3c16 | 1534 | fourDiffPt1n1n1n1nRP = ((dQ1nx*dQ1nx+dQ1ny*dQ1ny)*(qxPtRP*dQ1nx+qyPtRP*dQ1ny)-(q2xPtRP*(dQ1nx*dQ1nx-dQ1ny*dQ1ny)+2.*q2yPtRP*dQ1nx*dQ1ny)-(dQ2nx*(qxPtRP*dQ1nx-qyPtRP*dQ1ny)+dQ2ny*(qxPtRP*dQ1ny+qyPtRP*dQ1nx))+(q2xPtRP*dQ2nx+q2yPtRP*dQ2ny)-2.*(dMult-3.)*(qxPtRP*dQ1nx+qyPtRP*dQ1ny)-2.*mPtRP*(dQ1nx*dQ1nx+dQ1ny*dQ1ny)+2.*(dQ1nx*qxPtRP+dQ1ny*qyPtRP)+2.*mPtRP*(dMult-3.))/(mPtRP*(dMult-1.)*(dMult-2.)*(dMult-3.)); |
1535 | f4PerPtBin1n1n1n1nRP->Fill(fPtMin+(bin-1)*dBinWidthPt,fourDiffPt1n1n1n1nRP,mPtRP*(dMult-1.)*(dMult-2.)*(dMult-3.));//Re[<4'>_{n,n|n,n}] | |
4057ba99 | 1536 | } |
1537 | }//end of for(Int_t bin=1;bin<(fnBinsPt+1);bin++)//loop over pt-bins | |
bc92c0cb | 1538 | |
3d824203 | 1539 | fPtReq1nRP->Reset(); |
1540 | fPtImq1nRP->Reset(); | |
1541 | fPtReq2nRP->Reset(); | |
1542 | fPtImq2nRP->Reset(); | |
1543 | ||
1544 | mPerBinPtRP->Reset(); | |
1545 | ||
1546 | ||
1547 | ||
1548 | ||
1549 | ||
1550 | ||
1551 | ||
1552 | ||
1553 | ||
1554 | ||
1555 | ||
1556 | ||
1557 | ||
1558 | ||
1559 | ||
1560 | ||
1561 | ||
1562 | ||
1563 | ||
1564 | ||
1565 | ||
1566 | ||
1567 | ||
1568 | ||
1569 | ||
1570 | ||
1571 | ||
1572 | ||
1573 | ||
1574 | ||
1575 | /* | |
1576 | ||
1577 | ||
1578 | ||
1579 | //WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW | |
1580 | ||
1581 | ||
1582 | ||
1583 | ||
1584 | ||
1585 | ||
1586 | ||
1587 | ||
1588 | ||
1589 | ||
1590 | ||
1591 | ||
1592 | ||
1593 | ||
1594 | ||
1595 | ||
1596 | ||
1597 | ||
1598 | ||
1599 | ||
1600 | ||
1601 | //Pt POI | |
1602 | TProfile *req1nW2PrimePrimePtPOI = new TProfile("req1nW2PrimePrimePtPOI","#sum_{i=1}^{m''} w_{i}^{2} cos(n(#phi_{i}))''",fnBinsPt,fPtMin,fPtMax,"s"); | |
1603 | TProfile *imq1nW2PrimePrimePtPOI = new TProfile("imq1nW2PrimePrimePtPOI","#sum_{i=1}^{m''} w_{i}^{2} sin(n(#phi_{i}))''",fnBinsPt,fPtMin,fPtMax,"s"); | |
1604 | TProfile *req2nW1PrimePrimePtPOI = new TProfile("req2nW1PrimePrimePtPOI","#sum_{i=1}^{m''} w_{i} cos(2n(#phi_{i}))''",fnBinsPt,fPtMin,fPtMax,"s"); | |
1605 | TProfile *imq2nW1PrimePrimePtPOI = new TProfile("imq2nW1PrimePrimePtPOI","#sum_{i=1}^{m''} w_{i} sin(2n(#phi_{i}))''",fnBinsPt,fPtMin,fPtMax,"s"); | |
1606 | ||
1607 | TProfile *sumOfW1upTomPrimePrimePtPOI = new TProfile("sumOfW1upTomPrimePrimePtPOI","#sum_{i=1}^{m''} w_{i}''",fnBinsPt,fPtMin,fPtMax,"s"); | |
1608 | TProfile *sumOfW2upTomPrimePrimePtPOI = new TProfile("sumOfW2upTomPrimePrimePtPOI","#sum_{i=1}^{m''} w_{i}^{2}''",fnBinsPt,fPtMin,fPtMax,"s"); | |
1609 | TProfile *sumOfW3upTomPrimePrimePtPOI = new TProfile("sumOfW3upTomPrimePrimePtPOI","#sum_{i=1}^{m''} w_{i}^{3}''",fnBinsPt,fPtMin,fPtMax,"s"); | |
1610 | ||
1611 | //eta POI | |
1612 | TProfile *req1nW2PrimePrimeEtaPOI = new TProfile("req1nW2PrimePrimeEtaPOI","#sum_{i=1}^{m''} w_{i}^{2} cos(n(#phi_{i}))''",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
1613 | TProfile *imq1nW2PrimePrimeEtaPOI = new TProfile("imq1nW2PrimePrimeEtaPOI","#sum_{i=1}^{m''} w_{i}^{2} sin(n(#phi_{i}))''",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
1614 | TProfile *req2nW1PrimePrimeEtaPOI = new TProfile("req2nW1PrimePrimeEtaPOI","#sum_{i=1}^{m''} w_{i} cos(2n(#phi_{i}))''",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
1615 | TProfile *imq2nW1PrimePrimeEtaPOI = new TProfile("imq2nW1PrimePrimeEtaPOI","#sum_{i=1}^{m''} w_{i} sin(2n(#phi_{i}))''",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
1616 | ||
1617 | TProfile *sumOfW1upTomPrimePrimeEtaPOI = new TProfile("sumOfW1upTomPrimePrimeEtaPOI","#sum_{i=1}^{m''} w_{i}''",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
1618 | TProfile *sumOfW2upTomPrimePrimeEtaPOI = new TProfile("sumOfW2upTomPrimePrimeEtaPOI","#sum_{i=1}^{m''} w_{i}^{2}''",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
1619 | TProfile *sumOfW3upTomPrimePrimeEtaPOI = new TProfile("sumOfW3upTomPrimePrimeEtaPOI","#sum_{i=1}^{m''} w_{i}^{3}''",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
1620 | ||
1621 | ||
1622 | //POI: | |
1623 | //Double_t qxPrimePtPOI=0.,qyPrimePtPOI=0.,q2xPrimePtPOI=0.,q2yPrimePtPOI=0.,mPrimePtPOI=0.;//add comments for these variables (deleteMe) | |
1624 | ||
1625 | for(Int_t i=0;i<nPrim;i++) // loop over all particles (to be improved: do the calculations for RPs and POIs in the same loop) | |
1626 | { | |
1627 | fTrack=anEvent->GetTrack(i); | |
1628 | if(fTrack) | |
1629 | { | |
1630 | if(fTrack->UseForDifferentialFlow()) // checking if particle is POI | |
1631 | { | |
1632 | if(fTrack->UseForIntegratedFlow()) // checking if particle is both POI and RP | |
1633 | { | |
1634 | // get azimuthal angle, momentum and pseudorapidity of a particle: | |
1635 | dPhi = fTrack->Phi(); | |
1636 | dPt = fTrack->Pt(); | |
1637 | dEta = fTrack->Eta(); | |
1638 | // phi weights: | |
1639 | if(fUsePhiWeights) | |
1640 | { | |
1641 | nBinsPhi = phiWeights->GetNbinsX(); | |
1642 | if(nBinsPhi) | |
1643 | { | |
1644 | wPhi = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(dPhi*nBinsPhi/TMath::TwoPi()))); | |
1645 | } | |
1646 | } | |
1647 | // pt weights: | |
1648 | if(fUsePtWeights) | |
1649 | { | |
1650 | if(dBinWidthPt) | |
1651 | { | |
1652 | wPt = ptWeights->GetBinContent(1+(Int_t)(TMath::Floor((dPt-fPtMin)/dBinWidthPt))); | |
1653 | } | |
1654 | } | |
1655 | // eta weights: | |
1656 | if(fUseEtaWeights) | |
1657 | { | |
1658 | if(dBinWidthEta) | |
1659 | { | |
1660 | wEta=etaWeights->GetBinContent(1+(Int_t)(TMath::Floor((dEta-fEtaMin)/dBinWidthEta))); | |
1661 | } | |
1662 | } | |
1663 | // pt: | |
1664 | fPtReq1nPrimePrimePOI->Fill(dPt,cos(n*dPhi),1.); | |
1665 | fPtImq1nPrimePrimePOI->Fill(dPt,sin(n*dPhi),1.); | |
1666 | fPtReq2nPrimePrimePOI->Fill(dPt,cos(2.*n*dPhi),1.); | |
1667 | fPtImq2nPrimePrimePOI->Fill(dPt,sin(2.*n*dPhi),1.); | |
1668 | // eta: | |
1669 | fEtaReq1nPrimePrimePOI->Fill(dEta,cos(n*dPhi),1.); | |
1670 | fEtaImq1nPrimePrimePOI->Fill(dEta,sin(n*dPhi),1.); | |
1671 | fEtaReq2nPrimePrimePOI->Fill(dEta,cos(2.*n*dPhi),1.); | |
1672 | fEtaImq2nPrimePrimePOI->Fill(dEta,sin(2.*n*dPhi),1.); | |
1673 | // weighted pt: | |
1674 | req1nW2PrimePrimePtPOI->Fill(dPt,cos(n*dPhi),pow(wPhi*wPt*wEta,2.)); | |
1675 | imq1nW2PrimePrimePtPOI->Fill(dPt,sin(n*dPhi),pow(wPhi*wPt*wEta,2.)); | |
1676 | req2nW1PrimePrimePtPOI->Fill(dPt,cos(2.*n*dPhi),wPhi*wPt*wEta); | |
1677 | imq2nW1PrimePrimePtPOI->Fill(dPt,sin(2.*n*dPhi),wPhi*wPt*wEta); | |
1678 | sumOfW1upTomPrimePrimePtPOI->Fill(dPt,wPhi*wPt*wEta,1.); | |
1679 | sumOfW2upTomPrimePrimePtPOI->Fill(dPt,pow(wPhi*wPt*wEta,2),1.); | |
1680 | sumOfW3upTomPrimePrimePtPOI->Fill(dPt,pow(wPhi*wPt*wEta,3),1.); | |
1681 | // weighted eta: | |
1682 | req1nW2PrimePrimeEtaPOI->Fill(dEta,cos(n*dPhi),pow(wPhi*wPt*wEta,2.)); | |
1683 | imq1nW2PrimePrimeEtaPOI->Fill(dEta,sin(n*dPhi),pow(wPhi*wPt*wEta,2.)); | |
1684 | req2nW1PrimePrimeEtaPOI->Fill(dEta,cos(2.*n*dPhi),wPhi*wPt*wEta); | |
1685 | imq2nW1PrimePrimeEtaPOI->Fill(dEta,sin(2.*n*dPhi),wPhi*wPt*wEta); | |
1686 | sumOfW1upTomPrimePrimeEtaPOI->Fill(dEta,wPhi*wPt*wEta,1.); | |
1687 | sumOfW2upTomPrimePrimeEtaPOI->Fill(dEta,pow(wPhi*wPt*wEta,2),1.); | |
1688 | sumOfW3upTomPrimePrimeEtaPOI->Fill(dEta,pow(wPhi*wPt*wEta,3),1.); | |
1689 | }else if(!(fTrack->UseForIntegratedFlow())) // checking if particles is POI and not RP | |
1690 | { | |
1691 | // get azimuthal angle, momentum and pseudorapidity of a particle: | |
1692 | dPhi = fTrack->Phi(); | |
1693 | dPt = fTrack->Pt(); | |
1694 | dEta = fTrack->Eta(); | |
1695 | // pt: | |
1696 | fPtReq1nPrimePOI->Fill(dPt,cos(n*dPhi),1.); | |
1697 | fPtImq1nPrimePOI->Fill(dPt,sin(n*dPhi),1.); | |
1698 | fPtReq2nPrimePOI->Fill(dPt,cos(2.*n*dPhi),1.); | |
1699 | fPtImq2nPrimePOI->Fill(dPt,sin(2.*n*dPhi),1.); | |
1700 | // eta: | |
1701 | fEtaReq1nPrimePOI->Fill(dEta,cos(n*dPhi),1.); | |
1702 | fEtaImq1nPrimePOI->Fill(dEta,sin(n*dPhi),1.); | |
1703 | fEtaReq2nPrimePOI->Fill(dEta,cos(2.*n*dPhi),1.); | |
1704 | fEtaImq2nPrimePOI->Fill(dEta,sin(2.*n*dPhi),1.); | |
1705 | } // end of else if(!(fTrack->UseForIntegratedFlow())) // checking if particles is POI and not RP | |
1706 | } // end of if(fTrack->UseForDifferentialFlow()) // checking if particle is POI | |
1707 | } // end of if(fTrack} | |
1708 | } // end of for(Int_t i=0;i<nPrim;i++) | |
1709 | ||
1710 | //Pt POI | |
1711 | //PrimePrime | |
1712 | Double_t qxPrimePrimePtPOIHere=0.,qyPrimePrimePtPOIHere=0.,q2xPrimePrimePtPOIHere=0.,q2yPrimePrimePtPOIHere=0.;//add comments for these variable | |
1713 | Double_t qxW2PrimePrimePtPOI=0.,qyW2PrimePrimePtPOI=0.,q2xW1PrimePrimePtPOI=0.,q2yW1PrimePrimePtPOI=0.;//add comments for these variable | |
1714 | Double_t dS11mPrimePrimePtPOI=0.; // to be improved (name) | |
1715 | Double_t dS12mPrimePrimePtPOI=0.; // to be improved (name) | |
1716 | Double_t dS13mPrimePrimePtPOI=0.; // to be improved (name) | |
1717 | Double_t mPrimePrimePtPOIHere=0.; // to be improved (name) | |
1718 | ||
1719 | Double_t dM1pp11PtPOI=0.; // to be improved (name) | |
1720 | Double_t dM0pp111PtPOIPtPOI=0.; // to be improved (name) | |
1721 | Double_t dM0pp12PtPOIPtPOI=0.; | |
1722 | Double_t dM2pp1PtPOIPtPOI=0.; | |
1723 | Double_t dM1pp2PtPOIPtPOI=0.; | |
1724 | Double_t dM0pp3PtPOIPtPOI=0.; | |
1725 | ||
1726 | //Prime | |
1727 | Double_t qxPrimePtPOIHere=0.,qyPrimePtPOIHere=0.; | |
1728 | Double_t mPrimePtPOIHere=0.; | |
1729 | Double_t dM0p111PtPOIPtPOI=0.; // to be improved (name) | |
1730 | ||
1731 | ||
1732 | //Eta POI | |
1733 | //PrimePrime | |
1734 | Double_t qxPrimePrimeEtaPOIHere=0.,qyPrimePrimeEtaPOIHere=0.,q2xPrimePrimeEtaPOIHere=0.,q2yPrimePrimeEtaPOIHere=0.;//add comments for these variable | |
1735 | Double_t qxW2PrimePrimeEtaPOI=0.,qyW2PrimePrimeEtaPOI=0.,q2xW1PrimePrimeEtaPOI=0.,q2yW1PrimePrimeEtaPOI=0.;//add comments for these variable | |
1736 | Double_t dS11mPrimePrimeEtaPOI=0.; // to be improved (name) | |
1737 | Double_t dS12mPrimePrimeEtaPOI=0.; // to be improved (name) | |
1738 | Double_t dS13mPrimePrimeEtaPOI=0.; // to be improved (name) | |
1739 | Double_t mPrimePrimeEtaPOIHere=0.; // to be improved (name) | |
1740 | ||
1741 | Double_t dM1pp11EtaPOI=0.; // to be improved (name) | |
1742 | Double_t dM0pp111PtPOIEtaPOI=0.; // to be improved (name) | |
1743 | Double_t dM0pp12PtPOIEtaPOI=0.; | |
1744 | Double_t dM2pp1PtPOIEtaPOI=0.; | |
1745 | Double_t dM1pp2PtPOIEtaPOI=0.; | |
1746 | Double_t dM0pp3PtPOIEtaPOI=0.; | |
1747 | ||
1748 | //Prime | |
1749 | Double_t qxPrimeEtaPOIHere=0.,qyPrimeEtaPOIHere=0.; | |
1750 | Double_t mPrimeEtaPOIHere=0.; | |
1751 | Double_t dM0p111PtPOIEtaPOI=0.; // to be improved (name) | |
1752 | ||
1753 | ||
1754 | ||
1755 | ||
1756 | ||
1757 | for(Int_t bin=1;bin<(fnBinsPt+1);bin++) // loop over pt-bins | |
1758 | { | |
1759 | // q'': | |
1760 | qxPrimePrimePtPOIHere = (fPtReq1nPrimePrimePOI->GetBinContent(bin))*(fPtReq1nPrimePrimePOI->GetBinEntries(bin)); | |
1761 | qyPrimePrimePtPOIHere = (fPtImq1nPrimePrimePOI->GetBinContent(bin))*(fPtImq1nPrimePrimePOI->GetBinEntries(bin)); | |
1762 | q2xPrimePrimePtPOIHere = (fPtReq2nPrimePrimePOI->GetBinContent(bin))*(fPtReq2nPrimePrimePOI->GetBinEntries(bin)); | |
1763 | q2yPrimePrimePtPOIHere = (fPtImq2nPrimePrimePOI->GetBinContent(bin))*(fPtImq2nPrimePrimePOI->GetBinEntries(bin)); | |
1764 | ||
1765 | ||
1766 | qxW2PrimePrimePtPOI = (req1nW2PrimePrimePtPOI->GetBinContent(bin))*(req1nW2PrimePrimePtPOI->GetBinEntries(bin)); | |
1767 | qyW2PrimePrimePtPOI = (imq1nW2PrimePrimePtPOI->GetBinContent(bin))*(imq1nW2PrimePrimePtPOI->GetBinEntries(bin)); | |
1768 | ||
1769 | q2xW1PrimePrimePtPOI = (req2nW1PrimePrimePtPOI->GetBinContent(bin))*(req2nW1PrimePrimePtPOI->GetBinEntries(bin)); | |
1770 | q2yW1PrimePrimePtPOI = (imq2nW1PrimePrimePtPOI->GetBinContent(bin))*(imq2nW1PrimePrimePtPOI->GetBinEntries(bin)); | |
1771 | ||
1772 | dS11mPrimePrimePtPOI = (sumOfW1upTomPrimePrimePtPOI->GetBinContent(bin))*(sumOfW1upTomPrimePrimePtPOI->GetBinEntries(bin)); | |
1773 | dS12mPrimePrimePtPOI = (sumOfW2upTomPrimePrimePtPOI->GetBinContent(bin))*(sumOfW2upTomPrimePrimePtPOI->GetBinEntries(bin)); | |
1774 | dS13mPrimePrimePtPOI = (sumOfW3upTomPrimePrimePtPOI->GetBinContent(bin))*(sumOfW3upTomPrimePrimePtPOI->GetBinEntries(bin)); | |
1775 | ||
1776 | mPrimePrimePtPOIHere = sumOfW1upTomPrimePrimePtPOI->GetBinEntries(bin); // to be improved | |
1777 | ||
1778 | dM1pp11PtPOI=dS11mPrimePrimePtPOI*(dSnk[1][0]-dSnk[0][1])-2.*dS12mPrimePrimePtPOI*dSnk[0][0]+2.*dS13mPrimePrimePtPOI; | |
1779 | dM1pp2PtPOIPtPOI=dS11mPrimePrimePtPOI*dSnk[0][1]-dS13mPrimePrimePtPOI; | |
1780 | dM2pp1PtPOIPtPOI=dS12mPrimePrimePtPOI*dSnk[0][0]-dS13mPrimePrimePtPOI; | |
1781 | dM0pp3PtPOIPtPOI=mPrimePrimePtPOIHere*dSnk[0][2]-dS13mPrimePrimePtPOI; | |
1782 | dM0pp12PtPOIPtPOI=mPrimePrimePtPOIHere*dSnk[0][0]*dSnk[0][1]-dM2pp1PtPOIPtPOI-dM1pp2PtPOIPtPOI-dM0pp3PtPOIPtPOI-dS13mPrimePrimePtPOI; | |
1783 | dM0pp111PtPOIPtPOI=mPrimePrimePtPOIHere*dSnk[2][0]-3.*dM1pp11PtPOI-3.*dM0pp12PtPOIPtPOI-3.*dM2pp1PtPOIPtPOI-3.*dM1pp2PtPOIPtPOI-dM0pp3PtPOIPtPOI-dS13mPrimePrimePtPOI; | |
1784 | ||
1785 | // q': | |
1786 | qxPrimePtPOIHere = (fPtReq1nPrimePOI->GetBinContent(bin))*(fPtReq1nPrimePOI->GetBinEntries(bin)); | |
1787 | qyPrimePtPOIHere = (fPtImq1nPrimePOI->GetBinContent(bin))*(fPtImq1nPrimePOI->GetBinEntries(bin)); | |
1788 | ||
1789 | mPrimePtPOIHere = fPtReq1nPrimePOI->GetBinEntries(bin); // to be improved | |
1790 | dM0p111PtPOIPtPOI=mPrimePtPOIHere*(dSnk[2][0]-3.*dSnk[0][1]*dSnk[0][0]+2.*dSnk[0][2]); | |
1791 | ||
1792 | // 2-p | |
1793 | Double_t two1n1nWPerPtBinPOI=0.; // the needed one | |
1794 | if(mPrimePrimePtPOIHere*dSnk[0][0]-dS11mPrimePrimePtPOI) | |
1795 | { | |
1796 | two1n1nWPerPtBinPOI = (qxPrimePrimePtPOIHere*dQnkX[0][0]+qyPrimePrimePtPOIHere*dQnkY[0][0]-dS11mPrimePrimePtPOI)/(mPrimePrimePtPOIHere*dSnk[0][0]-dS11mPrimePrimePtPOI); | |
1797 | ||
1798 | f2WPerPtBin1n1nPOI->Fill(fPtMin+(bin-1)*dBinWidthPt,two1n1nWPerPtBinPOI,(mPrimePrimePtPOIHere*dSnk[0][0]-dS11mPrimePrimePtPOI)); // <2'>_{n|n} | |
1799 | } | |
1800 | ||
1801 | // 2-p | |
1802 | Double_t two1n1nW1ppW1W1=0.; // <w1 w2 w3 cos(n(phi2-phi3))> // OK!!! | |
1803 | if(dM1pp11PtPOI) | |
1804 | { | |
1805 | two1n1nW1ppW1W1 = ((pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.))*dS11mPrimePrimePtPOI-2.*(qxW2PrimePrimePtPOI*dQnkX[0][0]+qyW2PrimePrimePtPOI*dQnkY[0][0]) - dS11mPrimePrimePtPOI*dSnk[0][1]+2.*dS13mPrimePrimePtPOI)/dM1pp11PtPOI; // CORRECT !!! <w1 w2 w3 cos(n(phi2-phi3))> | |
1806 | } | |
1807 | ||
1808 | // 2-p | |
1809 | Double_t two1npp1nW1W2PtPOI=0.; // <w2 w3^2 cos(n(psi1-phi2))> // OK !!! | |
1810 | if(dM0pp12PtPOIPtPOI) | |
1811 | { | |
1812 | two1npp1nW1W2PtPOI = (dSnk[0][1]*(qxPrimePrimePtPOIHere*dQnkX[0][0]+qyPrimePrimePtPOIHere*dQnkY[0][0])-(qxW2PrimePrimePtPOI*dQnkX[0][0]+qyW2PrimePrimePtPOI*dQnkY[0][0])-dM1pp2PtPOIPtPOI-(qxPrimePrimePtPOIHere*dQnkX[0][2]+qyPrimePrimePtPOIHere*dQnkY[0][2])+dS13mPrimePrimePtPOI)/dM0pp12PtPOIPtPOI; // CORRECT !!! <w2 w3^2 cos(n(psi1-phi2))> | |
1813 | } | |
1814 | ||
1815 | // 2-p | |
1816 | Double_t two1npp1nW2ppW1PtPOI=0.; // <w1^2 w2 cos(n(psi1-phi2))> // OK !!! | |
1817 | if(dM2pp1PtPOIPtPOI) | |
1818 | { | |
1819 | two1npp1nW2ppW1PtPOI = ((qxW2PrimePrimePtPOI*dQnkX[0][0]+qyW2PrimePrimePtPOI*dQnkY[0][0])-dS13mPrimePrimePtPOI)/dM2pp1PtPOIPtPOI; // CORRECT !!! <w1^2 w2 cos(n(psi1-phi2))> | |
1820 | } | |
1821 | ||
1822 | // 2-p | |
1823 | Double_t two2npp2nW1ppW2PtPOI=0.; // <w1 w2^2 cos(2n(psi1-phi2))> OK !!! | |
1824 | if(dM1pp2PtPOIPtPOI) | |
1825 | { | |
1826 | two2npp2nW1ppW2PtPOI = ((q2xW1PrimePrimePtPOI*dQnkX[1][1]+q2yW1PrimePrimePtPOI*dQnkY[1][1])-dS13mPrimePrimePtPOI)/dM1pp2PtPOIPtPOI; // CORRECT !!! <w1 w2^2 cos(2n(psi1-phi2))> | |
1827 | } | |
1828 | ||
1829 | // 2-p | |
1830 | Double_t two1npp1nW3PtPOI=0.; // <w2^3 cos(n(psi1-phi2))> // OK !!! | |
1831 | if(dM0pp3PtPOIPtPOI) | |
1832 | { | |
1833 | two1npp1nW3PtPOI = (qxPrimePrimePtPOIHere*dQnkX[0][2]+qyPrimePrimePtPOIHere*dQnkY[0][2]-dS13mPrimePrimePtPOI)/dM0pp3PtPOIPtPOI; // CORRECT !!! <w2^3 cos(n(psi1-phi2))> | |
1834 | } | |
1835 | ||
1836 | // 3-p | |
1837 | Double_t three2npp1n1nW1ppW1W1PtPOI=0.; // <w1 w2 w3 cos(n(2psi1-phi2-phi3))> // OK!!! | |
1838 | if(dM1pp11PtPOI) | |
1839 | { | |
1840 | three2npp1n1nW1ppW1W1PtPOI = (q2xW1PrimePrimePtPOI*(dQnkX[0][0]*dQnkX[0][0]-dQnkY[0][0]*dQnkY[0][0])+2.*q2yW1PrimePrimePtPOI*dQnkX[0][0]*dQnkY[0][0]-2.*(qxW2PrimePrimePtPOI*dQnkX[0][0]+qyW2PrimePrimePtPOI*dQnkY[0][0])-(q2xW1PrimePrimePtPOI*dQnkX[1][1]+q2yW1PrimePrimePtPOI*dQnkY[1][1])+2.*dS13mPrimePrimePtPOI)/dM1pp11PtPOI; // CORRECT !!! <w1 w2 w3 cos(n(2psi1-phi2-phi3))> | |
1841 | } | |
1842 | ||
1843 | // 3-p | |
1844 | Double_t three1npp1n2nW0ppW1W2PtPOI=0.; // <w2 w3^2 cos(n(psi1+phi2-2*phi3))> // OK!!! | |
1845 | if(dM0pp12PtPOIPtPOI) | |
1846 | { | |
1847 | three1npp1n2nW0ppW1W2PtPOI = (qxPrimePrimePtPOIHere*(dQnkX[0][0]*dQnkX[1][1]+dQnkY[0][0]*dQnkY[1][1])-qyPrimePrimePtPOIHere*(dQnkY[0][0]*dQnkX[1][1]-dQnkX[0][0]*dQnkY[1][1])-(qxW2PrimePrimePtPOI*dQnkX[0][0]+qyW2PrimePrimePtPOI*dQnkY[0][0])-(q2xW1PrimePrimePtPOI*dQnkX[1][1]+q2yW1PrimePrimePtPOI*dQnkY[1][1])-(qxPrimePrimePtPOIHere*dQnkX[0][2]+qyPrimePrimePtPOIHere*dQnkY[0][2])+2.*dS13mPrimePrimePtPOI)/dM0pp12PtPOIPtPOI; // CORRECT !!! <w2 w3^2 cos(n(psi1+phi2-2.*phi3))> | |
1848 | } | |
1849 | ||
1850 | ||
1851 | ||
1852 | */ | |
1853 | ||
1854 | ||
1855 | /* | |
1856 | // 4-p RPpart | |
1857 | Double_t four1npp1n1n1nW1W1W1=0.; // <w1 w2 w3 cos(n(psi1+phi1-phi2-phi3))> | |
1858 | if(dM0pp111PtPOIPtPOI) | |
1859 | { | |
1860 | four1npp1n1n1nW1W1W1 = ( ( pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.) ) * (qxPrimePrimePtPOIHere*dQnkX[0][0]+qyPrimePrimePtPOIHere*dQnkY[0][0]) | |
1861 | - 2.*dM1pp11PtPOI*two1n1nW1ppW1W1 - dM1pp11PtPOI*three2npp1n1nW1ppW1W1PtPOI - dM0pp12PtPOIPtPOI*three1npp1n2nW0ppW1W2PtPOI - 2.*dM0pp12PtPOIPtPOI*two1npp1nW1W2PtPOI | |
1862 | - 3.*dM2pp1PtPOIPtPOI*two1npp1nW2ppW1PtPOI -2.*dM1pp2PtPOIPtPOI - dM1pp2PtPOIPtPOI*two2npp2nW1ppW2PtPOI - dM0pp3PtPOIPtPOI*two1npp1nW3PtPOI - dS13mPrimePrimePtPOI)/(dM0pp111PtPOIPtPOI); | |
1863 | ||
1864 | } | |
1865 | ||
1866 | */ | |
1867 | ||
1868 | ||
1869 | ||
1870 | /* | |
1871 | // 4- POIpart | |
1872 | Double_t four1npp1n1n1nW1W1W1POI=0.; | |
1873 | if(dM0p111PtPOIPtPOI>0&&mPrimePtPOIHere>0&&nRP>0) | |
1874 | { | |
1875 | four1npp1n1n1nW1W1W1POI = ( ( pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.) ) * (qxPrimePtPOIHere*dQnkX[0][0]+qyPrimePtPOIHere*dQnkY[0][0]) | |
1876 | ||
1877 | - 2.*dSnk[0][1]* (qxPrimePtPOIHere*dQnkX[0][0]+qyPrimePtPOIHere*dQnkY[0][0]) | |
1878 | ||
1879 | + 2.*(qxPrimePtPOIHere*dQnkX[0][2]+qyPrimePtPOIHere*dQnkY[0][2]) | |
1880 | ||
1881 | - qxPrimePtPOIHere*(dQnkX[0][0]*dQnkX[1][1]+dQnkY[0][0]*dQnkY[1][1])+qyPrimePtPOIHere*(dQnkY[0][0]*dQnkX[1][1]-dQnkX[0][0]*dQnkY[1][1]))/dM0p111PtPOIPtPOI; | |
1882 | ||
1883 | ||
1884 | ||
1885 | ||
1886 | } | |
1887 | */ | |
1888 | /* | |
1889 | ||
1890 | // 4-p RP and POI in all combinations (full, partial and no overlap) | |
1891 | Double_t four1npp1n1n1nW1W1W1PtPOIAndRPPt=0.; | |
1892 | ||
1893 | if(dM0pp111PtPOIPtPOI+dM0p111PtPOIPtPOI) | |
1894 | { | |
1895 | four1npp1n1n1nW1W1W1PtPOIAndRPPt = ( ( pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.) ) * (qxPrimePrimePtPOIHere*dQnkX[0][0]+qyPrimePrimePtPOIHere*dQnkY[0][0]) | |
1896 | - 2.*dM1pp11PtPOI*two1n1nW1ppW1W1 - dM1pp11PtPOI*three2npp1n1nW1ppW1W1PtPOI - dM0pp12PtPOIPtPOI*three1npp1n2nW0ppW1W2PtPOI - 2.*dM0pp12PtPOIPtPOI*two1npp1nW1W2PtPOI | |
1897 | - 3.*dM2pp1PtPOIPtPOI*two1npp1nW2ppW1PtPOI -2.*dM1pp2PtPOIPtPOI - dM1pp2PtPOIPtPOI*two2npp2nW1ppW2PtPOI - dM0pp3PtPOIPtPOI*two1npp1nW3PtPOI - dS13mPrimePrimePtPOI + | |
1898 | ||
1899 | ||
1900 | + ( pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.) ) * (qxPrimePtPOIHere*dQnkX[0][0]+qyPrimePtPOIHere*dQnkY[0][0]) | |
1901 | ||
1902 | - 2.*dSnk[0][1]* (qxPrimePtPOIHere*dQnkX[0][0]+qyPrimePtPOIHere*dQnkY[0][0]) | |
1903 | ||
1904 | + 2.*(qxPrimePtPOIHere*dQnkX[0][2]+qyPrimePtPOIHere*dQnkY[0][2]) | |
1905 | ||
1906 | - qxPrimePtPOIHere*(dQnkX[0][0]*dQnkX[1][1]+dQnkY[0][0]*dQnkY[1][1])+qyPrimePtPOIHere*(dQnkY[0][0]*dQnkX[1][1]-dQnkX[0][0]*dQnkY[1][1]))/(dM0pp111PtPOIPtPOI+dM0p111PtPOIPtPOI); | |
1907 | ||
1908 | ||
1909 | f4WPerPtBin1n1n1n1nPOI->Fill(fPtMin+(bin-1)*dBinWidthPt,four1npp1n1n1nW1W1W1PtPOIAndRPPt,dM0pp111PtPOIPtPOI+dM0p111PtPOIPtPOI); | |
1910 | } | |
1911 | } | |
1912 | ||
1913 | delete req1nW2PrimePrimePtPOI; | |
1914 | delete imq1nW2PrimePrimePtPOI; | |
1915 | delete req2nW1PrimePrimePtPOI; | |
1916 | delete imq2nW1PrimePrimePtPOI; | |
1917 | delete sumOfW1upTomPrimePrimePtPOI; | |
1918 | delete sumOfW2upTomPrimePrimePtPOI; | |
1919 | delete sumOfW3upTomPrimePrimePtPOI; | |
1920 | ||
1921 | ||
1922 | ||
1923 | ||
1924 | ||
1925 | */ | |
1926 | ||
1927 | ||
1928 | ||
1929 | ||
1930 | ||
1931 | ||
1932 | /* | |
1933 | ||
1934 | // eta POI | |
1935 | for(Int_t bin=1;bin<(fnBinsEta+1);bin++) // loop over Eta-bins | |
1936 | { | |
1937 | // q'': | |
1938 | qxPrimePrimeEtaPOIHere = (fEtaReq1nPrimePrimePOI->GetBinContent(bin))*(fEtaReq1nPrimePrimePOI->GetBinEntries(bin)); | |
1939 | qyPrimePrimeEtaPOIHere = (fEtaImq1nPrimePrimePOI->GetBinContent(bin))*(fEtaImq1nPrimePrimePOI->GetBinEntries(bin)); | |
1940 | q2xPrimePrimeEtaPOIHere = (fEtaReq2nPrimePrimePOI->GetBinContent(bin))*(fEtaReq2nPrimePrimePOI->GetBinEntries(bin)); | |
1941 | q2yPrimePrimeEtaPOIHere = (fEtaImq2nPrimePrimePOI->GetBinContent(bin))*(fEtaImq2nPrimePrimePOI->GetBinEntries(bin)); | |
1942 | ||
1943 | ||
1944 | qxW2PrimePrimeEtaPOI = (req1nW2PrimePrimeEtaPOI->GetBinContent(bin))*(req1nW2PrimePrimeEtaPOI->GetBinEntries(bin)); | |
1945 | qyW2PrimePrimeEtaPOI = (imq1nW2PrimePrimeEtaPOI->GetBinContent(bin))*(imq1nW2PrimePrimeEtaPOI->GetBinEntries(bin)); | |
1946 | ||
1947 | q2xW1PrimePrimeEtaPOI = (req2nW1PrimePrimeEtaPOI->GetBinContent(bin))*(req2nW1PrimePrimeEtaPOI->GetBinEntries(bin)); | |
1948 | q2yW1PrimePrimeEtaPOI = (imq2nW1PrimePrimeEtaPOI->GetBinContent(bin))*(imq2nW1PrimePrimeEtaPOI->GetBinEntries(bin)); | |
1949 | ||
1950 | dS11mPrimePrimeEtaPOI = (sumOfW1upTomPrimePrimeEtaPOI->GetBinContent(bin))*(sumOfW1upTomPrimePrimeEtaPOI->GetBinEntries(bin)); | |
1951 | dS12mPrimePrimeEtaPOI = (sumOfW2upTomPrimePrimeEtaPOI->GetBinContent(bin))*(sumOfW2upTomPrimePrimeEtaPOI->GetBinEntries(bin)); | |
1952 | dS13mPrimePrimeEtaPOI = (sumOfW3upTomPrimePrimeEtaPOI->GetBinContent(bin))*(sumOfW3upTomPrimePrimeEtaPOI->GetBinEntries(bin)); | |
1953 | ||
1954 | mPrimePrimeEtaPOIHere = sumOfW1upTomPrimePrimeEtaPOI->GetBinEntries(bin); // to be improved | |
1955 | ||
1956 | dM1pp11EtaPOI=dS11mPrimePrimeEtaPOI*(dSnk[1][0]-dSnk[0][1])-2.*dS12mPrimePrimeEtaPOI*dSnk[0][0]+2.*dS13mPrimePrimeEtaPOI; | |
1957 | dM1pp2PtPOIEtaPOI=dS11mPrimePrimeEtaPOI*dSnk[0][1]-dS13mPrimePrimeEtaPOI; | |
1958 | dM2pp1PtPOIEtaPOI=dS12mPrimePrimeEtaPOI*dSnk[0][0]-dS13mPrimePrimeEtaPOI; | |
1959 | dM0pp3PtPOIEtaPOI=mPrimePrimeEtaPOIHere*dSnk[0][2]-dS13mPrimePrimeEtaPOI; | |
1960 | dM0pp12PtPOIEtaPOI=mPrimePrimeEtaPOIHere*dSnk[0][0]*dSnk[0][1]-dM2pp1PtPOIEtaPOI-dM1pp2PtPOIEtaPOI-dM0pp3PtPOIEtaPOI-dS13mPrimePrimeEtaPOI; | |
1961 | dM0pp111PtPOIEtaPOI=mPrimePrimeEtaPOIHere*dSnk[2][0]-3.*dM1pp11EtaPOI-3.*dM0pp12PtPOIEtaPOI-3.*dM2pp1PtPOIEtaPOI-3.*dM1pp2PtPOIEtaPOI-dM0pp3PtPOIEtaPOI-dS13mPrimePrimeEtaPOI; | |
1962 | ||
1963 | // q': | |
1964 | qxPrimeEtaPOIHere = (fEtaReq1nPrimePOI->GetBinContent(bin))*(fEtaReq1nPrimePOI->GetBinEntries(bin)); | |
1965 | qyPrimeEtaPOIHere = (fEtaImq1nPrimePOI->GetBinContent(bin))*(fEtaImq1nPrimePOI->GetBinEntries(bin)); | |
1966 | ||
1967 | mPrimeEtaPOIHere = fEtaReq1nPrimePOI->GetBinEntries(bin); // to be improved | |
1968 | dM0p111PtPOIEtaPOI=mPrimeEtaPOIHere*(dSnk[2][0]-3.*dSnk[0][1]*dSnk[0][0]+2.*dSnk[0][2]); | |
1969 | ||
1970 | // 2-p | |
1971 | Double_t two1n1nWPerEtaBinPOI=0.; // the needed one | |
1972 | if(mPrimePrimeEtaPOIHere*dSnk[0][0]-dS11mPrimePrimeEtaPOI) | |
1973 | { | |
1974 | two1n1nWPerEtaBinPOI = (qxPrimePrimeEtaPOIHere*dQnkX[0][0]+qyPrimePrimeEtaPOIHere*dQnkY[0][0]-dS11mPrimePrimeEtaPOI)/(mPrimePrimeEtaPOIHere*dSnk[0][0]-dS11mPrimePrimeEtaPOI); | |
1975 | ||
1976 | f2WPerEtaBin1n1nPOI->Fill(fEtaMin+(bin-1)*dBinWidthEta,two1n1nWPerEtaBinPOI,(mPrimePrimeEtaPOIHere*dSnk[0][0]-dS11mPrimePrimeEtaPOI)); // <2'>_{n|n} | |
1977 | } | |
1978 | ||
1979 | // 2-p | |
1980 | Double_t two1n1nW1ppW1W1=0.; // <w1 w2 w3 cos(n(phi2-phi3))> // OK!!! | |
1981 | if(dM1pp11EtaPOI) | |
1982 | { | |
1983 | two1n1nW1ppW1W1 = ((pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.))*dS11mPrimePrimeEtaPOI-2.*(qxW2PrimePrimeEtaPOI*dQnkX[0][0]+qyW2PrimePrimeEtaPOI*dQnkY[0][0]) - dS11mPrimePrimeEtaPOI*dSnk[0][1]+2.*dS13mPrimePrimeEtaPOI)/dM1pp11EtaPOI; // CORRECT !!! <w1 w2 w3 cos(n(phi2-phi3))> | |
1984 | } | |
1985 | ||
1986 | // 2-p | |
1987 | Double_t two1npp1nW1W2PtPOI=0.; // <w2 w3^2 cos(n(psi1-phi2))> // OK !!! | |
1988 | if(dM0pp12PtPOIEtaPOI) | |
1989 | { | |
1990 | two1npp1nW1W2PtPOI = (dSnk[0][1]*(qxPrimePrimeEtaPOIHere*dQnkX[0][0]+qyPrimePrimeEtaPOIHere*dQnkY[0][0])-(qxW2PrimePrimeEtaPOI*dQnkX[0][0]+qyW2PrimePrimeEtaPOI*dQnkY[0][0])-dM1pp2PtPOIEtaPOI-(qxPrimePrimeEtaPOIHere*dQnkX[0][2]+qyPrimePrimeEtaPOIHere*dQnkY[0][2])+dS13mPrimePrimeEtaPOI)/dM0pp12PtPOIEtaPOI; // CORRECT !!! <w2 w3^2 cos(n(psi1-phi2))> | |
1991 | } | |
1992 | ||
1993 | // 2-p | |
1994 | Double_t two1npp1nW2ppW1PtPOI=0.; // <w1^2 w2 cos(n(psi1-phi2))> // OK !!! | |
1995 | if(dM2pp1PtPOIEtaPOI) | |
1996 | { | |
1997 | two1npp1nW2ppW1PtPOI = ((qxW2PrimePrimeEtaPOI*dQnkX[0][0]+qyW2PrimePrimeEtaPOI*dQnkY[0][0])-dS13mPrimePrimeEtaPOI)/dM2pp1PtPOIEtaPOI; // CORRECT !!! <w1^2 w2 cos(n(psi1-phi2))> | |
1998 | } | |
1999 | ||
2000 | // 2-p | |
2001 | Double_t two2npp2nW1ppW2PtPOI=0.; // <w1 w2^2 cos(2n(psi1-phi2))> OK !!! | |
2002 | if(dM1pp2PtPOIEtaPOI) | |
2003 | { | |
2004 | two2npp2nW1ppW2PtPOI = ((q2xW1PrimePrimeEtaPOI*dQnkX[1][1]+q2yW1PrimePrimeEtaPOI*dQnkY[1][1])-dS13mPrimePrimeEtaPOI)/dM1pp2PtPOIEtaPOI; // CORRECT !!! <w1 w2^2 cos(2n(psi1-phi2))> | |
2005 | } | |
2006 | ||
2007 | // 2-p | |
2008 | Double_t two1npp1nW3PtPOI=0.; // <w2^3 cos(n(psi1-phi2))> // OK !!! | |
2009 | if(dM0pp3PtPOIEtaPOI) | |
2010 | { | |
2011 | two1npp1nW3PtPOI = (qxPrimePrimeEtaPOIHere*dQnkX[0][2]+qyPrimePrimeEtaPOIHere*dQnkY[0][2]-dS13mPrimePrimeEtaPOI)/dM0pp3PtPOIEtaPOI; // CORRECT !!! <w2^3 cos(n(psi1-phi2))> | |
2012 | } | |
2013 | ||
2014 | // 3-p | |
2015 | Double_t three2npp1n1nW1ppW1W1PtPOI=0.; // <w1 w2 w3 cos(n(2psi1-phi2-phi3))> // OK!!! | |
2016 | if(dM1pp11EtaPOI) | |
2017 | { | |
2018 | three2npp1n1nW1ppW1W1PtPOI = (q2xW1PrimePrimeEtaPOI*(dQnkX[0][0]*dQnkX[0][0]-dQnkY[0][0]*dQnkY[0][0])+2.*q2yW1PrimePrimeEtaPOI*dQnkX[0][0]*dQnkY[0][0]-2.*(qxW2PrimePrimeEtaPOI*dQnkX[0][0]+qyW2PrimePrimeEtaPOI*dQnkY[0][0])-(q2xW1PrimePrimeEtaPOI*dQnkX[1][1]+q2yW1PrimePrimeEtaPOI*dQnkY[1][1])+2.*dS13mPrimePrimeEtaPOI)/dM1pp11EtaPOI; // CORRECT !!! <w1 w2 w3 cos(n(2psi1-phi2-phi3))> | |
2019 | } | |
2020 | ||
2021 | // 3-p | |
2022 | Double_t three1npp1n2nW0ppW1W2PtPOI=0.; // <w2 w3^2 cos(n(psi1+phi2-2*phi3))> // OK!!! | |
2023 | if(dM0pp12PtPOIEtaPOI) | |
2024 | { | |
2025 | three1npp1n2nW0ppW1W2PtPOI = (qxPrimePrimeEtaPOIHere*(dQnkX[0][0]*dQnkX[1][1]+dQnkY[0][0]*dQnkY[1][1])-qyPrimePrimeEtaPOIHere*(dQnkY[0][0]*dQnkX[1][1]-dQnkX[0][0]*dQnkY[1][1])-(qxW2PrimePrimeEtaPOI*dQnkX[0][0]+qyW2PrimePrimeEtaPOI*dQnkY[0][0])-(q2xW1PrimePrimeEtaPOI*dQnkX[1][1]+q2yW1PrimePrimeEtaPOI*dQnkY[1][1])-(qxPrimePrimeEtaPOIHere*dQnkX[0][2]+qyPrimePrimeEtaPOIHere*dQnkY[0][2])+2.*dS13mPrimePrimeEtaPOI)/dM0pp12PtPOIEtaPOI; // CORRECT !!! <w2 w3^2 cos(n(psi1+phi2-2.*phi3))> | |
2026 | } | |
2027 | ||
2028 | */ | |
2029 | ||
2030 | ||
2031 | /* | |
2032 | // 4-p RPpart | |
2033 | Double_t four1npp1n1n1nW1W1W1=0.; // <w1 w2 w3 cos(n(psi1+phi1-phi2-phi3))> | |
2034 | if(dM0pp111PtPOIEtaPOI) | |
2035 | { | |
2036 | four1npp1n1n1nW1W1W1 = ( ( pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.) ) * (qxPrimePrimeEtaPOIHere*dQnkX[0][0]+qyPrimePrimeEtaPOIHere*dQnkY[0][0]) | |
2037 | - 2.*dM1pp11EtaPOI*two1n1nW1ppW1W1 - dM1pp11EtaPOI*three2npp1n1nW1ppW1W1PtPOI - dM0pp12PtPOIEtaPOI*three1npp1n2nW0ppW1W2PtPOI - 2.*dM0pp12PtPOIEtaPOI*two1npp1nW1W2PtPOI | |
2038 | - 3.*dM2pp1PtPOIEtaPOI*two1npp1nW2ppW1PtPOI -2.*dM1pp2PtPOIEtaPOI - dM1pp2PtPOIEtaPOI*two2npp2nW1ppW2PtPOI - dM0pp3PtPOIEtaPOI*two1npp1nW3PtPOI - dS13mPrimePrimeEtaPOI)/(dM0pp111PtPOIEtaPOI); | |
2039 | ||
2040 | } | |
2041 | ||
2042 | */ | |
2043 | ||
2044 | ||
2045 | ||
2046 | /* | |
2047 | // 4- POIpart | |
2048 | Double_t four1npp1n1n1nW1W1W1POI=0.; | |
2049 | if(dM0p111PtPOIEtaPOI>0&&mPrimeEtaPOIHere>0&&nRP>0) | |
2050 | { | |
2051 | four1npp1n1n1nW1W1W1POI = ( ( pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.) ) * (qxPrimeEtaPOIHere*dQnkX[0][0]+qyPrimeEtaPOIHere*dQnkY[0][0]) | |
2052 | ||
2053 | - 2.*dSnk[0][1]* (qxPrimeEtaPOIHere*dQnkX[0][0]+qyPrimeEtaPOIHere*dQnkY[0][0]) | |
2054 | ||
2055 | + 2.*(qxPrimeEtaPOIHere*dQnkX[0][2]+qyPrimeEtaPOIHere*dQnkY[0][2]) | |
2056 | ||
2057 | - qxPrimeEtaPOIHere*(dQnkX[0][0]*dQnkX[1][1]+dQnkY[0][0]*dQnkY[1][1])+qyPrimeEtaPOIHere*(dQnkY[0][0]*dQnkX[1][1]-dQnkX[0][0]*dQnkY[1][1]))/dM0p111PtPOIEtaPOI; | |
2058 | ||
2059 | ||
2060 | ||
2061 | ||
2062 | } | |
2063 | */ | |
2064 | ||
2065 | ||
2066 | /* | |
2067 | ||
2068 | // 4-p RP and POI in all combinations (full, partial and no overlap) | |
2069 | Double_t four1npp1n1n1nW1W1W1PtPOIAndRPEta=0.; | |
2070 | ||
2071 | if(dM0pp111PtPOIEtaPOI+dM0p111PtPOIEtaPOI) | |
2072 | { | |
2073 | four1npp1n1n1nW1W1W1PtPOIAndRPEta = ( ( pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.) ) * (qxPrimePrimeEtaPOIHere*dQnkX[0][0]+qyPrimePrimeEtaPOIHere*dQnkY[0][0]) | |
2074 | - 2.*dM1pp11EtaPOI*two1n1nW1ppW1W1 - dM1pp11EtaPOI*three2npp1n1nW1ppW1W1PtPOI - dM0pp12PtPOIEtaPOI*three1npp1n2nW0ppW1W2PtPOI - 2.*dM0pp12PtPOIEtaPOI*two1npp1nW1W2PtPOI | |
2075 | - 3.*dM2pp1PtPOIEtaPOI*two1npp1nW2ppW1PtPOI -2.*dM1pp2PtPOIEtaPOI - dM1pp2PtPOIEtaPOI*two2npp2nW1ppW2PtPOI - dM0pp3PtPOIEtaPOI*two1npp1nW3PtPOI - dS13mPrimePrimeEtaPOI + | |
2076 | ||
2077 | ||
2078 | + ( pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.) ) * (qxPrimeEtaPOIHere*dQnkX[0][0]+qyPrimeEtaPOIHere*dQnkY[0][0]) | |
2079 | ||
2080 | - 2.*dSnk[0][1]* (qxPrimeEtaPOIHere*dQnkX[0][0]+qyPrimeEtaPOIHere*dQnkY[0][0]) | |
2081 | ||
2082 | + 2.*(qxPrimeEtaPOIHere*dQnkX[0][2]+qyPrimeEtaPOIHere*dQnkY[0][2]) | |
2083 | ||
2084 | - qxPrimeEtaPOIHere*(dQnkX[0][0]*dQnkX[1][1]+dQnkY[0][0]*dQnkY[1][1])+qyPrimeEtaPOIHere*(dQnkY[0][0]*dQnkX[1][1]-dQnkX[0][0]*dQnkY[1][1]))/(dM0pp111PtPOIEtaPOI+dM0p111PtPOIEtaPOI); | |
2085 | ||
2086 | ||
2087 | f4WPerEtaBin1n1n1n1nPOI->Fill(fEtaMin+(bin-1)*dBinWidthEta,four1npp1n1n1nW1W1W1PtPOIAndRPEta,dM0pp111PtPOIEtaPOI+dM0p111PtPOIEtaPOI); | |
2088 | } | |
2089 | } | |
2090 | ||
2091 | delete req1nW2PrimePrimeEtaPOI; | |
2092 | delete imq1nW2PrimePrimeEtaPOI; | |
2093 | delete req2nW1PrimePrimeEtaPOI; | |
2094 | delete imq2nW1PrimePrimeEtaPOI; | |
2095 | delete sumOfW1upTomPrimePrimeEtaPOI; | |
2096 | delete sumOfW2upTomPrimePrimeEtaPOI; | |
2097 | delete sumOfW3upTomPrimePrimeEtaPOI; | |
2098 | ||
2099 | ||
2100 | ||
2101 | ||
2102 | ||
2103 | ||
2104 | ||
2105 | ||
2106 | ||
2107 | ||
2108 | //WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW | |
2109 | ||
2110 | ||
2111 | ||
2112 | */ | |
2113 | ||
2114 | ||
2115 | ||
2116 | ||
2117 | ||
2118 | ||
2119 | ||
2120 | ||
2121 | ||
2122 | ||
2123 | ||
2124 | ||
2125 | ||
2126 | ||
2127 | ||
2128 | ||
2129 | ||
2130 | ||
2131 | ||
2132 | ||
2133 | ||
2134 | ||
2135 | ||
2136 | ||
2137 | ||
2138 | ||
2139 | ||
2140 | ||
2141 | ||
2142 | ||
2143 | ||
2144 | ||
2145 | ||
2146 | ||
2147 | ||
2148 | ||
2149 | //QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ | |
2150 | ||
2151 | ||
2152 | ||
2153 | // pt POI | |
2154 | TProfile *req1nW2PrimePrimePtPOI = new TProfile("req1nW2PrimePrimePtRP","#sum_{i=1}^{m''} w_{i}^{2} cos(n(#phi_{i}))''",fnBinsPt,fPtMin,fPtMax,"s"); | |
2155 | TProfile *imq1nW2PrimePrimePtPOI = new TProfile("imq1nW2PrimePrimePtRP","#sum_{i=1}^{m''} w_{i}^{2} sin(n(#phi_{i}))''",fnBinsPt,fPtMin,fPtMax,"s"); | |
2156 | TProfile *req2nW1PrimePrimePtPOI = new TProfile("req2nW1PrimePrimePtRP","#sum_{i=1}^{m''} w_{i} cos(2n(#phi_{i}))''",fnBinsPt,fPtMin,fPtMax,"s"); | |
2157 | TProfile *imq2nW1PrimePrimePtPOI = new TProfile("imq2nW1PrimePrimePtRP","#sum_{i=1}^{m''} w_{i} sin(2n(#phi_{i}))''",fnBinsPt,fPtMin,fPtMax,"s"); | |
2158 | ||
2159 | TProfile *sumOfW1upTomPrimePrimePtPOI = new TProfile("sumOfW1upTomPrimePrimePtPOI","#sum_{i=1}^{m''} w_{i}''",fnBinsPt,fPtMin,fPtMax,"s"); | |
2160 | TProfile *sumOfW2upTomPrimePrimePtPOI = new TProfile("sumOfW2upTomPrimePrimePtPOI","#sum_{i=1}^{m''} w_{i}^{2}''",fnBinsPt,fPtMin,fPtMax,"s"); | |
2161 | TProfile *sumOfW3upTomPrimePrimePtPOI = new TProfile("sumOfW3upTomPrimePrimePtPOI","#sum_{i=1}^{m''} w_{i}^{3}''",fnBinsPt,fPtMin,fPtMax,"s"); | |
2162 | ||
2163 | // eta POI | |
2164 | TProfile *req1nW2PrimePrimeEtaPOI = new TProfile("req1nW2PrimePrimeEtaRP","#sum_{i=1}^{m''} w_{i}^{2} cos(n(#phi_{i}))''",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
2165 | TProfile *imq1nW2PrimePrimeEtaPOI = new TProfile("imq1nW2PrimePrimeEtaRP","#sum_{i=1}^{m''} w_{i}^{2} sin(n(#phi_{i}))''",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
2166 | TProfile *req2nW1PrimePrimeEtaPOI = new TProfile("req2nW1PrimePrimeEtaRP","#sum_{i=1}^{m''} w_{i} cos(2n(#phi_{i}))''",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
2167 | TProfile *imq2nW1PrimePrimeEtaPOI = new TProfile("imq2nW1PrimePrimeEtaRP","#sum_{i=1}^{m''} w_{i} sin(2n(#phi_{i}))''",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
2168 | ||
2169 | TProfile *sumOfW1upTomPrimePrimeEtaPOI = new TProfile("sumOfW1upTomPrimePrimeEtaPOI","#sum_{i=1}^{m''} w_{i}''",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
2170 | TProfile *sumOfW2upTomPrimePrimeEtaPOI = new TProfile("sumOfW2upTomPrimePrimeEtaPOI","#sum_{i=1}^{m''} w_{i}^{2}''",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
2171 | TProfile *sumOfW3upTomPrimePrimeEtaPOI = new TProfile("sumOfW3upTomPrimePrimeEtaPOI","#sum_{i=1}^{m''} w_{i}^{3}''",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
2172 | ||
2173 | ||
2174 | ||
2175 | //POI: | |
2176 | //Double_t qxPrimePtPOI=0.,qyPrimePtPOI=0.,q2xPrimePtPOI=0.,q2yPrimePtPOI=0.,mPrimePtPOI=0.;//add comments for these variables (deleteMe) | |
2177 | ||
2178 | for(Int_t i=0;i<nPrim;i++) // loop over all particles (to be improved: do the calculations for RPs and POIs in the same loop) | |
2179 | { | |
2180 | fTrack=anEvent->GetTrack(i); | |
2181 | if(fTrack) | |
2182 | { | |
2183 | if(fTrack->UseForDifferentialFlow()) // checking if particle is POI | |
2184 | { | |
2185 | if(fTrack->UseForIntegratedFlow()) // checking if particle is both POI and RP | |
2186 | { | |
2187 | // get azimuthal angle, momentum and pseudorapidity of a particle: | |
2188 | dPhi = fTrack->Phi(); | |
2189 | dPt = fTrack->Pt(); | |
2190 | dEta = fTrack->Eta(); | |
2191 | // phi weights: | |
2192 | if(fUsePhiWeights) | |
2193 | { | |
2194 | nBinsPhi = phiWeights->GetNbinsX(); | |
2195 | if(nBinsPhi) | |
2196 | { | |
2197 | wPhi = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(dPhi*nBinsPhi/TMath::TwoPi()))); | |
2198 | } | |
2199 | } | |
2200 | // pt weights: | |
2201 | if(fUsePtWeights) | |
2202 | { | |
2203 | if(dBinWidthPt) | |
2204 | { | |
2205 | wPt = ptWeights->GetBinContent(1+(Int_t)(TMath::Floor((dPt-fPtMin)/dBinWidthPt))); | |
2206 | } | |
2207 | } | |
2208 | // eta weights: | |
2209 | if(fUseEtaWeights) | |
2210 | { | |
2211 | if(dBinWidthEta) | |
2212 | { | |
2213 | wEta=etaWeights->GetBinContent(1+(Int_t)(TMath::Floor((dEta-fEtaMin)/dBinWidthEta))); | |
2214 | } | |
2215 | } | |
2216 | // pt: | |
2217 | fPtReq1nPrimePrimePOI->Fill(dPt,cos(n*dPhi),1.); | |
2218 | fPtImq1nPrimePrimePOI->Fill(dPt,sin(n*dPhi),1.); | |
2219 | fPtReq2nPrimePrimePOI->Fill(dPt,cos(2.*n*dPhi),1.); | |
2220 | fPtImq2nPrimePrimePOI->Fill(dPt,sin(2.*n*dPhi),1.); | |
2221 | // weighted pt: | |
2222 | req1nW2PrimePrimePtPOI->Fill(dPt,cos(n*dPhi),pow(wPhi*wPt*wEta,2.)); | |
2223 | imq1nW2PrimePrimePtPOI->Fill(dPt,sin(n*dPhi),pow(wPhi*wPt*wEta,2.)); | |
2224 | req2nW1PrimePrimePtPOI->Fill(dPt,cos(2.*n*dPhi),wPhi*wPt*wEta); | |
2225 | imq2nW1PrimePrimePtPOI->Fill(dPt,sin(2.*n*dPhi),wPhi*wPt*wEta); | |
2226 | sumOfW1upTomPrimePrimePtPOI->Fill(dPt,wPhi*wPt*wEta,1.); | |
2227 | sumOfW2upTomPrimePrimePtPOI->Fill(dPt,pow(wPhi*wPt*wEta,2),1.); | |
2228 | sumOfW3upTomPrimePrimePtPOI->Fill(dPt,pow(wPhi*wPt*wEta,3),1.); | |
2229 | ||
2230 | // eta: | |
2231 | fEtaReq1nPrimePrimePOI->Fill(dEta,cos(n*dPhi),1.); | |
2232 | fEtaImq1nPrimePrimePOI->Fill(dEta,sin(n*dPhi),1.); | |
2233 | fEtaReq2nPrimePrimePOI->Fill(dEta,cos(2.*n*dPhi),1.); | |
2234 | fEtaImq2nPrimePrimePOI->Fill(dEta,sin(2.*n*dPhi),1.); | |
2235 | // weighted eta: | |
2236 | req1nW2PrimePrimeEtaPOI->Fill(dEta,cos(n*dPhi),pow(wPhi*wPt*wEta,2.)); | |
2237 | imq1nW2PrimePrimeEtaPOI->Fill(dEta,sin(n*dPhi),pow(wPhi*wPt*wEta,2.)); | |
2238 | req2nW1PrimePrimeEtaPOI->Fill(dEta,cos(2.*n*dPhi),wPhi*wPt*wEta); | |
2239 | imq2nW1PrimePrimeEtaPOI->Fill(dEta,sin(2.*n*dPhi),wPhi*wPt*wEta); | |
2240 | sumOfW1upTomPrimePrimeEtaPOI->Fill(dEta,wPhi*wPt*wEta,1.); | |
2241 | sumOfW2upTomPrimePrimeEtaPOI->Fill(dEta,pow(wPhi*wPt*wEta,2),1.); | |
2242 | sumOfW3upTomPrimePrimeEtaPOI->Fill(dEta,pow(wPhi*wPt*wEta,3),1.); | |
2243 | ||
2244 | }else if(!(fTrack->UseForIntegratedFlow())) // checking if particles is POI and not RP | |
2245 | { | |
2246 | // get azimuthal angle, momentum and pseudorapidity of a particle: | |
2247 | dPhi = fTrack->Phi(); | |
2248 | dPt = fTrack->Pt(); | |
2249 | dEta = fTrack->Eta(); | |
2250 | // pt: | |
2251 | fPtReq1nPrimePOI->Fill(dPt,cos(n*dPhi),1.); | |
2252 | fPtImq1nPrimePOI->Fill(dPt,sin(n*dPhi),1.); | |
2253 | fPtReq2nPrimePOI->Fill(dPt,cos(2.*n*dPhi),1.); | |
2254 | fPtImq2nPrimePOI->Fill(dPt,sin(2.*n*dPhi),1.); | |
2255 | ||
2256 | // eta: | |
2257 | fEtaReq1nPrimePOI->Fill(dEta,cos(n*dPhi),1.); | |
2258 | fEtaImq1nPrimePOI->Fill(dEta,sin(n*dPhi),1.); | |
2259 | fEtaReq2nPrimePOI->Fill(dEta,cos(2.*n*dPhi),1.); | |
2260 | fEtaImq2nPrimePOI->Fill(dEta,sin(2.*n*dPhi),1.); | |
2261 | ||
2262 | } // end of else if(!(fTrack->UseForIntegratedFlow())) // checking if particles is POI and not RP | |
2263 | } // end of if(fTrack->UseForDifferentialFlow()) // checking if particle is POI | |
2264 | } // end of if(fTrack} | |
2265 | } // end of for(Int_t i=0;i<nPrim;i++) | |
2266 | ||
2267 | ||
2268 | //PrimePrime Pt POI | |
2269 | Double_t qxPrimePrimePtPOIHere=0.,qyPrimePrimePtPOIHere=0.,q2xPrimePrimePtPOIHere=0.,q2yPrimePrimePtPOIHere=0.;//add comments for these variable | |
2270 | Double_t qxW2PrimePrimePtPOI=0.,qyW2PrimePrimePtPOI=0.,q2xW1PrimePrimePtPOI=0.,q2yW1PrimePrimePtPOI=0.;//add comments for these variable | |
2271 | Double_t dS11mPrimePrimePtPOI=0.; // to be improved (name) | |
2272 | Double_t dS12mPrimePrimePtPOI=0.; // to be improved (name) | |
2273 | Double_t dS13mPrimePrimePtPOI=0.; // to be improved (name) | |
2274 | Double_t mPrimePrimePtPOIHere=0.; // to be improved (name) | |
2275 | ||
2276 | Double_t dM1pp11PtPOI=0.; // to be improved (name) | |
2277 | Double_t dM0pp111PtPOI=0.; // to be improved (name) | |
2278 | Double_t dM0pp12PtPOI=0.; | |
2279 | Double_t dM2pp1PtPOI=0.; | |
2280 | Double_t dM1pp2PtPOI=0.; | |
2281 | Double_t dM0pp3PtPOI=0.; | |
2282 | ||
2283 | ||
2284 | ||
2285 | //Prime Pt POI | |
2286 | Double_t qxPrimePtPOIHere=0.,qyPrimePtPOIHere=0.; | |
2287 | Double_t mPrimePtPOIHere=0.; | |
2288 | ||
2289 | Double_t dM0p111PtPOI=0.; // to be improved (name) | |
2290 | ||
2291 | ||
2292 | for(Int_t bin=1;bin<(fnBinsPt+1);bin++) // loop over pt-bins | |
2293 | { | |
2294 | // q'': | |
2295 | qxPrimePrimePtPOIHere = (fPtReq1nPrimePrimePOI->GetBinContent(bin))*(fPtReq1nPrimePrimePOI->GetBinEntries(bin)); | |
2296 | qyPrimePrimePtPOIHere = (fPtImq1nPrimePrimePOI->GetBinContent(bin))*(fPtImq1nPrimePrimePOI->GetBinEntries(bin)); | |
2297 | q2xPrimePrimePtPOIHere = (fPtReq2nPrimePrimePOI->GetBinContent(bin))*(fPtReq2nPrimePrimePOI->GetBinEntries(bin)); | |
2298 | q2yPrimePrimePtPOIHere = (fPtImq2nPrimePrimePOI->GetBinContent(bin))*(fPtImq2nPrimePrimePOI->GetBinEntries(bin)); | |
2299 | ||
2300 | ||
2301 | qxW2PrimePrimePtPOI = (req1nW2PrimePrimePtPOI->GetBinContent(bin))*(req1nW2PrimePrimePtPOI->GetBinEntries(bin)); | |
2302 | qyW2PrimePrimePtPOI = (imq1nW2PrimePrimePtPOI->GetBinContent(bin))*(imq1nW2PrimePrimePtPOI->GetBinEntries(bin)); | |
2303 | ||
2304 | q2xW1PrimePrimePtPOI = (req2nW1PrimePrimePtPOI->GetBinContent(bin))*(req2nW1PrimePrimePtPOI->GetBinEntries(bin)); | |
2305 | q2yW1PrimePrimePtPOI = (imq2nW1PrimePrimePtPOI->GetBinContent(bin))*(imq2nW1PrimePrimePtPOI->GetBinEntries(bin)); | |
2306 | ||
2307 | dS11mPrimePrimePtPOI = (sumOfW1upTomPrimePrimePtPOI->GetBinContent(bin))*(sumOfW1upTomPrimePrimePtPOI->GetBinEntries(bin)); | |
2308 | dS12mPrimePrimePtPOI = (sumOfW2upTomPrimePrimePtPOI->GetBinContent(bin))*(sumOfW2upTomPrimePrimePtPOI->GetBinEntries(bin)); | |
2309 | dS13mPrimePrimePtPOI = (sumOfW3upTomPrimePrimePtPOI->GetBinContent(bin))*(sumOfW3upTomPrimePrimePtPOI->GetBinEntries(bin)); | |
2310 | ||
2311 | mPrimePrimePtPOIHere = sumOfW1upTomPrimePrimePtPOI->GetBinEntries(bin); // to be improved | |
2312 | ||
2313 | dM1pp11PtPOI=dS11mPrimePrimePtPOI*(dSnk[1][0]-dSnk[0][1])-2.*dS12mPrimePrimePtPOI*dSnk[0][0]+2.*dS13mPrimePrimePtPOI; | |
2314 | dM1pp2PtPOI=dS11mPrimePrimePtPOI*dSnk[0][1]-dS13mPrimePrimePtPOI; | |
2315 | dM2pp1PtPOI=dS12mPrimePrimePtPOI*dSnk[0][0]-dS13mPrimePrimePtPOI; | |
2316 | dM0pp3PtPOI=mPrimePrimePtPOIHere*dSnk[0][2]-dS13mPrimePrimePtPOI; | |
2317 | dM0pp12PtPOI=mPrimePrimePtPOIHere*dSnk[0][0]*dSnk[0][1]-dM2pp1PtPOI-dM1pp2PtPOI-dM0pp3PtPOI-dS13mPrimePrimePtPOI; | |
2318 | dM0pp111PtPOI=mPrimePrimePtPOIHere*dSnk[2][0]-3.*dM1pp11PtPOI-3.*dM0pp12PtPOI-3.*dM2pp1PtPOI-3.*dM1pp2PtPOI-dM0pp3PtPOI-dS13mPrimePrimePtPOI; | |
2319 | ||
2320 | // q': | |
2321 | qxPrimePtPOIHere = (fPtReq1nPrimePOI->GetBinContent(bin))*(fPtReq1nPrimePOI->GetBinEntries(bin)); | |
2322 | qyPrimePtPOIHere = (fPtImq1nPrimePOI->GetBinContent(bin))*(fPtImq1nPrimePOI->GetBinEntries(bin)); | |
2323 | ||
2324 | mPrimePtPOIHere = fPtReq1nPrimePOI->GetBinEntries(bin); // to be improved | |
2325 | dM0p111PtPOI=mPrimePtPOIHere*(dSnk[2][0]-3.*dSnk[0][1]*dSnk[0][0]+2.*dSnk[0][2]); | |
2326 | ||
2327 | // 2-p | |
2328 | Double_t two1n1nWPerPtBinPOI=0.; // the needed one | |
2329 | if((mPrimePrimePtPOIHere+mPrimePtPOIHere)*dSnk[0][0]-dS11mPrimePrimePtPOI>0) | |
2330 | { | |
2331 | two1n1nWPerPtBinPOI = (qxPrimePrimePtPOIHere*dQnkX[0][0]+qyPrimePrimePtPOIHere*dQnkY[0][0] | |
2332 | ||
2333 | + qxPrimePtPOIHere*dQnkX[0][0]+qyPrimePtPOIHere*dQnkY[0][0] | |
2334 | ||
2335 | -dS11mPrimePrimePtPOI)/((mPrimePrimePtPOIHere+mPrimePtPOIHere)*dSnk[0][0]-dS11mPrimePrimePtPOI); | |
2336 | ||
2337 | f2WPerPtBin1n1nPOI->Fill(fPtMin+(bin-1)*dBinWidthPt,two1n1nWPerPtBinPOI,(mPrimePrimePtPOIHere+mPrimePtPOIHere)*dSnk[0][0]-dS11mPrimePrimePtPOI); // <2'>_{n|n} | |
2338 | } | |
2339 | ||
2340 | // 2-p | |
2341 | Double_t two1n1nW1ppW1W1PtPOI=0.; // <w1 w2 w3 cos(n(phi2-phi3))> // OK!!! | |
2342 | if(dM1pp11PtPOI) | |
2343 | { | |
2344 | two1n1nW1ppW1W1PtPOI = ((pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.))*dS11mPrimePrimePtPOI-2.*(qxW2PrimePrimePtPOI*dQnkX[0][0]+qyW2PrimePrimePtPOI*dQnkY[0][0]) - dS11mPrimePrimePtPOI*dSnk[0][1]+2.*dS13mPrimePrimePtPOI)/dM1pp11PtPOI; // CORRECT !!! <w1 w2 w3 cos(n(phi2-phi3))> | |
2345 | } | |
2346 | ||
2347 | // 2-p | |
2348 | Double_t two1npp1nW1W2PtPOI=0.; // <w2 w3^2 cos(n(psi1-phi2))> // OK !!! | |
2349 | if(dM0pp12PtPOI) | |
2350 | { | |
2351 | two1npp1nW1W2PtPOI = (dSnk[0][1]*(qxPrimePrimePtPOIHere*dQnkX[0][0]+qyPrimePrimePtPOIHere*dQnkY[0][0])-(qxW2PrimePrimePtPOI*dQnkX[0][0]+qyW2PrimePrimePtPOI*dQnkY[0][0])-dM1pp2PtPOI-(qxPrimePrimePtPOIHere*dQnkX[0][2]+qyPrimePrimePtPOIHere*dQnkY[0][2])+dS13mPrimePrimePtPOI)/dM0pp12PtPOI; // CORRECT !!! <w2 w3^2 cos(n(psi1-phi2))> | |
2352 | } | |
2353 | ||
2354 | // 2-p | |
2355 | Double_t two1npp1nW2ppW1PtPOI=0.; // <w1^2 w2 cos(n(psi1-phi2))> // OK !!! | |
2356 | if(dM2pp1PtPOI) | |
2357 | { | |
2358 | two1npp1nW2ppW1PtPOI = ((qxW2PrimePrimePtPOI*dQnkX[0][0]+qyW2PrimePrimePtPOI*dQnkY[0][0])-dS13mPrimePrimePtPOI)/dM2pp1PtPOI; // CORRECT !!! <w1^2 w2 cos(n(psi1-phi2))> | |
2359 | } | |
2360 | ||
2361 | // 2-p | |
2362 | Double_t two2npp2nW1ppW2PtPOI=0.; // <w1 w2^2 cos(2n(psi1-phi2))> OK !!! | |
2363 | if(dM1pp2PtPOI) | |
2364 | { | |
2365 | two2npp2nW1ppW2PtPOI = ((q2xW1PrimePrimePtPOI*dQnkX[1][1]+q2yW1PrimePrimePtPOI*dQnkY[1][1])-dS13mPrimePrimePtPOI)/dM1pp2PtPOI; // CORRECT !!! <w1 w2^2 cos(2n(psi1-phi2))> | |
2366 | } | |
2367 | ||
2368 | // 2-p | |
2369 | Double_t two1npp1nW3PtPOI=0.; // <w2^3 cos(n(psi1-phi2))> // OK !!! | |
2370 | if(dM0pp3PtPOI) | |
2371 | { | |
2372 | two1npp1nW3PtPOI = (qxPrimePrimePtPOIHere*dQnkX[0][2]+qyPrimePrimePtPOIHere*dQnkY[0][2]-dS13mPrimePrimePtPOI)/dM0pp3PtPOI; // CORRECT !!! <w2^3 cos(n(psi1-phi2))> | |
2373 | } | |
2374 | ||
2375 | // 3-p | |
2376 | Double_t three2npp1n1nW1ppW1W1PtPOI=0.; // <w1 w2 w3 cos(n(2psi1-phi2-phi3))> // OK!!! | |
2377 | if(dM1pp11PtPOI) | |
2378 | { | |
2379 | three2npp1n1nW1ppW1W1PtPOI = (q2xW1PrimePrimePtPOI*(dQnkX[0][0]*dQnkX[0][0]-dQnkY[0][0]*dQnkY[0][0])+2.*q2yW1PrimePrimePtPOI*dQnkX[0][0]*dQnkY[0][0]-2.*(qxW2PrimePrimePtPOI*dQnkX[0][0]+qyW2PrimePrimePtPOI*dQnkY[0][0])-(q2xW1PrimePrimePtPOI*dQnkX[1][1]+q2yW1PrimePrimePtPOI*dQnkY[1][1])+2.*dS13mPrimePrimePtPOI)/dM1pp11PtPOI; // CORRECT !!! <w1 w2 w3 cos(n(2psi1-phi2-phi3))> | |
2380 | } | |
2381 | ||
2382 | // 3-p | |
2383 | Double_t three1npp1n2nW0ppW1W2PtPOI=0.; // <w2 w3^2 cos(n(psi1+phi2-2*phi3))> // OK!!! | |
2384 | if(dM0pp12PtPOI) | |
2385 | { | |
2386 | three1npp1n2nW0ppW1W2PtPOI = (qxPrimePrimePtPOIHere*(dQnkX[0][0]*dQnkX[1][1]+dQnkY[0][0]*dQnkY[1][1])-qyPrimePrimePtPOIHere*(dQnkY[0][0]*dQnkX[1][1]-dQnkX[0][0]*dQnkY[1][1])-(qxW2PrimePrimePtPOI*dQnkX[0][0]+qyW2PrimePrimePtPOI*dQnkY[0][0])-(q2xW1PrimePrimePtPOI*dQnkX[1][1]+q2yW1PrimePrimePtPOI*dQnkY[1][1])-(qxPrimePrimePtPOIHere*dQnkX[0][2]+qyPrimePrimePtPOIHere*dQnkY[0][2])+2.*dS13mPrimePrimePtPOI)/dM0pp12PtPOI; // CORRECT !!! <w2 w3^2 cos(n(psi1+phi2-2.*phi3))> | |
2387 | } | |
2388 | ||
2389 | ||
2390 | /* | |
2391 | // 4-p RP | |
2392 | Double_t four1npp1n1n1nW1W1W1=0.; // <w1 w2 w3 cos(n(psi1+phi1-phi2-phi3))> | |
2393 | if(dM0pp111PtPOI) | |
2394 | { | |
2395 | four1npp1n1n1nW1W1W1 = ( ( pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.) ) * (qxPrimePrimePtPOIHere*dQnkX[0][0]+qyPrimePrimePtPOIHere*dQnkY[0][0]) | |
2396 | - 2.*dM1pp11PtPOI*two1n1nW1ppW1W1PtPOI - dM1pp11PtPOI*three2npp1n1nW1ppW1W1PtPOI - dM0pp12PtPOI*three1npp1n2nW0ppW1W2PtPOI - 2.*dM0pp12PtPOI*two1npp1nW1W2PtPOI | |
2397 | - 3.*dM2pp1PtPOI*two1npp1nW2ppW1PtPOI -2.*dM1pp2PtPOI - dM1pp2PtPOI*two2npp2nW1ppW2PtPOI - dM0pp3PtPOI*two1npp1nW3PtPOI - dS13mPrimePrimePtPOI)/(dM0pp111PtPOI); | |
2398 | ||
2399 | } | |
2400 | ||
2401 | */ | |
2402 | ||
2403 | ||
2404 | ||
2405 | /* | |
2406 | // 4- POI | |
2407 | Double_t four1npp1n1n1nW1W1W1POI=0.; | |
2408 | if(dM0p111PtPOI>0&&mPrimePtPOIHere>0&&nRP>0) | |
2409 | { | |
2410 | four1npp1n1n1nW1W1W1POI = ( ( pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.) ) * (qxPrimePtPOIHere*dQnkX[0][0]+qyPrimePtPOIHere*dQnkY[0][0]) | |
2411 | ||
2412 | - 2.*dSnk[0][1]* (qxPrimePtPOIHere*dQnkX[0][0]+qyPrimePtPOIHere*dQnkY[0][0]) | |
2413 | ||
2414 | + 2.*(qxPrimePtPOIHere*dQnkX[0][2]+qyPrimePtPOIHere*dQnkY[0][2]) | |
2415 | ||
2416 | - qxPrimePtPOIHere*(dQnkX[0][0]*dQnkX[1][1]+dQnkY[0][0]*dQnkY[1][1])+qyPrimePtPOIHere*(dQnkY[0][0]*dQnkX[1][1]-dQnkX[0][0]*dQnkY[1][1]))/dM0p111PtPOI; | |
2417 | ||
2418 | ||
2419 | ||
2420 | ||
2421 | } | |
2422 | */ | |
2423 | ||
2424 | ||
2425 | // 4-p RP and POI in all combinations (full, partial and no overlap) | |
2426 | Double_t four1npp1n1n1nW1W1W1PtPOIAndRP=0.; | |
2427 | ||
2428 | if(dM0pp111PtPOI+dM0p111PtPOI) | |
2429 | { | |
2430 | four1npp1n1n1nW1W1W1PtPOIAndRP = ( ( pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.) ) * (qxPrimePrimePtPOIHere*dQnkX[0][0]+qyPrimePrimePtPOIHere*dQnkY[0][0]) | |
2431 | - 2.*dM1pp11PtPOI*two1n1nW1ppW1W1PtPOI - dM1pp11PtPOI*three2npp1n1nW1ppW1W1PtPOI - dM0pp12PtPOI*three1npp1n2nW0ppW1W2PtPOI - 2.*dM0pp12PtPOI*two1npp1nW1W2PtPOI | |
2432 | - 3.*dM2pp1PtPOI*two1npp1nW2ppW1PtPOI -2.*dM1pp2PtPOI - dM1pp2PtPOI*two2npp2nW1ppW2PtPOI - dM0pp3PtPOI*two1npp1nW3PtPOI - dS13mPrimePrimePtPOI + | |
2433 | ||
2434 | ||
2435 | + ( pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.) ) * (qxPrimePtPOIHere*dQnkX[0][0]+qyPrimePtPOIHere*dQnkY[0][0]) | |
2436 | ||
2437 | - 2.*dSnk[0][1]* (qxPrimePtPOIHere*dQnkX[0][0]+qyPrimePtPOIHere*dQnkY[0][0]) | |
2438 | ||
2439 | + 2.*(qxPrimePtPOIHere*dQnkX[0][2]+qyPrimePtPOIHere*dQnkY[0][2]) | |
2440 | ||
2441 | - qxPrimePtPOIHere*(dQnkX[0][0]*dQnkX[1][1]+dQnkY[0][0]*dQnkY[1][1])+qyPrimePtPOIHere*(dQnkY[0][0]*dQnkX[1][1]-dQnkX[0][0]*dQnkY[1][1]))/(dM0pp111PtPOI+dM0p111PtPOI); | |
2442 | ||
2443 | ||
2444 | f4WPerPtBin1n1n1n1nPOI->Fill(fPtMin+(bin-1)*dBinWidthPt,four1npp1n1n1nW1W1W1PtPOIAndRP,dM0pp111PtPOI+dM0p111PtPOI); | |
2445 | } | |
2446 | } | |
2447 | ||
2448 | delete req1nW2PrimePrimePtPOI; | |
2449 | delete imq1nW2PrimePrimePtPOI; | |
2450 | delete req2nW1PrimePrimePtPOI; | |
2451 | delete imq2nW1PrimePrimePtPOI; | |
2452 | delete sumOfW1upTomPrimePrimePtPOI; | |
2453 | delete sumOfW2upTomPrimePrimePtPOI; | |
2454 | delete sumOfW3upTomPrimePrimePtPOI; | |
2455 | ||
2456 | //WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW | |
2457 | ||
2458 | ||
2459 | ||
2460 | ||
2461 | ||
2462 | ||
2463 | ||
2464 | // ETA POI | |
2465 | ||
2466 | ||
2467 | //PrimePrime Eta POI | |
2468 | Double_t qxPrimePrimeEtaPOIHere=0.,qyPrimePrimeEtaPOIHere=0.,q2xPrimePrimeEtaPOIHere=0.,q2yPrimePrimeEtaPOIHere=0.;//add comments for these variable | |
2469 | Double_t qxW2PrimePrimeEtaPOI=0.,qyW2PrimePrimeEtaPOI=0.,q2xW1PrimePrimeEtaPOI=0.,q2yW1PrimePrimeEtaPOI=0.;//add comments for these variable | |
2470 | Double_t dS11mPrimePrimeEtaPOI=0.; // to be improved (name) | |
2471 | Double_t dS12mPrimePrimeEtaPOI=0.; // to be improved (name) | |
2472 | Double_t dS13mPrimePrimeEtaPOI=0.; // to be improved (name) | |
2473 | Double_t mPrimePrimeEtaPOIHere=0.; // to be improved (name) | |
2474 | ||
2475 | Double_t dM1pp11EtaPOI=0.; // to be improved (name) | |
2476 | Double_t dM0pp111EtaPOI=0.; // to be improved (name) | |
2477 | Double_t dM0pp12EtaPOI=0.; | |
2478 | Double_t dM2pp1EtaPOI=0.; | |
2479 | Double_t dM1pp2EtaPOI=0.; | |
2480 | Double_t dM0pp3EtaPOI=0.; | |
2481 | ||
2482 | ||
2483 | ||
2484 | //Prime Eta POI | |
2485 | Double_t qxPrimeEtaPOIHere=0.,qyPrimeEtaPOIHere=0.; | |
2486 | Double_t mPrimeEtaPOIHere=0.; | |
2487 | ||
2488 | Double_t dM0p111EtaPOI=0.; // to be improved (name) | |
2489 | ||
2490 | ||
2491 | for(Int_t bin=1;bin<(fnBinsEta+1);bin++) // loop over pt-bins | |
2492 | { | |
2493 | // q'': | |
2494 | qxPrimePrimeEtaPOIHere = (fEtaReq1nPrimePrimePOI->GetBinContent(bin))*(fEtaReq1nPrimePrimePOI->GetBinEntries(bin)); | |
2495 | qyPrimePrimeEtaPOIHere = (fEtaImq1nPrimePrimePOI->GetBinContent(bin))*(fEtaImq1nPrimePrimePOI->GetBinEntries(bin)); | |
2496 | q2xPrimePrimeEtaPOIHere = (fEtaReq2nPrimePrimePOI->GetBinContent(bin))*(fEtaReq2nPrimePrimePOI->GetBinEntries(bin)); | |
2497 | q2yPrimePrimeEtaPOIHere = (fEtaImq2nPrimePrimePOI->GetBinContent(bin))*(fEtaImq2nPrimePrimePOI->GetBinEntries(bin)); | |
2498 | ||
2499 | ||
2500 | qxW2PrimePrimeEtaPOI = (req1nW2PrimePrimeEtaPOI->GetBinContent(bin))*(req1nW2PrimePrimeEtaPOI->GetBinEntries(bin)); | |
2501 | qyW2PrimePrimeEtaPOI = (imq1nW2PrimePrimeEtaPOI->GetBinContent(bin))*(imq1nW2PrimePrimeEtaPOI->GetBinEntries(bin)); | |
2502 | ||
2503 | q2xW1PrimePrimeEtaPOI = (req2nW1PrimePrimeEtaPOI->GetBinContent(bin))*(req2nW1PrimePrimeEtaPOI->GetBinEntries(bin)); | |
2504 | q2yW1PrimePrimeEtaPOI = (imq2nW1PrimePrimeEtaPOI->GetBinContent(bin))*(imq2nW1PrimePrimeEtaPOI->GetBinEntries(bin)); | |
2505 | ||
2506 | dS11mPrimePrimeEtaPOI = (sumOfW1upTomPrimePrimeEtaPOI->GetBinContent(bin))*(sumOfW1upTomPrimePrimeEtaPOI->GetBinEntries(bin)); | |
2507 | dS12mPrimePrimeEtaPOI = (sumOfW2upTomPrimePrimeEtaPOI->GetBinContent(bin))*(sumOfW2upTomPrimePrimeEtaPOI->GetBinEntries(bin)); | |
2508 | dS13mPrimePrimeEtaPOI = (sumOfW3upTomPrimePrimeEtaPOI->GetBinContent(bin))*(sumOfW3upTomPrimePrimeEtaPOI->GetBinEntries(bin)); | |
2509 | ||
2510 | mPrimePrimeEtaPOIHere = sumOfW1upTomPrimePrimeEtaPOI->GetBinEntries(bin); // to be improved | |
2511 | ||
2512 | dM1pp11EtaPOI=dS11mPrimePrimeEtaPOI*(dSnk[1][0]-dSnk[0][1])-2.*dS12mPrimePrimeEtaPOI*dSnk[0][0]+2.*dS13mPrimePrimeEtaPOI; | |
2513 | dM1pp2EtaPOI=dS11mPrimePrimeEtaPOI*dSnk[0][1]-dS13mPrimePrimeEtaPOI; | |
2514 | dM2pp1EtaPOI=dS12mPrimePrimeEtaPOI*dSnk[0][0]-dS13mPrimePrimeEtaPOI; | |
2515 | dM0pp3EtaPOI=mPrimePrimeEtaPOIHere*dSnk[0][2]-dS13mPrimePrimeEtaPOI; | |
2516 | dM0pp12EtaPOI=mPrimePrimeEtaPOIHere*dSnk[0][0]*dSnk[0][1]-dM2pp1EtaPOI-dM1pp2EtaPOI-dM0pp3EtaPOI-dS13mPrimePrimeEtaPOI; | |
2517 | dM0pp111EtaPOI=mPrimePrimeEtaPOIHere*dSnk[2][0]-3.*dM1pp11EtaPOI-3.*dM0pp12EtaPOI-3.*dM2pp1EtaPOI-3.*dM1pp2EtaPOI-dM0pp3EtaPOI-dS13mPrimePrimeEtaPOI; | |
2518 | ||
2519 | // q': | |
2520 | qxPrimeEtaPOIHere = (fEtaReq1nPrimePOI->GetBinContent(bin))*(fEtaReq1nPrimePOI->GetBinEntries(bin)); | |
2521 | qyPrimeEtaPOIHere = (fEtaImq1nPrimePOI->GetBinContent(bin))*(fEtaImq1nPrimePOI->GetBinEntries(bin)); | |
2522 | ||
2523 | mPrimeEtaPOIHere = fEtaReq1nPrimePOI->GetBinEntries(bin); // to be improved | |
2524 | dM0p111EtaPOI=mPrimeEtaPOIHere*(dSnk[2][0]-3.*dSnk[0][1]*dSnk[0][0]+2.*dSnk[0][2]); | |
2525 | ||
2526 | // 2-p | |
2527 | Double_t two1n1nWPerEtaBinPOI=0.; // the needed one | |
2528 | if((mPrimePrimeEtaPOIHere+mPrimeEtaPOIHere)*dSnk[0][0]-dS11mPrimePrimeEtaPOI>0) | |
2529 | { | |
2530 | two1n1nWPerEtaBinPOI = (qxPrimePrimeEtaPOIHere*dQnkX[0][0]+qyPrimePrimeEtaPOIHere*dQnkY[0][0] | |
2531 | ||
2532 | + qxPrimeEtaPOIHere*dQnkX[0][0]+qyPrimeEtaPOIHere*dQnkY[0][0] | |
2533 | ||
2534 | -dS11mPrimePrimeEtaPOI)/((mPrimePrimeEtaPOIHere+mPrimeEtaPOIHere)*dSnk[0][0]-dS11mPrimePrimeEtaPOI); | |
2535 | ||
2536 | f2WPerEtaBin1n1nPOI->Fill(fEtaMin+(bin-1)*dBinWidthEta,two1n1nWPerEtaBinPOI,(mPrimePrimeEtaPOIHere+mPrimeEtaPOIHere)*dSnk[0][0]-dS11mPrimePrimeEtaPOI); // <2'>_{n|n} | |
2537 | } | |
2538 | ||
2539 | // 2-p | |
2540 | Double_t two1n1nW1ppW1W1EtaPOI=0.; // <w1 w2 w3 cos(n(phi2-phi3))> // OK!!! | |
2541 | if(dM1pp11EtaPOI) | |
2542 | { | |
2543 | two1n1nW1ppW1W1EtaPOI = ((pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.))*dS11mPrimePrimeEtaPOI-2.*(qxW2PrimePrimeEtaPOI*dQnkX[0][0]+qyW2PrimePrimeEtaPOI*dQnkY[0][0]) - dS11mPrimePrimeEtaPOI*dSnk[0][1]+2.*dS13mPrimePrimeEtaPOI)/dM1pp11EtaPOI; // CORRECT !!! <w1 w2 w3 cos(n(phi2-phi3))> | |
2544 | } | |
2545 | ||
2546 | // 2-p | |
2547 | Double_t two1npp1nW1W2EtaPOI=0.; // <w2 w3^2 cos(n(psi1-phi2))> // OK !!! | |
2548 | if(dM0pp12EtaPOI) | |
2549 | { | |
2550 | two1npp1nW1W2EtaPOI = (dSnk[0][1]*(qxPrimePrimeEtaPOIHere*dQnkX[0][0]+qyPrimePrimeEtaPOIHere*dQnkY[0][0])-(qxW2PrimePrimeEtaPOI*dQnkX[0][0]+qyW2PrimePrimeEtaPOI*dQnkY[0][0])-dM1pp2EtaPOI-(qxPrimePrimeEtaPOIHere*dQnkX[0][2]+qyPrimePrimeEtaPOIHere*dQnkY[0][2])+dS13mPrimePrimeEtaPOI)/dM0pp12EtaPOI; // CORRECT !!! <w2 w3^2 cos(n(psi1-phi2))> | |
2551 | } | |
2552 | ||
2553 | // 2-p | |
2554 | Double_t two1npp1nW2ppW1EtaPOI=0.; // <w1^2 w2 cos(n(psi1-phi2))> // OK !!! | |
2555 | if(dM2pp1EtaPOI) | |
2556 | { | |
2557 | two1npp1nW2ppW1EtaPOI = ((qxW2PrimePrimeEtaPOI*dQnkX[0][0]+qyW2PrimePrimeEtaPOI*dQnkY[0][0])-dS13mPrimePrimeEtaPOI)/dM2pp1EtaPOI; // CORRECT !!! <w1^2 w2 cos(n(psi1-phi2))> | |
2558 | } | |
2559 | ||
2560 | // 2-p | |
2561 | Double_t two2npp2nW1ppW2EtaPOI=0.; // <w1 w2^2 cos(2n(psi1-phi2))> OK !!! | |
2562 | if(dM1pp2EtaPOI) | |
2563 | { | |
2564 | two2npp2nW1ppW2EtaPOI = ((q2xW1PrimePrimeEtaPOI*dQnkX[1][1]+q2yW1PrimePrimeEtaPOI*dQnkY[1][1])-dS13mPrimePrimeEtaPOI)/dM1pp2EtaPOI; // CORRECT !!! <w1 w2^2 cos(2n(psi1-phi2))> | |
2565 | } | |
2566 | ||
2567 | // 2-p | |
2568 | Double_t two1npp1nW3EtaPOI=0.; // <w2^3 cos(n(psi1-phi2))> // OK !!! | |
2569 | if(dM0pp3EtaPOI) | |
2570 | { | |
2571 | two1npp1nW3EtaPOI = (qxPrimePrimeEtaPOIHere*dQnkX[0][2]+qyPrimePrimeEtaPOIHere*dQnkY[0][2]-dS13mPrimePrimeEtaPOI)/dM0pp3EtaPOI; // CORRECT !!! <w2^3 cos(n(psi1-phi2))> | |
2572 | } | |
2573 | ||
2574 | // 3-p | |
2575 | Double_t three2npp1n1nW1ppW1W1EtaPOI=0.; // <w1 w2 w3 cos(n(2psi1-phi2-phi3))> // OK!!! | |
2576 | if(dM1pp11EtaPOI) | |
2577 | { | |
2578 | three2npp1n1nW1ppW1W1EtaPOI = (q2xW1PrimePrimeEtaPOI*(dQnkX[0][0]*dQnkX[0][0]-dQnkY[0][0]*dQnkY[0][0])+2.*q2yW1PrimePrimeEtaPOI*dQnkX[0][0]*dQnkY[0][0]-2.*(qxW2PrimePrimeEtaPOI*dQnkX[0][0]+qyW2PrimePrimeEtaPOI*dQnkY[0][0])-(q2xW1PrimePrimeEtaPOI*dQnkX[1][1]+q2yW1PrimePrimeEtaPOI*dQnkY[1][1])+2.*dS13mPrimePrimeEtaPOI)/dM1pp11EtaPOI; // CORRECT !!! <w1 w2 w3 cos(n(2psi1-phi2-phi3))> | |
2579 | } | |
2580 | ||
2581 | // 3-p | |
2582 | Double_t three1npp1n2nW0ppW1W2EtaPOI=0.; // <w2 w3^2 cos(n(psi1+phi2-2*phi3))> // OK!!! | |
2583 | if(dM0pp12EtaPOI) | |
2584 | { | |
2585 | three1npp1n2nW0ppW1W2EtaPOI = (qxPrimePrimeEtaPOIHere*(dQnkX[0][0]*dQnkX[1][1]+dQnkY[0][0]*dQnkY[1][1])-qyPrimePrimeEtaPOIHere*(dQnkY[0][0]*dQnkX[1][1]-dQnkX[0][0]*dQnkY[1][1])-(qxW2PrimePrimeEtaPOI*dQnkX[0][0]+qyW2PrimePrimeEtaPOI*dQnkY[0][0])-(q2xW1PrimePrimeEtaPOI*dQnkX[1][1]+q2yW1PrimePrimeEtaPOI*dQnkY[1][1])-(qxPrimePrimeEtaPOIHere*dQnkX[0][2]+qyPrimePrimeEtaPOIHere*dQnkY[0][2])+2.*dS13mPrimePrimeEtaPOI)/dM0pp12EtaPOI; // CORRECT !!! <w2 w3^2 cos(n(psi1+phi2-2.*phi3))> | |
2586 | } | |
2587 | ||
2588 | ||
2589 | /* | |
2590 | // 4-p RP | |
2591 | Double_t four1npp1n1n1nW1W1W1=0.; // <w1 w2 w3 cos(n(psi1+phi1-phi2-phi3))> | |
2592 | if(dM0pp111EtaPOI) | |
2593 | { | |
2594 | four1npp1n1n1nW1W1W1 = ( ( pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.) ) * (qxPrimePrimeEtaPOIHere*dQnkX[0][0]+qyPrimePrimeEtaPOIHere*dQnkY[0][0]) | |
2595 | - 2.*dM1pp11EtaPOI*two1n1nW1ppW1W1EtaPOI - dM1pp11EtaPOI*three2npp1n1nW1ppW1W1EtaPOI - dM0pp12EtaPOI*three1npp1n2nW0ppW1W2EtaPOI - 2.*dM0pp12EtaPOI*two1npp1nW1W2EtaPOI | |
2596 | - 3.*dM2pp1EtaPOI*two1npp1nW2ppW1EtaPOI -2.*dM1pp2EtaPOI - dM1pp2EtaPOI*two2npp2nW1ppW2EtaPOI - dM0pp3EtaPOI*two1npp1nW3EtaPOI - dS13mPrimePrimeEtaPOI)/(dM0pp111EtaPOI); | |
2597 | ||
2598 | } | |
2599 | ||
2600 | */ | |
2601 | ||
2602 | ||
2603 | ||
2604 | /* | |
2605 | // 4- POI | |
2606 | Double_t four1npp1n1n1nW1W1W1POI=0.; | |
2607 | if(dM0p111EtaPOI>0&&mPrimeEtaPOIHere>0&&nRP>0) | |
2608 | { | |
2609 | four1npp1n1n1nW1W1W1POI = ( ( pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.) ) * (qxPrimeEtaPOIHere*dQnkX[0][0]+qyPrimeEtaPOIHere*dQnkY[0][0]) | |
2610 | ||
2611 | - 2.*dSnk[0][1]* (qxPrimeEtaPOIHere*dQnkX[0][0]+qyPrimeEtaPOIHere*dQnkY[0][0]) | |
2612 | ||
2613 | + 2.*(qxPrimeEtaPOIHere*dQnkX[0][2]+qyPrimeEtaPOIHere*dQnkY[0][2]) | |
2614 | ||
2615 | - qxPrimeEtaPOIHere*(dQnkX[0][0]*dQnkX[1][1]+dQnkY[0][0]*dQnkY[1][1])+qyPrimeEtaPOIHere*(dQnkY[0][0]*dQnkX[1][1]-dQnkX[0][0]*dQnkY[1][1]))/dM0p111EtaPOI; | |
2616 | ||
2617 | ||
2618 | ||
2619 | ||
2620 | } | |
2621 | */ | |
2622 | ||
2623 | ||
2624 | // 4-p RP and POI in all combinations (full, partial and no overlap) | |
2625 | Double_t four1npp1n1n1nW1W1W1EtaPOIAndRP=0.; | |
2626 | ||
2627 | if(dM0pp111EtaPOI+dM0p111EtaPOI) | |
2628 | { | |
2629 | four1npp1n1n1nW1W1W1EtaPOIAndRP = ( ( pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.) ) * (qxPrimePrimeEtaPOIHere*dQnkX[0][0]+qyPrimePrimeEtaPOIHere*dQnkY[0][0]) | |
2630 | - 2.*dM1pp11EtaPOI*two1n1nW1ppW1W1EtaPOI - dM1pp11EtaPOI*three2npp1n1nW1ppW1W1EtaPOI - dM0pp12EtaPOI*three1npp1n2nW0ppW1W2EtaPOI - 2.*dM0pp12EtaPOI*two1npp1nW1W2EtaPOI | |
2631 | - 3.*dM2pp1EtaPOI*two1npp1nW2ppW1EtaPOI -2.*dM1pp2EtaPOI - dM1pp2EtaPOI*two2npp2nW1ppW2EtaPOI - dM0pp3EtaPOI*two1npp1nW3EtaPOI - dS13mPrimePrimeEtaPOI + | |
2632 | ||
2633 | ||
2634 | + ( pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.) ) * (qxPrimeEtaPOIHere*dQnkX[0][0]+qyPrimeEtaPOIHere*dQnkY[0][0]) | |
2635 | ||
2636 | - 2.*dSnk[0][1]* (qxPrimeEtaPOIHere*dQnkX[0][0]+qyPrimeEtaPOIHere*dQnkY[0][0]) | |
2637 | ||
2638 | + 2.*(qxPrimeEtaPOIHere*dQnkX[0][2]+qyPrimeEtaPOIHere*dQnkY[0][2]) | |
2639 | ||
2640 | - qxPrimeEtaPOIHere*(dQnkX[0][0]*dQnkX[1][1]+dQnkY[0][0]*dQnkY[1][1])+qyPrimeEtaPOIHere*(dQnkY[0][0]*dQnkX[1][1]-dQnkX[0][0]*dQnkY[1][1]))/(dM0pp111EtaPOI+dM0p111EtaPOI); | |
2641 | ||
2642 | ||
2643 | f4WPerEtaBin1n1n1n1nPOI->Fill(fEtaMin+(bin-1)*dBinWidthEta,four1npp1n1n1nW1W1W1EtaPOIAndRP,dM0pp111EtaPOI+dM0p111EtaPOI); | |
2644 | } | |
2645 | } | |
2646 | ||
2647 | delete req1nW2PrimePrimeEtaPOI; | |
2648 | delete imq1nW2PrimePrimeEtaPOI; | |
2649 | delete req2nW1PrimePrimeEtaPOI; | |
2650 | delete imq2nW1PrimePrimeEtaPOI; | |
2651 | delete sumOfW1upTomPrimePrimeEtaPOI; | |
2652 | delete sumOfW2upTomPrimePrimeEtaPOI; | |
2653 | delete sumOfW3upTomPrimePrimeEtaPOI; | |
2654 | ||
2655 | ||
2656 | ||
2657 | ||
2658 | ||
2659 | ||
2660 | ||
2661 | ||
2662 | ||
2663 | ||
2664 | ||
2665 | ||
2666 | ||
2667 | ||
2668 | ||
2669 | ||
2670 | ||
2671 | ||
2672 | ||
2673 | ||
2674 | ||
2675 | ||
2676 | ||
2677 | ||
2678 | ||
2679 | // QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQq | |
2680 | ||
2681 | ||
2682 | ||
2683 | ||
2684 | ||
2685 | ||
2686 | ||
2687 | ||
2688 | ||
2689 | ||
2690 | ||
2691 | ||
2692 | ||
2693 | ||
2694 | ||
2695 | ||
2696 | ||
2697 | ||
2698 | ||
2699 | ||
2700 | ||
2701 | ||
2702 | ||
2703 | ||
2704 | ||
2705 | ||
2706 | ||
2707 | ||
2708 | ||
2709 | ||
2710 | ||
2711 | ||
2712 | ||
2713 | ||
2714 | ||
2715 | ||
2716 | ||
2717 | ||
2718 | ||
2719 | ||
2720 | ||
2721 | ||
2722 | ||
2723 | ||
2724 | ||
2725 | ||
2726 | ||
2727 | ||
2728 | ||
2729 | ||
2730 | ||
2731 | ||
1dfa3c16 | 2732 | |
ae733b3b | 2733 | |
1dfa3c16 | 2734 | //Eta: |
2735 | Double_t twoDiffEta1n1nRP=0.,twoDiffEta2n2nRP=0.,threeDiffEta2n1n1nRP=0.,threeDiffEta1n1n2nRP=0.,fourDiffEta1n1n1n1nRP=0.; | |
2736 | ||
2737 | for(Int_t bin=1;bin<(fnBinsEta+1);bin++)//loop over eta-bins | |
2738 | { | |
2739 | qxEtaRP = (fEtaReq1nRP->GetBinContent(bin))*(fEtaReq1nRP->GetBinEntries(bin)); | |
2740 | qyEtaRP = (fEtaImq1nRP->GetBinContent(bin))*(fEtaImq1nRP->GetBinEntries(bin)); | |
2741 | q2xEtaRP = (fEtaReq2nRP->GetBinContent(bin))*(fEtaReq2nRP->GetBinEntries(bin)); | |
2742 | q2yEtaRP = (fEtaImq2nRP->GetBinContent(bin))*(fEtaImq2nRP->GetBinEntries(bin)); | |
2743 | mEtaRP = fEtaReq1nRP->GetBinEntries(bin); | |
ae733b3b | 2744 | dSumOfWeightsUpTomEtaRP = (mPerBinEtaRP->GetBinContent(bin))*(mPerBinEtaRP->GetBinEntries(bin)); |
1dfa3c16 | 2745 | |
3d824203 | 2746 | if(mEtaRP*dSnk[0][0]-dSumOfWeightsUpTomEtaRP) |
1dfa3c16 | 2747 | { |
ae733b3b | 2748 | //twoDiffEta1n1nRP = (qxEtaRP*dQ1nx+qyEtaRP*dQ1ny-mEtaRP)/(mEtaRP*(dMult-1.)); // OK without weights |
2749 | //f2PerEtaBin1n1nRP->Fill(fEtaMin+(bin-1)*dBinWidthEta,twoDiffEta1n1nRP,mEtaRP*(dMult-1.));//<2'>_{n|n} // OK without weights | |
1dfa3c16 | 2750 | |
3d824203 | 2751 | twoDiffEta1n1nRP = (qxEtaRP*dQ1nxW+qyEtaRP*dQ1nyW-dSumOfWeightsUpTomEtaRP)/(mEtaRP*dSnk[0][0]-dSumOfWeightsUpTomEtaRP); // OK without weights |
2752 | f2PerEtaBin1n1nRP->Fill(fEtaMin+(bin-1)*dBinWidthEta,twoDiffEta1n1nRP,mEtaRP*dSnk[0][0]-dSumOfWeightsUpTomEtaRP);//<2'>_{n|n} // OK without weights | |
ae733b3b | 2753 | } |
2754 | ||
2755 | if(mEtaRP>0&&dMult>1) | |
2756 | { | |
1dfa3c16 | 2757 | twoDiffEta2n2nRP = (q2xEtaRP*dQ2nx+q2yEtaRP*dQ2ny-mEtaRP)/(mEtaRP*(dMult-1.)); |
2758 | f2PerEtaBin2n2nRP->Fill(fEtaMin+(bin-1)*dBinWidthEta,twoDiffEta2n2nRP,mEtaRP*(dMult-1.));//<2'>_{2n|2n} | |
2759 | } | |
2760 | ||
2761 | if(mEtaRP>0&&dMult>2) | |
2762 | { | |
2763 | threeDiffEta2n1n1nRP = (q2xEtaRP*(dQ1nx*dQ1nx-dQ1ny*dQ1ny)+2.*q2yEtaRP*dQ1nx*dQ1ny-2.*(qxEtaRP*dQ1nx+qyEtaRP*dQ1ny)-(q2xEtaRP*dQ2nx+q2yEtaRP*dQ2ny)+2.*mEtaRP)/(mEtaRP*(dMult-1.)*(dMult-2.)); | |
2764 | f3PerEtaBin2n1n1nRP->Fill(fEtaMin+(bin-1)*dBinWidthEta,threeDiffEta2n1n1nRP,mEtaRP*(dMult-1.)*(dMult-2.));//Re[<3'>_{2n|n,n}] | |
2765 | ||
2766 | threeDiffEta1n1n2nRP = (dQ2nx*(qxEtaRP*dQ1nx-qyEtaRP*dQ1ny)+dQ2ny*(qxEtaRP*dQ1ny+qyEtaRP*dQ1nx)-2.*(qxEtaRP*dQ1nx+qyEtaRP*dQ1ny)-(q2xEtaRP*dQ2nx+q2yEtaRP*dQ2ny)+2.*mEtaRP)/(mEtaRP*(dMult-1.)*(dMult-2.)); | |
2767 | f3PerEtaBin1n1n2nRP->Fill(fEtaMin+(bin-1)*dBinWidthEta,threeDiffEta1n1n2nRP,mEtaRP*(dMult-1.)*(dMult-2.));//Re[<3'>_{n,n|2n}] | |
2768 | } | |
2769 | ||
2770 | if(mEtaRP>0&&dMult>3) | |
2771 | { | |
2772 | fourDiffEta1n1n1n1nRP = ((dQ1nx*dQ1nx+dQ1ny*dQ1ny)*(qxEtaRP*dQ1nx+qyEtaRP*dQ1ny)-(q2xEtaRP*(dQ1nx*dQ1nx-dQ1ny*dQ1ny)+2.*q2yEtaRP*dQ1nx*dQ1ny)-(dQ2nx*(qxEtaRP*dQ1nx-qyEtaRP*dQ1ny)+dQ2ny*(qxEtaRP*dQ1ny+qyEtaRP*dQ1nx))+(q2xEtaRP*dQ2nx+q2yEtaRP*dQ2ny)-2.*(dMult-3.)*(qxEtaRP*dQ1nx+qyEtaRP*dQ1ny)-2.*mEtaRP*(dQ1nx*dQ1nx+dQ1ny*dQ1ny)+2.*(dQ1nx*qxEtaRP+dQ1ny*qyEtaRP)+2.*mEtaRP*(dMult-3.))/(mEtaRP*(dMult-1.)*(dMult-2.)*(dMult-3.)); | |
2773 | f4PerEtaBin1n1n1n1nRP->Fill(fEtaMin+(bin-1)*dBinWidthEta,fourDiffEta1n1n1n1nRP,mEtaRP*(dMult-1.)*(dMult-2.)*(dMult-3.));//Re[<4'>_{n,n|n,n}] | |
4057ba99 | 2774 | } |
2775 | }//end of for(Int_t bin=1;bin<(fnBinsEta+1);bin++)//loop over eta-bins | |
1dfa3c16 | 2776 | |
2777 | fEtaReq1nRP->Reset(); | |
2778 | fEtaImq1nRP->Reset(); | |
2779 | fEtaReq2nRP->Reset(); | |
2780 | fEtaImq2nRP->Reset(); | |
2781 | ||
ae733b3b | 2782 | mPerBinEtaRP->Reset(); |
2783 | ||
1dfa3c16 | 2784 | //POI: |
4057ba99 | 2785 | Double_t qxPrimePtPOI=0.,qyPrimePtPOI=0.,q2xPrimePtPOI=0.,q2yPrimePtPOI=0.,mPrimePtPOI=0.;//add comments for these variables (deleteMe) |
2786 | Double_t qxPrimePrimePtPOI=0.,qyPrimePrimePtPOI=0.,q2xPrimePrimePtPOI=0.,q2yPrimePrimePtPOI=0.,mPrimePrimePtPOI=0.;//add comments for these variables (deleteMe) | |
2787 | Double_t qxPrimeEtaPOI=0.,qyPrimeEtaPOI=0.,q2xPrimeEtaPOI=0.,q2yPrimeEtaPOI=0.,mPrimeEtaPOI=0.;//add comments for these variables (deleteMe) | |
2788 | Double_t qxPrimePrimeEtaPOI=0.,qyPrimePrimeEtaPOI=0.,q2xPrimePrimeEtaPOI=0.,q2yPrimePrimeEtaPOI=0.,mPrimePrimeEtaPOI=0.;//add comments for the | |
ae733b3b | 2789 | |
2790 | Double_t dSumOfWeightsUpTomPrimePrimePtPOI = 0.; // sum_{i=1}^{m''} w_{i} | |
2791 | Double_t dSumOfWeightsUpTomPrimePrimeEtaPOI = 0.; // sum_{i=1}^{m''} w_{i} | |
2792 | ||
2793 | TProfile *mPrimePrimePerBinPtPOI = new TProfile("mPrimePrimePerBinPtPOI","#sum_{i=1}^{m''} w_{i}''",fnBinsPt,fPtMin,fPtMax,"s"); | |
2794 | TProfile *mPrimePrimePerBinEtaPOI = new TProfile("mPrimePrimePerBinEtaPOI","#sum_{i=1}^{m''} w_{i}''",fnBinsEta,fEtaMin,fEtaMax,"s"); | |
4057ba99 | 2795 | |
ae733b3b | 2796 | for(Int_t i=0;i<nPrim;i++) // loop over all particles (to be improved: do the calculations for RPs and POIs in the same loop) |
1dfa3c16 | 2797 | { |
2798 | fTrack=anEvent->GetTrack(i); | |
4057ba99 | 2799 | if(fTrack) |
1dfa3c16 | 2800 | { |
ae733b3b | 2801 | if(fTrack->UseForDifferentialFlow()) // checking if particle is POI |
1dfa3c16 | 2802 | { |
ae733b3b | 2803 | if(fTrack->UseForIntegratedFlow()) // checking if particle is both POI and RP |
4057ba99 | 2804 | { |
ae733b3b | 2805 | // get azimuthal angle, momentum and pseudorapidity of a particle: |
2806 | dPhi = fTrack->Phi(); | |
2807 | dPt = fTrack->Pt(); | |
2808 | dEta = fTrack->Eta(); | |
2809 | // pt: | |
2810 | fPtReq1nPrimePrimePOI->Fill(dPt,cos(n*dPhi),1.); | |
2811 | fPtImq1nPrimePrimePOI->Fill(dPt,sin(n*dPhi),1.); | |
2812 | fPtReq2nPrimePrimePOI->Fill(dPt,cos(2.*n*dPhi),1.); | |
2813 | fPtImq2nPrimePrimePOI->Fill(dPt,sin(2.*n*dPhi),1.); | |
2814 | // eta: | |
2815 | fEtaReq1nPrimePrimePOI->Fill(dEta,cos(n*dPhi),1.); | |
2816 | fEtaImq1nPrimePrimePOI->Fill(dEta,sin(n*dPhi),1.); | |
2817 | fEtaReq2nPrimePrimePOI->Fill(dEta,cos(2.*n*dPhi),1.); | |
2818 | fEtaImq2nPrimePrimePOI->Fill(dEta,sin(2.*n*dPhi),1.); | |
2819 | // phi weights: | |
2820 | if(fUsePhiWeights) | |
2821 | { | |
2822 | nBinsPhi = phiWeights->GetNbinsX(); | |
2823 | if(nBinsPhi) | |
2824 | { | |
2825 | wPhi = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(dPhi*nBinsPhi/TMath::TwoPi()))); | |
2826 | } | |
2827 | } | |
2828 | // pt weights: | |
2829 | if(fUsePtWeights) | |
2830 | { | |
2831 | if(dBinWidthPt) | |
2832 | { | |
2833 | wPt = ptWeights->GetBinContent(1+(Int_t)(TMath::Floor((dPt-fPtMin)/dBinWidthPt))); | |
2834 | } | |
2835 | } | |
2836 | // eta weights: | |
2837 | if(fUseEtaWeights) | |
2838 | { | |
2839 | if(dBinWidthEta) | |
2840 | { | |
2841 | wEta=etaWeights->GetBinContent(1+(Int_t)(TMath::Floor((dEta-fEtaMin)/dBinWidthEta))); | |
2842 | } | |
2843 | } | |
2844 | // sum_{i=1}^{m''} w_{i}: | |
2845 | mPrimePrimePerBinPtPOI->Fill(dPt,wPhi*wPt*wEta,1.); | |
2846 | mPrimePrimePerBinEtaPOI->Fill(dEta,wPhi*wPt*wEta,1.); | |
2847 | }else if(!(fTrack->UseForIntegratedFlow())) // checking if particles is POI and not RP | |
4057ba99 | 2848 | { |
ae733b3b | 2849 | // get azimuthal angle, momentum and pseudorapidity of a particle: |
2850 | dPhi = fTrack->Phi(); | |
2851 | dPt = fTrack->Pt(); | |
2852 | dEta = fTrack->Eta(); | |
2853 | // pt: | |
2854 | fPtReq1nPrimePOI->Fill(dPt,cos(n*dPhi),1.); | |
2855 | fPtImq1nPrimePOI->Fill(dPt,sin(n*dPhi),1.); | |
2856 | fPtReq2nPrimePOI->Fill(dPt,cos(2.*n*dPhi),1.); | |
2857 | fPtImq2nPrimePOI->Fill(dPt,sin(2.*n*dPhi),1.); | |
2858 | // eta: | |
2859 | fEtaReq1nPrimePOI->Fill(dEta,cos(n*dPhi),1.); | |
2860 | fEtaImq1nPrimePOI->Fill(dEta,sin(n*dPhi),1.); | |
2861 | fEtaReq2nPrimePOI->Fill(dEta,cos(2.*n*dPhi),1.); | |
2862 | fEtaImq2nPrimePOI->Fill(dEta,sin(2.*n*dPhi),1.); | |
2863 | } // end of else if(!(fTrack->UseForIntegratedFlow())) // checking if particles is POI and not RP | |
2864 | } // end of if(fTrack->UseForDifferentialFlow()) // checking if particle is POI | |
2865 | } // end of if(fTrack} | |
2866 | } // end of for(Int_t i=0;i<nPrim;i++) | |
4057ba99 | 2867 | |
ae733b3b | 2868 | // Pt, POI: |
4057ba99 | 2869 | Double_t twoDiffPt1n1nPOI=0.,twoDiffPt2n2nPOI=0.,fourDiffPt1n1n1n1nPOI=0.; |
1dfa3c16 | 2870 | |
ae733b3b | 2871 | for(Int_t bin=1;bin<(fnBinsPt+1);bin++) // loop over pt-bins |
1dfa3c16 | 2872 | { |
ae733b3b | 2873 | // q': |
4057ba99 | 2874 | qxPrimePtPOI = (fPtReq1nPrimePOI->GetBinContent(bin))*(fPtReq1nPrimePOI->GetBinEntries(bin)); |
2875 | qyPrimePtPOI = (fPtImq1nPrimePOI->GetBinContent(bin))*(fPtImq1nPrimePOI->GetBinEntries(bin)); | |
2876 | q2xPrimePtPOI = (fPtReq2nPrimePOI->GetBinContent(bin))*(fPtReq2nPrimePOI->GetBinEntries(bin)); | |
2877 | q2yPrimePtPOI = (fPtImq2nPrimePOI->GetBinContent(bin))*(fPtImq2nPrimePOI->GetBinEntries(bin)); | |
2878 | mPrimePtPOI = fPtReq1nPrimePOI->GetBinEntries(bin); | |
ae733b3b | 2879 | // q'': |
4057ba99 | 2880 | qxPrimePrimePtPOI = (fPtReq1nPrimePrimePOI->GetBinContent(bin))*(fPtReq1nPrimePrimePOI->GetBinEntries(bin)); |
2881 | qyPrimePrimePtPOI = (fPtImq1nPrimePrimePOI->GetBinContent(bin))*(fPtImq1nPrimePrimePOI->GetBinEntries(bin)); | |
2882 | q2xPrimePrimePtPOI = (fPtReq2nPrimePrimePOI->GetBinContent(bin))*(fPtReq2nPrimePrimePOI->GetBinEntries(bin)); | |
2883 | q2yPrimePrimePtPOI = (fPtImq2nPrimePrimePOI->GetBinContent(bin))*(fPtImq2nPrimePrimePOI->GetBinEntries(bin)); | |
ae733b3b | 2884 | mPrimePrimePtPOI = fPtReq1nPrimePrimePOI->GetBinEntries(bin); |
2885 | dSumOfWeightsUpTomPrimePrimePtPOI = (mPrimePrimePerBinPtPOI->GetBinContent(bin))*(mPrimePrimePerBinPtPOI->GetBinEntries(bin)); | |
2886 | ||
3d824203 | 2887 | if((mPrimePrimePtPOI+mPrimePtPOI)*dSnk[0][0]-dSumOfWeightsUpTomPrimePrimePtPOI) |
4057ba99 | 2888 | { |
ae733b3b | 2889 | //twoDiffPt1n1nPOI = (qxPrimePrimePtPOI*dQ1nx+qyPrimePrimePtPOI*dQ1ny-mPrimePrimePtPOI+qxPrimePtPOI*dQ1nx+qyPrimePtPOI*dQ1ny)/(mPrimePrimePtPOI*(dMult-1)+mPrimePtPOI*dMult); // OK without weights |
e8a609bc | 2890 | |
3d824203 | 2891 | twoDiffPt1n1nPOI = (qxPrimePrimePtPOI*dQ1nxW+qyPrimePrimePtPOI*dQ1nyW-dSumOfWeightsUpTomPrimePrimePtPOI+qxPrimePtPOI*dQ1nxW+qyPrimePtPOI*dQ1nyW)/((mPrimePrimePtPOI+mPrimePtPOI)*dSnk[0][0]-dSumOfWeightsUpTomPrimePrimePtPOI); |
ae733b3b | 2892 | |
2893 | //f2PerPtBin1n1nPOI->Fill(fPtMin+(bin-1)*dBinWidthPt,twoDiffPt1n1nPOI,mPrimePrimePtPOI*(dMult-1)+mPrimePtPOI*dMult);//<2'>_{n|n} //OK without weights | |
2894 | ||
3d824203 | 2895 | f2PerPtBin1n1nPOI->Fill(fPtMin+(bin-1)*dBinWidthPt,twoDiffPt1n1nPOI,(mPrimePrimePtPOI+mPrimePtPOI)*dSnk[0][0]-dSumOfWeightsUpTomPrimePrimePtPOI); // <2'>_{n|n} |
ae733b3b | 2896 | |
2897 | twoDiffPt2n2nPOI = (q2xPrimePrimePtPOI*dQ2nx+q2yPrimePrimePtPOI*dQ2ny-mPrimePrimePtPOI+q2xPrimePtPOI*dQ2nx+q2yPrimePtPOI*dQ2ny)/(mPrimePrimePtPOI*(dMult-1)+mPrimePtPOI*dMult); // to be improved: didn't check how it changed with weights | |
3d824203 | 2898 | //f2PerPtBin2n2nPOI->Fill(fPtMin+(bin-1)*dBinWidthPt,twoDiffPt2n2nPOI,mPrimePrimePtPOI*(dMult-1)+mPrimePtPOI*dMult);//<2'>_{2n|2n} |
4057ba99 | 2899 | }//end of if((mPrimePtPOI+mPrimePrimePtPOI>0)&&dMult>0) |
1dfa3c16 | 2900 | |
4057ba99 | 2901 | /* |
2902 | to be improved: correct Eqs. needed here) | |
2903 | if(mPtPOI>0&&dMult>3) | |
1dfa3c16 | 2904 | { |
4057ba99 | 2905 | threeDiffPt2n1n1nPOI = (q2xPtPOI*(dQ1nx*dQ1nx-dQ1ny*dQ1ny)+2.*q2yPtPOI*dQ1nx*dQ1ny-2.*(qxPtPOI*dQ1nx+qyPtPOI*dQ1ny)-(q2xPtPOI*dQ2nx+q2yPtPOI*dQ2ny)+2.*mPtPOI)/(mPtPOI*(dMult-1.)*(dMult-2.));//to be improved (correct formula needed) |
1dfa3c16 | 2906 | //f3PePOItBin2n1n1nPOI->Fill(fPtMin+(bin-1)*dBinWidthPt,threeDiffPt2n1n1nPOI,mPtPOI*(dMult-1.)*(dMult-2.));//Re[<3'>_{2n|n,n}] |
2907 | ||
4057ba99 | 2908 | threeDiffPt1n1n2nPOI = (dQ2nx*(qxPtPOI*dQ1nx-qyPtPOI*dQ1ny)+dQ2ny*(qxPtPOI*dQ1ny+qyPtPOI*dQ1nx)-2.*(qxPtPOI*dQ1nx+qyPtPOI*dQ1ny)-(q2xPtPOI*dQ2nx+q2yPtPOI*dQ2ny)+2.*mPtPOI)/(mPtPOI*(dMult-1.)*(dMult-2.));//to be improved (correct formula needed) |
1dfa3c16 | 2909 | //f3PePOItBin1n1n2nPOI->Fill(fPtMin+(bin-1)*dBinWidthPt,threeDiffPt1n1n2nPOI,mPtPOI*(dMult-1.)*(dMult-2.));//Re[<3'>_{n,n|2n}] |
2910 | } | |
4057ba99 | 2911 | */ |
1dfa3c16 | 2912 | |
4057ba99 | 2913 | //if((mPrimePtPOI+mPrimePrimePtPOI>0)&&dMult>2)//to be improved (dMult>2 or dMult>3) |
2914 | if(!(mPrimePtPOI==0&&mPrimePrimePtPOI==0)&&!(mPrimePtPOI==0&&(dMult==1||dMult==2||dMult==3))&&!(mPrimePrimePtPOI==0&&(dMult==0||dMult==1||dMult==2)))//to be improved | |
2915 | { | |
2916 | fourDiffPt1n1n1n1nPOI=((dQ1nx*dQ1nx+dQ1ny*dQ1ny)*(qxPrimePtPOI*dQ1nx+qyPrimePtPOI*dQ1ny)-2.*(dMult-1)*(qxPrimePtPOI*dQ1nx+qyPrimePtPOI*dQ1ny)-(dQ2nx*(qxPrimePtPOI*dQ1nx-qyPrimePtPOI*dQ1ny)+dQ2ny*(qxPrimePtPOI*dQ1ny+qyPrimePtPOI*dQ1nx))+(dQ1nx*dQ1nx+dQ1ny*dQ1ny)*(qxPrimePrimePtPOI*dQ1nx+qyPrimePrimePtPOI*dQ1ny)-(q2xPrimePrimePtPOI*(dQ1nx*dQ1nx-dQ1ny*dQ1ny)+2.*q2yPrimePrimePtPOI*dQ1nx*dQ1ny)-(dQ2nx*(qxPrimePrimePtPOI*dQ1nx-qyPrimePrimePtPOI*dQ1ny)+dQ2ny*(qxPrimePrimePtPOI*dQ1ny+qyPrimePrimePtPOI*dQ1nx))+(q2xPrimePrimePtPOI*dQ2nx+q2yPrimePrimePtPOI*dQ2ny)-2.*(dMult-3.)*(qxPrimePrimePtPOI*dQ1nx+qyPrimePrimePtPOI*dQ1ny)-2.*mPrimePrimePtPOI*(dQ1nx*dQ1nx+dQ1ny*dQ1ny)+2.*(dQ1nx*qxPrimePrimePtPOI+dQ1ny*qyPrimePrimePtPOI)+2.*mPrimePrimePtPOI*(dMult-3.))/(mPrimePtPOI*dMult*(dMult-1)*(dMult-2)+mPrimePrimePtPOI*(dMult-1)*(dMult-2)*(dMult-3)); | |
2917 | ||
2918 | f4PerPtBin1n1n1n1nPOI->Fill(fPtMin+(bin-1)*dBinWidthPt,fourDiffPt1n1n1n1nPOI,mPrimePtPOI*dMult*(dMult-1)*(dMult-2)+mPrimePrimePtPOI*(dMult-1)*(dMult-2)*(dMult-3));//Re[<4'>_{n,n|n,n}] | |
2919 | }//end of if((mPrimePtPOI+mPrimePrimePtPOI>0)&&dMult>2) | |
2920 | }//end of for(Int_t bin=1;bin<(fnBinsPt+1);bin++)//loop over pt-bins | |
2921 | ||
2922 | fPtReq1nPrimePOI->Reset(); | |
2923 | fPtImq1nPrimePOI->Reset(); | |
2924 | fPtReq2nPrimePOI->Reset(); | |
2925 | fPtImq2nPrimePOI->Reset(); | |
2926 | ||
2927 | fPtReq1nPrimePrimePOI->Reset(); | |
2928 | fPtImq1nPrimePrimePOI->Reset(); | |
2929 | fPtReq2nPrimePrimePOI->Reset(); | |
2930 | fPtImq2nPrimePrimePOI->Reset(); | |
ae733b3b | 2931 | |
2932 | mPrimePrimePerBinPtPOI->Reset(); | |
4057ba99 | 2933 | |
2934 | //Eta: | |
2935 | //Double_t twoDiffEta1n1nPOI=0.,twoDiffEta2n2nPOI=0.,threeDiffEta2n1n1nPOI=0.,threeDiffEta1n1n2nPOI=0.,fourDiffEta1n1n1n1nPOI=0.; | |
2936 | Double_t twoDiffEta1n1nPOI=0.,twoDiffEta2n2nPOI=0.,fourDiffEta1n1n1n1nPOI=0.; | |
2937 | ||
2938 | for(Int_t bin=1;bin<(fnBinsEta+1);bin++)//loop over eta-bins | |
2939 | { | |
2940 | //q' | |
2941 | qxPrimeEtaPOI = (fEtaReq1nPrimePOI->GetBinContent(bin))*(fEtaReq1nPrimePOI->GetBinEntries(bin)); | |
2942 | qyPrimeEtaPOI = (fEtaImq1nPrimePOI->GetBinContent(bin))*(fEtaImq1nPrimePOI->GetBinEntries(bin)); | |
2943 | q2xPrimeEtaPOI = (fEtaReq2nPrimePOI->GetBinContent(bin))*(fEtaReq2nPrimePOI->GetBinEntries(bin)); | |
2944 | q2yPrimeEtaPOI = (fEtaImq2nPrimePOI->GetBinContent(bin))*(fEtaImq2nPrimePOI->GetBinEntries(bin)); | |
2945 | mPrimeEtaPOI = fEtaReq1nPrimePOI->GetBinEntries(bin); | |
2946 | //q'' | |
2947 | qxPrimePrimeEtaPOI = (fEtaReq1nPrimePrimePOI->GetBinContent(bin))*(fEtaReq1nPrimePrimePOI->GetBinEntries(bin)); | |
2948 | qyPrimePrimeEtaPOI = (fEtaImq1nPrimePrimePOI->GetBinContent(bin))*(fEtaImq1nPrimePrimePOI->GetBinEntries(bin)); | |
2949 | q2xPrimePrimeEtaPOI = (fEtaReq2nPrimePrimePOI->GetBinContent(bin))*(fEtaReq2nPrimePrimePOI->GetBinEntries(bin)); | |
2950 | q2yPrimePrimeEtaPOI = (fEtaImq2nPrimePrimePOI->GetBinContent(bin))*(fEtaImq2nPrimePrimePOI->GetBinEntries(bin)); | |
ae733b3b | 2951 | mPrimePrimeEtaPOI = fEtaReq1nPrimePrimePOI->GetBinEntries(bin); |
2952 | dSumOfWeightsUpTomPrimePrimeEtaPOI = (mPrimePrimePerBinEtaPOI->GetBinContent(bin))*(mPrimePrimePerBinEtaPOI->GetBinEntries(bin)); | |
2953 | ||
3d824203 | 2954 | if((mPrimePrimeEtaPOI+mPrimeEtaPOI)*dSnk[0][0]-dSumOfWeightsUpTomPrimePrimeEtaPOI)//to be improved (dMult>1 or dMult>0) |
4057ba99 | 2955 | { |
ae733b3b | 2956 | //twoDiffEta1n1nPOI = (qxPrimePrimeEtaPOI*dQ1nx+qyPrimePrimeEtaPOI*dQ1ny-mPrimePrimeEtaPOI+qxPrimeEtaPOI*dQ1nx+qyPrimeEtaPOI*dQ1ny)/(mPrimePrimeEtaPOI*(dMult-1)+mPrimeEtaPOI*dMult); // OK without weights |
2957 | //f2PerEtaBin1n1nPOI->Fill(fEtaMin+(bin-1)*dBinWidthEta,twoDiffEta1n1nPOI,mPrimePrimeEtaPOI*(dMult-1)+mPrimeEtaPOI*dMult);//<2'>_{n|n} // OK without weights | |
4057ba99 | 2958 | |
3d824203 | 2959 | twoDiffEta1n1nPOI = (qxPrimePrimeEtaPOI*dQ1nxW+qyPrimePrimeEtaPOI*dQ1nyW-dSumOfWeightsUpTomPrimePrimeEtaPOI+qxPrimeEtaPOI*dQ1nxW+qyPrimeEtaPOI*dQ1nyW)/((mPrimePrimeEtaPOI+mPrimeEtaPOI)*dSnk[0][0]-dSumOfWeightsUpTomPrimePrimeEtaPOI); |
2960 | f2PerEtaBin1n1nPOI->Fill(fEtaMin+(bin-1)*dBinWidthEta,twoDiffEta1n1nPOI,(mPrimePrimeEtaPOI+mPrimeEtaPOI)*dSnk[0][0]-dSumOfWeightsUpTomPrimePrimeEtaPOI); // <2'>_{n|n} | |
2961 | } | |
2962 | ||
2963 | if(mPrimePrimeEtaPOI*(dMult-1)+mPrimeEtaPOI*dMult) | |
2964 | { | |
4057ba99 | 2965 | twoDiffEta2n2nPOI = (q2xPrimePrimeEtaPOI*dQ2nx+q2yPrimePrimeEtaPOI*dQ2ny-mPrimePrimeEtaPOI+q2xPrimeEtaPOI*dQ2nx+q2yPrimeEtaPOI*dQ2ny)/(mPrimePrimeEtaPOI*(dMult-1)+mPrimeEtaPOI*dMult); |
2966 | f2PerEtaBin2n2nPOI->Fill(fEtaMin+(bin-1)*dBinWidthEta,twoDiffEta2n2nPOI,mPrimePrimeEtaPOI*(dMult-1)+mPrimeEtaPOI*dMult);//<2'>_{2n|2n} | |
2967 | }//end of if((mPrimeEtaPOI+mPrimePrimeEtaPOI>0)&&dMult>0) | |
2968 | ||
2969 | /* | |
2970 | to be improved: correct Eqs. needed here) | |
2971 | if(mEtaPOI>0&&dMult>3) | |
1dfa3c16 | 2972 | { |
4057ba99 | 2973 | threeDiffEta2n1n1nPOI = (q2xEtaPOI*(dQ1nx*dQ1nx-dQ1ny*dQ1ny)+2.*q2yEtaPOI*dQ1nx*dQ1ny-2.*(qxEtaPOI*dQ1nx+qyEtaPOI*dQ1ny)-(q2xEtaPOI*dQ2nx+q2yEtaPOI*dQ2ny)+2.*mEtaPOI)/(mEtaPOI*(dMult-1.)*(dMult-2.));//to be improved (correct formula) |
2974 | //f3PePOItBin2n1n1nPOI->Fill(fEtaMin+(bin-1)*dBinWidthEta,threeDiffEta2n1n1nPOI,mEtaPOI*(dMult-1.)*(dMult-2.));//Re[<3'>_{2n|n,n}] | |
1dfa3c16 | 2975 | |
4057ba99 | 2976 | threeDiffEta1n1n2nPOI = (dQ2nx*(qxEtaPOI*dQ1nx-qyEtaPOI*dQ1ny)+dQ2ny*(qxEtaPOI*dQ1ny+qyEtaPOI*dQ1nx)-2.*(qxEtaPOI*dQ1nx+qyEtaPOI*dQ1ny)-(q2xEtaPOI*dQ2nx+q2yEtaPOI*dQ2ny)+2.*mEtaPOI)/(mEtaPOI*(dMult-1.)*(dMult-2.));//to be improved (correct formula) |
2977 | //f3PePOItBin1n1n2nPOI->Fill(fEtaMin+(bin-1)*dBinWidthEta,threeDiffEta1n1n2nPOI,mEtaPOI*(dMult-1.)*(dMult-2.));//Re[<3'>_{n,n|2n}] | |
2978 | } | |
2979 | */ | |
1dfa3c16 | 2980 | |
4057ba99 | 2981 | //if((mPrimeEtaPOI+mPrimePrimeEtaPOI>0)&&dMult>2)//to be improved (dMult>2 or dMult>3) |
2982 | if(!(mPrimeEtaPOI==0&&mPrimePrimeEtaPOI==0)&&!(mPrimeEtaPOI==0&&(dMult==1||dMult==2||dMult==3))&&!(mPrimePrimeEtaPOI==0&&(dMult==0||dMult==1||dMult==2))) | |
2983 | { | |
2984 | fourDiffEta1n1n1n1nPOI=((dQ1nx*dQ1nx+dQ1ny*dQ1ny)*(qxPrimeEtaPOI*dQ1nx+qyPrimeEtaPOI*dQ1ny)-2.*(dMult-1)*(qxPrimeEtaPOI*dQ1nx+qyPrimeEtaPOI*dQ1ny)-(dQ2nx*(qxPrimeEtaPOI*dQ1nx-qyPrimeEtaPOI*dQ1ny)+dQ2ny*(qxPrimeEtaPOI*dQ1ny+qyPrimeEtaPOI*dQ1nx))+(dQ1nx*dQ1nx+dQ1ny*dQ1ny)*(qxPrimePrimeEtaPOI*dQ1nx+qyPrimePrimeEtaPOI*dQ1ny)-(q2xPrimePrimeEtaPOI*(dQ1nx*dQ1nx-dQ1ny*dQ1ny)+2.*q2yPrimePrimeEtaPOI*dQ1nx*dQ1ny)-(dQ2nx*(qxPrimePrimeEtaPOI*dQ1nx-qyPrimePrimeEtaPOI*dQ1ny)+dQ2ny*(qxPrimePrimeEtaPOI*dQ1ny+qyPrimePrimeEtaPOI*dQ1nx))+(q2xPrimePrimeEtaPOI*dQ2nx+q2yPrimePrimeEtaPOI*dQ2ny)-2.*(dMult-3.)*(qxPrimePrimeEtaPOI*dQ1nx+qyPrimePrimeEtaPOI*dQ1ny)-2.*mPrimePrimeEtaPOI*(dQ1nx*dQ1nx+dQ1ny*dQ1ny)+2.*(dQ1nx*qxPrimePrimeEtaPOI+dQ1ny*qyPrimePrimeEtaPOI)+2.*mPrimePrimeEtaPOI*(dMult-3.))/(mPrimeEtaPOI*dMult*(dMult-1)*(dMult-2)+mPrimePrimeEtaPOI*(dMult-1)*(dMult-2)*(dMult-3)); | |
2985 | ||
2986 | f4PerEtaBin1n1n1n1nPOI->Fill(fEtaMin+(bin-1)*dBinWidthEta,fourDiffEta1n1n1n1nPOI,mPrimeEtaPOI*dMult*(dMult-1)*(dMult-2)+mPrimePrimeEtaPOI*(dMult-1)*(dMult-2)*(dMult-3));//Re[<4'>_{n,n|n,n}] | |
2987 | }//end of if((mPrimeEtaPOI+mPrimePrimeEtaPOI>0)&&dMult>2) | |
2988 | }//end of for(Int_t bin=1;bin<(fnBinsEta+1);bin++)//loop over eta-bins | |
2989 | ||
2990 | fEtaReq1nPrimePOI->Reset(); | |
2991 | fEtaImq1nPrimePOI->Reset(); | |
2992 | fEtaReq2nPrimePOI->Reset(); | |
2993 | fEtaImq2nPrimePOI->Reset(); | |
1dfa3c16 | 2994 | |
4057ba99 | 2995 | fEtaReq1nPrimePrimePOI->Reset(); |
2996 | fEtaImq1nPrimePrimePOI->Reset(); | |
2997 | fEtaReq2nPrimePrimePOI->Reset(); | |
2998 | fEtaImq2nPrimePrimePOI->Reset(); | |
ae733b3b | 2999 | |
3000 | mPrimePrimePerBinEtaPOI->Reset(); | |
3001 | ||
4057ba99 | 3002 | //--------------------------------------------------------------------------------------------------------- |
3003 | ||
3004 | ||
6f5d8033 | 3005 | delete mPerBinPtRP; |
3006 | delete mPerBinEtaRP; | |
3007 | delete mPrimePrimePerBinPtPOI; | |
3008 | delete mPrimePrimePerBinEtaPOI; | |
3009 | ||
4057ba99 | 3010 | |
3011 | ||
3012 | ||
3013 | ||
3014 | ||
3015 | ||
3016 | ||
3017 | ||
3018 | ||
3019 | /* | |
1dfa3c16 | 3020 | //Eta: |
3021 | Double_t twoDiffEta1n1nPOI=0.,twoDiffEta2n2nPOI=0.,threeDiffEta2n1n1nPOI=0.,threeDiffEta1n1n2nPOI=0.,fourDiffEta1n1n1n1nPOI=0.; | |
3022 | ||
3023 | for(Int_t bin=1;bin<(fnBinsEta+1);bin++)//loop over eta-bins | |
3024 | { | |
3025 | qxEtaPOI = (fEtaReq1nPOI->GetBinContent(bin))*(fEtaReq1nPOI->GetBinEntries(bin)); | |
3026 | qyEtaPOI = (fEtaImq1nPOI->GetBinContent(bin))*(fEtaImq1nPOI->GetBinEntries(bin)); | |
3027 | q2xEtaPOI = (fEtaReq2nPOI->GetBinContent(bin))*(fEtaReq2nPOI->GetBinEntries(bin)); | |
3028 | q2yEtaPOI = (fEtaImq2nPOI->GetBinContent(bin))*(fEtaImq2nPOI->GetBinEntries(bin)); | |
4057ba99 | 3029 | mEtaPOI = fEtaReq1nPOI->GetBinEntries(bin); |
1dfa3c16 | 3030 | |
3031 | if(mEtaPOI>0&&dMult>1) | |
3032 | { | |
e8a609bc | 3033 | twoDiffEta1n1nPOI = (qxEtaPOI*dQ1nx+qyEtaPOI*dQ1ny-dOverlapEta)/((mEtaPOI-dOverlapEta)*dMult+dOverlapEta*(dMult-1.)); |
3034 | f2PerEtaBin1n1nPOI->Fill(fEtaMin+(bin-1)*dBinWidthEta,twoDiffEta1n1nPOI,(mEtaPOI-dOverlapEta)*dMult+dOverlapEta*(dMult-1.));//<2'>_{n|n} | |
1dfa3c16 | 3035 | |
e8a609bc | 3036 | twoDiffEta2n2nPOI = (q2xEtaPOI*dQ2nx+q2yEtaPOI*dQ2ny-dOverlapEta)/((mEtaPOI-dOverlapEta)*dMult+dOverlapEta*(dMult-1.)); |
3037 | f2PerEtaBin2n2nPOI->Fill(fEtaMin+(bin-1)*dBinWidthEta,twoDiffEta2n2nPOI,(mEtaPOI-dOverlapEta)*dMult+dOverlapEta*(dMult-1.));//<2'>_{2n|2n} | |
1dfa3c16 | 3038 | } |
3039 | ||
3040 | if(mEtaPOI>0&&dMult>2) | |
3041 | { | |
3042 | threeDiffEta2n1n1nPOI = (q2xEtaPOI*(dQ1nx*dQ1nx-dQ1ny*dQ1ny)+2.*q2yEtaPOI*dQ1nx*dQ1ny-2.*(qxEtaPOI*dQ1nx+qyEtaPOI*dQ1ny)-(q2xEtaPOI*dQ2nx+q2yEtaPOI*dQ2ny)+2.*mEtaPOI)/(mEtaPOI*(dMult-1.)*(dMult-2.));//to be improved (correct formula) | |
3043 | //f3PerEtaBin2n1n1nPOI->Fill(fEtaMin+(bin-1)*dBinWidthEta,threeDiffEta2n1n1nPOI,mEtaPOI*(dMult-1.)*(dMult-2.));//Re[<3'>_{2n|n,n}] | |
3044 | ||
3045 | threeDiffEta1n1n2nPOI = (dQ2nx*(qxEtaPOI*dQ1nx-qyEtaPOI*dQ1ny)+dQ2ny*(qxEtaPOI*dQ1ny+qyEtaPOI*dQ1nx)-2.*(qxEtaPOI*dQ1nx+qyEtaPOI*dQ1ny)-(q2xEtaPOI*dQ2nx+q2yEtaPOI*dQ2ny)+2.*mEtaPOI)/(mEtaPOI*(dMult-1.)*(dMult-2.));//to be improved (correct formula) | |
3046 | //f3PerEtaBin1n1n2nPOI->Fill(fEtaMin+(bin-1)*dBinWidthEta,threeDiffEta1n1n2nPOI,mEtaPOI*(dMult-1.)*(dMult-2.));//Re[<3'>_{n,n|2n}] | |
3047 | } | |
3048 | ||
3049 | if(mEtaPOI>0&&dMult>3) | |
3050 | { | |
3051 | fourDiffEta1n1n1n1nPOI = ((dQ1nx*dQ1nx+dQ1ny*dQ1ny)*(qxEtaPOI*dQ1nx+qyEtaPOI*dQ1ny)-(q2xEtaPOI*(dQ1nx*dQ1nx-dQ1ny*dQ1ny)+2.*q2yEtaPOI*dQ1nx*dQ1ny)-(dQ2nx*(qxEtaPOI*dQ1nx-qyEtaPOI*dQ1ny)+dQ2ny*(qxEtaPOI*dQ1ny+qyEtaPOI*dQ1nx))+(q2xEtaPOI*dQ2nx+q2yEtaPOI*dQ2ny)-2.*(dMult-3.)*(qxEtaPOI*dQ1nx+qyEtaPOI*dQ1ny)-2.*mEtaPOI*(dQ1nx*dQ1nx+dQ1ny*dQ1ny)+2.*(dQ1nx*qxEtaPOI+dQ1ny*qyEtaPOI)+2.*mEtaPOI*(dMult-3.))/(mEtaPOI*(dMult-1.)*(dMult-2.)*(dMult-3.));//to be improved (correct formula) | |
3052 | //f4PerEtaBin1n1n1n1nPOI->Fill(fEtaMin+(bin-1)*dBinWidthEta,fourDiffEta1n1n1n1nPOI,mEtaPOI*(dMult-1.)*(dMult-2.)*(dMult-3.));//Re[<4'>_{n,n|n,n}] | |
3053 | } | |
3054 | ||
3055 | } | |
3056 | ||
3057 | fEtaReq1nPOI->Reset(); | |
3058 | fEtaImq1nPOI->Reset(); | |
3059 | fEtaReq2nPOI->Reset(); | |
3060 | fEtaImq2nPOI->Reset(); | |
4057ba99 | 3061 | */ |
bc92c0cb | 3062 | |
3063 | ||
3064 | ||
3065 | ||
3066 | ||
3067 | ||
3068 | ||
3069 | ||
3070 | ||
bc92c0cb | 3071 | |
3072 | ||
3073 | ||
bc92c0cb | 3074 | |
3075 | ||
bc92c0cb | 3076 | |
bc92c0cb | 3077 | |
3078 | ||
3079 | ||
bc92c0cb | 3080 | |
3081 | ||
3082 | ||
3083 | ||
3084 | ||
3085 | ||
3086 | ||
3087 | ||
bc92c0cb | 3088 | |
bc92c0cb | 3089 | |
dee1e0e0 | 3090 | |
4057ba99 | 3091 | //if(bNestedLoops)to be improved |
3092 | //{ to be improved | |
dee1e0e0 | 3093 | //-------------------------------------------------------------------------------------------------------------------------------- |
3094 | // | |
3095 | // ********************** | |
3096 | // **** NESTED LOOPS **** | |
3097 | // ********************** | |
3098 | // | |
3099 | // Remark 1: multi-particle correlations calculated with nested loops are stored in fDirectCorrelations. | |
3d824203 | 3100 | // Remark 2: binning of fDirectCorrelations: bins 0..100 - correlations needed for integrated flow; bins 100..200 - correlations needed for differential flow (taking as an example bin 0.5 < pt < 0.6) |
dee1e0e0 | 3101 | // |
3102 | // binning details of fDirectCorrelations (integrated flow): | |
3d824203 | 3103 | //.......................................................................... |
3104 | // 1st bin: weighted <2>_{n|n} = <w1 w2 cos( n*(phi1-phi2))> | |
3105 | // 2nd bin: weighted <2>_{2n|2n} = <w1^2 w2^2 cos(2n*(phi1-phi2))> | |
3106 | // 3rd bin: weighted <2>_{3n|3n} = <w1^3 w2^3 cos(3n*(phi1-phi2))> | |
3107 | // 4th bin: weighted <2>_{4n|4n} = <w1^4 w2^4 cos(4n*(phi1-phi2))> | |
3108 | // 5th bin: weighted <2>_{n|n} = <w1^3 w2 cos(n*(phi1-phi2))> | |
3109 | ||
3110 | // 11th bin: weighted <3>_{2n|n,n} = <w1^2 w2 w3 cos(n*(2phi1-phi2-phi3))> | |
3111 | //.......................................................................... | |
dee1e0e0 | 3112 | |
3d824203 | 3113 | /* |
dee1e0e0 | 3114 | Double_t phi1=0., phi2=0., phi3=0., phi4=0., phi5=0., phi6=0., phi7=0., phi8=0.; |
3d824203 | 3115 | Double_t wPhi1=1., wPhi2=1., wPhi3=1., wPhi4=1., wPhi5=1., wPhi6=1., wPhi7=1., wPhi8=1.; |
3116 | ||
3117 | ||
3118 | Double_t tempLoop = 0.; | |
3119 | Int_t tempCounter = 0.; | |
3120 | ||
dee1e0e0 | 3121 | |
1dfa3c16 | 3122 | for(Int_t i1=0;i1<dMult;i1++) |
bc92c0cb | 3123 | { |
dee1e0e0 | 3124 | fTrack=anEvent->GetTrack(i1); |
bc92c0cb | 3125 | phi1=fTrack->Phi(); |
3d824203 | 3126 | if(phiWeights) wPhi1 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi1*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3127 | for(Int_t i2=0;i2<dMult;i2++) |
bc92c0cb | 3128 | { |
dee1e0e0 | 3129 | if(i2==i1)continue; |
3130 | fTrack=anEvent->GetTrack(i2); | |
bc92c0cb | 3131 | phi2=fTrack->Phi(); |
3d824203 | 3132 | if(phiWeights) wPhi2 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi2*nBinsPhi/TMath::TwoPi()))); |
3133 | // 2-p | |
3134 | fDirectCorrelations->Fill(0.,cos(n*(phi1-phi2)),wPhi1*wPhi2); // <w1 w2 cos( n*(phi1-phi2))> | |
3135 | fDirectCorrelations->Fill(1.,cos(2.*n*(phi1-phi2)),pow(wPhi1,2)*pow(wPhi2,2)); // <w1^2 w2^2 cos(2n*(phi1-phi2))> | |
3136 | fDirectCorrelations->Fill(2.,cos(3.*n*(phi1-phi2)),pow(wPhi1,3)*pow(wPhi2,3)); // <w1^3 w2^3 cos(3n*(phi1-phi2))> | |
3137 | fDirectCorrelations->Fill(3.,cos(4.*n*(phi1-phi2)),pow(wPhi1,4)*pow(wPhi2,4)); // <w1^4 w2^4 cos(4n*(phi1-phi2))> | |
3138 | fDirectCorrelations->Fill(4.,cos(n*(phi1-phi2)),pow(wPhi1,3)*wPhi2); // <w1^3 w2 cos(n*(phi1-phi2))> | |
bc92c0cb | 3139 | } |
3140 | } | |
3d824203 | 3141 | |
3142 | ||
3143 | */ | |
3144 | ||
3145 | /* | |
3146 | ||
1dfa3c16 | 3147 | for(Int_t i1=0;i1<dMult;i1++) |
bc92c0cb | 3148 | { |
dee1e0e0 | 3149 | fTrack=anEvent->GetTrack(i1); |
bc92c0cb | 3150 | phi1=fTrack->Phi(); |
3d824203 | 3151 | if(phiWeights) wPhi1 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi1*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3152 | for(Int_t i2=0;i2<dMult;i2++) |
bc92c0cb | 3153 | { |
dee1e0e0 | 3154 | if(i2==i1)continue; |
3155 | fTrack=anEvent->GetTrack(i2); | |
3d824203 | 3156 | const Double_t ptmin2 = 0.0; |
bc92c0cb | 3157 | phi2=fTrack->Phi(); |
3d824203 | 3158 | if(phiWeights) wPhi2 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi2*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3159 | for(Int_t i3=0;i3<dMult;i3++) |
bc92c0cb | 3160 | { |
dee1e0e0 | 3161 | if(i3==i1||i3==i2)continue; |
3162 | fTrack=anEvent->GetTrack(i3); | |
bc92c0cb | 3163 | phi3=fTrack->Phi(); |
3d824203 | 3164 | if(phiWeights) wPhi3 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi3*nBinsPhi/TMath::TwoPi()))); |
3165 | // 2-p | |
3166 | fDirectCorrelations->Fill(5.,cos(n*(phi1-phi2)),wPhi1*wPhi2*pow(wPhi3,2)); // <w1 w2 w3^2 cos(n*(phi1-phi2))> | |
3167 | ||
3168 | // 3-p | |
3169 | fDirectCorrelations->Fill(10.,cos(2.*n*phi1-n*(phi2+phi3)),pow(wPhi1,2)*wPhi2*wPhi3); // <w1^2 w2 w3 cos(n*(2phi1-phi2-phi3))> | |
3170 | ||
3171 | ||
3172 | fDirectCorrelations->Fill(6.,cos(3.*n*phi1-2.*n*phi2-n*phi3),pow(wPhi1,3)*pow(wPhi2,2)*wPhi3); //<3>_{3n|2n,n} | |
3173 | fDirectCorrelations->Fill(7.,cos(4.*n*phi1-2.*n*phi2-2.*n*phi3),pow(wPhi1,4)*pow(wPhi2,2)*pow(wPhi3,2)); //<3>_{4n|2n,2n} | |
3174 | fDirectCorrelations->Fill(8.,cos(4.*n*phi1-3.*n*phi2-n*phi3),pow(wPhi1,4)*pow(wPhi2,3)*wPhi3); //<3>_{4n|3n,n} | |
3175 | ||
3176 | ||
bc92c0cb | 3177 | } |
3178 | } | |
3179 | } | |
3d824203 | 3180 | |
3181 | */ | |
3182 | ||
3183 | ||
3184 | ||
3185 | /* | |
bc92c0cb | 3186 | |
dee1e0e0 | 3187 | //<4>_{n,n|n,n}, <4>_{2n,n|2n,n}, <4>_{2n,2n|2n,2n}, <4>_{3n|n,n,n}, <4>_{3n,n|3n,n}, <4>_{3n,n|2n,2n} and <4>_{4n|2n,n,n} |
1dfa3c16 | 3188 | for(Int_t i1=0;i1<dMult;i1++) |
bc92c0cb | 3189 | { |
dee1e0e0 | 3190 | fTrack=anEvent->GetTrack(i1); |
bc92c0cb | 3191 | phi1=fTrack->Phi(); |
3d824203 | 3192 | if(phiWeights) wPhi1 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi1*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3193 | for(Int_t i2=0;i2<dMult;i2++) |
bc92c0cb | 3194 | { |
dee1e0e0 | 3195 | if(i2==i1)continue; |
3196 | fTrack=anEvent->GetTrack(i2); | |
bc92c0cb | 3197 | phi2=fTrack->Phi(); |
3d824203 | 3198 | if(phiWeights) wPhi2 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi2*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3199 | for(Int_t i3=0;i3<dMult;i3++) |
bc92c0cb | 3200 | { |
dee1e0e0 | 3201 | if(i3==i1||i3==i2)continue; |
3202 | fTrack=anEvent->GetTrack(i3); | |
bc92c0cb | 3203 | phi3=fTrack->Phi(); |
3d824203 | 3204 | if(phiWeights) wPhi3 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi3*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3205 | for(Int_t i4=0;i4<dMult;i4++) |
bc92c0cb | 3206 | { |
dee1e0e0 | 3207 | if(i4==i1||i4==i2||i4==i3)continue; |
3208 | fTrack=anEvent->GetTrack(i4); | |
bc92c0cb | 3209 | phi4=fTrack->Phi(); |
3d824203 | 3210 | if(phiWeights) wPhi4 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi4*nBinsPhi/TMath::TwoPi()))); |
3211 | fDirectCorrelations->Fill(20.,cos(n*phi1+n*phi2-n*phi3-n*phi4),wPhi1*wPhi2*wPhi3*wPhi4); // <4>_{n,n|n,n} = <w1 w2 w3 w4 cos(n*(phi1+phi2-phi3-phi4))> | |
3212 | ||
3213 | ||
3214 | fDirectCorrelations->Fill(11.,cos(2.*n*phi1+n*phi2-2.*n*phi3-n*phi4),wPhi1*wPhi2*wPhi3*wPhi4); //<4>_{2n,n|2n,n} | |
3215 | fDirectCorrelations->Fill(12.,cos(2.*n*phi1+2*n*phi2-2.*n*phi3-2.*n*phi4),wPhi1*wPhi2*wPhi3*wPhi4); //<4>_{2n,2n|2n,2n} | |
3216 | fDirectCorrelations->Fill(13.,cos(3.*n*phi1-n*phi2-n*phi3-n*phi4),wPhi1*wPhi2*wPhi3*wPhi4); //<4>_{3n|n,n,n} | |
3217 | fDirectCorrelations->Fill(14.,cos(3.*n*phi1+n*phi2-3.*n*phi3-n*phi4),wPhi1*wPhi2*wPhi3*wPhi4); //<4>_{3n,n|3n,n} | |
3218 | fDirectCorrelations->Fill(15.,cos(3.*n*phi1+n*phi2-2.*n*phi3-2.*n*phi4),wPhi1*wPhi2*wPhi3*wPhi4); //<4>_{3n,n|2n,2n} | |
3219 | fDirectCorrelations->Fill(16.,cos(4.*n*phi1-2.*n*phi2-n*phi3-n*phi4),wPhi1*wPhi2*wPhi3*wPhi4); //<4>_{4n|2n,n,n} | |
3220 | ||
bc92c0cb | 3221 | } |
3222 | } | |
3223 | } | |
3224 | } | |
3225 | ||
3d824203 | 3226 | */ |
3227 | ||
3228 | /* | |
3229 | ||
dee1e0e0 | 3230 | //<5>_{2n,n,n,n,n}, //<5>_{2n,2n|2n,n,n}, <5>_{3n,n|2n,n,n} and <5>_{4n|n,n,n,n} |
1dfa3c16 | 3231 | for(Int_t i1=0;i1<dMult;i1++) |
bc92c0cb | 3232 | { |
dee1e0e0 | 3233 | //cout<<"i1 = "<<i1<<endl; |
3234 | fTrack=anEvent->GetTrack(i1); | |
bc92c0cb | 3235 | phi1=fTrack->Phi(); |
3d824203 | 3236 | if(phiWeights) wPhi1 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi1*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3237 | for(Int_t i2=0;i2<dMult;i2++) |
bc92c0cb | 3238 | { |
dee1e0e0 | 3239 | if(i2==i1)continue; |
3240 | fTrack=anEvent->GetTrack(i2); | |
bc92c0cb | 3241 | phi2=fTrack->Phi(); |
3d824203 | 3242 | if(phiWeights) wPhi2 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi2*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3243 | for(Int_t i3=0;i3<dMult;i3++) |
bc92c0cb | 3244 | { |
dee1e0e0 | 3245 | if(i3==i1||i3==i2)continue; |
3246 | fTrack=anEvent->GetTrack(i3); | |
bc92c0cb | 3247 | phi3=fTrack->Phi(); |
3d824203 | 3248 | if(phiWeights) wPhi3 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi3*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3249 | for(Int_t i4=0;i4<dMult;i4++) |
bc92c0cb | 3250 | { |
dee1e0e0 | 3251 | if(i4==i1||i4==i2||i4==i3)continue; |
3252 | fTrack=anEvent->GetTrack(i4); | |
bc92c0cb | 3253 | phi4=fTrack->Phi(); |
3d824203 | 3254 | if(phiWeights) wPhi4 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi4*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3255 | for(Int_t i5=0;i5<dMult;i5++) |
bc92c0cb | 3256 | { |
dee1e0e0 | 3257 | if(i5==i1||i5==i2||i5==i3||i5==i4)continue; |
3258 | fTrack=anEvent->GetTrack(i5); | |
bc92c0cb | 3259 | phi5=fTrack->Phi(); |
3d824203 | 3260 | if(phiWeights) wPhi5 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi5*nBinsPhi/TMath::TwoPi()))); |
3261 | fDirectCorrelations->Fill(18.,cos(2.*n*phi1+n*phi2-n*phi3-n*phi4-n*phi5),wPhi1*wPhi2*wPhi3*wPhi4*wPhi5); //<5>_{2n,n|n,n,n} | |
3262 | fDirectCorrelations->Fill(19.,cos(2.*n*phi1+2.*n*phi2-2.*n*phi3-n*phi4-n*phi5),wPhi1*wPhi2*wPhi3*wPhi4*wPhi5); //<5>_{2n,2n|2n,n,n} | |
3263 | fDirectCorrelations->Fill(20.,cos(3.*n*phi1+n*phi2-2.*n*phi3-n*phi4-n*phi5),wPhi1*wPhi2*wPhi3*wPhi4*wPhi5); //<5>_{3n,n|2n,n,n} | |
3264 | fDirectCorrelations->Fill(21.,cos(4.*n*phi1-n*phi2-n*phi3-n*phi4-n*phi5),wPhi1*wPhi2*wPhi3*wPhi4*wPhi5); //<5>_{4n|n,n,n,n} | |
bc92c0cb | 3265 | } |
3266 | } | |
3267 | } | |
3268 | } | |
3269 | } | |
3270 | ||
3d824203 | 3271 | */ |
3272 | /* | |
3273 | ||
dee1e0e0 | 3274 | //<6>_{n,n,n,n,n,n}, <6>_{2n,n,n|2n,n,n}, <6>_{2n,2n|n,n,n,n} and <6>_{3n,n|n,n,n,n} |
1dfa3c16 | 3275 | for(Int_t i1=0;i1<dMult;i1++) |
dee1e0e0 | 3276 | { |
3277 | //cout<<"i1 = "<<i1<<endl; | |
3278 | fTrack=anEvent->GetTrack(i1); | |
3279 | phi1=fTrack->Phi(); | |
3d824203 | 3280 | if(phiWeights) wPhi1 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi1*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3281 | for(Int_t i2=0;i2<dMult;i2++) |
dee1e0e0 | 3282 | { |
3283 | if(i2==i1)continue; | |
3284 | fTrack=anEvent->GetTrack(i2); | |
3285 | phi2=fTrack->Phi(); | |
3d824203 | 3286 | if(phiWeights) wPhi2 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi2*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3287 | for(Int_t i3=0;i3<dMult;i3++) |
dee1e0e0 | 3288 | { |
3289 | if(i3==i1||i3==i2)continue; | |
3290 | fTrack=anEvent->GetTrack(i3); | |
3291 | phi3=fTrack->Phi(); | |
3d824203 | 3292 | if(phiWeights) wPhi3 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi3*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3293 | for(Int_t i4=0;i4<dMult;i4++) |
dee1e0e0 | 3294 | { |
3295 | if(i4==i1||i4==i2||i4==i3)continue; | |
3296 | fTrack=anEvent->GetTrack(i4); | |
3297 | phi4=fTrack->Phi(); | |
3d824203 | 3298 | if(phiWeights) wPhi4 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi4*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3299 | for(Int_t i5=0;i5<dMult;i5++) |
dee1e0e0 | 3300 | { |
3301 | if(i5==i1||i5==i2||i5==i3||i5==i4)continue; | |
3302 | fTrack=anEvent->GetTrack(i5); | |
3303 | phi5=fTrack->Phi(); | |
3d824203 | 3304 | const Double_t ptmin2 = 0.0; |
3305 | if(phiWeights) wPhi5 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi5*nBinsPhi/TMath::TwoPi()))); | |
1dfa3c16 | 3306 | for(Int_t i6=0;i6<dMult;i6++) |
dee1e0e0 | 3307 | { |
3308 | if(i6==i1||i6==i2||i6==i3||i6==i4||i6==i5)continue; | |
3309 | fTrack=anEvent->GetTrack(i6); | |
3310 | phi6=fTrack->Phi(); | |
3d824203 | 3311 | if(phiWeights) wPhi6 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi6*nBinsPhi/TMath::TwoPi()))); |
3312 | fDirectCorrelations->Fill(23.,cos(n*phi1+n*phi2+n*phi3-n*phi4-n*phi5-n*phi6),wPhi1*wPhi2*wPhi3*wPhi4*wPhi5*wPhi6); //<6>_{n,n,n|n,n,n} | |
3313 | fDirectCorrelations->Fill(24.,cos(2.*n*phi1+n*phi2+n*phi3-2.*n*phi4-n*phi5-n*phi6),wPhi1*wPhi2*wPhi3*wPhi4*wPhi5*wPhi6); //<6>_{2n,n,n|2n,n,n} | |
3314 | fDirectCorrelations->Fill(25.,cos(2.*n*phi1+2.*n*phi2-n*phi3-n*phi4-n*phi5-n*phi6),wPhi1*wPhi2*wPhi3*wPhi4*wPhi5*wPhi6); //<6>_{2n,2n|n,n,n,n} | |
3315 | fDirectCorrelations->Fill(26.,cos(3.*n*phi1+n*phi2-n*phi3-n*phi4-n*phi5-n*phi6),wPhi1*wPhi2*wPhi3*wPhi4*wPhi5*wPhi6); //<6>_{3n,n|n,n,n,n} | |
dee1e0e0 | 3316 | } |
3317 | } | |
3318 | } | |
3319 | } | |
3320 | } | |
3321 | } | |
52021ae2 | 3322 | |
3d824203 | 3323 | */ |
3324 | /* | |
3325 | ||
dee1e0e0 | 3326 | //<7>_{2n,n,n|n,n,n,n} |
1dfa3c16 | 3327 | for(Int_t i1=0;i1<dMult;i1++) |
bc92c0cb | 3328 | { |
dee1e0e0 | 3329 | //cout<<"i1 = "<<i1<<endl; |
3330 | fTrack=anEvent->GetTrack(i1); | |
bc92c0cb | 3331 | phi1=fTrack->Phi(); |
3d824203 | 3332 | if(phiWeights) wPhi1 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi1*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3333 | for(Int_t i2=0;i2<dMult;i2++) |
bc92c0cb | 3334 | { |
dee1e0e0 | 3335 | if(i2==i1)continue; |
3336 | fTrack=anEvent->GetTrack(i2); | |
bc92c0cb | 3337 | phi2=fTrack->Phi(); |
3d824203 | 3338 | if(phiWeights) wPhi2 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi2*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3339 | for(Int_t i3=0;i3<dMult;i3++) |
bc92c0cb | 3340 | { |
dee1e0e0 | 3341 | if(i3==i1||i3==i2)continue; |
3342 | fTrack=anEvent->GetTrack(i3); | |
bc92c0cb | 3343 | phi3=fTrack->Phi(); |
3d824203 | 3344 | if(phiWeights) wPhi3 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi3*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3345 | for(Int_t i4=0;i4<dMult;i4++) |
bc92c0cb | 3346 | { |
dee1e0e0 | 3347 | if(i4==i1||i4==i2||i4==i3)continue; |
3348 | fTrack=anEvent->GetTrack(i4); | |
bc92c0cb | 3349 | phi4=fTrack->Phi(); |
3d824203 | 3350 | if(phiWeights) wPhi4 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi4*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3351 | for(Int_t i5=0;i5<dMult;i5++) |
bc92c0cb | 3352 | { |
dee1e0e0 | 3353 | if(i5==i1||i5==i2||i5==i3||i5==i4)continue; |
3354 | fTrack=anEvent->GetTrack(i5); | |
bc92c0cb | 3355 | phi5=fTrack->Phi(); |
3d824203 | 3356 | if(phiWeights) wPhi5 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi5*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3357 | for(Int_t i6=0;i6<dMult;i6++) |
bc92c0cb | 3358 | { |
dee1e0e0 | 3359 | if(i6==i1||i6==i2||i6==i3||i6==i4||i6==i5)continue; |
3360 | fTrack=anEvent->GetTrack(i6); | |
bc92c0cb | 3361 | phi6=fTrack->Phi(); |
3d824203 | 3362 | if(phiWeights) wPhi6 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi6*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3363 | for(Int_t i7=0;i7<dMult;i7++) |
dee1e0e0 | 3364 | { |
3365 | if(i7==i1||i7==i2||i7==i3||i7==i4||i7==i5||i7==i6)continue; | |
3366 | fTrack=anEvent->GetTrack(i7); | |
3367 | phi7=fTrack->Phi(); | |
3d824203 | 3368 | if(phiWeights) wPhi7 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi7*nBinsPhi/TMath::TwoPi()))); |
3369 | fDirectCorrelations->Fill(28.,cos(2.*n*phi1+n*phi2+n*phi3-n*phi4-n*phi5-n*phi6-n*phi7),wPhi1*wPhi2*wPhi3*wPhi4*wPhi5*wPhi6*wPhi7);//<7>_{2n,n,n|n,n,n,n} | |
dee1e0e0 | 3370 | } |
bc92c0cb | 3371 | } |
3372 | } | |
3373 | } | |
3374 | } | |
3375 | } | |
3376 | } | |
52021ae2 | 3377 | |
3d824203 | 3378 | */ |
3379 | /* | |
3380 | ||
dee1e0e0 | 3381 | //<8>_{n,n,n,n|n,n,n,n} |
1dfa3c16 | 3382 | for(Int_t i1=0;i1<dMult;i1++) |
dee1e0e0 | 3383 | { |
3384 | cout<<"i1 = "<<i1<<endl; | |
3385 | fTrack=anEvent->GetTrack(i1); | |
3386 | phi1=fTrack->Phi(); | |
3d824203 | 3387 | if(phiWeights) wPhi1 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi1*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3388 | for(Int_t i2=0;i2<dMult;i2++) |
dee1e0e0 | 3389 | { |
3390 | if(i2==i1)continue; | |
3391 | fTrack=anEvent->GetTrack(i2); | |
3392 | phi2=fTrack->Phi(); | |
3d824203 | 3393 | if(phiWeights) wPhi2 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi2*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3394 | for(Int_t i3=0;i3<dMult;i3++) |
dee1e0e0 | 3395 | { |
3396 | if(i3==i1||i3==i2)continue; | |
3397 | fTrack=anEvent->GetTrack(i3); | |
3398 | phi3=fTrack->Phi(); | |
3d824203 | 3399 | if(phiWeights) wPhi3 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi3*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3400 | for(Int_t i4=0;i4<dMult;i4++) |
dee1e0e0 | 3401 | { |
3402 | if(i4==i1||i4==i2||i4==i3)continue; | |
3403 | fTrack=anEvent->GetTrack(i4); | |
3404 | phi4=fTrack->Phi(); | |
3d824203 | 3405 | if(phiWeights) wPhi4 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi4*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3406 | for(Int_t i5=0;i5<dMult;i5++) |
dee1e0e0 | 3407 | { |
3408 | if(i5==i1||i5==i2||i5==i3||i5==i4)continue; | |
3409 | fTrack=anEvent->GetTrack(i5); | |
3410 | phi5=fTrack->Phi(); | |
3d824203 | 3411 | if(phiWeights) wPhi5 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi5*nBinsPhi/TMath::TwoPi()))); |
1dfa3c16 | 3412 | for(Int_t i6=0;i6<dMult;i6++) |
dee1e0e0 | 3413 | { |
3414 | if(i6==i1||i6==i2||i6==i3||i6==i4||i6==i5)continue; | |
3415 | fTrack=anEvent->GetTrack(i6); | |
3d824203 | 3416 | phi6=fTrack->Phi(); |
3417 | if(phiWeights) wPhi6 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi6*nBinsPhi/TMath::TwoPi()))); | |
1dfa3c16 | 3418 | for(Int_t i7=0;i7<dMult;i7++) |
dee1e0e0 | 3419 | { |
3420 | if(i7==i1||i7==i2||i7==i3||i7==i4||i7==i5||i7==i6)continue; | |
3421 | fTrack=anEvent->GetTrack(i7); | |
3d824203 | 3422 | phi7=fTrack->Phi(); |
3423 | if(phiWeights) wPhi7 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi7*nBinsPhi/TMath::TwoPi()))); | |
1dfa3c16 | 3424 | for(Int_t i8=0;i8<dMult;i8++) |
dee1e0e0 | 3425 | { |
3426 | if(i8==i1||i8==i2||i8==i3||i8==i4||i8==i5||i8==i6||i8==i7)continue; | |
3427 | fTrack=anEvent->GetTrack(i8); | |
3d824203 | 3428 | phi8=fTrack->Phi(); |
3429 | if(phiWeights) wPhi8 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi8*nBinsPhi/TMath::TwoPi()))); | |
3430 | fDirectCorrelations->Fill(30.,cos(n*phi1+n*phi2+n*phi3+n*phi4-n*phi5-n*phi6-n*phi7-n*phi8),wPhi1*wPhi2*wPhi3*wPhi4*wPhi5*wPhi6*wPhi7*wPhi8);//<8>_{n,n,n,n|n,n,n,n} | |
dee1e0e0 | 3431 | } |
3432 | } | |
3433 | } | |
3434 | } | |
3435 | } | |
3436 | } | |
3437 | } | |
3438 | } | |
bc92c0cb | 3439 | |
3d824203 | 3440 | */ |
3441 | ||
3442 | ||
3443 | /* | |
3444 | ||
dee1e0e0 | 3445 | // binning details of fDirectCorrelations (differential flow): |
3446 | // | |
3d824203 | 3447 | //101st bin: <2'>_{n|n} |
4057ba99 | 3448 | |
bc92c0cb | 3449 | |
3450 | //<2'>_{n|n} | |
4057ba99 | 3451 | for(Int_t i1=0;i1<nPrim;i1++) |
bc92c0cb | 3452 | { |
dee1e0e0 | 3453 | fTrack=anEvent->GetTrack(i1); |
4057ba99 | 3454 | if(!((fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)&&(fTrack->UseForDifferentialFlow())))continue;//POI condition |
3455 | phi1=fTrack->Phi(); | |
3d824203 | 3456 | if(phiWeights) wPhi1 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi1*nBinsPhi/TMath::TwoPi()))); |
4057ba99 | 3457 | for(Int_t i2=0;i2<nPrim;i2++) |
bc92c0cb | 3458 | { |
4057ba99 | 3459 | if(i2==i1)continue; |
3460 | fTrack=anEvent->GetTrack(i2); | |
3461 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3462 | phi2=fTrack->Phi(); | |
3d824203 | 3463 | if(phiWeights) wPhi2 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi2*nBinsPhi/TMath::TwoPi()))); |
4057ba99 | 3464 | //cout<<"1st = "<<i1<<" "<< (anEvent->GetTrack(i1))->Eta() << " " << (anEvent->GetTrack(i1))->Pt()<<endl; |
3465 | //cout<<"2nd = "<<i2<<" "<< (anEvent->GetTrack(i2))->Eta() << " " << (anEvent->GetTrack(i2))->Pt()<<endl; | |
3466 | //fill the fDirectCorrelations: | |
3d824203 | 3467 | fDirectCorrelations->Fill(100.,cos(1.*n*(phi1-phi2)),wPhi2);//<2'>_{n,n} |
3468 | fDirectCorrelations->Fill(103.,cos(1.*n*(phi1-phi2)),pow(wPhi1,2)*wPhi2);//<2'>_{n,n} | |
3469 | fDirectCorrelations->Fill(104.,cos(2.*n*(phi1-phi2)),wPhi1*pow(wPhi2,2));//<2'>_{n,n} | |
3470 | fDirectCorrelations->Fill(105.,cos(1.*n*(phi1-phi2)),pow(wPhi2,3));//<2'>_{n,n} | |
3471 | ||
3472 | ||
3473 | ||
4057ba99 | 3474 | fDirectCorrelations->Fill(41.,cos(2.*n*(phi1-phi2)),1);//<2'>_{2n,2n} |
3475 | fDirectCorrelations->Fill(42.,cos(3.*n*(phi1-phi2)),1);//<2'>_{3n,3n} | |
3d824203 | 3476 | fDirectCorrelations->Fill(43.,cos(4.*n*(phi1-phi2)),1);//<2'>_{4n,4n} |
3477 | ||
4057ba99 | 3478 | }//end of for(Int_t i2=0;i2<nPrim;i2++) |
3479 | }//end of for(Int_t i1=0;i1<nPrim;i1++) | |
3480 | ||
3d824203 | 3481 | */ |
3482 | ||
3483 | ||
3484 | ||
3485 | /* | |
3486 | ||
bc92c0cb | 3487 | //<3'>_{2n|n,n} |
4057ba99 | 3488 | for(Int_t i1=0;i1<nPrim;i1++) |
bc92c0cb | 3489 | { |
dee1e0e0 | 3490 | fTrack=anEvent->GetTrack(i1); |
4057ba99 | 3491 | if(!((fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)&&(fTrack->UseForDifferentialFlow())))continue;//POI condition |
3492 | phi1=fTrack->Phi(); | |
3d824203 | 3493 | if(phiWeights) wPhi1 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi1*nBinsPhi/TMath::TwoPi()))); |
4057ba99 | 3494 | for(Int_t i2=0;i2<nPrim;i2++) |
bc92c0cb | 3495 | { |
4057ba99 | 3496 | if(i2==i1)continue; |
3497 | fTrack=anEvent->GetTrack(i2); | |
3498 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3499 | phi2=fTrack->Phi(); | |
3d824203 | 3500 | if(phiWeights) wPhi2 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi2*nBinsPhi/TMath::TwoPi()))); |
4057ba99 | 3501 | for(Int_t i3=0;i3<nPrim;i3++) |
bc92c0cb | 3502 | { |
4057ba99 | 3503 | if(i3==i1||i3==i2)continue; |
3504 | fTrack=anEvent->GetTrack(i3); | |
3505 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3506 | phi3=fTrack->Phi(); | |
3d824203 | 3507 | if(phiWeights) wPhi3 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi3*nBinsPhi/TMath::TwoPi()))); |
3508 | //fill the fDirectCorrelations: | |
3509 | ||
3510 | // 2-p | |
3511 | fDirectCorrelations->Fill(101.,cos(n*(phi2-phi3)),wPhi1*wPhi2*wPhi3); // <w1 w2 w3 cos(n(phi2-phi3))> | |
3512 | fDirectCorrelations->Fill(102.,cos(n*(phi1-phi3)),pow(wPhi2,2.)*wPhi3); // <w2^2 w3 cos(n(psi1-phi2))> | |
3513 | ||
3514 | // 3-p | |
3515 | fDirectCorrelations->Fill(110.,cos(n*(2.*phi1-phi2-phi3)),wPhi1*wPhi2*wPhi3); // <w1 w2 w3 cos(n(2psi1-phi2-phi3))> | |
3516 | fDirectCorrelations->Fill(111.,cos(n*(phi1+phi2-2.*phi3)),wPhi2*pow(wPhi3,2.)); // <w2 w3^2 cos(n(psi1+phi2-2.*phi3))> | |
3517 | ||
3518 | ||
3519 | //fDirectCorrelations->Fill(46.,cos(n*(phi1+phi2-2.*phi3)),1);//<3'>_{n,n|2n} | |
4057ba99 | 3520 | }//end of for(Int_t i3=0;i3<nPrim;i3++) |
3521 | }//end of for(Int_t i2=0;i2<nPrim;i2++) | |
3522 | }//end of for(Int_t i1=0;i1<nPrim;i1++) | |
3d824203 | 3523 | |
3524 | ||
3525 | */ | |
3526 | ||
3527 | ||
3528 | /* | |
bc92c0cb | 3529 | |
3530 | //<4'>_{n,n|n,n} | |
4057ba99 | 3531 | for(Int_t i1=0;i1<nPrim;i1++) |
bc92c0cb | 3532 | { |
dee1e0e0 | 3533 | fTrack=anEvent->GetTrack(i1); |
4057ba99 | 3534 | if(!((fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)&&(fTrack->UseForDifferentialFlow())))continue;//POI condition |
3d824203 | 3535 | tempCounter++; |
4057ba99 | 3536 | phi1=fTrack->Phi(); |
3d824203 | 3537 | if(phiWeights) wPhi1 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi1*nBinsPhi/TMath::TwoPi()))); |
4057ba99 | 3538 | for(Int_t i2=0;i2<nPrim;i2++) |
bc92c0cb | 3539 | { |
4057ba99 | 3540 | if(i2==i1)continue; |
3541 | fTrack=anEvent->GetTrack(i2); | |
3542 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3543 | phi2=fTrack->Phi(); | |
3d824203 | 3544 | if(phiWeights) wPhi2 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi2*nBinsPhi/TMath::TwoPi()))); |
4057ba99 | 3545 | for(Int_t i3=0;i3<nPrim;i3++) |
3546 | { | |
3547 | if(i3==i1||i3==i2)continue; | |
3548 | fTrack=anEvent->GetTrack(i3); | |
3549 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3550 | phi3=fTrack->Phi(); | |
3d824203 | 3551 | if(phiWeights) wPhi3 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi3*nBinsPhi/TMath::TwoPi()))); |
4057ba99 | 3552 | for(Int_t i4=0;i4<nPrim;i4++) |
bc92c0cb | 3553 | { |
4057ba99 | 3554 | if(i4==i1||i4==i2||i4==i3)continue; |
3555 | fTrack=anEvent->GetTrack(i4); | |
3556 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3557 | phi4=fTrack->Phi(); | |
3d824203 | 3558 | if(phiWeights) wPhi4 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi4*nBinsPhi/TMath::TwoPi()))); |
4057ba99 | 3559 | //fill the fDirectCorrelations: |
3d824203 | 3560 | // 4-p |
3561 | fDirectCorrelations->Fill(120.,cos(n*(phi1+phi2-phi3-phi4)),wPhi2*wPhi3*wPhi4); // <w1 w2 w3 cos(n(psi1+phi1-phi2-phi3))> | |
3562 | ||
3563 | tempLoop+=wPhi2*wPhi3*wPhi4; | |
3564 | ||
4057ba99 | 3565 | }//end of for(Int_t i4=0;i4<nPrim;i4++) |
3566 | }//end of for(Int_t i3=0;i3<nPrim;i3++) | |
3567 | }//end of for(Int_t i2=0;i2<nPrim;i2++) | |
3568 | }//end of for(Int_t i1=0;i1<nPrim;i1++) | |
3d824203 | 3569 | |
3570 | */ | |
ae733b3b | 3571 | |
3572 | ||
3573 | ||
3574 | ||
3575 | ||
3576 | ||
3577 | ||
3578 | ||
3579 | ||
3580 | ||
3581 | ||
3582 | ||
3583 | ||
3584 | ||
3585 | ||
3586 | ||
3587 | ||
3d824203 | 3588 | /* |
ae733b3b | 3589 | |
3590 | ||
3591 | ||
3592 | ||
ae733b3b | 3593 | |
3594 | ||
3595 | ||
4057ba99 | 3596 | //<5'>_{2n,n|n,n,n} |
3597 | for(Int_t i1=0;i1<nPrim;i1++) | |
3598 | { | |
3599 | fTrack=anEvent->GetTrack(i1); | |
3600 | if(!((fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)&&(fTrack->UseForDifferentialFlow())))continue;//POI condition | |
3601 | phi1=fTrack->Phi(); | |
3602 | for(Int_t i2=0;i2<nPrim;i2++) | |
3603 | { | |
3604 | if(i2==i1)continue; | |
3605 | fTrack=anEvent->GetTrack(i2); | |
3606 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3607 | phi2=fTrack->Phi(); | |
3608 | for(Int_t i3=0;i3<nPrim;i3++) | |
3609 | { | |
3610 | if(i3==i1||i3==i2)continue; | |
3611 | fTrack=anEvent->GetTrack(i3); | |
3612 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3613 | phi3=fTrack->Phi(); | |
3614 | for(Int_t i4=0;i4<nPrim;i4++) | |
3615 | { | |
3616 | if(i4==i1||i4==i2||i4==i3)continue; | |
3617 | fTrack=anEvent->GetTrack(i4); | |
3618 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
ae733b3b | 3619 | phi4=fTrack->Phi();// |
4057ba99 | 3620 | for(Int_t i5=0;i5<nPrim;i5++) |
bc92c0cb | 3621 | { |
4057ba99 | 3622 | if(i5==i1||i5==i2||i5==i3||i5==i4)continue; |
3623 | fTrack=anEvent->GetTrack(i5); | |
3624 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3625 | phi5=fTrack->Phi(); | |
3626 | //fill the fDirectCorrelations:if(bNestedLoops) | |
3627 | fDirectCorrelations->Fill(55.,cos(2.*n*phi1+n*phi2-n*phi3-n*phi4-n*phi5),1);//<5'>_{2n,n|n,n,n} | |
3628 | }//end of for(Int_t i5=0;i5<nPrim;i5++) | |
3629 | }//end of for(Int_t i4=0;i4<nPrim;i4++) | |
3630 | }//end of for(Int_t i3=0;i3<nPrim;i3++) | |
3631 | }//end of for(Int_t i2=0;i2<nPrim;i2++) | |
3632 | }//end of for(Int_t i1=0;i1<nPrim;i1++) | |
3633 | ||
3634 | //<6'>_{n,n,n|n,n,n} | |
3635 | for(Int_t i1=0;i1<nPrim;i1++) | |
3636 | { | |
3637 | fTrack=anEvent->GetTrack(i1); | |
3638 | if(!((fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)&&(fTrack->UseForDifferentialFlow())))continue;//POI condition | |
3639 | phi1=fTrack->Phi(); | |
3640 | for(Int_t i2=0;i2<nPrim;i2++) | |
3641 | { | |
3642 | if(i2==i1)continue; | |
3643 | fTrack=anEvent->GetTrack(i2); | |
3644 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3645 | phi2=fTrack->Phi(); | |
3646 | for(Int_t i3=0;i3<nPrim;i3++) | |
3647 | { | |
3648 | if(i3==i1||i3==i2)continue; | |
3649 | fTrack=anEvent->GetTrack(i3); | |
3650 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3651 | phi3=fTrack->Phi(); | |
3652 | for(Int_t i4=0;i4<nPrim;i4++) | |
3653 | { | |
3654 | if(i4==i1||i4==i2||i4==i3)continue; | |
3655 | fTrack=anEvent->GetTrack(i4); | |
3656 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3657 | phi4=fTrack->Phi(); | |
3658 | for(Int_t i5=0;i5<nPrim;i5++) | |
3659 | { | |
3660 | if(i5==i1||i5==i2||i5==i3||i5==i4)continue; | |
3661 | fTrack=anEvent->GetTrack(i5); | |
3662 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3663 | phi5=fTrack->Phi(); | |
3664 | for(Int_t i6=0;i6<nPrim;i6++) | |
3665 | { | |
3666 | if(i6==i1||i6==i2||i6==i3||i6==i4||i6==i5)continue; | |
3667 | fTrack=anEvent->GetTrack(i6); | |
3668 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3669 | phi6=fTrack->Phi(); | |
3670 | //fill the fDirectCorrelations: | |
3671 | fDirectCorrelations->Fill(60.,cos(n*(phi1+phi2+phi3-phi4-phi5-phi6)),1);//<6'>_{n,n,n|n,n,n} | |
3672 | }//end of for(Int_t i6=0;i6<nPrim;i6++) | |
3673 | }//end of for(Int_t i5=0;i5<nPrim;i5++) | |
3674 | }//end of for(Int_t i4=0;i4<nPrim;i4++) | |
3675 | }//end of for(Int_t i3=0;i3<nPrim;i3++) | |
3676 | }//end of for(Int_t i2=0;i2<nPrim;i2++) | |
3677 | }//end of for(Int_t i1=0;i1<nPrim;i1++) | |
3678 | ||
3679 | //<7'>_{2n,n,n|n,n,n,n} | |
3680 | for(Int_t i1=0;i1<nPrim;i1++) | |
3681 | { | |
3682 | fTrack=anEvent->GetTrack(i1); | |
3683 | if(!((fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)&&(fTrack->UseForDifferentialFlow())))continue;//POI condition | |
3684 | phi1=fTrack->Phi(); | |
3685 | for(Int_t i2=0;i2<nPrim;i2++) | |
3686 | { | |
3687 | if(i2==i1)continue; | |
3688 | fTrack=anEvent->GetTrack(i2); | |
3689 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3690 | phi2=fTrack->Phi(); | |
3691 | for(Int_t i3=0;i3<nPrim;i3++) | |
3692 | { | |
3693 | if(i3==i1||i3==i2)continue; | |
3694 | fTrack=anEvent->GetTrack(i3); | |
3695 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3696 | phi3=fTrack->Phi(); | |
3697 | for(Int_t i4=0;i4<nPrim;i4++) | |
3698 | { | |
3699 | if(i4==i1||i4==i2||i4==i3)continue; | |
3700 | fTrack=anEvent->GetTrack(i4); | |
3701 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3702 | phi4=fTrack->Phi(); | |
3703 | for(Int_t i5=0;i5<nPrim;i5++) | |
3704 | { | |
3705 | if(i5==i1||i5==i2||i5==i3||i5==i4)continue; | |
3706 | fTrack=anEvent->GetTrack(i5); | |
3707 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3708 | phi5=fTrack->Phi(); | |
3709 | for(Int_t i6=0;i6<nPrim;i6++) | |
3710 | { | |
3711 | if(i6==i1||i6==i2||i6==i3||i6==i4||i6==i5)continue; | |
3712 | fTrack=anEvent->GetTrack(i6); | |
3713 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3714 | phi6=fTrack->Phi(); | |
3715 | for(Int_t i7=0;i7<nPrim;i7++) | |
3716 | { | |
3717 | if(i7==i1||i7==i2||i7==i3||i7==i4||i7==i5||i7==i6)continue; | |
3718 | fTrack=anEvent->GetTrack(i7); | |
3719 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3720 | phi7=fTrack->Phi(); | |
3721 | //fill the fDirectCorrelations: | |
3722 | fDirectCorrelations->Fill(65.,cos(2.*n*phi1+n*phi2+n*phi3-n*phi4-n*phi5-n*phi6-n*phi7),1);//<7'>_{2n,n,n|n,n,n,n} | |
3723 | }//end of for(Int_t i7=0;i7<nPrim;i7++) | |
3724 | }//end of for(Int_t i6=0;i6<nPrim;i6++) | |
3725 | }//end of for(Int_t i5=0;i5<nPrim;i5++) | |
3726 | }//end of for(Int_t i4=0;i4<nPrim;i4++) | |
3727 | }//end of for(Int_t i3=0;i3<nPrim;i3++) | |
3728 | }//end of for(Int_t i2=0;i2<nPrim;i2++) | |
3729 | }//end of for(Int_t i1=0;i1<nPrim;i1++) | |
3730 | ||
3731 | //<8'>_{n,n,n,n|n,n,n,n} | |
3732 | for(Int_t i1=0;i1<nPrim;i1++) | |
3733 | { | |
3734 | fTrack=anEvent->GetTrack(i1); | |
3735 | if(!((fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)&&(fTrack->UseForDifferentialFlow())))continue;//POI condition | |
3736 | phi1=fTrack->Phi(); | |
3737 | for(Int_t i2=0;i2<nPrim;i2++) | |
3738 | { | |
3739 | if(i2==i1)continue; | |
3740 | fTrack=anEvent->GetTrack(i2); | |
3741 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3742 | phi2=fTrack->Phi(); | |
3743 | for(Int_t i3=0;i3<nPrim;i3++) | |
3744 | { | |
3745 | if(i3==i1||i3==i2)continue; | |
3746 | fTrack=anEvent->GetTrack(i3); | |
3747 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3748 | phi3=fTrack->Phi(); | |
3749 | for(Int_t i4=0;i4<nPrim;i4++) | |
3750 | { | |
3751 | if(i4==i1||i4==i2||i4==i3)continue; | |
3752 | fTrack=anEvent->GetTrack(i4); | |
3753 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3754 | phi4=fTrack->Phi(); | |
3755 | for(Int_t i5=0;i5<nPrim;i5++) | |
3756 | { | |
3757 | if(i5==i1||i5==i2||i5==i3||i5==i4)continue; | |
3758 | fTrack=anEvent->GetTrack(i5); | |
3759 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3760 | phi5=fTrack->Phi(); | |
3761 | for(Int_t i6=0;i6<nPrim;i6++) | |
3762 | { | |
3763 | if(i6==i1||i6==i2||i6==i3||i6==i4||i6==i5)continue; | |
3764 | fTrack=anEvent->GetTrack(i6); | |
3765 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3766 | phi6=fTrack->Phi(); | |
3767 | for(Int_t i7=0;i7<nPrim;i7++) | |
3768 | { | |
3769 | if(i7==i1||i7==i2||i7==i3||i7==i4||i7==i5||i7==i6)continue; | |
3770 | fTrack=anEvent->GetTrack(i7); | |
3771 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3772 | phi7=fTrack->Phi(); | |
3773 | for(Int_t i8=0;i8<nPrim;i8++) | |
3774 | { | |
3775 | if(i8==i1||i8==i2||i8==i3||i8==i4||i8==i5||i8==i6||i8==i7)continue; | |
3776 | fTrack=anEvent->GetTrack(i8); | |
3777 | if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition | |
3778 | phi8=fTrack->Phi(); | |
3779 | //fill the fDirectCorrelations: | |
3780 | fDirectCorrelations->Fill(70.,cos(n*(phi1+phi2+phi3+phi4-phi5-phi6-phi7-phi8)),1);//<8'>_{n,n,n,n|n,n,n,n} | |
3781 | }//end of for(Int_t i8=0;i8<nPrim;i8++) | |
3782 | }//end of for(Int_t i7=0;i7<nPrim;i7++) | |
3783 | }//end of for(Int_t i6=0;i6<nPrim;i6++) | |
3784 | }//end of for(Int_t i5=0;i5<nPrim;i5++) | |
3785 | }//end of for(Int_t i4=0;i4<nPrim;i4++) | |
3786 | }//end of for(Int_t i3=0;i3<nPrim;i3++) | |
3787 | }//end of for(Int_t i2=0;i2<nPrim;i2++) | |
3788 | }//end of for(Int_t i1=0;i1<nPrim;i1++) | |
3789 | ||
3790 | ||
3791 | ||
3d824203 | 3792 | |
3793 | ||
3794 | ||
3795 | ||
3796 | ||
3797 | ||
3798 | ||
4057ba99 | 3799 | */ |
3800 | ||
3801 | ||
3d824203 | 3802 | |
3803 | ||
3804 | ||
3805 | ||
3806 | ||
3807 | ||
3808 | ||
3809 | ||
3810 | ||
3811 | ||
3812 | ||
3813 | ||
3814 | ||
3815 | ||
3816 | ||
3817 | ||
3818 | ||
3819 | ||
3820 | ||
3821 | ||
3822 | ||
3823 | ||
3824 | ||
3825 | ||
3826 | ||
3827 | ||
3828 | ||
3829 | ||
3830 | ||
3831 | ||
4057ba99 | 3832 | //-------------------------------------------------------------------------------------------------------------------------------- |
bc92c0cb | 3833 | |
4057ba99 | 3834 | //}//end of if(nPrim>0&&nPrim<12) |
bc92c0cb | 3835 | }//end of Make() |
3836 | ||
3837 | //================================================================================================================ | |
3838 | ||
3839 | void AliFlowAnalysisWithQCumulants::Finish() | |
3840 | { | |
1315fe58 | 3841 | //calculate the final results |
3d824203 | 3842 | AliQCumulantsFunctions finalResults(fIntFlowResultsQC,fDiffFlowResults2ndOrderQC,fDiffFlowResults4thOrderQC,fCovariances,fAvMultIntFlowQC,fQvectorComponents,fQCorrelations,fQCorrelationsW, fQProduct,fDirectCorrelations,f2PerPtBin1n1nRP,f2PerPtBin2n2nRP,f3PerPtBin2n1n1nRP,f3PerPtBin1n1n2nRP,f4PerPtBin1n1n1n1nRP, f2PerEtaBin1n1nRP,f2PerEtaBin2n2nRP,f3PerEtaBin2n1n1nRP,f3PerEtaBin1n1n2nRP,f4PerEtaBin1n1n1n1nRP, |
3843 | ||
3844 | f2PerPtBin1n1nPOI,f2PerPtBin2n2nPOI,f3PerPtBin2n1n1nPOI,f3PerPtBin1n1n2nPOI,f4PerPtBin1n1n1n1nPOI, f2PerEtaBin1n1nPOI,f2PerEtaBin2n2nPOI,f3PerEtaBin2n1n1nPOI,f3PerEtaBin1n1n2nPOI,f4PerEtaBin1n1n1n1nPOI, | |
3845 | f2WPerPtBin1n1nPOI,f2WPerPtBin2n2nPOI,f3WPerPtBin2n1n1nPOI,f3WPerPtBin1n1n2nPOI,f4WPerPtBin1n1n1n1nPOI, | |
3846 | ||
3847 | ||
3848 | f2WPerEtaBin1n1nPOI, f4WPerEtaBin1n1n1n1nPOI, f2WPerPtBin1n1nRP, f4WPerPtBin1n1n1n1nRP, f2WPerEtaBin1n1nRP, f4WPerEtaBin1n1n1n1nRP, | |
3849 | ||
3850 | ||
3851 | fCommonHists2nd,fCommonHists4th, fCommonHists6th, fCommonHists8th,fCommonHistsResults2nd, fCommonHistsResults4th,fCommonHistsResults6th,fCommonHistsResults8th); | |
7e58a232 | 3852 | |
e085f1a9 | 3853 | finalResults.Calculate(); |
3854 | ||
3855 | ||
3856 | /* | |
3857 | ||
3858 | ||
3859 | //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | |
3860 | // !!!! to be removed !!!! | |
3861 | ||
3862 | TCanvas* qvectorPlot = new TCanvas("qvectorPlot","Q-vector Plot",1000,1000); | |
3863 | ||
3864 | qvectorPlot->cd(1); | |
3865 | ||
3866 | TH1D* style = new TH1D("style","Q-vectors",100,-244,244); | |
3867 | (style->GetYaxis())->SetRangeUser(-244,244); | |
3868 | ||
3869 | style->Draw(); | |
3870 | ||
3871 | Int_t nBins=fQvectorForEachEventX->GetNbinsX(); | |
3872 | Double_t qxxx=0.,qyyy=0.; | |
3873 | //cout<<"nBins = "<<nBins<<endl; | |
3874 | //cout<<fQvectorForEachEventX->GetBinEntries(4)<<endl; | |
3875 | //cout<<fQvectorForEachEventY->GetBinEntries(4)<<endl; | |
3876 | ||
3877 | for(Int_t b=1;b<nBins+1;b++) | |
3878 | { | |
3879 | if(fQvectorForEachEventX->GetBinEntries(b)==1 && fQvectorForEachEventY->GetBinEntries(b)==1) | |
3880 | { | |
3881 | qxxx=fQvectorForEachEventX->GetBinContent(b); | |
3882 | qyyy=fQvectorForEachEventY->GetBinContent(b); | |
3883 | //cout<<qxxx<<" "<<qyyy<<endl; | |
3884 | TArrow *qvector = new TArrow(0.0,0.0,qxxx,qyyy,0.0144,"|>"); | |
3885 | qvector->SetAngle(40); | |
3886 | qvector->SetLineWidth(2); | |
3887 | qvector->Draw(""); | |
3888 | } | |
3889 | } | |
3890 | ||
3891 | //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | |
3892 | ||
3d824203 | 3893 | */ |
e085f1a9 | 3894 | |
bc92c0cb | 3895 | } |
3896 | ||
1315fe58 | 3897 | //================================================================================================================ |
bc92c0cb | 3898 | |
4057ba99 | 3899 | void AliFlowAnalysisWithQCumulants::WriteHistograms(TString outputFileName) |
1315fe58 | 3900 | { |
3901 | //store the final results in output .root file | |
4057ba99 | 3902 | TFile *output = new TFile(outputFileName.Data(),"RECREATE"); |
7a2c2652 | 3903 | output->WriteObject(fHistList, "cobjQC","SingleKey"); |
1315fe58 | 3904 | delete output; |
3905 | } | |
bc92c0cb | 3906 | |
1315fe58 | 3907 | //================================================================================================================ |
dee1e0e0 | 3908 | |
4057ba99 | 3909 | |
3910 |