@@ -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