Rivet analyses referenceALICE_2021_I1891391$K_{S}^{0}$ - and (anti-)$\Lambda$-hadron correlations in pp collisions at $\sqrt{s} = 13$ TeVExperiment: ALICE (LHC) Inspire ID: 1891391 Status: VALIDATED Authors:
Beam energies: (6500.0, 6500.0) GeV
$\delta\varphi$ projections of two-particle correlation functions, triggered with charged hadrons, $K_S^0$, and $\Lambda$($\overline{\Lambda}$), per-trigger jet-like yields spectra extracted from these correlation functions on the nera-side and away-side as a function of multiplicity class, $p_{\mathrm{T}}$ of the trigger particle, and $p_{\mathrm{T}}$ of the associated particle in pp collisions at $\sqrt{s} = 13$ TeV. The ratios of these yields to the yields from minimum bias collisions as well as the ratios of yields triggered with different particles are also included. Source code: ALICE_2021_I1891391.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/FinalState.hh"
4#include "Rivet/Projections/PromptFinalState.hh"
5#include "Rivet/Tools/AliceCommon.hh"
6#include "Rivet/Projections/AliceCommon.hh"
7#include "Rivet/Projections/ChargedFinalState.hh"
8#include "Rivet/Projections/EventMixingFinalState.hh"
9#include "Rivet/Projections/CentralityProjection.hh"
10 #include "YODA/Utils/sortedvector.h"
11#include "Rivet/Tools/BinnedHistogram.hh"
12
13namespace Rivet {
14
15 /// @brief Add a short analysis description here
16 class ALICE_2021_I1891391 : public Analysis {
17 public:
18
19 /// Constructor
20 DEFAULT_RIVET_ANALYSIS_CTOR(ALICE_2021_I1891391);
21
22
23 /// @name Analysis methods
24 ///@{
25 void fillbyparticles(BinnedHistogram &_histo, Particle tp, Particle ap) {
26 double dphi = (ap.phi() - tp.phi());
27 if (dphi < -0.5*M_PI) dphi = dphi + 2*M_PI;
28 if (dphi > 1.5*M_PI) dphi = dphi - 2*M_PI;
29 double deta = (ap.eta() - tp.eta());
30
31 _histo.fill(deta, dphi, 1.0);
32
33 return;
34 }
35
36 void S2DProjectionY(Scatter2DPtr projection, BinnedHistogram &hist2D) {
37
38 double phiValues[N_phibins];
39 double phiValueserr[N_phibins];
40
41 vector<Point2D> points = projection->points();
42
43 for (int i = 0; i < N_phibins; ++i)
44 {
45 phiValues[i]=0;
46 phiValueserr[i]=0;
47 }
48
49 for(Histo1DPtr hist : hist2D.histos()) {
50 int idx =0;
51 for(auto bin:hist->bins()){
52 phiValues[idx]+= bin.height();
53 phiValueserr[idx]+=bin.heightErr()*bin.heightErr();
54 idx+=1;
55 }
56 }
57 projection->reset();
58
59 for (int idx = 0; idx < N_phibins; ++idx) {
60 phiValueserr[idx]=sqrt(phiValueserr[idx]);
61 phiValues[idx]=phiValues[idx];
62 projection->addPoint(points[idx].x(),phiValues[idx],points[idx].xErrAvg(),phiValueserr[idx]);
63 }
64 return;
65 }
66
67 pair<double, double> BackgEstimate (Scatter2DPtr hist) {
68
69 pair<double, double> backg;
70 vector<Point2D> points = hist->points();
71 backg.first = (points[1].y()+points[2].y()+points[3].y()+points[34].y()+points[35].y()+points[36].y())/6;
72 backg.second= pow(points[1].yErrAvg(),2)+pow(points[2].yErrAvg(),2)+pow(points[3].yErrAvg(),2);
73 backg.second+= pow(points[34].yErrAvg(),2)+pow(points[35].yErrAvg(),2)+pow(points[36].yErrAvg(),2);
74
75 backg.second=sqrt(backg.second)/6;
76
77 return backg;
78 }
79
80 void ZYAM (Scatter2DPtr hist_final, Scatter2DPtr hist) {
81
82 vector<Point2D> points = hist->points();
83
84 pair<double, double> backg = BackgEstimate(hist);
85
86 hist_final->reset();
87 for(int idx = 0; idx < N_phibins; ++idx) {
88 hist_final->addPoint(points[idx].x() ,points[idx].y()-backg.first,points[idx].xErrAvg(),sqrt(pow(points[idx].yErrAvg(),2)+pow(backg.second,2)));
89 }
90 return;
91 }
92
93 Point2D IntegratePeak (Scatter2DPtr s, pair<double, double> PeakInterval) {
94 Point2D PeakYield;
95 pair<double, double> Errs;
96 PeakYield.setY(0);
97 Errs.first = 0;
98 Errs.second = 0;
99 PeakYield.setYErrs(Errs);
100
101 for (auto point : s->points()) {
102 if (point.xMin() > PeakInterval.first && point.xMax() < PeakInterval.second) {
103 PeakYield.setY(point.y() + PeakYield.y());
104 Errs.first = sqrt(pow(point.yErrs().first,2) + pow(PeakYield.yErrs().first,2));
105 Errs.second = sqrt(pow(point.yErrs().second,2) + pow(PeakYield.yErrs().second,2));
106 PeakYield.setYErrs(Errs);
107 }
108 }
109
110 PeakYield.setY(PeakYield.y()*2*M_PI/N_phibins);
111 Errs.first = PeakYield.yErrs().first*2*M_PI/N_phibins;
112 Errs.second = PeakYield.yErrs().second*2*M_PI/N_phibins;
113 PeakYield.setYErrs(Errs);
114
115 return PeakYield;
116 }
117
118 void IntegratePeakByPT(Scatter2DPtr s, Scatter2DPtr vs[8], pair<double,double> PeakInterval, int pt_interval) {
119
120 Point2D PeakYield;
121
122 double xval_trig[PT_ASSOC_BINS] = { 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 8., 10., 13., 17.5};
123 double xval_trigerr[PT_ASSOC_BINS] = { 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 1., 1., 2., 2.5};
124
125 s->reset();
126 int pt = 0;
127 for (int pTsel = 0; pTsel < pt_interval+2; ++pTsel) {
128 if(pt_interval==8){
129 pt=pTsel+2;
130 if(pTsel>7) continue;
131 }
132 else pt=pTsel;
133 PeakYield = IntegratePeak(vs[pTsel], PeakInterval);
134 s->addPoint(xval_trig[pt],PeakYield.y(),xval_trigerr[pt],PeakYield.yErrAvg());
135 }
136 return;
137 }
138
139 void sdivide(Scatter2DPtr V0hist, Scatter2DPtr hhist, Scatter2DPtr ratio_hist,int pt_interval, bool V0mult) {
140 vector<Point2D> V0h_points = V0hist->points();
141 vector<Point2D> hh_points = hhist->points();
142
143 double xval[PT_ASSOC_BINS] = { 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 8., 10., 13.,17.5};
144 double xval_err[PT_ASSOC_BINS] = { 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 1., 1., 2., 2.5};
145 double ratio,ratio_err;
146
147 if(V0mult){
148 xval[6]=9;
149 xval[7]=15.5;
150 xval_err[6]=2;
151 xval_err[7]=4.5;
152 }
153 ratio_hist->reset();
154 int pt = 0;
155 for (int idx = 0; idx < pt_interval+2; ++idx) {
156 if(pt_interval>=7||V0mult){
157 pt = idx+2;
158 if(idx>pt_interval-1) continue;
159 }
160 else pt = idx;
161 if(V0mult&&idx>3){
162 if(idx==4&&(hh_points[4].y()>0||hh_points[5].y())){
163 ratio = (V0h_points[4].y()+V0h_points[5].y())/(hh_points[4].y()+hh_points[5].y());
164 ratio_err=sqrt(pow(V0h_points[4].yErrAvg()/(hh_points[4].y()+hh_points[5].y()),2)+pow(V0h_points[5].yErrAvg()/(hh_points[4].y()+hh_points[5].y()),2)
165 +pow(((V0h_points[4].y()+V0h_points[5].y())*hh_points[4].yErrAvg())/(pow(hh_points[4].y()+hh_points[5].y(),2)),2)
166 +pow(((V0h_points[4].y()+V0h_points[5].y())*hh_points[5].yErrAvg())/(pow(hh_points[4].y()+hh_points[5].y(),2)),2));
167 }
168 else if(idx==5&&(hh_points[6].y()>0||hh_points[7].y())){
169 ratio = (V0h_points[6].y()+V0h_points[7].y())/(hh_points[6].y()+hh_points[7].y());
170 ratio_err=sqrt(pow(V0h_points[6].yErrAvg()/(hh_points[6].y()+hh_points[7].y()),2)+pow(V0h_points[7].yErrAvg()/(hh_points[6].y()+hh_points[7].y()),2)
171 +pow(((V0h_points[6].y()+V0h_points[7].y())*hh_points[6].yErrAvg())/(pow(hh_points[6].y()+hh_points[7].y(),2)),2)
172 +pow(((V0h_points[6].y()+V0h_points[7].y())*hh_points[7].yErrAvg())/(pow(hh_points[6].y()+hh_points[7].y(),2)),2));
173 }else{
174 ratio=1;
175 ratio_err=0.02;
176 }
177 }
178 else if(hh_points[idx].y()>0){
179 ratio= V0h_points[idx].y()/hh_points[idx].y();
180 ratio_err=sqrt(pow(V0h_points[idx].yErrAvg()/hh_points[idx].y(),2)+pow((V0h_points[idx].y()*hh_points[idx].yErrAvg())/(pow(hh_points[idx].y(),2)),2));
181 }
182 else {
183 ratio=10;
184 ratio_err=1;
185 }
186 ratio_hist->addPoint(xval[pt],ratio,xval_err[pt],ratio_err);
187 }
188
189 return;
190 }
191
192 int profileIndex(vector<double> cBins, double c) {
193 int index = 100;
194 for (size_t i = 0; i < cBins.size() - 1; ++i) {
195 if (c > cBins[i] && c <= cBins[i + 1]) {
196 index = i;
197 break;
198 }
199 }
200 return index;
201 }
202
203 /// Book histograms and initialise projections before the run
204 void init() {
205
206 // Projections
207
208 //multiplicity
209 declareCentrality(ALICE::V0MMultiplicity(),"ALICE_2015_PPCentrality","V0M","V0M");
210
211 // Projections for trigger particles: charged, primary particles
212 // with |eta| < 0.8 and different pT bins
213 for (int ipt = 0; ipt < PT_TRIGG_BINS; ++ipt) {
214 Cut cut = Cuts::abseta < 0.8 && Cuts::abscharge > 0 &&
215 Cuts::ptIn(bins_pt_trigg[ipt]*GeV, bins_pt_trigg[ipt+1]*GeV);
216 declare(ALICE::PrimaryParticles(cut), "APRIMTrigg" + toString(ipt));
217 }
218
219 // Projections for trigger particles: neutral, primary particles
220 // with |y| < 0.5 and different pT bins
221 for (int ipt = 0; ipt < PT_TRIGG_BINS; ++ipt) {
222 Cut cut = Cuts::absrap < 0.5 && Cuts::abscharge == 0 &&
223 Cuts::ptIn(bins_pt_trigg[ipt]*GeV, bins_pt_trigg[ipt+1]*GeV);
224 declare(ALICE::PrimaryParticles(cut), "APRIMTrigg0" + toString(ipt));
225 }
226
227 // Projections for associated particles: charged, primary particles
228 // with |eta| < 0.8 and different pT bins
229 for (int ipt = 0; ipt < PT_ASSOC_BINS; ++ipt) {
230 Cut cut = Cuts::abseta < 0.8 && Cuts::abscharge > 0 &&
231 Cuts::ptIn(bins_pt_assoc[ipt]*GeV, bins_pt_assoc[ipt+1]*GeV);
232 declare(ALICE::PrimaryParticles(cut), "APRIMAssoc" + toString(ipt));
233 }
234 const ChargedFinalState cfs(Cuts::pT > 1*GeV && Cuts::abseta < 0.8);
235 declare(cfs, "CFS");
236 const EventMixingFinalState evmc(cfs, cfs, 5, 0, 100, 10, 1.0);
237 declare(evmc, "EVMc");
238
239 multiplicityBins = {0.,1.,3.,7.,15.,50,100.};
240
241 etabins[0]=-1.013333-2.666650e-02;
242 for (int i = 1; i < Num_etabins; ++i){ etabins[i]=etabins[i-1]+(2*2.666650e-02);}
243
244 // Histograms
245
246 for (int imult = 0; imult < MULT_BINS; ++imult) {
247 for (int ipt_trigg = 0; ipt_trigg < PT_TRIGG_BINS; ++ipt_trigg) {
248
249 for(int ieta=1; ieta<Num_etabins; ieta++){Histo1DPtr tmp; _hist_hh_2D_mult[imult][ipt_trigg].add(etabins[ieta-1], etabins[ieta], book(tmp, "TMP/hist_hh_2D_mult_"+mulsel_name[imult]+"_"+bins_pt_trigg_name[ipt_trigg]+std::to_string(ieta), refData(2, 1, 1)));}
250 for(int ieta=1; ieta<Num_etabins; ieta++){Histo1DPtr tmp; _hist_K0h_2D_mult[imult][ipt_trigg].add(etabins[ieta-1], etabins[ieta], book(tmp, "TMP/hist_K0h_2D_mult_"+mulsel_name[imult]+"_"+bins_pt_trigg_name[ipt_trigg]+std::to_string(ieta), refData(2, 1, 1)));}
251 for(int ieta=1; ieta<Num_etabins; ieta++){Histo1DPtr tmp; _hist_Lamh_2D_mult[imult][ipt_trigg].add(etabins[ieta-1], etabins[ieta], book(tmp, "TMP/hist_Lamh_2D_mult_"+mulsel_name[imult]+"_"+bins_pt_trigg_name[ipt_trigg]+std::to_string(ieta), refData(2, 1, 1)));}
252
253 book(_counterChargedTriggers_mult[imult][ipt_trigg], "TMP/counterChargedTriggers_mult_"+mulsel_name[imult]+"_"+bins_pt_trigg_name[ipt_trigg]);
254 book(_counterK0Triggers_mult[imult][ipt_trigg], "TMP/counterK0Triggers_mult_"+mulsel_name[imult]+"_"+bins_pt_trigg_name[ipt_trigg]);
255 book(_counterLamTriggers_mult[imult][ipt_trigg], "TMP/counterLamTriggers_mult_"+mulsel_name[imult]+"_"+bins_pt_trigg_name[ipt_trigg]);
256
257 book(_hist_dPhi_hh_mult[imult][ipt_trigg],"TMP/hist_dPhi_hh_mult_"+mulsel_name[imult]+"_"+bins_pt_trigg_name[ipt_trigg], refData(2,1,1));
258 book(_hist_dPhi_K0h_mult[imult][ipt_trigg],"TMP/hist_dPhi_K0h_mult_"+mulsel_name[imult]+"_"+bins_pt_trigg_name[ipt_trigg], refData(3,1,1));
259 book(_hist_dPhi_Lamh_mult[imult][ipt_trigg],"TMP/hist_dPhi_Lamh_mult_"+mulsel_name[imult]+"_"+bins_pt_trigg_name[ipt_trigg], refData(4,1,1));
260
261 if(imult<6||(imult==6&&!(ipt_trigg==0||ipt_trigg==5))){
262 book(_hist_dPhi_hh_mult_fin[imult][ipt_trigg],"TMP/hist_dPhi_hh_mult_fin"+mulsel_name[imult]+"_"+bins_pt_trigg_name[ipt_trigg], refData(2,1,1));
263 book(_hist_dPhi_K0h_mult_fin[imult][ipt_trigg],"TMP/hist_dPhi_K0h_mult_fin"+mulsel_name[imult]+"_"+bins_pt_trigg_name[ipt_trigg], refData(3,1,1));
264 book(_hist_dPhi_Lamh_mult_fin[imult][ipt_trigg],"TMP/hist_dPhi_Lamh_mult_fin"+mulsel_name[imult]+"_"+bins_pt_trigg_name[ipt_trigg], refData(4,1,1));
265 }
266 }
267 }
268 book(_hist_dPhi_hh_mult_fin[6][0],2,1,1);
269 book(_hist_dPhi_K0h_mult_fin[6][0],3,1,1);
270 book(_hist_dPhi_Lamh_mult_fin[6][0],4,1,1);
271
272 book(_hist_dPhi_hh_mult_fin[6][5],5,1,1);
273 book(_hist_dPhi_K0h_mult_fin[6][5],6,1,1);
274 book(_hist_dPhi_Lamh_mult_fin[6][5],7,1,1);
275
276 for (int ipt_trigg = 0; ipt_trigg < PT_TRIGG_BINS; ++ipt_trigg) {
277
278 for (int ipt_assoc = 0; ipt_assoc < PT_ASSOC_BINS; ++ipt_assoc) {
279 for(int ieta=1; ieta<Num_etabins; ieta++){Histo1DPtr tmp; _hist_hh_2D_ptassoc[ipt_trigg][ipt_assoc].add(etabins[ieta-1], etabins[ieta], book(tmp, "TMP/hist_hh_2D_ptassoc_"+bins_pt_trigg_name[ipt_trigg]+bins_pt_assoc_name[ipt_assoc]+std::to_string(ieta), refData(2, 1, 1)));}
280 for(int ieta=1; ieta<Num_etabins; ieta++){Histo1DPtr tmp; _hist_K0h_2D_ptassoc[ipt_trigg][ipt_assoc].add(etabins[ieta-1], etabins[ieta], book(tmp, "TMP/hist_K0h_2D_ptassoc_"+bins_pt_trigg_name[ipt_trigg]+bins_pt_assoc_name[ipt_assoc]+std::to_string(ieta), refData(2, 1, 1)));}
281 for(int ieta=1; ieta<Num_etabins; ieta++){Histo1DPtr tmp; _hist_Lamh_2D_ptassoc[ipt_trigg][ipt_assoc].add(etabins[ieta-1], etabins[ieta], book(tmp, "TMP/hist_Lamh_2D_ptassoc_"+bins_pt_trigg_name[ipt_trigg]+bins_pt_assoc_name[ipt_assoc]+std::to_string(ieta), refData(2, 1, 1)));}
282
283 book(_hist_dPhi_hh_ptassoc[ipt_trigg][ipt_assoc],"TMP/hist_dPhi_hh_ptassoc_"+bins_pt_trigg_name[ipt_trigg]+bins_pt_assoc_name[ipt_assoc], refData(2,1,1));
284 book(_hist_dPhi_K0h_ptassoc[ipt_trigg][ipt_assoc],"TMP/hist_dPhi_K0h_ptassoc_"+bins_pt_trigg_name[ipt_trigg]+bins_pt_assoc_name[ipt_assoc], refData(3,1,1));
285 book(_hist_dPhi_Lamh_ptassoc[ipt_trigg][ipt_assoc],"TMP/hist_dPhi_Lamh_ptassoc_"+bins_pt_trigg_name[ipt_trigg]+bins_pt_assoc_name[ipt_assoc], refData(4,1,1));
286
287 book(_hist_dPhi_hh_ptassoc_fin[ipt_trigg][ipt_assoc],"TMP/hist_dPhi_hh_ptassoc_fin_"+bins_pt_trigg_name[ipt_trigg]+bins_pt_assoc_name[ipt_assoc], refData(2,1,1));
288 book(_hist_dPhi_K0h_ptassoc_fin[ipt_trigg][ipt_assoc],"TMP/hist_dPhi_K0h_ptassoc_fin_"+bins_pt_trigg_name[ipt_trigg]+bins_pt_assoc_name[ipt_assoc], refData(3,1,1));
289 book(_hist_dPhi_Lamh_ptassoc_fin[ipt_trigg][ipt_assoc],"TMP/hist_dPhi_Lamh_ptassoc_fin_"+bins_pt_trigg_name[ipt_trigg]+bins_pt_assoc_name[ipt_assoc], refData(4,1,1));
290
291 }
292 }
293
294 for (int imult = 0; imult < MULT_BINS; ++imult)
295 {
296 book(_hist_hh_NearSideYield_mult[imult],8,1,imult+1);
297 book(_hist_K0h_NearSideYield_mult[imult],9,1,imult+1);
298 book(_hist_Lamh_NearSideYield_mult[imult],10,1,imult+1);
299
300 book(_hist_hh_AwaySideYield_mult[imult],11,1,imult+1);
301 book(_hist_K0h_AwaySideYield_mult[imult],12,1,imult+1);
302 book(_hist_Lamh_AwaySideYield_mult[imult],13,1,imult+1);
303
304
305
306 if(imult<MULT_BINS-1){
307 book(_hist_hh_NearSideYield_mult_ratio[imult],14,1,imult+1);
308 book(_hist_K0h_NearSideYield_mult_ratio[imult],15,1,imult+1);
309 book(_hist_Lamh_NearSideYield_mult_ratio[imult],16,1,imult+1);
310
311 book(_hist_hh_AwaySideYield_mult_ratio[imult],17,1,imult+1);
312 book(_hist_K0h_AwaySideYield_mult_ratio[imult],18,1,imult+1);
313 book(_hist_Lamh_AwaySideYield_mult_ratio[imult],19,1,imult+1);
314
315 book(_hist_K0h_NearSideYield_ratioTo_hh_mult[imult],imult+27,1,1);
316 book(_hist_Lamh_NearSideYield_ratioTo_hh_mult[imult],imult+34,1,1);
317 book(_hist_K0h_AwaySideYield_ratioTo_hh_mult[imult],imult+41,1,1);
318 book(_hist_Lamh_AwaySideYield_ratioTo_hh_mult[imult],imult+48,1,1);
319 }else{
320 book(_hist_K0h_NearSideYield_ratioTo_hh_mult[imult],26,1,1);
321 book(_hist_Lamh_NearSideYield_ratioTo_hh_mult[imult],33,1,1);
322 book(_hist_K0h_AwaySideYield_ratioTo_hh_mult[imult],40,1,1);
323 book(_hist_Lamh_AwaySideYield_ratioTo_hh_mult[imult],47,1,1);
324 }
325 }
326
327 for (int ipttrigg = 0; ipttrigg < PT_TRIGG_BINS; ++ipttrigg)
328 {
329 book(_hist_hh_NearSideYield_ptassoc[ipttrigg],20,1,ipttrigg+1);
330 book(_hist_hh_AwaySideYield_ptassoc[ipttrigg],23,1,ipttrigg+1);
331
332 book(_hist_K0h_NearSideYield_ptassoc[ipttrigg],21,1,ipttrigg+1);
333 book(_hist_K0h_AwaySideYield_ptassoc[ipttrigg],24,1,ipttrigg+1);
334
335
336
337 if(ipttrigg<PT_TRIGG_BINS-1){
338 book(_hist_Lamh_NearSideYield_ptassoc[ipttrigg],22,1,ipttrigg+1);
339 book(_hist_Lamh_AwaySideYield_ptassoc[ipttrigg],25,1,ipttrigg+1);
340
341 book(_hist_K0h_NearSideYield_ratioTo_hh_ptassoc[ipttrigg],ipttrigg+54,1,1);
342 book(_hist_Lamh_NearSideYield_ratioTo_hh_ptassoc[ipttrigg],ipttrigg+61,1,1);
343 book(_hist_K0h_AwaySideYield_ratioTo_hh_ptassoc[ipttrigg],ipttrigg+68,1,1);
344 book(_hist_Lamh_AwaySideYield_ratioTo_hh_ptassoc[ipttrigg],ipttrigg+75,1,1);
345 }
346 }
347
348 for(int ieta=1; ieta<Num_etabins; ieta++){Histo1DPtr tmp; _hist_mix_hh.add(etabins[ieta-1], etabins[ieta], book(tmp, "TMP/hist_mix_hh"+std::to_string(ieta), refData(2, 1, 1)));}
349 for(int ieta=1; ieta<Num_etabins; ieta++){Histo1DPtr tmp; _hist_mix_K0h.add(etabins[ieta-1], etabins[ieta], book(tmp, "TMP/hist_mix_K0h"+std::to_string(ieta), refData(2, 1, 1)));}
350 for(int ieta=1; ieta<Num_etabins; ieta++){Histo1DPtr tmp; _hist_mix_Lamh.add(etabins[ieta-1], etabins[ieta], book(tmp, "TMP/hist_mix_Lamh"+std::to_string(ieta), refData(2, 1, 1)));}
351 }
352
353 /// Perform the per-event analysis
354 void analyze(const Event& event) {
355
356 //multiplicity block
357 const CentralityProjection& cent = apply<CentralityProjection>(event,"V0M");
358 double c = cent();
359 int index = profileIndex(multiplicityBins,c);
360
361 //particle correlation block
362 // Get trigger particles, charged hadrons
363 Particles trigg_h_Particles[PT_TRIGG_BINS];
364 for (int ipt = 0; ipt < PT_TRIGG_BINS; ++ipt) {
365 string pname = "APRIMTrigg" + toString(ipt);
366 trigg_h_Particles[ipt] =
367 applyProjection<ALICE::PrimaryParticles>(event,pname).particles();
368 }
369 // Get trigger particles, neutral hadrons
370 Particles trigg_V0_Particles[PT_TRIGG_BINS];
371 for (int ipt = 0; ipt < PT_TRIGG_BINS; ++ipt) {
372 string pname = "APRIMTrigg0" + toString(ipt);
373 trigg_V0_Particles[ipt] =
374 applyProjection<ALICE::PrimaryParticles>(event,pname).particles();
375 }
376
377 // Get associated particles particles, charged hadrons
378 Particles assocParticles[PT_ASSOC_BINS];
379 for (int ipt = 0; ipt < PT_ASSOC_BINS; ++ipt) {
380 string pname = "APRIMAssoc" + toString(ipt);
381 assocParticles[ipt] =
382 applyProjection<ALICE::PrimaryParticles>(event,pname).particles();
383 }
384
385 //trigger = any charged particle
386 for (int ipt_trigg = 0; ipt_trigg < PT_TRIGG_BINS; ++ipt_trigg){
387 if(trigg_h_Particles[ipt_trigg].size()==0)continue;
388 for (const Particle& trigg : trigg_h_Particles[ipt_trigg]) {
389 _counterChargedTriggers_mult[6][ipt_trigg]->fill(1);
390 if(index>-1&&index<6)_counterChargedTriggers_mult[index][ipt_trigg]->fill(1);
391 for (int ipt_assoc = 0; ipt_assoc < PT_ASSOC_BINS; ++ipt_assoc){
392 if(assocParticles[ipt_assoc].size()==0)continue;
393 for(const Particle& assoc : assocParticles[ipt_assoc]){
394 if(assoc.pT() < trigg.pT()){
395 fillbyparticles(_hist_hh_2D_ptassoc[ipt_trigg][ipt_assoc], trigg, assoc);
396 if(index>-1&&index<6)fillbyparticles(_hist_hh_2D_mult[index][ipt_trigg], trigg, assoc);
397 fillbyparticles(_hist_hh_2D_mult[6][ipt_trigg], trigg, assoc);
398 }
399 }
400 }
401 }
402 }
403
404 //trigger = V0
405 for (int ipt_trigg = 0; ipt_trigg < PT_TRIGG_BINS; ++ipt_trigg){
406 if(trigg_V0_Particles[ipt_trigg].size()==0)continue;
407 for (const Particle& triggV0 : trigg_V0_Particles[ipt_trigg]) {
408 const int pid = abs(triggV0.pid());
409 if(pid==310){
410 _counterK0Triggers_mult[6][ipt_trigg]->fill(1);
411 if(index>-1&&index<6)_counterK0Triggers_mult[index][ipt_trigg]->fill(1);
412 }
413 if(pid==3122){
414 _counterLamTriggers_mult[6][ipt_trigg]->fill(1);
415 if(index>-1&&index<6)_counterLamTriggers_mult[index][ipt_trigg]->fill(1);
416 }
417 for (int ipt_assoc = 0; ipt_assoc < PT_ASSOC_BINS; ++ipt_assoc){
418 if(assocParticles[ipt_assoc].size()==0)continue;
419 for(const Particle& assoc : assocParticles[ipt_assoc]){
420 if(assoc.pT() < triggV0.pT() && pid==310){
421 fillbyparticles(_hist_K0h_2D_mult[6][ipt_trigg], triggV0, assoc);
422 if(index>-1&&index<6)fillbyparticles(_hist_K0h_2D_mult[index][ipt_trigg], triggV0, assoc);
423 fillbyparticles(_hist_K0h_2D_ptassoc[ipt_trigg][ipt_assoc], triggV0, assoc);
424 }
425 if(assoc.pT() < triggV0.pT() && pid==3122){
426 fillbyparticles(_hist_Lamh_2D_mult[6][ipt_trigg], triggV0, assoc);
427 if(index>-1&&index<6)fillbyparticles(_hist_Lamh_2D_mult[index][ipt_trigg], triggV0, assoc);
428 fillbyparticles(_hist_Lamh_2D_ptassoc[ipt_trigg][ipt_assoc], triggV0, assoc);
429 }
430 }
431 }
432 }
433 }
434 //end of particle correlation block
435
436 //mixed event block
437 const EventMixingFinalState& evmc = apply<EventMixingFinalState>(event, "EVMc");
438 if (!evmc.hasMixingEvents()) return;
439
440 for (int ipt_trigg = 0; ipt_trigg < PT_TRIGG_BINS; ++ipt_trigg){
441 if(trigg_h_Particles[ipt_trigg].size()==0)continue;
442 for (const Particle& trigg : trigg_h_Particles[ipt_trigg]) {
443 if(evmc.particles().size()==0)continue;
444 for (const Particle& assoc_mix : evmc.particles()){
445 if (assoc_mix.pT() < trigg.pT())fillbyparticles(_hist_mix_hh, trigg, assoc_mix);
446 }
447 }
448 }
449 for (int ipt_trigg = 0; ipt_trigg < PT_TRIGG_BINS; ++ipt_trigg){
450 if(trigg_V0_Particles[ipt_trigg].size()==0)continue;
451 for (const Particle& triggV0 : trigg_V0_Particles[ipt_trigg]) {
452 const int pid = abs(triggV0.pid());
453 if(evmc.particles().size()==0)continue;
454 for (const Particle& assoc_mix : evmc.particles()){
455 if(assoc_mix.pT() < triggV0.pT() && pid==310)fillbyparticles(_hist_mix_K0h, triggV0, assoc_mix);
456 if(assoc_mix.pT() < triggV0.pT() && pid==3122)fillbyparticles(_hist_mix_Lamh, triggV0, assoc_mix);
457 }
458 }
459 }
460 //end of mixed event block
461 }
462
463
464 /// Finalize
465 void finalize() {
466
467 double mix_nomalisation_hh = (_hist_mix_hh.histo(0))->integral()/(_hist_mix_hh.histo(0))->numBins();
468 double mix_scaling_hh[38];
469 int i_mix=0;
470 for(Histo1DPtr hist : _hist_mix_hh.histos()){
471 mix_scaling_hh[i_mix]=(hist->integral()/hist->numBins())/mix_nomalisation_hh;
472 i_mix++;
473 }
474
475 double mix_nomalisation_K0h = (_hist_mix_K0h.histo(0))->integral()/(_hist_mix_K0h.histo(0))->numBins();
476 double mix_scaling_K0h[38];
477 i_mix=0;
478 for(Histo1DPtr hist : _hist_mix_K0h.histos()){
479 mix_scaling_K0h[i_mix]=(hist->integral()/hist->numBins())/mix_nomalisation_K0h;
480 i_mix++;
481 }
482
483 double mix_nomalisation_Lamh = (_hist_mix_Lamh.histo(0))->integral()/(_hist_mix_Lamh.histo(0))->numBins();
484 double mix_scaling_Lamh[38];
485 i_mix=0;
486 for(Histo1DPtr hist : _hist_mix_Lamh.histos()){
487 mix_scaling_Lamh[i_mix]=(hist->integral()/hist->numBins())/mix_nomalisation_Lamh;
488 i_mix++;
489 }
490
491 for (int imult = 0; imult < MULT_BINS; ++imult) {
492 for (int ipt_trigg = 0; ipt_trigg < PT_TRIGG_BINS; ++ipt_trigg) {
493 //cor. scaling + mixing
494 if(_counterChargedTriggers_mult[imult][ipt_trigg]->sumW() >0) for (Histo1DPtr hist : _hist_hh_2D_mult[imult][ipt_trigg].histos()) { scale(hist,1./_counterChargedTriggers_mult[imult][ipt_trigg]->sumW()); }
495 i_mix=0;
496 for (Histo1DPtr hist : _hist_hh_2D_mult[imult][ipt_trigg].histos()) { if(mix_scaling_hh[i_mix]>0) scale(hist,1./mix_scaling_hh[i_mix]); i_mix++; }
497 if(_counterK0Triggers_mult[imult][ipt_trigg]->sumW() >0) for (Histo1DPtr hist : _hist_K0h_2D_mult[imult][ipt_trigg].histos()) { scale(hist,1./_counterK0Triggers_mult[imult][ipt_trigg]->sumW()); }
498 i_mix=0;
499 for (Histo1DPtr hist : _hist_K0h_2D_mult[imult][ipt_trigg].histos()) { if(mix_scaling_K0h[i_mix]>0) scale(hist,1./mix_scaling_K0h[i_mix]); i_mix++; }
500 if(_counterLamTriggers_mult[imult][ipt_trigg]->sumW() >0) for (Histo1DPtr hist : _hist_Lamh_2D_mult[imult][ipt_trigg].histos()) { scale(hist,1./_counterLamTriggers_mult[imult][ipt_trigg]->sumW()); }
501 i_mix=0;
502 for (Histo1DPtr hist : _hist_Lamh_2D_mult[imult][ipt_trigg].histos()) { if(mix_scaling_Lamh[i_mix]>0) scale(hist,1./mix_scaling_Lamh[i_mix]); i_mix++; }
503
504 //integration by eta
505 S2DProjectionY(_hist_dPhi_hh_mult[imult][ipt_trigg], _hist_hh_2D_mult[imult][ipt_trigg]);
506 S2DProjectionY(_hist_dPhi_K0h_mult[imult][ipt_trigg], _hist_K0h_2D_mult[imult][ipt_trigg]);
507 S2DProjectionY(_hist_dPhi_Lamh_mult[imult][ipt_trigg], _hist_Lamh_2D_mult[imult][ipt_trigg]);
508 //ZYAM
509 ZYAM(_hist_dPhi_hh_mult_fin[imult][ipt_trigg], _hist_dPhi_hh_mult[imult][ipt_trigg]);
510 ZYAM(_hist_dPhi_K0h_mult_fin[imult][ipt_trigg], _hist_dPhi_K0h_mult[imult][ipt_trigg]);
511 ZYAM(_hist_dPhi_Lamh_mult_fin[imult][ipt_trigg], _hist_dPhi_Lamh_mult[imult][ipt_trigg]);
512 }
513 }
514
515 for (int ipt_trigg = 0; ipt_trigg < PT_TRIGG_BINS; ++ipt_trigg) {
516 for (int ipt_assoc = 0; ipt_assoc < PT_ASSOC_BINS; ++ipt_assoc) {
517 //cor. scaling + mixing
518 if(_counterChargedTriggers_mult[6][ipt_trigg]->sumW() >0) for (Histo1DPtr hist : _hist_hh_2D_ptassoc[ipt_trigg][ipt_assoc].histos()) { scale(hist,1./_counterChargedTriggers_mult[6][ipt_trigg]->sumW()); }
519 i_mix=0;
520 for (Histo1DPtr hist : _hist_hh_2D_ptassoc[ipt_trigg][ipt_assoc].histos()) { if(mix_scaling_hh[i_mix]>0)scale(hist,1./mix_scaling_hh[i_mix]); i_mix++; }
521 if(_counterK0Triggers_mult[6][ipt_trigg]->sumW() >0) for (Histo1DPtr hist : _hist_K0h_2D_ptassoc[ipt_trigg][ipt_assoc].histos()) { scale(hist,1./_counterK0Triggers_mult[6][ipt_trigg]->sumW()); }
522 i_mix=0;
523 for (Histo1DPtr hist : _hist_K0h_2D_ptassoc[ipt_trigg][ipt_assoc].histos()) { if(mix_scaling_K0h[i_mix]>0)scale(hist,1./mix_scaling_K0h[i_mix]); i_mix++; }
524 if(_counterLamTriggers_mult[6][ipt_trigg]->sumW() >0) for (Histo1DPtr hist : _hist_Lamh_2D_ptassoc[ipt_trigg][ipt_assoc].histos()) { scale(hist,1./_counterLamTriggers_mult[6][ipt_trigg]->sumW()); }
525 i_mix=0;
526 for (Histo1DPtr hist : _hist_Lamh_2D_ptassoc[ipt_trigg][ipt_assoc].histos()) { if(mix_scaling_Lamh[i_mix]>0) scale(hist,1./mix_scaling_Lamh[i_mix]); i_mix++; }
527
528 //integration by eta
529 S2DProjectionY(_hist_dPhi_hh_ptassoc[ipt_trigg][ipt_assoc], _hist_hh_2D_ptassoc[ipt_trigg][ipt_assoc]);
530 S2DProjectionY(_hist_dPhi_K0h_ptassoc[ipt_trigg][ipt_assoc], _hist_K0h_2D_ptassoc[ipt_trigg][ipt_assoc]);
531 S2DProjectionY(_hist_dPhi_Lamh_ptassoc[ipt_trigg][ipt_assoc], _hist_Lamh_2D_ptassoc[ipt_trigg][ipt_assoc]);
532 //Subtracting underlying event with the ZYAM method
533 ZYAM(_hist_dPhi_hh_ptassoc_fin[ipt_trigg][ipt_assoc], _hist_dPhi_hh_ptassoc[ipt_trigg][ipt_assoc]);
534 ZYAM(_hist_dPhi_K0h_ptassoc_fin[ipt_trigg][ipt_assoc], _hist_dPhi_K0h_ptassoc[ipt_trigg][ipt_assoc]);
535 ZYAM(_hist_dPhi_Lamh_ptassoc_fin[ipt_trigg][ipt_assoc], _hist_dPhi_Lamh_ptassoc[ipt_trigg][ipt_assoc]);
536 }
537 }
538
539 //PeakYield
540 pair<double,double> NearInterval={-0.9,0.9};
541 pair<double,double> AwayInterval={M_PI-1.4,M_PI+1.4};
542
543 for (int imult = MULT_BINS-1; imult > -1; --imult) {
544 //fig 3
545 IntegratePeakByPT(_hist_hh_NearSideYield_mult[imult],_hist_dPhi_hh_mult_fin[imult], NearInterval,8);
546 IntegratePeakByPT(_hist_K0h_NearSideYield_mult[imult],_hist_dPhi_K0h_mult_fin[imult], NearInterval,8);
547 IntegratePeakByPT(_hist_Lamh_NearSideYield_mult[imult],_hist_dPhi_Lamh_mult_fin[imult], NearInterval,8);
548
549 IntegratePeakByPT(_hist_hh_AwaySideYield_mult[imult],_hist_dPhi_hh_mult_fin[imult], AwayInterval,8);
550 IntegratePeakByPT(_hist_K0h_AwaySideYield_mult[imult],_hist_dPhi_K0h_mult_fin[imult], AwayInterval,8);
551 IntegratePeakByPT(_hist_Lamh_AwaySideYield_mult[imult],_hist_dPhi_Lamh_mult_fin[imult], AwayInterval,8);
552
553 //fig 4
554 if(imult<MULT_BINS-1){
555 sdivide(_hist_hh_NearSideYield_mult[imult], _hist_hh_NearSideYield_mult[6], _hist_hh_NearSideYield_mult_ratio[imult],8,false);
556 sdivide(_hist_hh_AwaySideYield_mult[imult], _hist_hh_AwaySideYield_mult[6], _hist_hh_AwaySideYield_mult_ratio[imult],8,false);
557
558 sdivide(_hist_K0h_NearSideYield_mult[imult], _hist_K0h_NearSideYield_mult[6], _hist_K0h_NearSideYield_mult_ratio[imult],6,true);
559 sdivide(_hist_K0h_AwaySideYield_mult[imult], _hist_K0h_AwaySideYield_mult[6], _hist_K0h_AwaySideYield_mult_ratio[imult],6,true);
560 sdivide(_hist_Lamh_NearSideYield_mult[imult], _hist_Lamh_NearSideYield_mult[6], _hist_Lamh_NearSideYield_mult_ratio[imult],6,true);
561 if(imult==1)sdivide(_hist_Lamh_AwaySideYield_mult[imult], _hist_Lamh_AwaySideYield_mult[6], _hist_Lamh_AwaySideYield_mult_ratio[imult],5,true);
562 else sdivide(_hist_Lamh_AwaySideYield_mult[imult], _hist_Lamh_AwaySideYield_mult[6], _hist_Lamh_AwaySideYield_mult_ratio[imult],6,true);
563 }
564 }
565
566 //fig 5
567 for (int ipt_trigg = 0; ipt_trigg < PT_TRIGG_BINS; ++ipt_trigg)
568 {
569 IntegratePeakByPT(_hist_hh_NearSideYield_ptassoc[ipt_trigg], _hist_dPhi_hh_ptassoc_fin[ipt_trigg], NearInterval,ipt_trigg);
570 IntegratePeakByPT(_hist_hh_AwaySideYield_ptassoc[ipt_trigg], _hist_dPhi_hh_ptassoc_fin[ipt_trigg], AwayInterval,ipt_trigg);
571 IntegratePeakByPT(_hist_K0h_NearSideYield_ptassoc[ipt_trigg], _hist_dPhi_K0h_ptassoc_fin[ipt_trigg], NearInterval,ipt_trigg);
572 IntegratePeakByPT(_hist_K0h_AwaySideYield_ptassoc[ipt_trigg], _hist_dPhi_K0h_ptassoc_fin[ipt_trigg], AwayInterval,ipt_trigg);
573 if(ipt_trigg<7)IntegratePeakByPT(_hist_Lamh_NearSideYield_ptassoc[ipt_trigg], _hist_dPhi_Lamh_ptassoc_fin[ipt_trigg], NearInterval,ipt_trigg);
574
575 if(ipt_trigg==6)IntegratePeakByPT(_hist_Lamh_AwaySideYield_ptassoc[ipt_trigg], _hist_dPhi_Lamh_ptassoc_fin[ipt_trigg], AwayInterval,2);
576 else if(ipt_trigg==7) continue;
577 else IntegratePeakByPT(_hist_Lamh_AwaySideYield_ptassoc[ipt_trigg], _hist_dPhi_Lamh_ptassoc_fin[ipt_trigg], AwayInterval,ipt_trigg);
578 }
579
580 //fig 8
581 for (int imult = 0; imult < MULT_BINS; ++imult)
582 {
583 sdivide(_hist_K0h_NearSideYield_mult[imult], _hist_hh_NearSideYield_mult[imult], _hist_K0h_NearSideYield_ratioTo_hh_mult[imult],7,false);
584 sdivide(_hist_K0h_AwaySideYield_mult[imult], _hist_hh_AwaySideYield_mult[imult], _hist_K0h_AwaySideYield_ratioTo_hh_mult[imult],7,false);
585
586 sdivide(_hist_Lamh_NearSideYield_mult[imult], _hist_hh_NearSideYield_mult[imult], _hist_Lamh_NearSideYield_ratioTo_hh_mult[imult],7,false);
587 sdivide(_hist_Lamh_AwaySideYield_mult[imult], _hist_hh_AwaySideYield_mult[imult], _hist_Lamh_AwaySideYield_ratioTo_hh_mult[imult],7,false);
588 }
589
590 //fig 9
591 for (int ipt_trigg = 0; ipt_trigg < PT_TRIGG_BINS-1; ++ipt_trigg)
592 {
593 sdivide(_hist_K0h_NearSideYield_ptassoc[ipt_trigg], _hist_hh_NearSideYield_ptassoc[ipt_trigg], _hist_K0h_NearSideYield_ratioTo_hh_ptassoc[ipt_trigg],ipt_trigg,false);
594 sdivide(_hist_K0h_AwaySideYield_ptassoc[ipt_trigg], _hist_hh_AwaySideYield_ptassoc[ipt_trigg], _hist_K0h_AwaySideYield_ratioTo_hh_ptassoc[ipt_trigg],ipt_trigg,false);
595
596 sdivide(_hist_Lamh_NearSideYield_ptassoc[ipt_trigg], _hist_hh_NearSideYield_ptassoc[ipt_trigg], _hist_Lamh_NearSideYield_ratioTo_hh_ptassoc[ipt_trigg],ipt_trigg,false);
597 if(ipt_trigg<6)sdivide(_hist_Lamh_AwaySideYield_ptassoc[ipt_trigg], _hist_hh_AwaySideYield_ptassoc[ipt_trigg], _hist_Lamh_AwaySideYield_ratioTo_hh_ptassoc[ipt_trigg],ipt_trigg,false);
598 else sdivide(_hist_Lamh_AwaySideYield_ptassoc[ipt_trigg], _hist_hh_AwaySideYield_ptassoc[ipt_trigg], _hist_Lamh_AwaySideYield_ratioTo_hh_ptassoc[ipt_trigg],2,false);
599 }
600 }
601
602 //@}
603
604
605 private:
606
607 static const int PT_TRIGG_BINS = 8;
608 static const int PT_ASSOC_BINS = 10;
609 static const int MULT_BINS = 7;
610 static const int N_phibins = 72;
611 /// @name Histograms
612 //@{
613
614 BinnedHistogram _hist_mix_hh, _hist_mix_K0h, _hist_mix_Lamh;
615
616 CounterPtr _counterChargedTriggers_mult[MULT_BINS][PT_TRIGG_BINS];
617 CounterPtr _counterK0Triggers_mult[MULT_BINS][PT_TRIGG_BINS];
618 CounterPtr _counterLamTriggers_mult[MULT_BINS][PT_TRIGG_BINS];
619
620 BinnedHistogram _hist_hh_2D_ptassoc[PT_TRIGG_BINS][PT_ASSOC_BINS];
621 BinnedHistogram _hist_K0h_2D_ptassoc[PT_TRIGG_BINS][PT_ASSOC_BINS];
622 BinnedHistogram _hist_Lamh_2D_ptassoc[PT_TRIGG_BINS][PT_ASSOC_BINS];
623
624 BinnedHistogram _hist_hh_2D_mult[MULT_BINS][PT_TRIGG_BINS];
625 BinnedHistogram _hist_K0h_2D_mult[MULT_BINS][PT_TRIGG_BINS];
626 BinnedHistogram _hist_Lamh_2D_mult[MULT_BINS][PT_TRIGG_BINS];
627
628 Scatter2DPtr _hist_dPhi_hh_ptassoc[PT_TRIGG_BINS][PT_ASSOC_BINS];
629 Scatter2DPtr _hist_dPhi_K0h_ptassoc[PT_TRIGG_BINS][PT_ASSOC_BINS];
630 Scatter2DPtr _hist_dPhi_Lamh_ptassoc[PT_TRIGG_BINS][PT_ASSOC_BINS];
631
632 Scatter2DPtr _hist_dPhi_hh_ptassoc_fin[PT_TRIGG_BINS][PT_ASSOC_BINS];
633 Scatter2DPtr _hist_dPhi_K0h_ptassoc_fin[PT_TRIGG_BINS][PT_ASSOC_BINS];
634 Scatter2DPtr _hist_dPhi_Lamh_ptassoc_fin[PT_TRIGG_BINS][PT_ASSOC_BINS];
635
636 Scatter2DPtr _hist_dPhi_hh_mult[MULT_BINS][PT_TRIGG_BINS];
637 Scatter2DPtr _hist_dPhi_K0h_mult[MULT_BINS][PT_TRIGG_BINS];
638 Scatter2DPtr _hist_dPhi_Lamh_mult[MULT_BINS][PT_TRIGG_BINS];
639
640 Scatter2DPtr _hist_dPhi_hh_mult_fin[MULT_BINS][PT_TRIGG_BINS];
641 Scatter2DPtr _hist_dPhi_K0h_mult_fin[MULT_BINS][PT_TRIGG_BINS];
642 Scatter2DPtr _hist_dPhi_Lamh_mult_fin[MULT_BINS][PT_TRIGG_BINS];
643
644 Scatter2DPtr _hist_K0h_NearSideYield_ratioTo_hh_mult[MULT_BINS];
645 Scatter2DPtr _hist_K0h_AwaySideYield_ratioTo_hh_mult[MULT_BINS];
646 Scatter2DPtr _hist_Lamh_NearSideYield_ratioTo_hh_mult[MULT_BINS];
647 Scatter2DPtr _hist_Lamh_AwaySideYield_ratioTo_hh_mult[MULT_BINS];
648
649 Scatter2DPtr _hist_K0h_NearSideYield_ratioTo_hh_ptassoc[PT_TRIGG_BINS-1];
650 Scatter2DPtr _hist_K0h_AwaySideYield_ratioTo_hh_ptassoc[PT_TRIGG_BINS-1];
651 Scatter2DPtr _hist_Lamh_NearSideYield_ratioTo_hh_ptassoc[PT_TRIGG_BINS-1];
652 Scatter2DPtr _hist_Lamh_AwaySideYield_ratioTo_hh_ptassoc[PT_TRIGG_BINS-1];
653
654 Scatter2DPtr _hist_hh_NearSideYield_mult[MULT_BINS];
655 Scatter2DPtr _hist_K0h_NearSideYield_mult[MULT_BINS];
656 Scatter2DPtr _hist_Lamh_NearSideYield_mult[MULT_BINS];
657 Scatter2DPtr _hist_hh_AwaySideYield_mult[MULT_BINS];
658 Scatter2DPtr _hist_K0h_AwaySideYield_mult[MULT_BINS];
659 Scatter2DPtr _hist_Lamh_AwaySideYield_mult[MULT_BINS];
660
661 Scatter2DPtr _hist_hh_NearSideYield_mult_ratio[MULT_BINS];
662 Scatter2DPtr _hist_K0h_NearSideYield_mult_ratio[MULT_BINS];
663 Scatter2DPtr _hist_Lamh_NearSideYield_mult_ratio[MULT_BINS];
664 Scatter2DPtr _hist_hh_AwaySideYield_mult_ratio[MULT_BINS];
665 Scatter2DPtr _hist_K0h_AwaySideYield_mult_ratio[MULT_BINS];
666 Scatter2DPtr _hist_Lamh_AwaySideYield_mult_ratio[MULT_BINS];
667
668 Scatter2DPtr _hist_hh_NearSideYield_ptassoc[PT_TRIGG_BINS];
669 Scatter2DPtr _hist_hh_AwaySideYield_ptassoc[PT_TRIGG_BINS];
670 Scatter2DPtr _hist_K0h_NearSideYield_ptassoc[PT_TRIGG_BINS];
671 Scatter2DPtr _hist_K0h_AwaySideYield_ptassoc[PT_TRIGG_BINS];
672 Scatter2DPtr _hist_Lamh_NearSideYield_ptassoc[PT_TRIGG_BINS-1];
673 Scatter2DPtr _hist_Lamh_AwaySideYield_ptassoc[PT_TRIGG_BINS-1];
674
675 static const int Num_etabins = 39;
676 vector<double> multiplicityBins;
677 double etabins[Num_etabins];
678
679 vector<double> bins_pt_trigg = {3. ,4. ,5. ,6. ,7. ,9. ,11. ,15. ,20.};
680 vector<double> bins_pt_assoc = {1. ,2., 3. ,4. ,5. ,6. ,7. ,9. ,11. ,15., 20.};
681 vector<string> mulsel_name = {"000-001", "001-003", "003-007", "007-015", "015-050", "050-100", "MB"};
682 vector<string> bins_pt_trigg_name = {"3-4", "4-5", "5-6", "6-7", "7-9", "9-11", "11-15", "15-20"};
683 vector<string> bins_pt_assoc_name = {"_1-2","_2-3", "_3-4", "_4-5", "_5-6", "_6-7", "_7-9", "_9-11", "_11-15", "_15-20"};
684
685 };
686
687
688 RIVET_DECLARE_PLUGIN(ALICE_2021_I1891391);
689
690}
|