@@ -562,12 +562,34 @@ struct muonQa {
562562 }
563563
564564 if (configQAs.fEnableQADimuon ) {
565+ // single muons
566+ AxisSpec transverseMomentumAxis = {1000 , 0 , 100 , " p_{T} (GeV/c)" };
567+ AxisSpec etaAxis = {80 , -5 , -1 , " #eta" };
568+ AxisSpec rAbsAxis = {100 , 0 ., 100.0 , " R_{abs} (cm)" };
569+ AxisSpec dcaAxis = {400 , 0.0 , 20.0 , " DCA" };
570+ AxisSpec phiAxis = {360 , -180.0 , 180.0 , " #phi (degrees)" };
571+ // dimuons
565572 AxisSpec invMassAxis = {400 , 1 , 5 , " M_{#mu^{+}#mu^{-}} (GeV/c^{2})" };
566573 AxisSpec invMassCorrelationAxis = {80 , 0 , 8 , " M_{#mu^{+}#mu^{-}} (GeV/c^{2})" };
567574 AxisSpec invMassAxisFull = {5000 , 0 , 100 , " M_{#mu^{+}#mu^{-}} (GeV/c^{2})" };
568575 AxisSpec yPairAxis = {120 , 0.0 , 6.0 , " #y_{pair}" };
569576 AxisSpec invMassAxis2D = {750 , 0 , 15 , " M_{#mu^{+}#mu^{-}} (GeV/c^{2})" };
570577 AxisSpec pTAxis2D = {120 , 0 , 30 , " p_{T} (GeV/c)" };
578+ // Single muons - dimuons correlations
579+ registryDimuon.add (" dimuon/same-event/single-muon-dimuon-correlations/invariantMass_pT_MuPosPt_MuonKine_MuonCuts" , " #mu^{+}#mu^{-} and #mu^{+}" , {HistType::kTH3F , {invMassAxis2D, pTAxis2D, transverseMomentumAxis}});
580+ registryDimuon.add (" dimuon/same-event/single-muon-dimuon-correlations/invariantMass_pT_MuNegPt_MuonKine_MuonCuts" , " #mu^{+}#mu^{-} and #mu^{-}" , {HistType::kTH3F , {invMassAxis2D, pTAxis2D, transverseMomentumAxis}});
581+ //
582+ registryDimuon.add (" dimuon/same-event/single-muon-dimuon-correlations/invariantMass_pT_MuPosEta_MuonKine_MuonCuts" , " #mu^{+}#mu^{-} and #mu^{+}" , {HistType::kTH3F , {invMassAxis2D, pTAxis2D, etaAxis}});
583+ registryDimuon.add (" dimuon/same-event/single-muon-dimuon-correlations/invariantMass_pT_MuNegEta_MuonKine_MuonCuts" , " #mu^{+}#mu^{-} and #mu^{-}" , {HistType::kTH3F , {invMassAxis2D, pTAxis2D, etaAxis}});
584+ //
585+ registryDimuon.add (" dimuon/same-event/single-muon-dimuon-correlations/invariantMass_pT_MuPosRabs_MuonKine_MuonCuts" , " #mu^{+}#mu^{-} and #mu^{+}" , {HistType::kTH3F , {invMassAxis2D, pTAxis2D, rAbsAxis}});
586+ registryDimuon.add (" dimuon/same-event/single-muon-dimuon-correlations/invariantMass_pT_MuNegRabs_MuonKine_MuonCuts" , " #mu^{+}#mu^{-} and #mu^{-}" , {HistType::kTH3F , {invMassAxis2D, pTAxis2D, rAbsAxis}});
587+ //
588+ registryDimuon.add (" dimuon/same-event/single-muon-dimuon-correlations/invariantMass_pT_MuPosDca_MuonKine_MuonCuts" , " #mu^{+}#mu^{-} and #mu^{+}" , {HistType::kTH3F , {invMassAxis2D, pTAxis2D, dcaAxis}});
589+ registryDimuon.add (" dimuon/same-event/single-muon-dimuon-correlations/invariantMass_pT_MuNegDca_MuonKine_MuonCuts" , " #mu^{+}#mu^{-} and #mu^{-}" , {HistType::kTH3F , {invMassAxis2D, pTAxis2D, dcaAxis}});
590+ //
591+ registryDimuon.add (" dimuon/same-event/single-muon-dimuon-correlations/invariantMass_pT_MuPosPhi_MuonKine_MuonCuts" , " #mu^{+}#mu^{-} and #mu^{+}" , {HistType::kTH3F , {invMassAxis2D, pTAxis2D, phiAxis}});
592+ registryDimuon.add (" dimuon/same-event/single-muon-dimuon-correlations/invariantMass_pT_MuNegPhi_MuonKine_MuonCuts" , " #mu^{+}#mu^{-} and #mu^{-}" , {HistType::kTH3F , {invMassAxis2D, pTAxis2D, phiAxis}});
571593 // MCH-MID tracks with MCH acceptance cuts
572594 registryDimuon.add (" dimuon/same-event/invariantMass_MuonKine_MuonCuts" , " #mu^{+}#mu^{-} invariant mass" , {HistType::kTH1F , {invMassAxis}});
573595 registryDimuon.add (" dimuon/same-event/invariantMassFull_MuonKine_MuonCuts" , " #mu^{+}#mu^{-} invariant mass" , {HistType::kTH1F , {invMassAxisFull}});
@@ -2473,6 +2495,21 @@ struct muonQa {
24732495 if ((sign1 * sign2) >= 0 )
24742496 continue ;
24752497
2498+ const auto & muonPos = fgValuesMuon1.sign > 0 ? fgValuesMuon1 : fgValuesMuon2;
2499+ const auto & muonNeg = fgValuesMuon1.sign < 0 ? fgValuesMuon1 : fgValuesMuon2;
2500+ // μ⁺ variables
2501+ double muPosPt = muonPos.pT ;
2502+ double muPosEta = muonPos.eta ;
2503+ double muPosRabs = muonPos.rabs ;
2504+ double muPosPhi = muonPos.phi * 180.0 / TMath::Pi ();
2505+ double muPosDca = std::sqrt (muonPos.dcaX * muonPos.dcaX + muonPos.dcaY * muonPos.dcaY );
2506+ // μ⁻ variables
2507+ double muNegPt = muonNeg.pT ;
2508+ double muNegEta = muonNeg.eta ;
2509+ double muNegRabs = muonNeg.rabs ;
2510+ double muNegPhi = muonNeg.phi * 180.0 / TMath::Pi ();
2511+ double muNegDca = std::sqrt (muonNeg.dcaX * muonNeg.dcaX + muonNeg.dcaY * muonNeg.dcaY );
2512+
24762513 int Quadrant1 = GetQuadrantPhi (muonTrack1.phi () * 180.0 / TMath::Pi ());
24772514 int Quadrant2 = GetQuadrantPhi (muonTrack2.phi () * 180.0 / TMath::Pi ());
24782515 int TopBottom1 = (Quadrant1 == 0 || Quadrant1 == 1 ) ? 0 : 1 ;
@@ -2491,6 +2528,22 @@ struct muonQa {
24912528 if (goodMuonTracks) {
24922529 if (sameEvent) {
24932530 // same-event case
2531+ // single muons
2532+ registryDimuon.get <TH3>(HIST (" dimuon/same-event/single-muon-dimuon-correlations/invariantMass_pT_MuPosPt_MuonKine_MuonCuts" ))->Fill (mass, pT, muPosPt);
2533+ registryDimuon.get <TH3>(HIST (" dimuon/same-event/single-muon-dimuon-correlations/invariantMass_pT_MuNegPt_MuonKine_MuonCuts" ))->Fill (mass, pT, muNegPt);
2534+ //
2535+ registryDimuon.get <TH3>(HIST (" dimuon/same-event/single-muon-dimuon-correlations/invariantMass_pT_MuPosEta_MuonKine_MuonCuts" ))->Fill (mass, pT, muPosEta);
2536+ registryDimuon.get <TH3>(HIST (" dimuon/same-event/single-muon-dimuon-correlations/invariantMass_pT_MuNegEta_MuonKine_MuonCuts" ))->Fill (mass, pT, muNegEta);
2537+ //
2538+ registryDimuon.get <TH3>(HIST (" dimuon/same-event/single-muon-dimuon-correlations/invariantMass_pT_MuPosRabs_MuonKine_MuonCuts" ))->Fill (mass, pT, muPosRabs);
2539+ registryDimuon.get <TH3>(HIST (" dimuon/same-event/single-muon-dimuon-correlations/invariantMass_pT_MuNegRabs_MuonKine_MuonCuts" ))->Fill (mass, pT, muNegRabs);
2540+ //
2541+ registryDimuon.get <TH3>(HIST (" dimuon/same-event/single-muon-dimuon-correlations/invariantMass_pT_MuPosDca_MuonKine_MuonCuts" ))->Fill (mass, pT, muPosDca);
2542+ registryDimuon.get <TH3>(HIST (" dimuon/same-event/single-muon-dimuon-correlations/invariantMass_pT_MuNegDca_MuonKine_MuonCuts" ))->Fill (mass, pT, muNegDca);
2543+ //
2544+ registryDimuon.get <TH3>(HIST (" dimuon/same-event/single-muon-dimuon-correlations/invariantMass_pT_MuPosPhi_MuonKine_MuonCuts" ))->Fill (mass, pT, muPosPhi);
2545+ registryDimuon.get <TH3>(HIST (" dimuon/same-event/single-muon-dimuon-correlations/invariantMass_pT_MuNegPhi_MuonKine_MuonCuts" ))->Fill (mass, pT, muNegPhi);
2546+ // dimuons
24942547 registryDimuon.get <TH1>(HIST (" dimuon/same-event/invariantMass_MuonKine_MuonCuts" ))->Fill (mass);
24952548 registryDimuon.get <TH1>(HIST (" dimuon/same-event/invariantMassFull_MuonKine_MuonCuts" ))->Fill (mass);
24962549 registryDimuon.get <TH2>(HIST (" dimuon/same-event/invariantMass_pT_MuonKine_MuonCuts" ))->Fill (mass, pT);
0 commit comments