Skip to content

Commit 22c0bf9

Browse files
Modified Combinatorial Background Estimation
1 parent 507cb19 commit 22c0bf9

File tree

1 file changed

+33
-9
lines changed

1 file changed

+33
-9
lines changed

PWGUD/Tasks/exclusiveRhoTo4Pi.cxx

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,12 @@ struct ExclusiveRhoTo4Pi {
5757
int numFourPionTracks = 4;
5858
int numPiPlus = 2;
5959
int numPiMinus = 2;
60+
// Numbers for background estimation
61+
int zero = 0;
62+
int one = 1;
63+
int three = 3;
64+
int four = 4;
65+
// PDG Codes and rho mass
6066
double mRho0 = 0.77526; // GeV/c^2
6167
int rhoPrime = 30113;
6268
// Pb-Pb at 5.36 TeV
@@ -237,17 +243,17 @@ struct ExclusiveRhoTo4Pi {
237243
histosKin.add("pions", ";pT [GeV/c]; #eta;#varphi", kTH3F, {pTAxis, etaAxis, phiAxis});
238244
histosKin.add("pions-from-4pi", ";pT [GeV/c]; #eta;#varphi;y ", kTHnSparseF, {pTAxis, etaAxis, phiAxis, rapidityAxis});
239245
// Rho Prime Kinematics
240-
histos4piKin.add("two-pion-mass", ";m_{#pi^{+}#pi^{-}} [GeV/c^2];m_{#pi^{+}#pi^{-}} [GeV/c^2];m_{#pi^{+}#pi^{-}} [GeV/c^2];m_{#pi^{+}#pi^{-}} [GeV/c^2];m_{4#pi} [GeV/c^{2}]", kTHnSparseF, {{100, 0, 2}, {100, 0, 2}, {100, 0, 2}, {100, 0, 2}, invMassAxis});
241-
histos4piKin.add("2PiPlusPiMinusMass", ";m_{#pi^{+}#pi^{+}#pi^{-}} [GeV/c^2];m_{#pi^{+}#pi^{+}#pi^{-}} [GeV/c^2];m_{#pi^{+}#pi^{-}#pi^{+}}#pi^{-}} [GeV/c^2]", kTHnSparseF, {{200, 0, 2.5}, {200, 0, 2.5}, invMassAxis});
242-
histos4piKin.add("2PiMinusPiPlusMass", ";m_{#pi^{-}#pi^{-}#pi^{+}} [GeV/c^2];m_{#pi^{-}#pi^{-}#pi^{+}} [GeV/c^2];m_{#pi^{+}#pi^{-}#pi^{+}}#pi^{-}} [GeV/c^2]", kTHnSparseF, {{200, 0, 2.5}, {200, 0, 2.5}, invMassAxis});
246+
histos4piKin.add("two-pion", ";p_{T}^{4#pi} [GeV/c] ;m_{#pi^{+}#pi^{-}} [GeV/c^2];m_{#pi^{+}#pi^{-}} [GeV/c^2];m_{#pi^{+}#pi^{-}} [GeV/c^2];m_{#pi^{+}#pi^{-}} [GeV/c^2];m_{4#pi} [GeV/c^{2}]", kTHnSparseF, {{100, 0, 2}, {100, 0, 2}, {100, 0, 2}, {100, 0, 2}, invMassAxis});
243247
histos4piKin.add("zero-charge", ";pT [GeV/c]; #eta; #varphi [rad];y; m_{4#pi} [GeV/c^{2}]; Collin-Soper cos(#theta); Collin-Soper #varphi [rad];Run Number", kTHnSparseF, {pTAxis, etaAxis, phiAxis, rapidityAxis, invMassAxis, cosThetaAxis, phiAxis, {113, 0, 113}});
244248
histos4piKin.add("non-zero-charge", ";pT [GeV/c]; #eta; #varphi [rad];y; m_{4#pi} [GeV/c^{2}];Run Number", kTHnSparseF, {pTAxis, etaAxis, phiAxis, rapidityAxis, invMassAxis, {113, 0, 113}});
249+
histos4piKin.add("3piMinus-1piPlus", ";pT [GeV/c]; #eta; #varphi [rad];y; m_{4#pi} [GeV/c^{2}]; Run Number", kTHnSparseF, {pTAxis, etaAxis, phiAxis, rapidityAxis, invMassAxis, {113, 0, 113}});
250+
histos4piKin.add("3piPlus-1piMinus", ";pT [GeV/c]; #eta; #varphi [rad];y; m_{4#pi} [GeV/c^{2}]; Run Number", kTHnSparseF, {pTAxis, etaAxis, phiAxis, rapidityAxis, invMassAxis, {113, 0, 113}});
251+
histos4piKin.add("4piPlus", ";pT [GeV/c]; #eta; #varphi [rad];y; m_{4#pi} [GeV/c^{2}]; Run Number", kTHnSparseF, {pTAxis, etaAxis, phiAxis, rapidityAxis, invMassAxis, {113, 0, 113}});
252+
histos4piKin.add("4piMinus", ";pT [GeV/c]; #eta; #varphi [rad];y; m_{4#pi} [GeV/c^{2}]; Run Number", kTHnSparseF, {pTAxis, etaAxis, phiAxis, rapidityAxis, invMassAxis, {113, 0, 113}});
245253
// MC truth
246254
histosMCtruth.add("pions-from-4pi", ";pT [GeV/c]; #eta;#varphi;y ", kTHnSparseF, {pTAxis, etaAxis, phiAxis, rapidityAxis, {113, 0, 113}});
247255
histosMCtruth.add("Four-pion", ";pT [GeV/c]; #eta; #varphi [rad];y; m_{4#pi} [GeV/c^{2}];Run Number", kTHnSparseF, {pTAxis, etaAxis, phiAxis, rapidityAxis, invMassAxis, {113, 0, 113}});
248-
249-
//___________________________________________________________________________________________________________________________
250-
256+
//_______________________________________________________________________________________________________________________________________________
251257
setHistBinLabels();
252258
} // End of init function
253259

@@ -476,9 +482,7 @@ struct ExclusiveRhoTo4Pi {
476482
PxPyPzMVector p234 = p2 + p3 + p4;
477483

478484
// Two Pion Mass combinations
479-
histos4piKin.fill(HIST("two-pion-mass"), p13.M(), p14.M(), p23.M(), p24.M(), p1234.M());
480-
histos4piKin.fill(HIST("2PiPlusPiMinusMass"), p123.M(), p124.M(), p1234.M());
481-
histos4piKin.fill(HIST("2PiMinusPiPlusMass"), p134.M(), p234.M(), p1234.M());
485+
histos4piKin.fill(HIST("two-pion"), p1234.Pt(), p13.M(), p14.M(), p23.M(), p24.M(), p1234.M());
482486

483487
double fourPiPhiPair1 = collinSoperPhi(p13, p1234);
484488
double fourPiPhiPair2 = collinSoperPhi(p14, p1234);
@@ -513,6 +517,15 @@ struct ExclusiveRhoTo4Pi {
513517
PxPyPzMVector p4(selectedPionTracks[3].px(), selectedPionTracks[3].py(), selectedPionTracks[3].pz(), o2::constants::physics::MassPionCharged);
514518
PxPyPzMVector p1234 = p1 + p2 + p3 + p4;
515519
// Kinematics for 4 pion system from non 0 charge events
520+
if (numPionMinusTracks == three && numPiPlusTracks == one) {
521+
histos4piKin.fill(HIST("3piMinus-1piPlus"), p1234.Pt(), p1234.Eta(), p1234.Phi(), p1234.Rapidity(), p1234.M(), runIndex);
522+
} else if (numPionMinusTracks == one && numPiPlusTracks == three) {
523+
histos4piKin.fill(HIST("3piPlus-1piMinus"), p1234.Pt(), p1234.Eta(), p1234.Phi(), p1234.Rapidity(), p1234.M(), runIndex);
524+
} else if (numPionMinusTracks == four && numPiPlusTracks == zero) {
525+
histos4piKin.fill(HIST("4piMinus"), p1234.Pt(), p1234.Eta(), p1234.Phi(), p1234.Rapidity(), p1234.M(), runIndex);
526+
} else if (numPionMinusTracks == zero && numPiPlusTracks == four) {
527+
histos4piKin.fill(HIST("4piPlus"), p1234.Pt(), p1234.Eta(), p1234.Phi(), p1234.Rapidity(), p1234.M(), runIndex);
528+
}
516529
histos4piKin.fill(HIST("non-zero-charge"), p1234.Pt(), p1234.Eta(), p1234.Phi(), p1234.Rapidity(), p1234.M(), runIndex);
517530
} // End of Analysis for non 0 charge events
518531
} // End of 4 Pion Analysis Process function for Pass5 Data
@@ -903,6 +916,15 @@ struct ExclusiveRhoTo4Pi {
903916
PxPyPzMVector p4(selectedPionTracks[3].px(), selectedPionTracks[3].py(), selectedPionTracks[3].pz(), o2::constants::physics::MassPionCharged);
904917
PxPyPzMVector p1234 = p1 + p2 + p3 + p4;
905918
// Kinematics for 4 pion system from non 0 charge events
919+
if (numPionMinusTracks == three && numPiPlusTracks == one) {
920+
histos4piKin.fill(HIST("3piMinus-1piPlus"), p1234.Pt(), p1234.Eta(), p1234.Phi(), p1234.Rapidity(), p1234.M(), runIndex);
921+
} else if (numPionMinusTracks == one && numPiPlusTracks == three) {
922+
histos4piKin.fill(HIST("3piPlus-1piMinus"), p1234.Pt(), p1234.Eta(), p1234.Phi(), p1234.Rapidity(), p1234.M(), runIndex);
923+
} else if (numPionMinusTracks == four && numPiPlusTracks == zero) {
924+
histos4piKin.fill(HIST("4piMinus"), p1234.Pt(), p1234.Eta(), p1234.Phi(), p1234.Rapidity(), p1234.M(), runIndex);
925+
} else if (numPionMinusTracks == zero && numPiPlusTracks == four) {
926+
histos4piKin.fill(HIST("4piPlus"), p1234.Pt(), p1234.Eta(), p1234.Phi(), p1234.Rapidity(), p1234.M(), runIndex);
927+
}
906928
histos4piKin.fill(HIST("non-zero-charge"), p1234.Pt(), p1234.Eta(), p1234.Phi(), p1234.Rapidity(), p1234.M(), runIndex);
907929
} // End of Analysis for non 0 charge events
908930
} // End of 4 Pion Analysis Process function for Pass5 MC
@@ -1118,6 +1140,8 @@ struct ExclusiveRhoTo4Pi {
11181140
}
11191141
for (int i = 0; i < numRunNums; ++i) {
11201142
std::string runLabel = std::to_string(runNos[i]);
1143+
h1->GetXaxis()->SetBinLabel(i + 1, runLabel.c_str());
1144+
h2->GetXaxis()->SetBinLabel(i + 1, runLabel.c_str());
11211145
h3->GetAxis(7)->SetBinLabel(i + 1, runLabel.c_str());
11221146
h4->GetAxis(5)->SetBinLabel(i + 1, runLabel.c_str());
11231147
h5->GetAxis(5)->SetBinLabel(i + 1, runLabel.c_str());

0 commit comments

Comments
 (0)