]>
Commit | Line | Data |
---|---|---|
496f8a92 | 1 | //=======================================================================// |
2 | //Macro to draw the main results of the MH analysis: | |
3 | //i) drawCentralityDependence3P:: Draws the <cos(psi1 + psi2 - 2psi3) | |
4 | // vs centrality percentile | |
5 | //ii) drawNpartDependence3P:: Draws the <cos(psi1 + psi2 - 2psi3) | |
6 | // vs Nparticipants | |
7 | //iii) drawNpartDependenceScaled3P:: Draws the Npart*<cos(psi1 + psi2 - 2psi3) | |
8 | // vs Nparticipants | |
9 | //iv) drawCentralityDependenceRP:: Draws the <cos(psi1 + psi2 - 2PsiRP) | |
10 | // vs centrality percentile | |
11 | //v) drawNpartDependenceRP:: Draws the <cos(psi1 + psi2 - 2PsiRP) | |
12 | // vs Nparticipants | |
13 | //vi) drawNpartDependenceScaledRP:: Draws the Npart*<cos(psi1 + psi2 - 2PsiRP) | |
14 | // vs Nparticipants | |
15 | //=======================================================================// | |
16 | Bool_t gPreliminary = kFALSE; | |
17 | ||
18 | //+++++++++++++++++++++GLOBAL VARIABLES+++++++++++++++++++++// | |
19 | const Int_t nCentralityBins = 9; | |
20 | TString strCentralityBins[nCentralityBins] = {"0-5","5-10","10-20", | |
21 | "20-30","30-40","40-50", | |
22 | "50-60","60-70","70-80"}; | |
23 | //Double_t gCentralityPercentile[nCentralityBins] = {75.,65.,55.,45.,35.,25.,15.,7.5,2.5}; | |
24 | Double_t gCentralityPercentileStar[nCentralityBins] = {1.75,6.75,14.,24.,34.,44.,54.,64.,74.}; | |
25 | Double_t gCentralityPercentile[nCentralityBins] = {3.0,8.0,16.,26.,36.,46.,56.,66.,76.}; | |
26 | Double_t gCentralityPercentile2[nCentralityBins] = {0.5,5.5,12.,22.,32.,42.,52.,62.,72.}; | |
27 | Double_t gCentralityPercentile3[nCentralityBins] = {4.25,9.25,18.,28.,38.,48.,58.,68.,78.}; | |
28 | Double_t gCentralityPercentileError[nCentralityBins] = {0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5}; | |
29 | // Double_t gCentralityPercentileSystematicError[nCentralityBins] = {1.5,1.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5}; | |
30 | Double_t gCentralityPercentileSystematicError[nCentralityBins] = {0,0,0,0,0,0,0,0,0}; | |
31 | Double_t gCentralityPercentileStarSystematicError[nCentralityBins] = {0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5}; | |
32 | ||
33 | //================================HIJING================================// | |
34 | Double_t g3pCorrelatorHijingNoFlowPlusMinus[nCentralityBins] = {-1.20093e-07, 1.84157e-07, 1.76266e-07, 7.57471e-07, 1.19105e-06, 4.13612e-06, 1.40261e-05, 4.40286e-05, 9.745345e-05}; | |
35 | Double_t g3pCorrelatorHijingNoFlowPlusMinusError[nCentralityBins] = {9.3131e-08, 8.68461e-08, 1.21384e-07, 2.13452e-07, 1.12347e-07, 3.13793e-07, 8.37252e-07, 3.15813e-06, 9.655345e-06}; | |
36 | Double_t g3pCorrelatorHijingNoFlowSameCharge[nCentralityBins] = {1.77386e-08, 9.26015e-10, 7.43216e-08, 1.76705e-07, 8.10251e-07, 2.68011e-06, 9.20014e-06, 3.3102e-05, 9.95345e-05}; | |
37 | Double_t g3pCorrelatorHijingNoFlowSameChargeError[nCentralityBins] = {2.97636e-08,4.08723e-08, 4.65237e-08, 1.12774e-07, 1.99168e-07, 5.83821e-07, 1.56612e-06, 5.90915e-06, 2.12124e-05}; | |
38 | /*Double_t g3pCorrelatorHijingNoFlowPlusMinus[nCentralityBins] = {-1.20093e-07,2.1169e-07,8.38551e-07,1.71174e-06,4.37847e-06,1.05875e-05,2.98748e-05,0.000100555,0.000289372}; | |
39 | Double_t g3pCorrelatorHijingNoFlowPlusMinusError[nCentralityBins] = {9.3131e-08,5.3237e-08,4.87755e-08,9.58588e-08,2.42031e-07,4.74851e-07,1.23657e-06,3.81097e-06,1.27354e-05}; | |
40 | Double_t g3pCorrelatorHijingNoFlowSameCharge[nCentralityBins] = {1.77386e-08,1.3287e-07,4.17543e-07,5.91545e-07,3.51865e-06,7.17039e-06,2.00607e-05,6.20528e-05,0.000176748}; | |
41 | Double_t g3pCorrelatorHijingNoFlowSameChargeError[nCentralityBins] = {2.97636e-08,4.3382e-08,8.9158e-08,1.76401e-07,4.46464e-07,8.82932e-07,2.32232e-06,7.11183e-06,2.31168e-05};*/ | |
42 | ||
43 | /*Double_t g3pCorrelatorHijingWithFlowPlusMinus[nCentralityBins] = {-1.20093e-07, 1.56519e-07, 2.90847e-07, 7.57471e-07, 1.17141e-06, 4.13612e-06, 2.4549e-06, 2.10261e-05, 7.40286e-05}; | |
44 | Double_t g3pCorrelatorHijingWithFlowPlusMinusError[nCentralityBins] = {9.3131e-08, 7.9856e-08, 7.42477e-08, 2.13452e-07, 1.07302e-07, 3.13793e-07, 8.2704e-07, 9.37252e-07, 5.15813e-06}; | |
45 | Double_t g3pCorrelatorHijingWithFlowSameCharge[nCentralityBins] = {-5.78124e-07, 4.16894e-08, 3.8112e-07, -1.70606e-07, 8.10251e-07, 2.68011e-06, 2.4549e-06, 3.1102e-05, 8.95345e-05}; | |
46 | Double_t g3pCorrelatorHijingWithFlowSameChargeError[nCentralityBins] = {1.80581e-07, 1.45975e-07, 1.56996e-07, 3.96189e-07, 1.99168e-07, 5.83821e-07, 8.2704e-07, 7.90915e-06, 4.12124e-05};*/ | |
47 | /*Double_t g3pCorrelatorHijingWithFlowSameCharge[nCentralityBins] = {1.3299e-07,8.4476e-07,2.96354e-06,6.80478e-06,1.45245e-05,2.76715e-05,5.86195e-05,0.00012099,0.000279274}; | |
48 | Double_t g3pCorrelatorHijingWithFlowSameChargeError[nCentralityBins] = {9.7787e-08,1.6551e-07,2.17682e-07,4.47015e-07,1.05436e-06,8.82932e-07,5.47122e-06,9.83962e-06,2.75911e-05}; | |
49 | Double_t g3pCorrelatorHijingWithFlowPlusMinus[nCentralityBins] = {2.7632e-07,7.3227e-07,4.05092e-06,9.67432e-06,1.98196e-05,3.64523e-05,7.97305e-05,0.000172174,0.000412814}; | |
50 | Double_t g3pCorrelatorHijingWithFlowPlusMinusError[nCentralityBins] = {8.3287e-08,1.8366e-07,1.18877e-07,2.43468e-07,5.71375e-07,9.59e-07,2.05589e-06,5.28575e-06,1.51409e-05};*/ | |
51 | Double_t g3pCorrelatorHijingWithFlowSameCharge[nCentralityBins] = {1.3299e-08,4.4476e-07,1.96354e-06,3.80478e-06,7.45245e-06,0.76715e-05,2.86195e-05,0.00012099,0.000279274}; | |
52 | Double_t g3pCorrelatorHijingWithFlowSameChargeError[nCentralityBins] = {9.7787e-08,1.6551e-07,2.17682e-07,4.47015e-07,6.05436e-08,8.82932e-07,5.47122e-06,9.83962e-06,2.75911e-05}; | |
53 | Double_t g3pCorrelatorHijingWithFlowPlusMinus[nCentralityBins] = {2.7632e-08,5.3227e-07,2.05092e-06,6.67432e-06,9.98196e-06,2.64523e-05,4.97305e-05,0.000172174,0.000412814}; | |
54 | Double_t g3pCorrelatorHijingWithFlowPlusMinusError[nCentralityBins] = {8.3287e-08,1.8366e-07,1.18877e-07,2.43468e-07,5.71375e-07,9.59e-07,2.05589e-06,5.28575e-06,1.51409e-05}; | |
55 | ||
56 | Double_t g3pHijingNoFlowAvg[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.}; | |
57 | Double_t g3pHijingNoFlowAvgError[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.}; | |
58 | Double_t g3pHijingNoFlowPlusMinus[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.}; | |
59 | Double_t g3pHijingNoFlowPlusMinusError[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.}; | |
60 | Double_t g3pHijingNoFlowSameCharge[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.}; | |
61 | Double_t g3pHijingNoFlowSameChargeError[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.}; | |
62 | ||
63 | Double_t g3pHijingWithFlowAvg[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.}; | |
64 | Double_t g3pHijingWithFlowAvgError[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.}; | |
65 | Double_t g3pHijingWithFlowPlusMinus[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.}; | |
66 | Double_t g3pHijingWithFlowPlusMinusError[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.}; | |
67 | Double_t g3pHijingWithFlowSameCharge[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.}; | |
68 | Double_t g3pHijingWithFlowSameChargeError[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.}; | |
69 | //================================HIJING================================// | |
70 | ||
71 | //================================STAR================================// | |
72 | Double_t g3pCorrelatorSTARPlusPlus[nCentralityBins] = {-2.72475e-05, | |
73 | -4.84767e-05, | |
74 | -8.43622e-05, | |
75 | -0.000139391, | |
76 | -0.000212998, | |
77 | -0.000310464, | |
78 | -0.000449019, | |
79 | -0.000531625, | |
80 | 10.}; | |
81 | Double_t g3pCorrelatorSTARPlusPlusError[nCentralityBins] = {2.51676e-06, | |
82 | 2.38477e-06, | |
83 | 1.96375e-06, | |
84 | 2.50148e-06, | |
85 | 3.87569e-06, | |
86 | 6.65112e-06, | |
87 | 1.36251e-05, | |
88 | 3.49563e-05, | |
89 | 0.0}; | |
90 | Double_t g3pCorrelatorSTARPlusPlusSysErrorHigh[nCentralityBins] = {-2.372263e-05,-4.559134e-05,-8.079906e-05,-0.0001334556,-0.0002038168,-0.0002934094,-0.0004116487,-0.0004651086}; | |
91 | Double_t g3pCorrelatorSTARPlusPlusSysErrorLow[nCentralityBins] = {-7.013656e-05,-7.013656e-05,-0.0001010264,-0.0001578065,-0.0002416504,-0.0003675497,-0.0005460016,-0.0007163518}; | |
92 | ||
93 | Double_t g3pCorrelatorSTARPlusMinus[nCentralityBins] = {-1.16758e-05, | |
94 | -8.2939e-06, | |
95 | -7.9278e-06, | |
96 | -5.81744e-06, | |
97 | -3.32537e-06, | |
98 | 1.71515e-05, | |
99 | 5.88244e-05, | |
100 | 0.000205355, | |
101 | 10.}; | |
102 | Double_t g3pCorrelatorSTARPlusMinusError[nCentralityBins] = {2.55046e-06, | |
103 | 2.41575e-06, | |
104 | 1.99013e-06, | |
105 | 2.52889e-06, | |
106 | 3.90957e-06, | |
107 | 6.65273e-06, | |
108 | 1.3518e-05, | |
109 | 3.40235e-05, | |
110 | 0.0}; | |
111 | Double_t g3pCorrelatorSTARPlusMinusSysErrorHigh[nCentralityBins] = {-1.202044e-05,-8.387146e-06,-7.959642e-06,-5.834463e-06,-3.335567e-06,1.72155e-05,5.916783e-05,0.0002078669}; | |
112 | Double_t g3pCorrelatorSTARPlusMinusSysErrorLow[nCentralityBins] = {-1.199969e-05,-1.199969e-05,-9.493789e-06,-6.585985e-06,-3.772705e-06,2.030513e-05,7.152968e-05,0.0002767107}; | |
113 | //================================STAR================================// | |
114 | ||
115 | //================================ALICE================================// | |
116 | Double_t gv2[nCentralityBins] = {0.0218688,0.0410256,0.0617027,0.0803975,0.0914567,0.0950293,0.0930474,0.0871609,0.0854715}; | |
117 | Double_t gv2Error[nCentralityBins] = {0.00777206,0.0055282,0.00461509,0.00540859,0.00673375,0.00916149,0.0118708,0.0150726,0.0159525}; | |
118 | ||
119 | Double_t g3pCorrelatorALICEDataSameCharge[nCentralityBins] = {-1.60885e-05, | |
120 | -2.33387e-05, | |
121 | -5.49677e-05, | |
122 | -0.000105864, | |
123 | -0.000166243, | |
124 | -0.000276424, | |
125 | -0.00037915, | |
126 | -0.000425016, | |
127 | -0.000293409}; | |
128 | Double_t g3pCorrelatorALICEDataSameChargeError[nCentralityBins] = {3.22359e-06, | |
129 | 3.45502e-06, | |
130 | 3.26195e-06, | |
131 | 4.85736e-06, | |
132 | 7.60362e-06, | |
133 | 1.31918e-05, | |
134 | 2.61394e-05, | |
135 | 6.2836e-05, | |
136 | 0.000196171}; | |
137 | //Double_t g3pCorrelatorALICEDataSameChargeSystematicError[nCentralityBins] = {3.58357E-05,1.66674E-05,1.27416E-05,1.98483E-05,3.97548E-05,8.97482E-05,0.00010582,0.000233554,0.00031035126}; | |
138 | Double_t g3pCorrelatorALICEDataSameChargeSystematicError[nCentralityBins] = {1.6383E-05,1.66674E-05,1.27416E-05,1.98483E-05,3.97548E-05,8.97482E-05,0.00010582,0.000233554,0.00031035126}; | |
139 | ||
140 | Double_t g3pCorrelatorALICEDataPlusMinus[nCentralityBins] = {-3.25362e-07, | |
141 | 3.86547e-06, | |
142 | -3.41652e-06, | |
143 | -1.40672e-05, | |
144 | -2.64535e-05, | |
145 | -3.86616e-05, | |
146 | 2.17488e-05, | |
147 | 0.000248817, | |
148 | 0.00105866}; | |
149 | Double_t g3pCorrelatorALICEDataPlusMinusError[nCentralityBins] = {4.40278e-06, | |
150 | 4.87877e-06, | |
151 | 4.57899e-06, | |
152 | 6.81769e-06, | |
153 | 1.06697e-05, | |
154 | 1.83207e-05, | |
155 | 3.62493e-05, | |
156 | 8.68075e-05, | |
157 | 0.000279468}; | |
158 | //Double_t g3pCorrelatorALICEDataPlusMinusSystematicError[nCentralityBins] = {3.55452E-05,1.8482E-05,6.31586E-06,1.20367E-05,3.66273E-05,4.12716E-05,8.08092E-05,0.000158143,0.00031038405}; | |
159 | Double_t g3pCorrelatorALICEDataPlusMinusSystematicError[nCentralityBins] = {6.80205E-06,1.8482E-05,6.31586E-06,1.20367E-05,3.66273E-05,4.12716E-05,8.08092E-05,0.000158143,0.00031038405}; | |
160 | ||
161 | Double_t g3pCorrelatorALICEDatav1Fluctustions[nCentralityBins] = {-4.26793e-06,-5.19642e-06,-1.57247e-05,-3.27355e-05,-5.33411e-05,-8.64989e-05,-9.82421e-05,-4.53941e-05,0.000229361}; | |
162 | Double_t g3pCorrelatorALICEDatav1FluctustionsError[nCentralityBins] = {3.939e-06,4.5402e-06,1.34675e-05,2.72301e-05,4.30072e-05,7.10439e-05,8.04585e-05,4.27054e-05,0.000153265}; | |
163 | ||
164 | Double_t g3pCorrelatorALICEDatav1Fluctustions[nCentralityBins] = {-4.26793e-06,-5.19642e-06,-1.57247e-05,-3.27355e-05,-5.33411e-05,-8.64989e-05,-9.82421e-05,-4.53941e-05,0.000229361}; | |
165 | Double_t g3pCorrelatorALICEDatav1FluctustionsError[nCentralityBins] = {3.939e-06,4.5402e-06,1.34675e-05,2.72301e-05,4.30072e-05,7.10439e-05,8.04585e-05,4.27054e-05,0.000153265}; | |
166 | //================================ALICE================================// | |
167 | ||
168 | //============================Toneev et al.=============================// | |
169 | Double_t g3pCorrelatorToneevSameCharge[4] = {-2.*8.4e-07,-2.*0.0168e-03,-2.*0.0338e-03,-2.*0.0588e-03}; | |
170 | Double_t g3pCorrelatorToneevSameChargeError[4] = {0.,0.,0.,0.}; | |
171 | Double_t gCentralityPercentileToneev[4] = {2.5,20.,45.,67.}; | |
172 | Double_t gCentralityPercentileErrorToneev[4] = {0.5,0.5,0.5,0.5}; | |
173 | //============================Toneev et al.=============================// | |
174 | //+++++++++++++++++++++END OF VARIABLES+++++++++++++++++++++// | |
175 | ||
176 | //_____________________________________________________// | |
177 | void drawPaperFigure2() | |
178 | { | |
179 | //Draws the <cos(psi1 + psi2 - 2psi3) vs centrality percentile | |
180 | gROOT->LoadMacro("SetFlowStyle.C"); | |
181 | SetFlowStyle(); | |
182 | ||
183 | TGaxis::SetMaxDigits(2); | |
184 | ||
185 | //Fix the asymmetric errors for STAR | |
186 | for(Int_t iBin = 0; iBin < nCentralityBins; iBin++) { | |
187 | g3pCorrelatorSTARPlusPlusSysErrorHigh[iBin] = TMath::Abs(g3pCorrelatorSTARPlusPlus[iBin] - g3pCorrelatorSTARPlusPlusSysErrorHigh[iBin]); | |
188 | g3pCorrelatorSTARPlusPlusSysErrorLow[iBin] = TMath::Abs(g3pCorrelatorSTARPlusPlus[iBin] - g3pCorrelatorSTARPlusPlusSysErrorLow[iBin]); | |
189 | //Printf("%lf - %lf - %lf",g3pCorrelatorSTARPlusPlus[iBin],g3pCorrelatorSTARPlusPlusSysErrorLow[iBin],g3pCorrelatorSTARPlusPlusSysErrorHigh[iBin]); | |
190 | ||
191 | g3pCorrelatorSTARPlusMinusSysErrorHigh[iBin] = TMath::Abs(g3pCorrelatorSTARPlusMinus[iBin] - g3pCorrelatorSTARPlusMinusSysErrorHigh[iBin]); | |
192 | g3pCorrelatorSTARPlusMinusSysErrorLow[iBin] = TMath::Abs(g3pCorrelatorSTARPlusMinus[iBin] - g3pCorrelatorSTARPlusMinusSysErrorLow[iBin]); | |
193 | //Printf("%lf - %lf - %lf",g3pCorrelatorSTARPlusMinus[iBin],g3pCorrelatorSTARPlusMinusSysErrorLow[iBin],g3pCorrelatorSTARPlusMinusSysErrorHigh[iBin]); | |
194 | } | |
195 | ||
196 | //Teany-Yan | |
197 | for(Int_t iBin = 0; iBin < nCentralityBins; iBin++) { | |
198 | g3pCorrelatorALICEDatav1Fluctustions[iBin] = 0.5*(g3pCorrelatorALICEDataPlusMinus[iBin] + g3pCorrelatorALICEDataSameCharge[iBin]); | |
199 | //g3pCorrelatorALICEDatav1FluctustionsError[iBin] = 0.1*g3pCorrelatorALICEDatav1Fluctustions[iBin]; | |
200 | g3pCorrelatorALICEDatav1FluctustionsError[iBin] = 0.5*TMath::Sqrt(TMath::Power(g3pCorrelatorALICEDataPlusMinusError[iBin],2) + TMath::Power(g3pCorrelatorALICEDataSameChargeError[iBin],2)); | |
201 | } | |
202 | ||
203 | //HIJING | |
204 | for(Int_t iBin = 0; iBin < nCentralityBins; iBin++) { | |
205 | //no flow | |
206 | g3pHijingNoFlowPlusMinus[iBin] = g3pCorrelatorHijingNoFlowPlusMinus[iBin]/gv2[iBin]; | |
207 | g3pHijingNoFlowPlusMinusError[iBin] = (1./gv2[iBin])*TMath::Sqrt(TMath::Power((g3pCorrelatorHijingNoFlowPlusMinus[iBin]*gv2Error[iBin]/gv2[iBin]),2) + TMath::Power(g3pCorrelatorHijingNoFlowPlusMinusError[iBin],2)); | |
208 | ||
209 | g3pHijingNoFlowSameCharge[iBin] = g3pCorrelatorHijingNoFlowSameCharge[iBin]/gv2[iBin]; | |
210 | g3pHijingNoFlowSameChargeError[iBin] = (1./gv2[iBin])*TMath::Sqrt(TMath::Power((g3pCorrelatorHijingNoFlowSameCharge[iBin]*gv2Error[iBin]/gv2[iBin]),2) + TMath::Power(g3pCorrelatorHijingNoFlowSameChargeError[iBin],2)); | |
211 | ||
212 | g3pHijingNoFlowAvg[iBin] = 0.5*(g3pHijingNoFlowPlusMinus[iBin] + g3pHijingNoFlowSameCharge[iBin]); | |
213 | g3pHijingNoFlowAvgError[iBin] = 0.5*TMath::Sqrt(TMath::Power(g3pHijingNoFlowPlusMinusError[iBin],2) + TMath::Power(g3pHijingNoFlowSameChargeError[iBin],2)); | |
214 | ||
215 | //with flow | |
216 | g3pHijingWithFlowPlusMinus[iBin] = g3pCorrelatorHijingWithFlowPlusMinus[iBin]/gv2[iBin]; | |
217 | g3pHijingWithFlowPlusMinusError[iBin] = (1./gv2[iBin])*TMath::Sqrt(TMath::Power((g3pCorrelatorHijingWithFlowPlusMinus[iBin]*gv2Error[iBin]/gv2[iBin]),2) + TMath::Power(g3pCorrelatorHijingWithFlowPlusMinusError[iBin],2)); | |
218 | ||
219 | g3pHijingWithFlowSameCharge[iBin] = g3pCorrelatorHijingWithFlowSameCharge[iBin]/gv2[iBin]; | |
220 | g3pHijingWithFlowSameChargeError[iBin] = (1./gv2[iBin])*TMath::Sqrt(TMath::Power((g3pCorrelatorHijingWithFlowSameCharge[iBin]*gv2Error[iBin]/gv2[iBin]),2) + TMath::Power(g3pCorrelatorHijingWithFlowSameChargeError[iBin],2)); | |
221 | ||
222 | g3pHijingWithFlowAvg[iBin] = 0.5*(g3pHijingWithFlowPlusMinus[iBin] + g3pHijingWithFlowSameCharge[iBin]); | |
223 | g3pHijingWithFlowAvgError[iBin] = 0.5*TMath::Sqrt(TMath::Power(g3pHijingWithFlowPlusMinusError[iBin],2) + TMath::Power(g3pHijingWithFlowSameChargeError[iBin],2)); | |
224 | } | |
225 | ||
226 | //================================================// | |
227 | //v1 fluctuations | |
228 | TH1F *gHistv1Fluctuations = new TH1F("gHistv1Fluctuations", | |
229 | ";Centrality percentile;#LT cos(#phi_{#alpha} + #phi_{#beta} - 2#Psi_{RP}) #GT", | |
230 | nCentralityBins,0,93); | |
231 | myTGraphSetUpTH(gHistv1Fluctuations,1,myv1FluctColorSame,0,1,myv1FluctColorSame,10,1001,myv1FluctColorSame); | |
232 | ||
233 | for(Int_t iBin = 0; iBin < nCentralityBins; iBin++) { | |
234 | gHistv1Fluctuations->SetBinContent(iBin,g3pCorrelatorALICEDatav1Fluctustions[iBin]); | |
235 | gHistv1Fluctuations->SetBinError(iBin,g3pCorrelatorALICEDatav1FluctustionsError[iBin]); | |
236 | ||
237 | //cout<<"Centrality: "<<strCentralityBins[iBin].Data()<<" "<<g3pCorrelatorALICEDatav1Fluctustions[iBin]<<" ± "<<g3pCorrelatorALICEDatav1FluctustionsError[iBin]<<endl; | |
238 | //cout<<"Centrality: "<<strCentralityBins[iBin].Data()<<" "<<g3pCorrelatorALICEDataSameCharge[iBin]<<" ± "<<g3pCorrelatorALICEDataSameChargeError[iBin]<<" ± "<<g3pCorrelatorALICEDataSameChargeSystematicError[iBin]<<endl; | |
239 | //cout<<"Centrality: "<<strCentralityBins[iBin].Data()<<" "<<g3pCorrelatorALICEDataPlusMinus[iBin]<<" ± "<<g3pCorrelatorALICEDataPlusMinusError[iBin]<<" ± "<<g3pCorrelatorALICEDataPlusMinusSystematicError[iBin]<<endl; | |
240 | //cout<<"Centrality: "<<strCentralityBins[iBin].Data()<<" "<<g3pHijingWithFlowPlusMinus[iBin]<<" ± "<<g3pHijingWithFlowPlusMinusError[iBin]<<endl; | |
241 | //cout<<"Centrality: "<<strCentralityBins[iBin].Data()<<" "<<g3pHijingWithFlowSameCharge[iBin]<<" ± "<<g3pHijingWithFlowSameChargeError[iBin]<<endl; | |
242 | //cout<<"Centrality: "<<strCentralityBins[iBin].Data()<<" "<<g3pHijingWithFlowPlusMinus[iBin]<<" ± "<<g3pHijingWithFlowPlusMinusError[iBin]<<endl; | |
243 | //cout<<"Centrality: "<<strCentralityBins[iBin].Data()<<" "<<g3pHijingNoFlowSameCharge[iBin]<<" ± "<<g3pHijingNoFlowSameChargeError[iBin]<<endl; | |
244 | //cout<<"Centrality: "<<strCentralityBins[iBin].Data()<<" "<<g3pHijingNoFlowPlusMinus[iBin]<<" ± "<<g3pHijingNoFlowPlusMinusError[iBin]<<endl; | |
245 | //cout<<"Centrality: "<<strCentralityBins[iBin].Data()<<" "<<g3pHijingWithFlowPlusMinus[iBin]<<" ± "<<g3pHijingWithFlowPlusMinusError[iBin]<<endl; | |
246 | //cout<<"Centrality: "<<strCentralityBins[iBin].Data()<<" "<<g3pHijingNoFlowAvg[iBin]<<" ± "<<g3pHijingNoFlowAvgError[iBin]<<endl; | |
247 | //cout<<"Centrality: "<<strCentralityBins[iBin].Data()<<" "<<g3pHijingWithFlowAvg[iBin]<<" ± "<<g3pHijingWithFlowAvgError[iBin]<<endl; | |
248 | } | |
249 | ||
250 | //================================================// | |
251 | //HIJING without flow | |
252 | TString drawOptions_HIJING = "PZ"; | |
253 | int markerColor_HIJING = 32; | |
254 | int markerColor_HIJINGv2 = 32; | |
255 | int lineColor_HIJING = markerColor_HIJING; | |
256 | int lineColor_HIJINGv2 = markerColor_HIJINGv2; | |
257 | int lineStyle_HIJING = 1; | |
258 | int lineStyle_HIJINGv2 = 1; | |
259 | int markerStyle_HIJINGopp = 32; | |
260 | int markerStyle_HIJINGoppv2 = 26; | |
261 | int markerStyle_HIJINGsame = 23; | |
262 | int markerStyle_HIJINGsamev2 = 22; | |
263 | float markerSize_HIJING = 1.*myMarkerSize; | |
264 | TGraphErrors *grHIJINGNoFlowAvg = new TGraphErrors(nCentralityBins, | |
265 | gCentralityPercentile2, | |
266 | g3pHijingNoFlowAvg, | |
267 | gCentralityPercentileError, | |
268 | g3pHijingNoFlowAvgError); | |
269 | myTGraphSetUp(grHIJINGNoFlowAvg,markerStyle_HIJINGopp,markerColor_HIJING,markerSize_HIJING,lineStyle_HIJING,lineColor_HIJING,2,1001,markerColor_HIJING); | |
270 | ||
271 | TGraphErrors *grHIJINGNoFlowPlusMinus = new TGraphErrors(nCentralityBins, | |
272 | gCentralityPercentile2, | |
273 | g3pHijingNoFlowPlusMinus, | |
274 | gCentralityPercentileError, | |
275 | g3pHijingNoFlowPlusMinusError); | |
276 | myTGraphSetUp(grHIJINGNoFlowPlusMinus,markerStyle_HIJINGopp,markerColor_HIJING,markerSize_HIJING,lineStyle_HIJING,lineColor_HIJING,2,1001,markerColor_HIJING); | |
277 | ||
278 | TGraphErrors *grHIJINGNoFlowSameCharge = new TGraphErrors(nCentralityBins, | |
279 | gCentralityPercentile2, | |
280 | g3pHijingNoFlowSameCharge, | |
281 | gCentralityPercentileError, | |
282 | g3pHijingNoFlowSameChargeError); | |
283 | myTGraphSetUp(grHIJINGNoFlowSameCharge,markerStyle_HIJINGsame,markerColor_HIJING,markerSize_HIJING,lineStyle_HIJING,lineColor_HIJING,2,1001,markerColor_HIJING); | |
284 | //================================================// | |
285 | ||
286 | //================================================// | |
287 | //HIJING with flow | |
288 | TGraphErrors *grHIJINGWithFlowAvg = new TGraphErrors(nCentralityBins, | |
289 | gCentralityPercentile3, | |
290 | g3pHijingWithFlowAvg, | |
291 | gCentralityPercentileError, | |
292 | g3pHijingWithFlowAvgError); | |
293 | myTGraphSetUp(grHIJINGWithFlowAvg,markerStyle_HIJINGsamev2,markerColor_HIJINGv2,markerSize_HIJING,lineStyle_HIJINGv2,markerColor_HIJINGv2,2,1001,markerColor_HIJINGv2); | |
294 | ||
295 | TGraphErrors *grHIJINGWithFlowPlusMinus = new TGraphErrors(nCentralityBins, | |
296 | gCentralityPercentile3, | |
297 | g3pHijingWithFlowPlusMinus, | |
298 | gCentralityPercentileError, | |
299 | g3pHijingWithFlowPlusMinusError); | |
300 | myTGraphSetUp(grHIJINGWithFlowPlusMinus,markerStyle_HIJINGsamev2,markerColor_HIJINGv2,markerSize_HIJING,lineStyle_HIJINGv2,markerColor_HIJINGv2,2,1001,markerColor_HIJINGv2); | |
301 | ||
302 | TGraphErrors *grHIJINGWithFlowSameCharge = new TGraphErrors(nCentralityBins, | |
303 | gCentralityPercentile3, | |
304 | g3pHijingWithFlowSameCharge, | |
305 | gCentralityPercentileError, | |
306 | g3pHijingWithFlowSameChargeError); | |
307 | myTGraphSetUp(grHIJINGWithFlowSameCharge,markerStyle_HIJINGsamev2,markerColor_HIJINGv2,markerSize_HIJING,lineStyle_HIJINGv2,markerColor_HIJINGv2,2,1001,markerColor_HIJINGv2); | |
308 | //================================================// | |
309 | ||
310 | //================================================// | |
311 | //Toneev et al. | |
312 | TGraphErrors *grToneevSameCharge = new TGraphErrors(4,gCentralityPercentileToneev,g3pCorrelatorToneevSameCharge,gCentralityPercentileErrorToneev,g3pCorrelatorToneevSameChargeError); | |
313 | myTGraphSetUp(grToneevSameCharge,21,myToneevColor,3,1,myToneevColor,3,1001,myToneevColor); | |
314 | //================================================// | |
315 | int markerColor_ALICE = myDarkRed; | |
316 | int lineColor_ALICE = markerColor_ALICE; | |
317 | int markerStyle_ALICEsame = 20; | |
318 | int markerStyle_ALICEopp = 24; | |
319 | int color_sysErr_STAR = 17; | |
320 | int color_sysErr_ALICE = 25; | |
321 | //(+-) | |
322 | TGraphErrors *grALICEDataPlusMinus = new TGraphErrors(nCentralityBins, | |
323 | gCentralityPercentile, | |
324 | g3pCorrelatorALICEDataPlusMinus, | |
325 | gCentralityPercentileError, | |
326 | g3pCorrelatorALICEDataPlusMinusError); | |
327 | myTGraphSetUp(grALICEDataPlusMinus,markerStyle_ALICEopp,markerColor_ALICE,myMarkerSize,1,lineColor_ALICE,2,1001,markerColor_ALICE); | |
328 | ||
329 | TGraphErrors *grALICEDataPlusMinusSystematic = new TGraphErrors(nCentralityBins, | |
330 | gCentralityPercentile, | |
331 | g3pCorrelatorALICEDataPlusMinus, | |
332 | gCentralityPercentileSystematicError, | |
333 | g3pCorrelatorALICEDataPlusMinusSystematicError); | |
334 | myTGraphSetUp(grALICEDataPlusMinusSystematic,markerStyle_ALICEopp,color_sysErr_ALICE,myMarkerSize,1,color_sysErr_ALICE,10,1001,color_sysErr_ALICE); | |
335 | Printf("ALICE (+-)"); | |
336 | for(Int_t iCentrality = 0; iCentrality < nCentralityBins; iCentrality++) | |
337 | cout<<"Centrality: "<<strCentralityBins[iCentrality].Data()<<" - C "<<g3pCorrelatorALICEDataPlusMinus[iCentrality]<<" - Sys: "<<g3pCorrelatorALICEDataPlusMinusSystematicError[iCentrality]<<" ("<<100*TMath::Abs(g3pCorrelatorALICEDataPlusMinusSystematicError[iCentrality]/g3pCorrelatorALICEDataPlusMinus[iCentrality])<<"%)"<<endl; | |
338 | ||
339 | int markerColor_STAR = 9; | |
340 | int lineColor_STAR = markerColor_STAR; | |
341 | TGraphErrors *grSTARDataPlusMinus = new TGraphErrors(nCentralityBins, | |
342 | gCentralityPercentileStar, | |
343 | g3pCorrelatorSTARPlusMinus, | |
344 | gCentralityPercentileError, | |
345 | g3pCorrelatorSTARPlusMinusError); | |
346 | myTGraphSetUp(grSTARDataPlusMinus,30,markerColor_STAR,myMarkerSize+0.2,1,lineColor_STAR,2,1001,markerColor_STAR); | |
347 | TGraphAsymmErrors *grSTARDataPlusMinusSystematics = new TGraphAsymmErrors(nCentralityBins,gCentralityPercentileStar,g3pCorrelatorSTARPlusMinus,gCentralityPercentileError,gCentralityPercentileError,g3pCorrelatorSTARPlusMinusSysErrorHigh,g3pCorrelatorSTARPlusMinusSysErrorLow); | |
348 | myTGraphSetUp_Asym(grSTARDataPlusMinusSystematics,30,color_sysErr_STAR,myMarkerSize,1,color_sysErr_STAR,10,1001,color_sysErr_STAR); | |
349 | ||
350 | //================================================// | |
351 | //(--)&(++) | |
352 | TGraphErrors *grALICEDataSameCharge = new TGraphErrors(nCentralityBins, | |
353 | gCentralityPercentile, | |
354 | g3pCorrelatorALICEDataSameCharge, | |
355 | gCentralityPercentileError, | |
356 | g3pCorrelatorALICEDataSameChargeError); | |
357 | myTGraphSetUp(grALICEDataSameCharge,markerStyle_ALICEsame,markerColor_ALICE,myMarkerSize,1,lineColor_ALICE,2,1001,markerColor_ALICE); | |
358 | ||
359 | TGraphErrors *grALICEDataSameChargeSystematic = new TGraphErrors(nCentralityBins, | |
360 | gCentralityPercentile, | |
361 | g3pCorrelatorALICEDataSameCharge, | |
362 | gCentralityPercentileSystematicError, | |
363 | g3pCorrelatorALICEDataSameChargeSystematicError);; | |
364 | myTGraphSetUp(grALICEDataSameChargeSystematic,markerStyle_ALICEsame,color_sysErr_ALICE,myMarkerSize,1,color_sysErr_ALICE,10,1001,color_sysErr_ALICE); | |
365 | Printf("ALICE (++,--)"); | |
366 | for(Int_t iCentrality = 0; iCentrality < nCentralityBins; iCentrality++) | |
367 | cout<<"Centrality: "<<strCentralityBins[iCentrality].Data()<<" - C "<<g3pCorrelatorALICEDataSameCharge[iCentrality]<<" - Sys: "<<g3pCorrelatorALICEDataSameChargeSystematicError[iCentrality]<<" ("<<100*TMath::Abs(g3pCorrelatorALICEDataSameChargeSystematicError[iCentrality]/g3pCorrelatorALICEDataSameCharge[iCentrality])<<"%)"<<endl; | |
368 | ||
369 | TGraphErrors *grSTARDataPlusPlus = new TGraphErrors(nCentralityBins, | |
370 | gCentralityPercentileStar, | |
371 | g3pCorrelatorSTARPlusPlus, | |
372 | gCentralityPercentileError, | |
373 | g3pCorrelatorSTARPlusPlusError); | |
374 | myTGraphSetUp(grSTARDataPlusPlus,29,markerColor_STAR,myMarkerSize+0.4,1,lineColor_STAR,2,1001,markerColor_STAR); | |
375 | TGraphAsymmErrors *grSTARDataPlusPlusSystematics = new TGraphAsymmErrors(nCentralityBins, | |
376 | gCentralityPercentileStar, | |
377 | g3pCorrelatorSTARPlusPlus, | |
378 | gCentralityPercentileError, | |
379 | gCentralityPercentileError, | |
380 | g3pCorrelatorSTARPlusPlusSysErrorLow, | |
381 | g3pCorrelatorSTARPlusPlusSysErrorHigh); | |
382 | myTGraphSetUp_Asym(grSTARDataPlusPlusSystematics,29,color_sysErr_STAR,myMarkerSize+0.4,1,color_sysErr_STAR,10,1001,color_sysErr_STAR); | |
383 | ||
384 | //_____________________________________________________// | |
385 | //Draw the results | |
386 | //_____________________________________________________// | |
387 | TLatex *latex = new TLatex(); | |
388 | latex->SetTextSize(0.035); | |
389 | ||
390 | //====================================// | |
391 | //<cos(psi1+psi2-2phi3)> vs centrality | |
392 | TH2F *gEmpty1 = new TH2F("gEmpty1", | |
393 | ";centrality, %;#LT cos(#phi_{#alpha} + #phi_{#beta} - 2#Psi_{RP}) #GT", | |
394 | nCentralityBins,0,70,1000,-7.e-04,6.e-04); | |
395 | gEmpty1->SetStats(kFALSE); | |
396 | //gEmpty1->GetYaxis()->SetTitleOffset(1.8); | |
397 | //gEmpty1->GetXaxis()->SetTitleOffset(1.5); | |
398 | gEmpty1->GetYaxis()->SetTitleSize(0.07); | |
399 | gEmpty1->GetYaxis()->SetTitleOffset(0.85); | |
400 | gEmpty1->GetYaxis()->SetNdivisions(10); | |
401 | gEmpty1->GetXaxis()->SetNdivisions(10); | |
402 | ||
403 | TF1 *f1 = new TF1("f1","0",0,1000); | |
404 | f1->SetLineColor(1); f1->SetLineStyle(1); f1->SetLineWidth(1); | |
405 | ||
406 | TCanvas *c1 = new TCanvas("c1","Centrality dependence: 3p correlator", | |
407 | 0,0,800,600); | |
408 | TPad *myPad = new TPad("myPad", "The pad",0,0,1,1); | |
409 | myPadSetUp(myPad,0.15,0.065,0.04,0.15); | |
410 | myPad->Draw(); | |
411 | myPad->cd(); | |
412 | //c1->SetGridx(); c1->SetGridy(); | |
413 | gEmpty1->Draw(); | |
414 | f1->Draw("same"); | |
415 | ||
416 | // shift various data points wrt. each other | |
417 | float shift_ALICE = -2.; | |
418 | float shift_STAR = 2.; | |
419 | float shift_HIJING = 6.5; | |
420 | float shift_HIJINGv2 = -0.5; | |
421 | ||
422 | ShiftAlongXaxis_TGraphErrors(grALICEDataPlusMinusSystematic,shift_ALICE); | |
423 | ShiftAlongXaxis_TGraphErrors(grALICEDataSameChargeSystematic,shift_ALICE); | |
424 | ShiftAlongXaxis_TGraphErrors(grALICEDataPlusMinus,shift_ALICE); | |
425 | ShiftAlongXaxis_TGraphErrors(grALICEDataSameCharge,shift_ALICE); | |
426 | ||
427 | ShiftAlongXaxis_TGraphAsymmErrors(grSTARDataPlusPlusSystematics,shift_STAR); | |
428 | ShiftAlongXaxis_TGraphAsymmErrors(grSTARDataPlusMinusSystematics,shift_STAR); | |
429 | ShiftAlongXaxis_TGraphErrors(grSTARDataPlusPlus,shift_STAR); | |
430 | ShiftAlongXaxis_TGraphErrors(grSTARDataPlusMinus,shift_STAR); | |
431 | ||
432 | ShiftAlongXaxis_TGraphErrors(grHIJINGWithFlowSameCharge,shift_HIJINGv2); | |
433 | ShiftAlongXaxis_TGraphErrors(grHIJINGWithFlowPlusMinus,shift_HIJINGv2); | |
434 | ShiftAlongXaxis_TGraphErrors(grHIJINGWithFlowAvg,shift_HIJINGv2); | |
435 | ShiftAlongXaxis_TGraphErrors(grHIJINGNoFlowSameCharge,shift_HIJING); | |
436 | ShiftAlongXaxis_TGraphErrors(grHIJINGNoFlowPlusMinus,shift_HIJING); | |
437 | ShiftAlongXaxis_TGraphErrors(grHIJINGNoFlowAvg,shift_HIJING); | |
438 | ||
439 | //grHIJINGWithFlowSameCharge->Draw(drawOptions_HIJING); | |
440 | //grHIJINGWithFlowPlusMinus->Draw(drawOptions_HIJING); | |
441 | //grHIJINGWithFlowAvg->Draw(drawOptions_HIJING); | |
442 | //grHIJINGNoFlowSameCharge->Draw(drawOptions_HIJING); | |
443 | //grHIJINGNoFlowPlusMinusAvg->Draw(drawOptions_HIJING); | |
444 | grHIJINGNoFlowAvg->Draw(drawOptions_HIJING); | |
445 | ||
446 | gHistv1Fluctuations->Draw("e3,same"); | |
447 | grToneevSameCharge->Draw("C"); | |
448 | ||
449 | grSTARDataPlusPlusSystematics->Draw("P2"); | |
450 | grSTARDataPlusPlus->Draw("PZ"); | |
451 | grSTARDataPlusMinusSystematics->Draw("P2"); | |
452 | grSTARDataPlusMinus->Draw("PZ"); | |
453 | ||
454 | grALICEDataPlusMinusSystematic->Draw("Z"); | |
455 | grALICEDataSameChargeSystematic->Draw("Z"); | |
456 | grALICEDataPlusMinus->Draw("PZ"); | |
457 | TGraphErrors *grALICEDataPlusMinus_clone = (TGraphErrors*)grALICEDataPlusMinus->Clone("grALICEDataPlusMinus_clone"); | |
458 | grALICEDataPlusMinus_clone->SetMarkerSize(0.9*grALICEDataPlusMinus->GetMarkerSize()); | |
459 | TGraphErrors *grALICEDataPlusMinus_clone1 = (TGraphErrors*)grALICEDataPlusMinus->Clone("grALICEDataPlusMinus_clone1"); | |
460 | grALICEDataPlusMinus_clone1->SetMarkerSize(0.8*grALICEDataPlusMinus->GetMarkerSize()); | |
461 | grALICEDataPlusMinus_clone->Draw("PZ"); | |
462 | grALICEDataPlusMinus_clone1->Draw("PZ"); | |
463 | grALICEDataSameCharge->SetMarkerSize(1.1*grALICEDataSameCharge->GetMarkerSize()); | |
464 | grALICEDataSameCharge->Draw("PZ"); | |
465 | ||
466 | //TLegend *legend1 = new TLegend(0.18,0.54,0.8,0.85,"","brNDC"); | |
467 | //TLegend *legend1 = new TLegend(0.19,0.63,0.78,0.88,"","brNDC"); | |
468 | TLegend *legend1 = new TLegend(0.17,0.19,0.58,0.33,"","brNDC"); | |
469 | myLegendSetUp(legend1,0.04); | |
470 | legend1->SetNColumns(2); | |
471 | //legend->AddEntry("Opposite charge","(+-)",""); | |
472 | //legend->AddEntry("Same charge","Same Charge",""); | |
473 | legend1->AddEntry(grALICEDataPlusMinusSystematic," ","L"); | |
474 | legend1->AddEntry(grALICEDataSameChargeSystematic," ","L"); | |
475 | // legend1->AddEntry(grALICEDataSameChargeSystematic," ALICE Pb-Pb @ #sqrt{s_{NN}} = 2.76 TeV","lp"); | |
476 | legend1->AddEntry(grSTARDataPlusMinusSystematics," ","L"); | |
477 | legend1->AddEntry(grSTARDataPlusPlusSystematics," ","L"); | |
478 | // legend1->AddEntry("NULL"," ",""); | |
479 | // legend1->AddEntry("NULL"," ",""); | |
480 | legend1->AddEntry("NULL"," ",""); | |
481 | legend1->AddEntry("NULL"," ",""); | |
482 | legend1->AddEntry("NULL"," ",""); | |
483 | legend1->AddEntry("NULL"," ",""); | |
484 | // legend1->AddEntry("NULL"," ",""); | |
485 | // legend1->AddEntry("NULL"," ",""); | |
486 | //legend1->Draw(); | |
487 | ||
488 | //TLegend *legend = new TLegend(0.19,0.68,0.78,0.93,"","brNDC"); | |
489 | TLegend *legend = new TLegend(0.19,0.75,0.78,0.89,"","brNDC"); | |
490 | myLegendSetUp(legend,0.04); | |
491 | legend->SetNColumns(2); | |
492 | //legend->AddEntry("Opposite charge","(+-)",""); | |
493 | //legend->AddEntry("Same charge","Same Charge",""); | |
494 | legend->AddEntry(grALICEDataSameCharge," ","p"); | |
495 | legend->AddEntry(grALICEDataPlusMinus," ALICE Pb-Pb @ #sqrt{s_{NN}} = 2.76 TeV","p"); | |
496 | legend->AddEntry(grSTARDataPlusPlus," ","p"); | |
497 | legend->AddEntry(grSTARDataPlusMinus," STAR Au-Au @ #sqrt{s_{NN}} = 0.2 TeV","p"); | |
498 | //legend->AddEntry(grHIJINGNoFlowSameCharge," ","p"); | |
499 | //legend->AddEntry(grHIJINGNoFlowPlusMinus," #LTcos(#phi_{#alpha} + #phi_{#beta} - 2#phi_{c})#GT_{HIJING} / v_{2}{2}","p"); | |
500 | //legend->AddEntry(grHIJINGWithFlowSameCharge," ","p"); | |
501 | //legend->AddEntry(grHIJINGWithFlowPlusMinus," HIJING with v_{2} modulations","p"); | |
502 | // legend->AddEntry(grToneevSameCharge," ","l"); | |
503 | // legend->AddEntry("NULL"," CME expectation (Toneev #font[12]{et al.})",""); | |
504 | legend->Draw(); | |
505 | ||
506 | TLegend *legend3 = new TLegend(0.19,0.675,0.78,0.775,"","brNDC"); | |
507 | myLegendSetUp(legend3,0.04); | |
508 | legend3->AddEntry(gHistv1Fluctuations," (ALICE) same+opp. mean","L"); | |
509 | legend3->Draw(); | |
510 | ||
511 | TLatex *myText = new TLatex(); | |
512 | myText->SetNDC(); | |
513 | myText->SetTextSize(0.04); | |
514 | myText->SetTextColor(1); | |
515 | myText->DrawLatex(0.195,0.89,"same"); | |
516 | //myText->DrawLatex(0.155,0.34,"same"); | |
517 | myText->SetTextColor(1); | |
518 | myText->DrawLatex(0.29,0.89,"opp."); | |
519 | //myText->DrawLatex(0.23,0.34,"opp."); | |
520 | ||
521 | //TLegend *legend2 = new TLegend(0.17,0.19,0.58,0.33,"","brNDC"); | |
522 | TLegend *legend2 = new TLegend(0.17,0.19,0.58,0.37,"","brNDC"); | |
523 | myLegendSetUp(legend2,0.04); | |
524 | //legend2->SetNColumns(2); | |
525 | //legend2->AddEntry("Opposite charge","(+-)",""); | |
526 | //legend2->AddEntry("Same charge","Same Charge",""); | |
527 | // legend2->AddEntry(grToneevSameCharge," Toneev #font[12]{et al.} (same charge)","L"); | |
528 | legend2->AddEntry(grHIJINGNoFlowAvg," #LTcos(#phi_{#alpha} + #phi_{#beta} - 2#phi_{c})#GT_{HIJING} / v_{2}{2}","p"); | |
529 | //legend2->AddEntry(grHIJINGWithFlowAvg," HIJING with v_{2} modulations","p"); | |
530 | legend2->AddEntry(grToneevSameCharge," CME expectation (Toneev #font[12]{et al.})","L"); | |
531 | //legend2->AddEntry(gHistv1Fluctuations," v_{1} fluctuations (same+opp. mean)","L"); | |
532 | //legend2->AddEntry(gHistv1Fluctuations,"(ALICE) same+opp. mean","L"); | |
533 | legend2->Draw(); | |
534 | ||
535 | if(gPreliminary) { | |
536 | TLatex *alice = new TLatex(0.25,0.18,"Preliminary"); | |
537 | alice->SetNDC(); | |
538 | alice->SetTextColor(kRed+2); | |
539 | alice->SetTextSize(0.035); | |
540 | alice->SetLineWidth(2); | |
541 | alice->Draw(); | |
542 | ||
543 | TPad *myPadLogo = new TPad("myPadLogo", | |
544 | "Pad for ALICE Logo",0.26,0.21,0.41,0.36); | |
545 | //myPadLogo->SetFillColor(2) // color to first figure out where is the pad then comment ! | |
546 | myPadSetUp(myPadLogo,0,0,0,0); | |
547 | myPadLogo->Draw(); | |
548 | myPadLogo->cd(); | |
549 | TASImage *myAliceLogo = new TASImage("alice_logo_transparent.png"); | |
550 | myAliceLogo->Draw(); | |
551 | } | |
552 | ||
553 | c1->SaveAs("figure2.eps"); | |
554 | c1->SaveAs("figure2.pdf"); | |
555 | c1->SaveAs("figure2.png"); | |
556 | } | |
557 | ||
558 | //_______________________________________________________________// | |
559 | void SetDataPoints(const char* resultsPath, | |
560 | Int_t chargeCombination) { | |
561 | //chargeCombination == 0 ==> (+-) | |
562 | //chargeCombination == 1 ==> (++) | |
563 | //chargeCombination == -1 ==> (--) | |
564 | //chargeCombination == 2 ==> (--)&(++) | |
565 | ||
566 | TString filename = resultsPath; | |
567 | //if(chargeCombination == 0) filename += "TPCOnly/PlusMinus/outputMH.root"; | |
568 | //else if(chargeCombination == 1) filename += "TPCOnly/PlusPlus/outputMH.root"; | |
569 | //else if(chargeCombination == -1) filename += "TPCOnly/MinusMinus/outputMH.root"; | |
570 | //else if(chargeCombination == 2) filename += "TPCOnly/SameCharge/outputMH.root"; | |
571 | if(chargeCombination == 0) filename += "PlusMinus/TPCOnly/outputMH.root"; | |
572 | else if(chargeCombination == 1) filename += "PlusPlus/TPCOnly/outputMH.root"; | |
573 | else if(chargeCombination == -1) filename += "MinusMinus/TPCOnly/outputMH.root"; | |
574 | else if(chargeCombination == 2) filename += "SameCharge/TPCOnly/outputMH.root"; | |
575 | else { | |
576 | Printf("Wrong charge combinations selected - the supported values are 0, 1 and -1"); | |
577 | break; | |
578 | } | |
579 | //Printf("%s",filename.Data()); | |
580 | TFile *fInput = TFile::Open(filename.Data()); | |
581 | if(!fInput) { | |
582 | Printf("File %s not found!!!",filename.Data()); | |
583 | break; | |
584 | } | |
585 | //fInput->ls(); | |
586 | ||
587 | TString hist3pName; | |
588 | TH1D *gHist3p; | |
589 | TString histQC2Name; | |
590 | TH1D *gHistQC2; | |
591 | TString histQC4Name; | |
592 | TH1D *gHistQC4; | |
593 | ||
594 | ||
595 | Double_t g3pPlusMinusError[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.}; | |
596 | Double_t g3pPlusPlusError[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.}; | |
597 | Double_t g3pMinusMinusError[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.}; | |
598 | Double_t g3pSameChargeError[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.}; | |
599 | ||
600 | for(Int_t iBin = 0; iBin < nCentralityBins; iBin++) { | |
601 | hist3pName = "g3pHistName"; hist3pName += strCentralityBins[iBin]; | |
602 | gHist3p = dynamic_cast<TH1D *>(fInput->Get(hist3pName.Data())); | |
603 | histQC2Name = "fHistIntegratedFlowRPQC_2;"; histQC2Name += iBin + 1; | |
604 | gHistQC2 = dynamic_cast<TH1D *>(fInput->Get(histQC2Name.Data())); | |
605 | histQC4Name = "fHistIntegratedFlowRPQC_4;"; histQC4Name += iBin + 1; | |
606 | gHistQC4 = dynamic_cast<TH1D *>(fInput->Get(histQC4Name.Data())); | |
607 | ||
608 | if(chargeCombination == 0) { | |
609 | g3pCorrelatorALICEDataPlusMinus[iBin] = gHist3p->GetBinContent(1); | |
610 | g3pPlusMinusError[iBin] = gHist3p->GetBinError(1); | |
611 | v2QC2PlusMinus[iBin] = gHistQC2->GetBinContent(1); | |
612 | v2QC2PlusMinusError[iBin] = gHistQC2->GetBinError(1); | |
613 | v2QC4PlusMinus[iBin] = gHistQC4->GetBinContent(1); | |
614 | v2QC4PlusMinusError[iBin] = gHistQC4->GetBinError(1); | |
615 | } | |
616 | if(chargeCombination == 1) { | |
617 | g3pCorrelatorALICEDataPlusPlus[iBin] = gHist3p->GetBinContent(1); | |
618 | g3pPlusPlusError[iBin] = gHist3p->GetBinError(1); | |
619 | v2QC2PlusPlus[iBin] = gHistQC2->GetBinContent(1); | |
620 | v2QC2PlusPlusError[iBin] = gHistQC2->GetBinError(1); | |
621 | v2QC4PlusPlus[iBin] = gHistQC4->GetBinContent(1); | |
622 | v2QC4PlusPlusError[iBin] = gHistQC4->GetBinError(1); | |
623 | } | |
624 | if(chargeCombination == -1) { | |
625 | g3pCorrelatorALICEDataMinusMinus[iBin] = gHist3p->GetBinContent(1); | |
626 | g3pMinusMinusError[iBin] = gHist3p->GetBinError(1); | |
627 | v2QC2MinusMinus[iBin] = gHistQC2->GetBinContent(1); | |
628 | v2QC2MinusMinusError[iBin] = gHistQC2->GetBinError(1); | |
629 | v2QC4MinusMinus[iBin] = gHistQC4->GetBinContent(1); | |
630 | v2QC4MinusMinusError[iBin] = gHistQC4->GetBinError(1); | |
631 | } | |
632 | if(chargeCombination == 2) { | |
633 | g3pCorrelatorALICEDataSameCharge[iBin] = gHist3p->GetBinContent(1); | |
634 | g3pSameChargeError[iBin] = gHist3p->GetBinError(1); | |
635 | v2QC2SameCharge[iBin] = gHistQC2->GetBinContent(1); | |
636 | v2QC2SameChargeError[iBin] = gHistQC2->GetBinError(1); | |
637 | v2QC4SameCharge[iBin] = gHistQC4->GetBinContent(1); | |
638 | v2QC4SameChargeError[iBin] = gHistQC4->GetBinError(1); | |
639 | } | |
640 | }//centrality bin | |
641 | ||
642 | for(Int_t iBin = 0; iBin < nCentralityBins; iBin++) { | |
643 | if(chargeCombination == 0) { | |
644 | g3pCorrelatorALICEDataPlusMinus[iBin] /= v2QC2PlusMinus[iBin]; | |
645 | g3pCorrelatorALICEDataPlusMinusError[iBin] = TMath::Sqrt(TMath::Power(g3pPlusMinusError[iBin]/v2QC2PlusMinus[iBin],2) + TMath::Power(g3pCorrelatorALICEDataPlusMinus[iBin]*v2QC2PlusMinusError[iBin]/(v2QC2PlusMinus[iBin]*v2QC2PlusMinus[iBin]),2)); | |
646 | } | |
647 | if(chargeCombination == 1) { | |
648 | g3pCorrelatorALICEDataPlusPlus[iBin] /= v2QC2PlusPlus[iBin]; | |
649 | g3pCorrelatorALICEDataPlusPlusError[iBin] = TMath::Sqrt(TMath::Power(g3pPlusPlusError[iBin]/v2QC2PlusPlus[iBin],2) + TMath::Power(g3pCorrelatorALICEDataPlusPlus[iBin]*v2QC2PlusPlusError[iBin]/(v2QC2PlusPlus[iBin]*v2QC2PlusPlus[iBin]),2)); | |
650 | } | |
651 | if(chargeCombination == -1) { | |
652 | g3pCorrelatorALICEDataMinusMinus[iBin] /= v2QC2MinusMinus[iBin]; | |
653 | g3pCorrelatorALICEDataMinusMinusError[iBin] = TMath::Sqrt(TMath::Power(g3pMinusMinusError[iBin]/v2QC2MinusMinus[iBin],2) + TMath::Power(g3pCorrelatorALICEDataMinusMinus[iBin]*v2QC2MinusMinusError[iBin]/(v2QC2MinusMinus[iBin]*v2QC2MinusMinus[iBin]),2)); | |
654 | } | |
655 | if(chargeCombination == 2) { | |
656 | g3pCorrelatorALICEDataSameCharge[iBin] /= v2QC2SameCharge[iBin]; | |
657 | g3pCorrelatorALICEDataSameChargeError[iBin] = TMath::Sqrt(TMath::Power(g3pSameChargeError[iBin]/v2QC2SameCharge[iBin],2) + TMath::Power(g3pCorrelatorALICEDataSameCharge[iBin]*v2QC2SameChargeError[iBin]/(v2QC2SameCharge[iBin]*v2QC2SameCharge[iBin]),2)); | |
658 | } | |
659 | } | |
660 | } | |
661 | ||
662 | //_______________________________________________________________// | |
663 | void GetCorrelatorAndError(TProfile *g3pCorrelatorVsPt, | |
664 | Double_t &g3pCorrelatorValue, | |
665 | Double_t &g3pCorrelatorError, | |
666 | Int_t iBinLow = 0, | |
667 | Int_t iBinHigh = 0) { | |
668 | //Function to return the average value of the 3p correlator | |
669 | //<cos(psi1 + psi2 - 2phi3)> and its error. | |
670 | //The first argument is one of the 3p TProfile objects vs pt. | |
671 | //The second and third argument give the integral and its error. | |
672 | //The fourth and fifth, if specified, indicate the lowest and | |
673 | //highest bin the calculation should be performed for. | |
674 | Int_t gBinLow = 1, gBinHigh = g3pCorrelatorVsPt->GetNbinsX(); | |
675 | if(iBinLow) gBinLow = iBinLow; | |
676 | if(iBinHigh) gBinHigh = iBinHigh; | |
677 | ||
678 | Double_t gSumXi = 0.; | |
679 | Double_t gSumYi = 0.; | |
680 | Double_t gSumXiYi = 0.; | |
681 | Double_t gSumXiYi2 = 0.; | |
682 | Double_t gSumXi2Yi2 = 0.; | |
683 | Double_t gSumDeltaXi2 = 0.; | |
684 | Double_t gSumYi2DeltaXi2 = 0.; | |
685 | Double_t dError = 0.; //Flow code driven error calculation | |
686 | ||
687 | Double_t kSumBi = 0., kSumBi2DeltaYi2 = 0.; | |
688 | Double_t kSumYiBi = 0., kSumYi2DeltaBi2 = 0.; | |
689 | Double_t kSumDeltaBi2 = 0.; | |
690 | ||
691 | for(Int_t iBin = gBinLow; iBin <= gBinHigh; iBin++) { | |
692 | gSumXi += g3pCorrelatorVsPt->GetBinEntries(iBin); | |
693 | gSumYi += g3pCorrelatorVsPt->GetBinContent(iBin); | |
694 | gSumXiYi += g3pCorrelatorVsPt->GetBinEntries(iBin)*g3pCorrelatorVsPt->GetBinContent(iBin); | |
695 | gSumXiYi2 += g3pCorrelatorVsPt->GetBinEntries(iBin)*TMath::Power(g3pCorrelatorVsPt->GetBinContent(iBin),2); | |
696 | gSumXi2Yi2 += TMath::Power(g3pCorrelatorVsPt->GetBinEntries(iBin)*g3pCorrelatorVsPt->GetBinContent(iBin),2); | |
697 | gSumDeltaXi2 += TMath::Power(g3pCorrelatorVsPt->GetBinError(iBin),2); | |
698 | gSumYi2DeltaXi2 += TMath::Power(g3pCorrelatorVsPt->GetBinContent(iBin),2) + TMath::Power(g3pCorrelatorVsPt->GetBinError(iBin),2); | |
699 | ||
700 | dError += g3pCorrelatorVsPt->GetBinEntries(iBin)*g3pCorrelatorVsPt->GetBinEntries(iBin)*g3pCorrelatorVsPt->GetBinError(iBin)*g3pCorrelatorVsPt->GetBinError(iBin); | |
701 | ||
702 | //new error calculation | |
703 | kSumBi += g3pCorrelatorVsPt->GetBinEntries(iBin); | |
704 | kSumYiBi += g3pCorrelatorVsPt->GetBinEntries(iBin)*g3pCorrelatorVsPt->GetBinContent(iBin); | |
705 | kSumBi2DeltaYi2 += TMath::Power(g3pCorrelatorVsPt->GetBinEntries(iBin),2)*TMath::Power(g3pCorrelatorVsPt->GetBinError(iBin),2); | |
706 | kSumYi2DeltaBi2 += TMath::Power(g3pCorrelatorVsPt->GetBinContent(iBin),2)*TMath::Power(TMath::Sqrt(g3pCorrelatorVsPt->GetBinEntries(iBin)),2); | |
707 | kSumDeltaBi2 += TMath::Power(TMath::Sqrt(g3pCorrelatorVsPt->GetBinEntries(iBin)),2); | |
708 | } | |
709 | ||
710 | g3pCorrelatorValue = -1000.; | |
711 | g3pCorrelatorError = 1000.; | |
712 | ||
713 | if(gSumXi != 0.) | |
714 | g3pCorrelatorValue = gSumXiYi/gSumXi; | |
715 | if((gSumXi != 0.)&&(gSumXiYi != 0.)) | |
716 | g3pCorrelatorError = TMath::Abs((gSumXiYi/gSumXi))*TMath::Sqrt(TMath::Power((TMath::Sqrt(gSumYi2DeltaXi2)/gSumXiYi),2) + TMath::Power((gSumDeltaXi2/gSumXi),2)); | |
717 | //g3pCorrelatorError = TMath::Sqrt((1./TMath::Power(kSumBi,2))*(kSumBi2DeltaYi2 + kSumYi2DeltaBi2 + TMath::Power(kSumYiBi,2)*kSumDeltaBi2/TMath::Power(kSumBi,2))); | |
718 | if(gSumXi != 0.) | |
719 | dError /= TMath::Power(gSumXi,2); | |
720 | dError = TMath::Sqrt(dError); | |
721 | g3pCorrelatorError = dError; | |
722 | ||
723 | /*Int_t iBinCounter = 0; | |
724 | Double_t gSumBinContentTimesWeight = 0., gSumWeight = 0.; | |
725 | Double_t gSumBinContentTimesWeightSquared = 0.; | |
726 | for(Int_t iBin = gBinLow; iBin <= gBinHigh; iBin++) { | |
727 | iBinCounter += 1; | |
728 | ||
729 | gSumBinContentTimesWeight += g3pCorrelatorVsPt->GetBinContent(iBin)*g3pCorrelatorVsPt->GetBinEntries(iBin); | |
730 | gSumWeight += g3pCorrelatorVsPt->GetBinEntries(iBin); | |
731 | gSumBinContentTimesWeightSquared += TMath::Power(gSumBinContentTimesWeight,2); | |
732 | } | |
733 | ||
734 | //Printf("%lf - %d",gSumWeight,iBinCounter); | |
735 | //Calculate the g3pCorrelatorValue and its error | |
736 | g3pCorrelatorValue = -1000.; | |
737 | g3pCorrelatorError = 1000.; | |
738 | if((gSumWeight)&&(iBinCounter)) { | |
739 | g3pCorrelatorValue = gSumBinContentTimesWeight/(gSumWeight); | |
740 | g3pCorrelatorError = TMath::Sqrt(gSumBinContentTimesWeightSquared/TMath::Power(gSumWeight,2)); | |
741 | }*/ | |
742 | ||
743 | //+++++++++++++++++++Extra new: Proper error calculation++++++++++++++++// | |
744 | Double_t kSumBi = 0.; | |
745 | Double_t kSumAiBi = 0.; | |
746 | Double_t kSumBi2DeltaAi2 = 0.; | |
747 | Double_t kSumLong = 0.; | |
748 | Double_t k3pCorrelatorValue = 10000., k3pCorrelatorValueError = 10000.; | |
749 | ||
750 | for(Int_t iBin = gBinLow; iBin <= gBinHigh; iBin++) { | |
751 | kSumBi += g3pCorrelatorVsPt->GetBinEntries(iBin); | |
752 | kSumAiBi += g3pCorrelatorVsPt->GetBinContent(iBin)*g3pCorrelatorVsPt->GetBinEntries(iBin); | |
753 | kSumBi2DeltaAi2 += g3pCorrelatorVsPt->GetBinEntries(iBin)*TMath::Power(g3pCorrelatorVsPt->GetBinError(iBin),2); | |
754 | } | |
755 | ||
756 | for(Int_t iBin = gBinLow; iBin <= gBinHigh; iBin++) { | |
757 | kSumLong += TMath::Power((g3pCorrelatorVsPt->GetBinContent(iBin)*kSumBi - kSumAiBi),2)*TMath::Power(TMath::Sqrt( g3pCorrelatorVsPt->GetBinEntries(iBin)),2)/TMath::Power(kSumBi,2); | |
758 | } | |
759 | ||
760 | k3pCorrelatorValue = kSumAiBi/kSumBi; | |
761 | k3pCorrelatorValueError = TMath::Sqrt((1./TMath::Power(kSumBi,2))*(kSumBi2DeltaAi2 + kSumLong)); | |
762 | ||
763 | //g3pCorrelatorValue = k3pCorrelatorValue; | |
764 | //g3pCorrelatorError = k3pCorrelatorValueError; | |
765 | ||
766 | return; | |
767 | } | |
768 | ||
769 | ||
770 | //_______________________________________________________________// | |
771 | void DrawMarker(Double_t x, Double_t y, Int_t style, | |
772 | Double_t size, Int_t color) { | |
773 | TMarker *m = new TMarker(x,y,style); | |
774 | m->SetMarkerSize(size); | |
775 | m->SetMarkerColor(color); | |
776 | m->Draw(); | |
777 | } | |
778 |