Skip to content

Commit a5c37e2

Browse files
author
Sawan Sawan
committed
added pt correlation and delta M plots
1 parent 193d3ac commit a5c37e2

File tree

1 file changed

+140
-45
lines changed

1 file changed

+140
-45
lines changed

PWGLF/Tasks/Resonances/higherMassResonances.cxx

Lines changed: 140 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -95,17 +95,18 @@ struct HigherMassResonances {
9595
Configurable<bool> qAv0{"qAv0", false, "qAv0"};
9696
Configurable<bool> qAPID{"qAPID", true, "qAPID"};
9797
Configurable<bool> qAevents{"qAevents", false, "QA of events"};
98-
Configurable<bool> correlation2Dhist{"correlation2Dhist", true, "Lamda K0 mass correlation"};
98+
Configurable<bool> qAcorrelation2Dhist{"qAcorrelation2Dhist", true, "Lamda K0 mass correlation"};
99+
Configurable<bool> qAOptimisation{"qAOptimisation", false, "QA for optimisation with multiple THnSparse Axes"};
99100
Configurable<bool> isApplyDCAv0topv{"isApplyDCAv0topv", false, "DCA V0 to PV"};
100101
Configurable<bool> hasTPC{"hasTPC", false, "TPC"};
101102
Configurable<bool> isselectTWOKsOnly{"isselectTWOKsOnly", true, "Select only events with two K0s"};
102103
Configurable<bool> isapplyPairRapidityRec{"isapplyPairRapidityRec", false, "Apply pair rapidity cut on reconstructed mother (after already applying rapidity cut on generated mother)"};
103104
Configurable<bool> isapplyPairRapidityGen{"isapplyPairRapidityGen", false, "Apply pair rapidity cut on generated mother (before applying rapidity cut on reconstructed mother)"};
104105
Configurable<int> cSelectMultEstimator{"cSelectMultEstimator", 0, "Select multiplicity estimator: 0 - FT0M, 1 - FT0A, 2 - FT0C"};
105106
// Configurable<int> configOccCut{"configOccCut", 1000, "Occupancy cut"};
106-
Configurable<bool> isVertexTOFMatched{"isVertexTOFMatched", false, "Vertex TOF Matched"};
107-
Configurable<bool> isNoCollInTimeRangeStandard{"isNoCollInTimeRangeStandard", false, "No collision in time range standard"};
108-
Configurable<bool> isSel8{"isSel8", false, "Event Selection 8"};
107+
// Configurable<bool> isVertexTOFMatched{"isVertexTOFMatched", false, "Vertex TOF Matched"};
108+
// Configurable<bool> isNoCollInTimeRangeStandard{"isNoCollInTimeRangeStandard", false, "No collision in time range standard"};
109+
// Configurable<bool> isSel8{"isSel8", false, "Event Selection 8"};
109110

110111
// Configurables for event selection
111112
// Configurable<bool> isINELgt0{"isINELgt0", true, "INEL>0 selection"};
@@ -128,7 +129,7 @@ struct HigherMassResonances {
128129
Configurable<float> confV0PtMin{"confV0PtMin", 0.f, "Minimum transverse momentum of V0"};
129130
Configurable<float> confV0CPAMin{"confV0CPAMin", 0.97f, "Minimum CPA of V0"};
130131
Configurable<float> confV0TranRadV0Min{"confV0TranRadV0Min", 0.5f, "Minimum transverse radius"};
131-
Configurable<float> confV0TranRadV0Max{"confV0TranRadV0Max", 200.f, "Maximum transverse radius"};
132+
// Configurable<float> confV0TranRadV0Max{"confV0TranRadV0Max", 200.f, "Maximum transverse radius"};
132133
Configurable<double> cMaxV0LifeTime{"cMaxV0LifeTime", 15, "Maximum V0 life time"};
133134
Configurable<double> cSigmaMassKs0{"cSigmaMassKs0", 4, "n Sigma cut on Ks0 mass (Mass (Ks) - cSigmaMassKs0*cWidthKs0)"};
134135
Configurable<double> cWidthKs0{"cWidthKs0", 0.005, "Width of KS0"};
@@ -146,7 +147,6 @@ struct HigherMassResonances {
146147
// Configurable for track selection and multiplicity
147148
Configurable<float> cfgPTcut{"cfgPTcut", 0.2f, "Track PT cut"};
148149
Configurable<int> cfgNmixedEvents{"cfgNmixedEvents", 5, "Number of mixed events"};
149-
ConfigurableAxis binsCent{"binsCent", {VARIABLE_WIDTH, 0., 5., 10., 30., 50., 70., 100., 110., 150.}, "Binning of the centrality axis"};
150150

151151
// Configurable for MC
152152
// Configurable<bool> isMC{"isMC", false, "Is MC"};
@@ -169,14 +169,18 @@ struct HigherMassResonances {
169169
Configurable<float> competingcascrejlambda{"competingcascrejlambda", 0.005, "rejecting competing cascade lambda"};
170170
Configurable<int> tpcCrossedrows{"tpcCrossedrows", 70, "TPC crossed rows"};
171171
Configurable<float> tpcCrossedrowsOverfcls{"tpcCrossedrowsOverfcls", 0.8, "TPC crossed rows over findable clusters"};
172+
Configurable<int> rotationalCut{"rotationalCut", 10, "Cut value (Rotation angle pi - pi/cut and pi + pi/cut)"};
172173

173174
// // Mass and pT axis as configurables
174-
Configurable<int> rotationalCut{"rotationalCut", 10, "Cut value (Rotation angle pi - pi/cut and pi + pi/cut)"};
175+
ConfigurableAxis binsCent{"binsCent", {VARIABLE_WIDTH, 0., 5., 10., 30., 50., 70., 100., 110., 150.}, "Binning of the centrality axis"};
175176
ConfigurableAxis configThnAxisPOL{"configThnAxisPOL", {20, -1.0, 1.0}, "Costheta axis"};
176177
ConfigurableAxis configThnAxisPhi{"configThnAxisPhi", {70, 0.0f, 7.0f}, "Phi axis"}; // 0 to 2pi
177178
ConfigurableAxis ksMassBins{"ksMassBins", {200, 0.45f, 0.55f}, "K0s invariant mass axis"};
178179
ConfigurableAxis cGlueMassBins{"cGlueMassBins", {200, 0.9f, 3.0f}, "Glueball invariant mass axis"};
179180
ConfigurableAxis cPtBins{"cPtBins", {200, 0.0f, 20.0f}, "Glueball pT axis"};
181+
ConfigurableAxis configAxisDeltaM{"configAxisDeltaM", {80, 0.0, 0.08}, "#it{M} (GeV/#it{c}^{2})"};
182+
ConfigurableAxis configAxisAngleSep{"configAngleSep", {200, 0.0, 2.0}, "Angular separation between V0s"};
183+
ConfigurableAxis configAxisPtCorr{"configAxisPtCorr", {1000, 0.0, 100.0}, "Pt correlation between two K0s"};
180184

181185
// fixed variables
182186
float rapidityMotherData = 0.5;
@@ -216,6 +220,9 @@ struct HigherMassResonances {
216220
AxisSpec multiplicityAxis = {config.binsCent, "Multiplicity Axis"};
217221
AxisSpec thnAxisPOL{config.configThnAxisPOL, "Configurabel theta axis"};
218222
AxisSpec thnAxisPhi = {config.configThnAxisPhi, "Configurabel phi axis"}; // 0 to 2pi
223+
AxisSpec deltaMAxis = {config.configAxisDeltaM, "#Delta M (GeV/#it{c}^{2})"};
224+
AxisSpec angleSepAxis = {config.configAxisAngleSep, "Angular separation between V0s"};
225+
AxisSpec ptCorrAxis = {config.configAxisPtCorr, "Pt correlation between two K0s"};
219226

220227
// THnSparses
221228
std::array<int, 5> sparses = {config.activateHelicityFrame, config.activateCollinsSoperFrame, config.activateProductionFrame, config.activateBeamAxisFrame, config.activateRandomFrame};
@@ -261,10 +268,10 @@ struct HigherMassResonances {
261268
hCutFlow->GetXaxis()->SetBinLabel(8, "Occupancy Cut");
262269
hCutFlow->GetXaxis()->SetBinLabel(9, "rctChecker");
263270
hCutFlow->GetXaxis()->SetBinLabel(10, "kIsTriggerTVX");
264-
hCutFlow->GetXaxis()->SetBinLabel(11, "kIsGoodZvtxFT0vsPV");
265-
hCutFlow->GetXaxis()->SetBinLabel(12, "IsINELgt0");
266-
hCutFlow->GetXaxis()->SetBinLabel(13, "isVertexITSTPC");
267-
hCutFlow->GetXaxis()->SetBinLabel(14, "isVertexTOFMatched");
271+
// hCutFlow->GetXaxis()->SetBinLabel(11, "kIsGoodZvtxFT0vsPV");
272+
// hCutFlow->GetXaxis()->SetBinLabel(12, "IsINELgt0");
273+
// hCutFlow->GetXaxis()->SetBinLabel(13, "isVertexITSTPC");
274+
// hCutFlow->GetXaxis()->SetBinLabel(14, "isVertexTOFMatched");
268275

269276
std::shared_ptr<TH1> hv0label = rEventSelection.get<TH1>(HIST("htrackscheck_v0"));
270277
hv0label->GetXaxis()->SetBinLabel(1, "All Tracks");
@@ -313,19 +320,27 @@ struct HigherMassResonances {
313320
hv0labelmcgen->GetXaxis()->SetBinLabel(8, "Daughters K0s");
314321
}
315322

316-
hglue.add("h3glueInvMassDS", "h3glueInvMassDS", kTHnSparseF, {multiplicityAxis, ptAxis, glueballMassAxis, thnAxisPOL, thnAxisPhi}, true);
317-
hglue.add("h3glueInvMassME", "h3glueInvMassME", kTHnSparseF, {multiplicityAxis, ptAxis, glueballMassAxis, thnAxisPOL, thnAxisPhi}, true);
318-
hglue.add("h3glueInvMassRot", "h3glueInvMassRot", kTHnSparseF, {multiplicityAxis, ptAxis, glueballMassAxis, thnAxisPOL, thnAxisPhi}, true);
323+
if (!config.qAOptimisation) {
324+
hglue.add("h3glueInvMassDS", "h3glueInvMassDS", kTHnSparseF, {multiplicityAxis, ptAxis, glueballMassAxis, thnAxisPOL, thnAxisPhi}, true);
325+
hglue.add("h3glueInvMassME", "h3glueInvMassME", kTHnSparseF, {multiplicityAxis, ptAxis, glueballMassAxis, thnAxisPOL, thnAxisPhi}, true);
326+
hglue.add("h3glueInvMassRot", "h3glueInvMassRot", kTHnSparseF, {multiplicityAxis, ptAxis, glueballMassAxis, thnAxisPOL, thnAxisPhi}, true);
327+
} else {
328+
hglue.add("h3glueInvMassDS", "h3glueInvMassDS", kTHnSparseF, {multiplicityAxis, ptAxis, glueballMassAxis, deltaMAxis, angleSepAxis, ptCorrAxis}, true);
329+
hglue.add("h3glueInvMassME", "h3glueInvMassME", kTHnSparseF, {multiplicityAxis, ptAxis, glueballMassAxis, deltaMAxis, angleSepAxis, ptCorrAxis}, true);
330+
hglue.add("h3glueInvMassRot", "h3glueInvMassRot", kTHnSparseF, {multiplicityAxis, ptAxis, glueballMassAxis, deltaMAxis, angleSepAxis, ptCorrAxis}, true);
331+
}
319332

320333
// K0s topological/PID cuts
321-
if (config.correlation2Dhist) {
334+
if (config.qAcorrelation2Dhist) {
322335
rKzeroShort.add("mass_lambda_kshort_before", "mass under lambda hypotheses and Kshort mass", kTH2F, {{100, 0.2, 0.8}, {100, 0.9, 1.5}});
323336
rKzeroShort.add("mass_lambda_kshort_after10", "mass under lambda hypotheses and Kshort mass", kTH2F, {{100, 0.2, 0.8}, {100, 0.9, 1.5}});
324337
}
325338
if (config.qAv0) {
326339
// Invariant Mass
327340
rKzeroShort.add("hMassK0Shortbefore", "hMassK0Shortbefore", kTHnSparseF, {k0ShortMassAxis, ptAxis});
328341
rKzeroShort.add("hK0ShortMassCorr", "hK0ShortMassCorr", kTH2F, {k0ShortMassAxis, k0ShortMassAxis});
342+
rKzeroShort.add("hK0ShortMassCorrAfterCut", "hK0ShortMassCorrAfterCut", kTH2F, {k0ShortMassAxis, k0ShortMassAxis});
343+
rKzeroShort.add("hK0sPtCorrelation", "hK0sPtCorrelation", kTH1F, {{1000, 0.0f, 100.0f}});
329344
rKzeroShort.add("hMassK0ShortSelected", "hMassK0ShortSelected", kTHnSparseF, {k0ShortMassAxis, ptAxis});
330345
// Topological histograms (after the selection)
331346
rKzeroShort.add("hDCAV0Daughters", "DCA between v0 daughters", {HistType::kTH1F, {{60, -3.0f, 3.0f}}});
@@ -380,8 +395,8 @@ struct HigherMassResonances {
380395
if (fillHist)
381396
rEventSelection.fill(HIST("hEventCut"), 1);
382397

383-
if (config.isSel8 && !collision.sel8())
384-
return false;
398+
// if (config.isSel8 && !collision.sel8())
399+
// return false;
385400
if (fillHist)
386401
rEventSelection.fill(HIST("hEventCut"), 2);
387402

@@ -426,27 +441,27 @@ struct HigherMassResonances {
426441
// if (config.isGoodZvtxFT0vsPV && !collision.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV))
427442
// return false;
428443
if (fillHist)
429-
rEventSelection.fill(HIST("hEventCut"), 10);
444+
// rEventSelection.fill(HIST("hEventCut"), 10);
430445

431-
// if (config.isINELgt0 && !collision.isInelGt0()) {
432-
// return false;
433-
// }
434-
// if (fillHist)
435-
rEventSelection.fill(HIST("hEventCut"), 11);
446+
// if (config.isINELgt0 && !collision.isInelGt0()) {
447+
// return false;
448+
// }
449+
// if (fillHist)
450+
// rEventSelection.fill(HIST("hEventCut"), 11);
436451

437-
// if (config.isVertexITSTPC && !collision.selection_bit(o2::aod::evsel::kIsVertexITSTPC)) {
438-
// return false;
439-
// }
440-
if (fillHist)
441-
rEventSelection.fill(HIST("hEventCut"), 12);
452+
// if (config.isVertexITSTPC && !collision.selection_bit(o2::aod::evsel::kIsVertexITSTPC)) {
453+
// return false;
454+
// }
455+
// if (fillHist)
456+
// rEventSelection.fill(HIST("hEventCut"), 12);
442457

443-
if (config.isVertexTOFMatched && !collision.selection_bit(aod::evsel::kIsVertexTOFmatched)) {
444-
return false;
445-
}
446-
if (fillHist)
447-
rEventSelection.fill(HIST("hEventCut"), 13);
458+
// if (config.isVertexTOFMatched && !collision.selection_bit(aod::evsel::kIsVertexTOFmatched)) {
459+
// return false;
460+
// }
461+
// if (fillHist)
462+
// rEventSelection.fill(HIST("hEventCut"), 13);
448463

449-
return true;
464+
return true;
450465
}
451466

452467
template <typename Collision, typename V0>
@@ -470,7 +485,7 @@ struct HigherMassResonances {
470485
rKzeroShort.fill(HIST("hDCAV0Daughters"), candidate.dcaV0daughters());
471486
rKzeroShort.fill(HIST("hV0CosPA"), candidate.v0cosPA());
472487
}
473-
if (config.correlation2Dhist)
488+
if (config.qAcorrelation2Dhist)
474489
rKzeroShort.fill(HIST("mass_lambda_kshort_before"), candidate.mK0Short(), candidate.mLambda());
475490

476491
rEventSelection.fill(HIST("htrackscheck_v0"), 0.5);
@@ -505,9 +520,9 @@ struct HigherMassResonances {
505520
}
506521
rEventSelection.fill(HIST("htrackscheck_v0"), 6.5);
507522

508-
if (tranRad > config.confV0TranRadV0Max) {
509-
return false;
510-
}
523+
// if (tranRad > config.confV0TranRadV0Max) {
524+
// return false;
525+
// }
511526
rEventSelection.fill(HIST("htrackscheck_v0"), 7.5);
512527

513528
if (std::fabs(ctauK0s) > config.cMaxV0LifeTime) {
@@ -520,7 +535,7 @@ struct HigherMassResonances {
520535
}
521536
rEventSelection.fill(HIST("htrackscheck_v0"), 9.5);
522537

523-
if (config.correlation2Dhist)
538+
if (config.qAcorrelation2Dhist)
524539
rKzeroShort.fill(HIST("mass_lambda_kshort_after10"), candidate.mK0Short(), candidate.mLambda());
525540

526541
if (config.qAv0) {
@@ -1024,12 +1039,44 @@ struct HigherMassResonances {
10241039
}
10251040

10261041
const double deltaMass = deltaM(v1.mK0Short(), v2.mK0Short());
1027-
if (deltaMass > config.cMaxDeltaM) {
1028-
continue;
1042+
if (!config.qAOptimisation) {
1043+
if (deltaMass > config.cMaxDeltaM) {
1044+
continue;
1045+
}
10291046
}
10301047

1031-
if (!config.isselectTWOKsOnly)
1048+
if (config.qAv0) {
1049+
rKzeroShort.fill(HIST("hK0ShortMassCorrAfterCut"), v1.mK0Short(), v2.mK0Short());
1050+
}
1051+
1052+
const double ptCorr = std::abs(daughter1.Pt() + daughter2.Pt()) / mother.Pt();
1053+
if (config.qAv0) {
1054+
rKzeroShort.fill(HIST("hK0sPtCorrelation"), ptCorr);
1055+
}
1056+
1057+
if (!config.isselectTWOKsOnly && !config.qAOptimisation)
10321058
fillInvMass(mother, multiplicity, daughter1, daughter2, isMix);
1059+
1060+
if (!config.isselectTWOKsOnly && config.qAOptimisation) {
1061+
double angSepValue = std::sqrt(TVector2::Phi_mpi_pi(v1.phi() - v2.phi()) * TVector2::Phi_mpi_pi(v1.phi() - v2.phi()) + (v1.eta() - v2.eta()) * (v1.eta() - v2.eta()));
1062+
1063+
if (std::abs(mother.Rapidity()) < config.rapidityMotherData) {
1064+
hglue.fill(HIST("h3glueInvMassDS"), multiplicity, mother.Pt(), mother.M(), deltaMass, angSepValue, ptCorr);
1065+
}
1066+
1067+
for (int i = 0; i < config.cRotations; i++) {
1068+
double theta2 = rn->Uniform(o2::constants::math::PI - o2::constants::math::PI / config.rotationalCut, o2::constants::math::PI + o2::constants::math::PI / config.rotationalCut);
1069+
1070+
daughterRot = ROOT::Math::PxPyPzMVector(daughter1.Px() * std::cos(theta2) - daughter1.Py() * std::sin(theta2), daughter1.Px() * std::sin(theta2) + daughter1.Py() * std::cos(theta2), daughter1.Pz(), daughter1.M());
1071+
1072+
motherRot = daughterRot + daughter2;
1073+
1074+
double pTcorrRot = std::abs(daughterRot.Pt() + daughter2.Pt()) / motherRot.Pt();
1075+
1076+
if (motherRot.Rapidity() < config.rapidityMotherData)
1077+
hglue.fill(HIST("h3glueInvMassRot"), multiplicity, motherRot.Pt(), motherRot.M(), deltaMass, angSepValue, pTcorrRot);
1078+
}
1079+
}
10331080
}
10341081
int sizeofv0indexes = v0indexes.size();
10351082
rKzeroShort.fill(HIST("NksProduced"), sizeofv0indexes);
@@ -1120,7 +1167,17 @@ struct HigherMassResonances {
11201167

11211168
mother = daughter1 + daughter2; // invariant mass of Kshort pair
11221169
isMix = true;
1123-
fillInvMass(mother, multiplicity, daughter1, daughter2, isMix);
1170+
if (!config.qAOptimisation)
1171+
fillInvMass(mother, multiplicity, daughter1, daughter2, isMix);
1172+
1173+
if (config.qAOptimisation) {
1174+
double angSepValue = std::sqrt(TVector2::Phi_mpi_pi(daughter1.phi() - daughter2.phi()) * TVector2::Phi_mpi_pi(daughter1.phi() - daughter2.phi()) + (daughter1.eta() - daughter2.eta()) * (daughter1.eta() - daughter2.eta()));
1175+
const double deltaMass = deltaM(t1.mK0Short(), t2.mK0Short());
1176+
const double ptCorr = std::abs(daughter1.Pt() + daughter2.Pt()) / mother.Pt();
1177+
if (std::abs(mother.Rapidity()) < config.rapidityMotherData) {
1178+
hglue.fill(HIST("h3glueInvMassME"), multiplicity, mother.Pt(), mother.M(), deltaMass, angSepValue, ptCorr);
1179+
}
1180+
}
11241181
}
11251182
}
11261183
};
@@ -1507,8 +1564,36 @@ struct HigherMassResonances {
15071564
continue;
15081565
}
15091566

1510-
if (!config.isselectTWOKsOnly)
1567+
if (config.qAv0) {
1568+
rKzeroShort.fill(HIST("hK0ShortMassCorrAfterCut"), v1.mK0Short(), v2.mK0Short());
1569+
}
1570+
1571+
const double ptCorr = std::abs(daughter1.Pt() + daughter2.Pt()) / mother.Pt();
1572+
if (config.qAv0) {
1573+
rKzeroShort.fill(HIST("hK0sPtCorrelation"), ptCorr);
1574+
}
1575+
1576+
if (!config.isselectTWOKsOnly && !config.qAOptimisation)
15111577
fillInvMass(mother, multiplicity, daughter1, daughter2, isMix);
1578+
1579+
if (!config.isselectTWOKsOnly && config.qAOptimisation) {
1580+
double angSepValue = std::sqrt(TVector2::Phi_mpi_pi(v1.phi() - v2.phi()) * TVector2::Phi_mpi_pi(v1.phi() - v2.phi()) + (v1.eta() - v2.eta()) * (v1.eta() - v2.eta()));
1581+
1582+
if (std::abs(mother.Rapidity()) < config.rapidityMotherData) {
1583+
hglue.fill(HIST("h3glueInvMassDS"), multiplicity, mother.Pt(), mother.M(), deltaMass, angSepValue, ptCorr);
1584+
}
1585+
1586+
for (int i = 0; i < config.cRotations; i++) {
1587+
double theta2 = rn->Uniform(o2::constants::math::PI - o2::constants::math::PI / config.rotationalCut, o2::constants::math::PI + o2::constants::math::PI / config.rotationalCut);
1588+
1589+
daughterRot = ROOT::Math::PxPyPzMVector(daughter1.Px() * std::cos(theta2) - daughter1.Py() * std::sin(theta2), daughter1.Px() * std::sin(theta2) + daughter1.Py() * std::cos(theta2), daughter1.Pz(), daughter1.M());
1590+
1591+
motherRot = daughterRot + daughter2;
1592+
double pTcorrRot = std::abs(daughterRot.Pt() + daughter2.Pt()) / motherRot.Pt();
1593+
if (motherRot.Rapidity() < config.rapidityMotherData)
1594+
hglue.fill(HIST("h3glueInvMassRot"), multiplicity, motherRot.Pt(), motherRot.M(), deltaMass, angSepValue, pTcorrRot);
1595+
}
1596+
}
15121597
}
15131598
int sizeofv0indexes = v0indexes.size();
15141599
rKzeroShort.fill(HIST("NksProduced"), sizeofv0indexes);
@@ -1554,7 +1639,17 @@ struct HigherMassResonances {
15541639

15551640
mother = daughter1 + daughter2; // invariant mass of Kshort pair
15561641
isMix = true;
1557-
fillInvMass(mother, multiplicity, daughter1, daughter2, isMix);
1642+
if (!config.qAOptimisation)
1643+
fillInvMass(mother, multiplicity, daughter1, daughter2, isMix);
1644+
1645+
if (config.qAOptimisation) {
1646+
double angSepValue = std::sqrt(TVector2::Phi_mpi_pi(daughter1.phi() - daughter2.phi()) * TVector2::Phi_mpi_pi(daughter1.phi() - daughter2.phi()) + (daughter1.eta() - daughter2.eta()) * (daughter1.eta() - daughter2.eta()));
1647+
const double deltaMass = deltaM(t1.mK0Short(), t2.mK0Short());
1648+
const double ptCorr = std::abs(daughter1.Pt() + daughter2.Pt()) / mother.Pt();
1649+
if (std::abs(mother.Rapidity()) < config.rapidityMotherData) {
1650+
hglue.fill(HIST("h3glueInvMassME"), multiplicity, mother.Pt(), mother.M(), deltaMass, angSepValue, ptCorr);
1651+
}
1652+
}
15581653
}
15591654
}
15601655
}

0 commit comments

Comments
 (0)