@@ -179,15 +179,15 @@ struct SingleTrackQC {
179179 std::string prefix = " dimuoncut_group" ;
180180
181181 Configurable<uint> cfg_track_type{" cfg_track_type" , 3 , " muon track type [0: MFT-MCH-MID, 3: MCH-MID]" };
182- Configurable<float > cfg_min_pt_track{" cfg_min_pt_track" , 0.1 , " min pT for single track" };
182+ Configurable<float > cfg_min_pt_track{" cfg_min_pt_track" , 0.2 , " min pT for single track" };
183183 Configurable<float > cfg_min_eta_track{" cfg_min_eta_track" , -4.0 , " min eta for single track" };
184184 Configurable<float > cfg_max_eta_track{" cfg_max_eta_track" , -2.5 , " max eta for single track" };
185185 Configurable<float > cfg_min_phi_track{" cfg_min_phi_track" , 0 .f , " max phi for single track" };
186186 Configurable<float > cfg_max_phi_track{" cfg_max_phi_track" , 6.3 , " max phi for single track" };
187187 Configurable<int > cfg_min_ncluster_mft{" cfg_min_ncluster_mft" , 5 , " min ncluster MFT" };
188188 Configurable<int > cfg_min_ncluster_mch{" cfg_min_ncluster_mch" , 5 , " min ncluster MCH" };
189- Configurable<float > cfg_max_chi2{" cfg_max_chi2" , 1e+10 , " max chi2" };
190- Configurable<float > cfg_max_matching_chi2_mftmch{" cfg_max_matching_chi2_mftmch" , 1e+10 , " max chi2 for MFT-MCH matching" };
189+ Configurable<float > cfg_max_chi2{" cfg_max_chi2" , 1e+6 , " max chi2" };
190+ Configurable<float > cfg_max_matching_chi2_mftmch{" cfg_max_matching_chi2_mftmch" , 40 , " max chi2 for MFT-MCH matching" };
191191 Configurable<float > cfg_max_matching_chi2_mchmid{" cfg_max_matching_chi2_mchmid" , 1e+10 , " max chi2 for MCH-MID matching" };
192192 Configurable<float > cfg_max_dcaxy{" cfg_max_dcaxy" , 1e+10 , " max dca XY for single track in cm" };
193193 Configurable<float > cfg_min_rabs{" cfg_min_rabs" , 17.6 , " min Radius at the absorber end" };
@@ -265,21 +265,22 @@ struct SingleTrackQC {
265265 fRegistry .addClone (" Track/positive/" , " Track/negative/" );
266266 } else if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDimuon ) {
267267 const AxisSpec axis_pt{ConfPtlBins, " p_{T,#mu} (GeV/c)" };
268- const AxisSpec axis_eta{25 , -4. 5 , -2.0 , " #eta_{#mu}" };
269- const AxisSpec axis_phi{36 , 0. 0 , 2 * M_PI, " #varphi_{#mu} (rad.)" };
268+ const AxisSpec axis_eta{40 , -5 , -1 , " #eta_{#mu}" };
269+ const AxisSpec axis_phi{90 , 0 , 2 * M_PI, " #varphi_{#mu} (rad.)" };
270270 const AxisSpec axis_dca{ConfDCABins, " DCA_{#mu}^{XY} (#sigma)" };
271271
272272 // track info
273273 fRegistry .add (" Track/positive/hs" , " rec. single muon" , kTHnSparseD , {axis_pt, axis_eta, axis_phi, axis_dca}, true );
274+ fRegistry .add (" Track/positive/hEtaPhi_MatchMCHMID" , " #eta vs. #varphi of matched MCHMID" , kTH2F , {axis_phi, axis_eta}, false );
274275 fRegistry .add (" Track/positive/hQoverPt" , " q/pT;q/p_{T} (GeV/c)^{-1}" , kTH1F , {{400 , -20 , 20 }}, false );
275276 fRegistry .add (" Track/positive/hTrackType" , " track type" , kTH1F , {{6 , -0 .5f , 5.5 }}, false );
276- fRegistry .add (" Track/positive/hDCAxy" , " DCA x vs. y;DCA_{x} (cm);DCA_{y} (cm)" , kTH2F , {{200 , -1 . 0f , 1 . 0f }, {200 , -1 . 0f , 1 . 0f }}, false );
277+ fRegistry .add (" Track/positive/hDCAxy" , " DCA x vs. y;DCA_{x} (cm);DCA_{y} (cm)" , kTH2F , {{200 , -0 . 1f , 0 . 1f }, {200 , -0 . 1f , 0 . 1f }}, false );
277278 fRegistry .add (" Track/positive/hDCAxySigma" , " DCA x vs. y;DCA_{x} (#sigma);DCA_{y} (#sigma)" , kTH2F , {{200 , -10 .0f , 10 .0f }, {200 , -10 .0f , 10 .0f }}, false );
278- fRegistry .add (" Track/positive/hDCAxRes_Pt" , " DCA_{x} resolution vs. pT;p_{T} (GeV/c);DCA_{x} resolution (#mum)" , kTH2F , {{200 , 0 , 10 }, {200 , 0 ., 400 }}, false );
279- fRegistry .add (" Track/positive/hDCAyRes_Pt" , " DCA_{y} resolution vs. pT;p_{T} (GeV/c);DCA_{y} resolution (#mum)" , kTH2F , {{200 , 0 , 10 }, {200 , 0 ., 400 }}, false );
279+ fRegistry .add (" Track/positive/hDCAxRes_Pt" , " DCA_{x} resolution vs. pT;p_{T} (GeV/c);DCA_{x} resolution (#mum)" , kTH2F , {{100 , 0 , 10 }, {100 , 0 , 100 }}, false );
280+ fRegistry .add (" Track/positive/hDCAyRes_Pt" , " DCA_{y} resolution vs. pT;p_{T} (GeV/c);DCA_{y} resolution (#mum)" , kTH2F , {{100 , 0 , 10 }, {100 , 0 , 100 }}, false );
280281 fRegistry .add (" Track/positive/hNclsMCH" , " number of MCH clusters" , kTH1F , {{21 , -0.5 , 20.5 }}, false );
281282 fRegistry .add (" Track/positive/hNclsMFT" , " number of MFT clusters" , kTH1F , {{11 , -0.5 , 10.5 }}, false );
282- fRegistry .add (" Track/positive/hPDCA" , " pDCA;p_{T} at PV (GeV/c );p #times DCA (GeV/c #upoint cm)" , kTH2F , {{100 , 0 , 10 }, {100 , 0 .0f , 1000 }}, false );
283+ fRegistry .add (" Track/positive/hPDCA" , " pDCA;r at absorber end (cm );p #times DCA (GeV/c #upoint cm)" , kTH2F , {{100 , 0 , 100 }, {100 , 0 .0f , 1000 }}, false );
283284 fRegistry .add (" Track/positive/hChi2" , " chi2;chi2" , kTH1F , {{100 , 0 .0f , 100 }}, false );
284285 fRegistry .add (" Track/positive/hChi2MatchMCHMID" , " chi2 match MCH-MID;chi2" , kTH1F , {{100 , 0 .0f , 100 }}, false );
285286 fRegistry .add (" Track/positive/hChi2MatchMCHMFT" , " chi2 match MCH-MFT;chi2" , kTH1F , {{100 , 0 .0f , 100 }}, false );
@@ -536,30 +537,32 @@ struct SingleTrackQC {
536537 float dca_xy = fwdDcaXYinSigma (track);
537538 if (track.sign () > 0 ) {
538539 fRegistry .fill (HIST (" Track/positive/hs" ), track.pt (), track.eta (), track.phi (), dca_xy, weight);
540+ fRegistry .fill (HIST (" Track/positive/hEtaPhi_MatchMCHMID" ), track.phiMatchedMCHMID (), track.etaMatchedMCHMID (), weight);
539541 fRegistry .fill (HIST (" Track/positive/hQoverPt" ), track.sign () / track.pt ());
540542 fRegistry .fill (HIST (" Track/positive/hTrackType" ), track.trackType ());
541543 fRegistry .fill (HIST (" Track/positive/hDCAxy" ), track.fwdDcaX (), track.fwdDcaY ());
542- fRegistry .fill (HIST (" Track/positive/hDCAxySigma" ), track.fwdDcaX () / std::sqrt (track.cXX ()), track.fwdDcaY () / std::sqrt (track.cYY ()));
543- fRegistry .fill (HIST (" Track/positive/hDCAxRes_Pt" ), track.pt (), std::sqrt (track.cXX ()) * 1e+4 );
544- fRegistry .fill (HIST (" Track/positive/hDCAyRes_Pt" ), track.pt (), std::sqrt (track.cYY ()) * 1e+4 );
544+ fRegistry .fill (HIST (" Track/positive/hDCAxySigma" ), track.fwdDcaX () / std::sqrt (track.cXXatDCA ()), track.fwdDcaY () / std::sqrt (track.cYYatDCA ()));
545+ fRegistry .fill (HIST (" Track/positive/hDCAxRes_Pt" ), track.pt (), std::sqrt (track.cXXatDCA ()) * 1e+4 );
546+ fRegistry .fill (HIST (" Track/positive/hDCAyRes_Pt" ), track.pt (), std::sqrt (track.cYYatDCA ()) * 1e+4 );
545547 fRegistry .fill (HIST (" Track/positive/hNclsMCH" ), track.nClusters ());
546548 fRegistry .fill (HIST (" Track/positive/hNclsMFT" ), track.nClustersMFT ());
547- fRegistry .fill (HIST (" Track/positive/hPDCA" ), track.pt (), track.pDca ());
549+ fRegistry .fill (HIST (" Track/positive/hPDCA" ), track.rAtAbsorberEnd (), track.pDca ());
548550 fRegistry .fill (HIST (" Track/positive/hChi2" ), track.chi2 ());
549551 fRegistry .fill (HIST (" Track/positive/hChi2MatchMCHMID" ), track.chi2MatchMCHMID ());
550552 fRegistry .fill (HIST (" Track/positive/hChi2MatchMCHMFT" ), track.chi2MatchMCHMFT ());
551553 fRegistry .fill (HIST (" Track/positive/hMFTClusterMap" ), track.mftClusterMap ());
552554 } else {
553555 fRegistry .fill (HIST (" Track/negative/hs" ), track.pt (), track.eta (), track.phi (), dca_xy, weight);
556+ fRegistry .fill (HIST (" Track/negative/hEtaPhi_MatchMCHMID" ), track.phiMatchedMCHMID (), track.etaMatchedMCHMID (), weight);
554557 fRegistry .fill (HIST (" Track/negative/hQoverPt" ), track.sign () / track.pt ());
555558 fRegistry .fill (HIST (" Track/negative/hTrackType" ), track.trackType ());
556559 fRegistry .fill (HIST (" Track/negative/hDCAxy" ), track.fwdDcaX (), track.fwdDcaY ());
557- fRegistry .fill (HIST (" Track/negative/hDCAxySigma" ), track.fwdDcaX () / std::sqrt (track.cXX ()), track.fwdDcaY () / std::sqrt (track.cYY ()));
558- fRegistry .fill (HIST (" Track/negative/hDCAxRes_Pt" ), track.pt (), std::sqrt (track.cXX ()) * 1e+4 );
559- fRegistry .fill (HIST (" Track/negative/hDCAyRes_Pt" ), track.pt (), std::sqrt (track.cYY ()) * 1e+4 );
560+ fRegistry .fill (HIST (" Track/negative/hDCAxySigma" ), track.fwdDcaX () / std::sqrt (track.cXXatDCA ()), track.fwdDcaY () / std::sqrt (track.cYYatDCA ()));
561+ fRegistry .fill (HIST (" Track/negative/hDCAxRes_Pt" ), track.pt (), std::sqrt (track.cXXatDCA ()) * 1e+4 );
562+ fRegistry .fill (HIST (" Track/negative/hDCAyRes_Pt" ), track.pt (), std::sqrt (track.cYYatDCA ()) * 1e+4 );
560563 fRegistry .fill (HIST (" Track/negative/hNclsMCH" ), track.nClusters ());
561564 fRegistry .fill (HIST (" Track/negative/hNclsMFT" ), track.nClustersMFT ());
562- fRegistry .fill (HIST (" Track/negative/hPDCA" ), track.pt (), track.pDca ());
565+ fRegistry .fill (HIST (" Track/negative/hPDCA" ), track.rAtAbsorberEnd (), track.pDca ());
563566 fRegistry .fill (HIST (" Track/negative/hChi2" ), track.chi2 ());
564567 fRegistry .fill (HIST (" Track/negative/hChi2MatchMCHMID" ), track.chi2MatchMCHMID ());
565568 fRegistry .fill (HIST (" Track/negative/hChi2MatchMCHMFT" ), track.chi2MatchMCHMFT ());
@@ -700,7 +703,7 @@ struct SingleTrackQC {
700703 Filter ttcaFilter_electron = ifnode(dielectroncuts.enableTTCA.node(), o2::aod::emprimaryelectron::isAssociatedToMPC == true || o2::aod::emprimaryelectron::isAssociatedToMPC == false , o2::aod::emprimaryelectron::isAssociatedToMPC == true );
701704
702705 Preslice<MyMuons> perCollision_muon = aod::emprimarymuon::emeventId;
703- Filter trackFilter_muon = o2::aod::fwdtrack::trackType == dimuoncuts.cfg_track_type && dimuoncuts.cfg_min_pt_track < o2::aod::fwdtrack::pt && dimuoncuts.cfg_min_eta_track < o2::aod::fwdtrack::eta && o2::aod::fwdtrack::eta < dimuoncuts.cfg_max_eta_track && dimuoncuts.cfg_min_phi_track < o2::aod::fwdtrack::phi && o2::aod::fwdtrack::phi < dimuoncuts.cfg_max_phi_track;
706+ Filter trackFilter_muon = o2::aod::fwdtrack::trackType == static_cast < uint8_t >( dimuoncuts.cfg_track_type) && dimuoncuts.cfg_min_pt_track < o2::aod::fwdtrack::pt && dimuoncuts.cfg_min_eta_track < o2::aod::fwdtrack::eta && o2::aod::fwdtrack::eta < dimuoncuts.cfg_max_eta_track && dimuoncuts.cfg_min_phi_track < o2::aod::fwdtrack::phi && o2::aod::fwdtrack::phi < dimuoncuts.cfg_max_phi_track;
704707 Filter ttcaFilter_muon = ifnode(dimuoncuts.enableTTCA.node(), o2::aod::emprimarymuon::isAssociatedToMPC == true || o2::aod::emprimarymuon::isAssociatedToMPC == false , o2::aod::emprimarymuon::isAssociatedToMPC == true );
705708
706709 Filter collisionFilter_centrality = (cfgCentMin < o2::aod::cent::centFT0M && o2::aod::cent::centFT0M < cfgCentMax) || (cfgCentMin < o2::aod::cent::centFT0A && o2::aod::cent::centFT0A < cfgCentMax) || (cfgCentMin < o2::aod::cent::centFT0C && o2::aod::cent::centFT0C < cfgCentMax);
0 commit comments