@@ -229,31 +229,33 @@ struct globalDimuonFilter {
229229 fRegistry .add (" Vertex/MB/hSigmaZ" , " vertex #sigma_{Z} vs. N_{contrib};N_{contrib};#sigma_{Z} (#mum)" , o2::framework::HistType::kTH2D , {{200 , 0.5 , 200.5 }, {1000 , 0 , 100 }}, false );
230230 fRegistry .addClone (" Vertex/MB/" , " Vertex/Triggered/" );
231231
232- fRegistry .add (" MFTMCHMID/hPt" , " pT;p_{T} (GeV/c)" , o2::framework::HistType::kTH1D , {{200 , 0 .0f , 10 }}, false );
233- fRegistry .add (" MFTMCHMID/hEtaPhi" , " #eta vs. #varphi;#varphi (rad.);#eta" , o2::framework::HistType::kTH2D , {{180 , 0 , 2 * M_PI }, {200 , -4 .f , -2 .f }}, false );
234- fRegistry .add (" MFTMCHMID/hEtaPhi_MatchedMCHMID" , " #eta vs. #varphi;#varphi (rad.);#eta" , o2::framework::HistType::kTH2D , {{180 , 0 , 2 * M_PI }, {200 , -4 .f , -2 .f }}, false );
235- fRegistry .add (" MFTMCHMID/hDEtaDPhi" , " #Delta#eta vs. #Delta#varphi;#Delta#varphi (rad.);#Delta#eta" , o2::framework::HistType::kTH2D , {{90 , -M_PI / 4 , M_PI / 4 }, {100 , -0.5 , +0.5 }}, false );
236- fRegistry .add (" MFTMCHMID/hSign" , " sign;sign" , o2::framework::HistType::kTH1D , {{3 , -1.5 , +1.5 }}, false );
237- fRegistry .add (" MFTMCHMID/hNclusters" , " Nclusters;Nclusters" , o2::framework::HistType::kTH1D , {{21 , -0 .5f , 20.5 }}, false );
238- fRegistry .add (" MFTMCHMID/hNclustersMFT" , " NclustersMFT;Nclusters MFT" , o2::framework::HistType::kTH1D , {{11 , -0 .5f , 10.5 }}, false );
239- fRegistry .add (" MFTMCHMID/hRatAbsorberEnd" , " R at absorber end;R at absorber end (cm)" , o2::framework::HistType::kTH1D , {{200 , 0 , 100 }}, false );
240- fRegistry .add (" MFTMCHMID/hPDCA_Rabs" , " pDCA vs. Rabs;R at absorber end (cm);p #times DCA (GeV/c #upoint cm)" , o2::framework::HistType::kTH2D , {{200 , 0 , 100 }, {100 , 0 , 1000 }}, false );
241- fRegistry .add (" MFTMCHMID/hChi2_Pt" , " chi2;p_{T,#mu} (GeV/c);#chi^{2}/ndf" , o2::framework::HistType::kTH2D , {{200 , 0 , 10 }, {100 , 0 .0f , 10 }}, false );
242- fRegistry .add (" MFTMCHMID/hChi2MFT_Pt" , " chi2 MFT;p_{T,#mu} (GeV/c);#chi^{2} MFT/ndf" , o2::framework::HistType::kTH2D , {{200 , 0 , 10 }, {100 , 0 .0f , 10 }}, false );
243- fRegistry .add (" MFTMCHMID/hChi2MatchMCHMID_Pt" , " chi2 match MCH-MID;p_{T,#mu} (GeV/c);matching #chi^{2}/ndf between MCH-MID" , o2::framework::HistType::kTH2D , {{200 , 0 , 10 }, {200 , 0 .0f , 20 }}, false );
244- fRegistry .add (" MFTMCHMID/hChi2MatchMCHMFT_Pt" , " chi2 match MCH-MFT;p_{T,#mu} (GeV/c);matching #chi^{2}/ndf between MFT-MCH" , o2::framework::HistType::kTH2D , {{200 , 0 , 10 }, {100 , 0 .0f , 100 }}, false );
245- fRegistry .add (" MFTMCHMID/hDCAxy2D" , " DCA x vs. y;DCA_{x} (cm);DCA_{y} (cm)" , o2::framework::HistType::kTH2D , {{400 , -1 , 1 }, {400 , -1 , +1 }}, false );
246- fRegistry .add (" MFTMCHMID/hDCAxy2DinSigma" , " DCA x vs. y in sigma;DCA_{x} (#sigma);DCA_{y} (#sigma)" , o2::framework::HistType::kTH2D , {{200 , -10 , 10 }, {200 , -10 , +10 }}, false );
247- fRegistry .add (" MFTMCHMID/hDCAxy" , " DCAxy;DCA_{xy} (cm);" , o2::framework::HistType::kTH1D , {{100 , 0 , 1 }}, false );
248- fRegistry .add (" MFTMCHMID/hDCAxyinSigma" , " DCAxy in sigma;DCA_{xy} (#sigma);" , o2::framework::HistType::kTH1D , {{100 , 0 , 10 }}, false );
249- fRegistry .add (" MFTMCHMID/hLog10Chi2IP" , " chi2IP;log_{10}(#chi^{2}_{IP})" , o2::framework::HistType::kTH1D , {{1000 , -5 , 5 }}, false );
250- fRegistry .add (" MFTMCHMID/hDCAxResolutionvsPt" , " DCA_{x} resolution vs. p_{T};p_{T} (GeV/c);DCA_{x} resolution (#mum);" , o2::framework::HistType::kTH2D , {{100 , 0 , 10 .f }, {500 , 0 , 500 }}, false );
251- fRegistry .add (" MFTMCHMID/hDCAyResolutionvsPt" , " DCA_{y} resolution vs. p_{T};p_{T} (GeV/c);DCA_{y} resolution (#mum);" , o2::framework::HistType::kTH2D , {{100 , 0 , 10 .f }, {500 , 0 , 500 }}, false );
252- fRegistry .add (" MFTMCHMID/hDCAxyResolutionvsPt" , " DCA_{xy} resolution vs. p_{T};p_{T} (GeV/c);DCA_{xy} resolution (#mum);" , o2::framework::HistType::kTH2D , {{100 , 0 , 10 .f }, {500 , 0 , 500 }}, false );
253- fRegistry .add (" MFTMCHMID/hDCAx_PosZ" , " DCAx vs. posZ;Z_{vtx} (cm);DCA_{x} (cm)" , o2::framework::HistType::kTH2D , {{200 , -10 , +10 }, {400 , -0.2 , +0.2 }}, false );
254- fRegistry .add (" MFTMCHMID/hDCAy_PosZ" , " DCAy vs. posZ;Z_{vtx} (cm);DCA_{y} (cm)" , o2::framework::HistType::kTH2D , {{200 , -10 , +10 }, {400 , -0.2 , +0.2 }}, false );
255- fRegistry .add (" MFTMCHMID/hDCAx_Phi" , " DCAx vs. #varphi;#varphi (rad.);DCA_{x} (cm)" , o2::framework::HistType::kTH2D , {{180 , -M_PI , M_PI }, {400 , -0.2 , +0.2 }}, false );
256- fRegistry .add (" MFTMCHMID/hDCAy_Phi" , " DCAy vs. #varphi;#varphi (rad.);DCA_{y} (cm)" , o2::framework::HistType::kTH2D , {{180 , -M_PI , M_PI }, {400 , -0.2 , +0.2 }}, false );
232+ fRegistry .add (" MFTMCHMID/positive/hPt" , " pT;p_{T} (GeV/c)" , o2::framework::HistType::kTH1D , {{200 , 0 .0f , 10 }}, false );
233+ fRegistry .add (" MFTMCHMID/positive/hPtResolution" , " pT;p_{T} (GeV/c);#Deltap_{T}/p_{T}" , o2::framework::HistType::kTH2D , {{200 , 0 .0f , 10 }, {200 , 0 , 0.1 }}, false );
234+ fRegistry .add (" MFTMCHMID/positive/hEtaPhi" , " #eta vs. #varphi;#varphi (rad.);#eta" , o2::framework::HistType::kTH2D , {{180 , 0 , 2 * M_PI }, {200 , -4 .f , -2 .f }}, false );
235+ fRegistry .add (" MFTMCHMID/positive/hEtaPhi_MatchedMCHMID" , " #eta vs. #varphi;#varphi (rad.);#eta" , o2::framework::HistType::kTH2D , {{180 , 0 , 2 * M_PI }, {200 , -4 .f , -2 .f }}, false );
236+ fRegistry .add (" MFTMCHMID/positive/hDEtaDPhi" , " #Delta#eta vs. #Delta#varphi;#Delta#varphi (rad.);#Delta#eta" , o2::framework::HistType::kTH2D , {{90 , -M_PI / 4 , M_PI / 4 }, {100 , -0.5 , +0.5 }}, false );
237+ fRegistry .add (" MFTMCHMID/positive/hSign" , " sign;sign" , o2::framework::HistType::kTH1D , {{3 , -1.5 , +1.5 }}, false );
238+ fRegistry .add (" MFTMCHMID/positive/hNclusters" , " Nclusters;Nclusters" , o2::framework::HistType::kTH1D , {{21 , -0 .5f , 20.5 }}, false );
239+ fRegistry .add (" MFTMCHMID/positive/hNclustersMFT" , " NclustersMFT;Nclusters MFT" , o2::framework::HistType::kTH1D , {{11 , -0 .5f , 10.5 }}, false );
240+ fRegistry .add (" MFTMCHMID/positive/hRatAbsorberEnd" , " R at absorber end;R at absorber end (cm)" , o2::framework::HistType::kTH1D , {{200 , 0 , 100 }}, false );
241+ fRegistry .add (" MFTMCHMID/positive/hPDCA_Rabs" , " pDCA vs. Rabs;R at absorber end (cm);p #times DCA (GeV/c #upoint cm)" , o2::framework::HistType::kTH2D , {{200 , 0 , 100 }, {100 , 0 , 1000 }}, false );
242+ fRegistry .add (" MFTMCHMID/positive/hChi2_Pt" , " chi2;p_{T,#mu} (GeV/c);#chi^{2}/ndf" , o2::framework::HistType::kTH2D , {{200 , 0 , 10 }, {100 , 0 .0f , 10 }}, false );
243+ fRegistry .add (" MFTMCHMID/positive/hChi2MFT_Pt" , " chi2 MFT;p_{T,#mu} (GeV/c);#chi^{2} MFT/ndf" , o2::framework::HistType::kTH2D , {{200 , 0 , 10 }, {100 , 0 .0f , 10 }}, false );
244+ fRegistry .add (" MFTMCHMID/positive/hChi2MatchMCHMID_Pt" , " chi2 match MCH-MID;p_{T,#mu} (GeV/c);matching #chi^{2}/ndf between MCH-MID" , o2::framework::HistType::kTH2D , {{200 , 0 , 10 }, {200 , 0 .0f , 20 }}, false );
245+ fRegistry .add (" MFTMCHMID/positive/hChi2MatchMCHMFT_Pt" , " chi2 match MCH-MFT;p_{T,#mu} (GeV/c);matching #chi^{2}/ndf between MFT-MCH" , o2::framework::HistType::kTH2D , {{200 , 0 , 10 }, {100 , 0 .0f , 100 }}, false );
246+ fRegistry .add (" MFTMCHMID/positive/hDCAxy2D" , " DCA x vs. y;DCA_{x} (cm);DCA_{y} (cm)" , o2::framework::HistType::kTH2D , {{400 , -1 , 1 }, {400 , -1 , +1 }}, false );
247+ fRegistry .add (" MFTMCHMID/positive/hDCAxy2DinSigma" , " DCA x vs. y in sigma;DCA_{x} (#sigma);DCA_{y} (#sigma)" , o2::framework::HistType::kTH2D , {{200 , -10 , 10 }, {200 , -10 , +10 }}, false );
248+ fRegistry .add (" MFTMCHMID/positive/hDCAxy" , " DCAxy;DCA_{xy} (cm);" , o2::framework::HistType::kTH1D , {{100 , 0 , 1 }}, false );
249+ fRegistry .add (" MFTMCHMID/positive/hDCAxyinSigma" , " DCAxy in sigma;DCA_{xy} (#sigma);" , o2::framework::HistType::kTH1D , {{100 , 0 , 10 }}, false );
250+ fRegistry .add (" MFTMCHMID/positive/hLog10Chi2IP" , " chi2IP;log_{10}(#chi^{2}_{IP})" , o2::framework::HistType::kTH1D , {{1000 , -5 , 5 }}, false );
251+ fRegistry .add (" MFTMCHMID/positive/hDCAxResolutionvsPt" , " DCA_{x} resolution vs. p_{T};p_{T} (GeV/c);DCA_{x} resolution (#mum);" , o2::framework::HistType::kTH2D , {{100 , 0 , 10 .f }, {500 , 0 , 500 }}, false );
252+ fRegistry .add (" MFTMCHMID/positive/hDCAyResolutionvsPt" , " DCA_{y} resolution vs. p_{T};p_{T} (GeV/c);DCA_{y} resolution (#mum);" , o2::framework::HistType::kTH2D , {{100 , 0 , 10 .f }, {500 , 0 , 500 }}, false );
253+ fRegistry .add (" MFTMCHMID/positive/hDCAxyResolutionvsPt" , " DCA_{xy} resolution vs. p_{T};p_{T} (GeV/c);DCA_{xy} resolution (#mum);" , o2::framework::HistType::kTH2D , {{100 , 0 , 10 .f }, {500 , 0 , 500 }}, false );
254+ fRegistry .add (" MFTMCHMID/positive/hDCAx_PosZ" , " DCAx vs. posZ;Z_{vtx} (cm);DCA_{x} (cm)" , o2::framework::HistType::kTH2D , {{200 , -10 , +10 }, {400 , -0.2 , +0.2 }}, false );
255+ fRegistry .add (" MFTMCHMID/positive/hDCAy_PosZ" , " DCAy vs. posZ;Z_{vtx} (cm);DCA_{y} (cm)" , o2::framework::HistType::kTH2D , {{200 , -10 , +10 }, {400 , -0.2 , +0.2 }}, false );
256+ fRegistry .add (" MFTMCHMID/positive/hDCAx_Phi" , " DCAx vs. #varphi;#varphi (rad.);DCA_{x} (cm)" , o2::framework::HistType::kTH2D , {{180 , -M_PI , M_PI }, {400 , -0.2 , +0.2 }}, false );
257+ fRegistry .add (" MFTMCHMID/positive/hDCAy_Phi" , " DCAy vs. #varphi;#varphi (rad.);DCA_{y} (cm)" , o2::framework::HistType::kTH2D , {{180 , -M_PI , M_PI }, {400 , -0.2 , +0.2 }}, false );
258+ fRegistry .addClone (" MFTMCHMID/positive/" , " MFTMCHMID/negative/" );
257259
258260 const o2::framework::AxisSpec axisMll{{0.20, 0.21, 0.22, 0.23, 0.24, 0.25, 0.26, 0.27, 0.28, 0.29, 0.30, 0.31, 0.32, 0.33, 0.34, 0.35, 0.36, 0.37, 0.38, 0.39, 0.40, 0.41, 0.42, 0.43, 0.44, 0.45, 0.46, 0.47, 0.48, 0.49, 0.50, 0.51, 0.52, 0.53, 0.54, 0.55, 0.56, 0.57, 0.58, 0.59, 0.60, 0.61, 0.62, 0.63, 0.64, 0.65, 0.66, 0.67, 0.68, 0.69, 0.70, 0.71, 0.72, 0.73, 0.74, 0.75, 0.76, 0.77, 0.78, 0.79, 0.80, 0.81, 0.82, 0.83, 0.84, 0.85, 0.86, 0.87, 0.88, 0.89, 0.90, 0.91, 0.92, 0.93, 0.94, 0.95, 0.96, 0.97, 0.98, 0.99, 1.00, 1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07, 1.08, 1.09, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.20, 1.30, 1.40, 1.50, 1.60, 1.70, 1.80, 1.90, 2.00, 2.10, 2.20, 2.30, 2.40, 2.50, 2.60, 2.70, 2.75, 2.80, 2.85, 2.90, 2.95, 3.00, 3.05, 3.10, 3.15, 3.20, 3.25, 3.30, 3.35, 3.40, 3.45, 3.50, 3.55, 3.60, 3.65, 3.70, 3.75, 3.80, 3.85, 3.90, 3.95, 4.00, 4.50, 5.00, 5.50, 6.00, 6.50, 7.00, 7.50, 8.00, 8.1, 8.2, 8.3, 8.4, 8.50, 8.60, 8.70, 8.80, 8.90, 9.00, 9.10, 9.20, 9.30, 9.40, 9.50, 9.60, 9.70, 9.80, 9.90, 10.00, 10.10, 10.20, 10.30, 10.40, 10.50, 10.60, 10.70, 10.80, 10.90, 11.0, 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7, 11.8, 11.9, 12.0}, "m_{#mu#mu} (GeV/c^{2})"};
259261 const o2::framework::AxisSpec axisPtll{{0 , 0.1 , 0.2 , 0.3 , 0.4 , 0.5 , 0.6 , 0.7 , 0.8 , 0.9 , 1 , 1.1 , 1.2 , 1.3 , 1.4 , 1.5 , 1.6 , 1.7 , 1.8 , 1.9 , 2 , 2.5 , 3 , 3.5 , 4 , 4.5 , 5 , 6 , 7 , 8 , 9 , 10 }, " p_{T,#mu#mu} (GeV/c)" };
@@ -391,6 +393,7 @@ struct globalDimuonFilter {
391393 auto mfttrack = fwdtrack.template matchMFTTrack_as <TMFTTracks>(); // MFTsa
392394 float xMFT = mfttrack.x ();
393395 float yMFT = mfttrack.y ();
396+ float relPtResolution = 0 .f ;
394397
395398 if (mfttrack.nClusters () < glMuonCutGroup.minNclsMFT ) {
396399 return false ;
@@ -426,6 +429,7 @@ struct globalDimuonFilter {
426429 if (glMuonCutGroup.refitGlobalMuon ) {
427430 pt = propmuonAtPV_Matched.getP () * std::sin (2 .f * std::atan (std::exp (-eta)));
428431 }
432+ relPtResolution = std::sqrt (propmuonAtPV.getSigma2InvQPt ()) / std::fabs (propmuonAtPV.getInvQPt ());
429433
430434 float deta = etaMatchedMCHMID - eta;
431435 float dphi = phiMatchedMCHMID - phi;
@@ -485,31 +489,61 @@ struct globalDimuonFilter {
485489 float chi2IP = o2::aod::fwdtrackutils::getFwdChi2IP (fwdtrack, collision, mBz , mZShift );
486490
487491 if constexpr (fillHistograms) {
488- fRegistry .fill (HIST (" MFTMCHMID/hPt" ), pt);
489- fRegistry .fill (HIST (" MFTMCHMID/hEtaPhi" ), phi, eta);
490- fRegistry .fill (HIST (" MFTMCHMID/hEtaPhi_MatchedMCHMID" ), phiMatchedMCHMID, etaMatchedMCHMID);
491- fRegistry .fill (HIST (" MFTMCHMID/hDEtaDPhi" ), dphi, deta);
492- fRegistry .fill (HIST (" MFTMCHMID/hSign" ), fwdtrack.sign ());
493- fRegistry .fill (HIST (" MFTMCHMID/hNclusters" ), fwdtrack.nClusters ());
494- fRegistry .fill (HIST (" MFTMCHMID/hNclustersMFT" ), nClustersMFT);
495- fRegistry .fill (HIST (" MFTMCHMID/hPDCA_Rabs" ), rAtAbsorberEnd, pDCA);
496- fRegistry .fill (HIST (" MFTMCHMID/hRatAbsorberEnd" ), rAtAbsorberEnd);
497- fRegistry .fill (HIST (" MFTMCHMID/hChi2_Pt" ), pt, chi2);
498- fRegistry .fill (HIST (" MFTMCHMID/hChi2MFT_Pt" ), pt, chi2mft);
499- fRegistry .fill (HIST (" MFTMCHMID/hChi2MatchMCHMID_Pt" ), pt, fwdtrack.chi2MatchMCHMID ());
500- fRegistry .fill (HIST (" MFTMCHMID/hChi2MatchMCHMFT_Pt" ), pt, fwdtrack.chi2MatchMCHMFT ());
501- fRegistry .fill (HIST (" MFTMCHMID/hDCAxy2D" ), dcaX, dcaY);
502- fRegistry .fill (HIST (" MFTMCHMID/hDCAxy2DinSigma" ), dcaX / std::sqrt (cXX), dcaY / std::sqrt (cYY));
503- fRegistry .fill (HIST (" MFTMCHMID/hDCAxy" ), dcaXY);
504- fRegistry .fill (HIST (" MFTMCHMID/hDCAxyinSigma" ), dcaXYinSigma);
505- fRegistry .fill (HIST (" MFTMCHMID/hLog10Chi2IP" ), std::log10 (chi2IP));
506- fRegistry .fill (HIST (" MFTMCHMID/hDCAxResolutionvsPt" ), pt, std::sqrt (cXX) * 1e+4 ); // convert cm to um
507- fRegistry .fill (HIST (" MFTMCHMID/hDCAyResolutionvsPt" ), pt, std::sqrt (cYY) * 1e+4 ); // convert cm to um
508- fRegistry .fill (HIST (" MFTMCHMID/hDCAxyResolutionvsPt" ), pt, sigma_dcaXY * 1e+4 ); // convert cm to um
509- fRegistry .fill (HIST (" MFTMCHMID/hDCAx_PosZ" ), collision.posZ (), dcaX);
510- fRegistry .fill (HIST (" MFTMCHMID/hDCAy_PosZ" ), collision.posZ (), dcaY);
511- fRegistry .fill (HIST (" MFTMCHMID/hDCAx_Phi" ), std::atan2 (yMFT, xMFT), dcaX);
512- fRegistry .fill (HIST (" MFTMCHMID/hDCAy_Phi" ), std::atan2 (yMFT, xMFT), dcaY);
492+ if (fwdtrack.sign () > 0 ) {
493+ fRegistry .fill (HIST (" MFTMCHMID/positive/hPt" ), pt);
494+ fRegistry .fill (HIST (" MFTMCHMID/positive/hPtResolution" ), pt, relPtResolution);
495+ fRegistry .fill (HIST (" MFTMCHMID/positive/hEtaPhi" ), phi, eta);
496+ fRegistry .fill (HIST (" MFTMCHMID/positive/hEtaPhi_MatchedMCHMID" ), phiMatchedMCHMID, etaMatchedMCHMID);
497+ fRegistry .fill (HIST (" MFTMCHMID/positive/hDEtaDPhi" ), dphi, deta);
498+ fRegistry .fill (HIST (" MFTMCHMID/positive/hSign" ), fwdtrack.sign ());
499+ fRegistry .fill (HIST (" MFTMCHMID/positive/hNclusters" ), fwdtrack.nClusters ());
500+ fRegistry .fill (HIST (" MFTMCHMID/positive/hNclustersMFT" ), nClustersMFT);
501+ fRegistry .fill (HIST (" MFTMCHMID/positive/hPDCA_Rabs" ), rAtAbsorberEnd, pDCA);
502+ fRegistry .fill (HIST (" MFTMCHMID/positive/hRatAbsorberEnd" ), rAtAbsorberEnd);
503+ fRegistry .fill (HIST (" MFTMCHMID/positive/hChi2_Pt" ), pt, chi2);
504+ fRegistry .fill (HIST (" MFTMCHMID/positive/hChi2MFT_Pt" ), pt, chi2mft);
505+ fRegistry .fill (HIST (" MFTMCHMID/positive/hChi2MatchMCHMID_Pt" ), pt, fwdtrack.chi2MatchMCHMID ());
506+ fRegistry .fill (HIST (" MFTMCHMID/positive/hChi2MatchMCHMFT_Pt" ), pt, fwdtrack.chi2MatchMCHMFT ());
507+ fRegistry .fill (HIST (" MFTMCHMID/positive/hDCAxy2D" ), dcaX, dcaY);
508+ fRegistry .fill (HIST (" MFTMCHMID/positive/hDCAxy2DinSigma" ), dcaX / std::sqrt (cXX), dcaY / std::sqrt (cYY));
509+ fRegistry .fill (HIST (" MFTMCHMID/positive/hDCAxy" ), dcaXY);
510+ fRegistry .fill (HIST (" MFTMCHMID/positive/hDCAxyinSigma" ), dcaXYinSigma);
511+ fRegistry .fill (HIST (" MFTMCHMID/positive/hLog10Chi2IP" ), std::log10 (chi2IP));
512+ fRegistry .fill (HIST (" MFTMCHMID/positive/hDCAxResolutionvsPt" ), pt, std::sqrt (cXX) * 1e+4 ); // convert cm to um
513+ fRegistry .fill (HIST (" MFTMCHMID/positive/hDCAyResolutionvsPt" ), pt, std::sqrt (cYY) * 1e+4 ); // convert cm to um
514+ fRegistry .fill (HIST (" MFTMCHMID/positive/hDCAxyResolutionvsPt" ), pt, sigma_dcaXY * 1e+4 ); // convert cm to um
515+ fRegistry .fill (HIST (" MFTMCHMID/positive/hDCAx_PosZ" ), collision.posZ (), dcaX);
516+ fRegistry .fill (HIST (" MFTMCHMID/positive/hDCAy_PosZ" ), collision.posZ (), dcaY);
517+ fRegistry .fill (HIST (" MFTMCHMID/positive/hDCAx_Phi" ), std::atan2 (yMFT, xMFT), dcaX);
518+ fRegistry .fill (HIST (" MFTMCHMID/positive/hDCAy_Phi" ), std::atan2 (yMFT, xMFT), dcaY);
519+ } else {
520+ fRegistry .fill (HIST (" MFTMCHMID/negative/hPt" ), pt);
521+ fRegistry .fill (HIST (" MFTMCHMID/negative/hPtResolution" ), pt, relPtResolution);
522+ fRegistry .fill (HIST (" MFTMCHMID/negative/hEtaPhi" ), phi, eta);
523+ fRegistry .fill (HIST (" MFTMCHMID/negative/hEtaPhi_MatchedMCHMID" ), phiMatchedMCHMID, etaMatchedMCHMID);
524+ fRegistry .fill (HIST (" MFTMCHMID/negative/hDEtaDPhi" ), dphi, deta);
525+ fRegistry .fill (HIST (" MFTMCHMID/negative/hSign" ), fwdtrack.sign ());
526+ fRegistry .fill (HIST (" MFTMCHMID/negative/hNclusters" ), fwdtrack.nClusters ());
527+ fRegistry .fill (HIST (" MFTMCHMID/negative/hNclustersMFT" ), nClustersMFT);
528+ fRegistry .fill (HIST (" MFTMCHMID/negative/hPDCA_Rabs" ), rAtAbsorberEnd, pDCA);
529+ fRegistry .fill (HIST (" MFTMCHMID/negative/hRatAbsorberEnd" ), rAtAbsorberEnd);
530+ fRegistry .fill (HIST (" MFTMCHMID/negative/hChi2_Pt" ), pt, chi2);
531+ fRegistry .fill (HIST (" MFTMCHMID/negative/hChi2MFT_Pt" ), pt, chi2mft);
532+ fRegistry .fill (HIST (" MFTMCHMID/negative/hChi2MatchMCHMID_Pt" ), pt, fwdtrack.chi2MatchMCHMID ());
533+ fRegistry .fill (HIST (" MFTMCHMID/negative/hChi2MatchMCHMFT_Pt" ), pt, fwdtrack.chi2MatchMCHMFT ());
534+ fRegistry .fill (HIST (" MFTMCHMID/negative/hDCAxy2D" ), dcaX, dcaY);
535+ fRegistry .fill (HIST (" MFTMCHMID/negative/hDCAxy2DinSigma" ), dcaX / std::sqrt (cXX), dcaY / std::sqrt (cYY));
536+ fRegistry .fill (HIST (" MFTMCHMID/negative/hDCAxy" ), dcaXY);
537+ fRegistry .fill (HIST (" MFTMCHMID/negative/hDCAxyinSigma" ), dcaXYinSigma);
538+ fRegistry .fill (HIST (" MFTMCHMID/negative/hLog10Chi2IP" ), std::log10 (chi2IP));
539+ fRegistry .fill (HIST (" MFTMCHMID/negative/hDCAxResolutionvsPt" ), pt, std::sqrt (cXX) * 1e+4 ); // convert cm to um
540+ fRegistry .fill (HIST (" MFTMCHMID/negative/hDCAyResolutionvsPt" ), pt, std::sqrt (cYY) * 1e+4 ); // convert cm to um
541+ fRegistry .fill (HIST (" MFTMCHMID/negative/hDCAxyResolutionvsPt" ), pt, sigma_dcaXY * 1e+4 ); // convert cm to um
542+ fRegistry .fill (HIST (" MFTMCHMID/negative/hDCAx_PosZ" ), collision.posZ (), dcaX);
543+ fRegistry .fill (HIST (" MFTMCHMID/negative/hDCAy_PosZ" ), collision.posZ (), dcaY);
544+ fRegistry .fill (HIST (" MFTMCHMID/negative/hDCAx_Phi" ), std::atan2 (yMFT, xMFT), dcaX);
545+ fRegistry .fill (HIST (" MFTMCHMID/negative/hDCAy_Phi" ), std::atan2 (yMFT, xMFT), dcaY);
546+ }
513547 }
514548
515549 return true ;
0 commit comments