@@ -85,7 +85,7 @@ struct skimmerPrimaryMuon {
8585 Configurable<float > maxPDCAforSmallR{" maxPDCAforSmallR" , 594 .f , " max. pDCA for small R at absorber end" };
8686 Configurable<float > maxMatchingChi2MCHMFT{" maxMatchingChi2MCHMFT" , 50 .f , " max. chi2 for MCH-MFT matching" };
8787 Configurable<float > maxChi2SA{" maxChi2SA" , 1e+6 , " max. chi2 for standalone muon" };
88- Configurable<float > maxChi2GL{" maxChi2GL" , 50 . f , " max. chi2 for global muon" };
88+ Configurable<float > maxChi2GL{" maxChi2GL" , 1e+6 , " max. chi2 for global muon" };
8989 Configurable<bool > refitGlobalMuon{" refitGlobalMuon" , true , " flag to refit global muon" };
9090
9191 o2::ccdb::CcdbApi ccdbApi;
@@ -147,11 +147,10 @@ struct skimmerPrimaryMuon {
147147 fRegistry .add (" MFTMCHMID/hNclustersMFT" , " NclustersMFT;Nclusters MFT" , kTH1F , {{11 , -0 .5f , 10.5 }}, false );
148148 fRegistry .add (" MFTMCHMID/hRatAbsorberEnd" , " R at absorber end;R at absorber end (cm)" , kTH1F , {{100 , 0 .0f , 100 }}, false );
149149 fRegistry .add (" MFTMCHMID/hPDCA_Rabs" , " pDCA vs. Rabs;R at absorber end (cm);p #times DCA (GeV/c #upoint cm)" , kTH2F , {{100 , 0 , 100 }, {100 , 0 .0f , 1000 }}, false );
150- fRegistry .add (" MFTMCHMID/hChi2" , " chi2;chi2" , kTH1F , {{100 , 0 .0f , 100 }}, false );
151- fRegistry .add (" MFTMCHMID/hChi2MFT" , " chi2 MFT;chi2 MFT/ndf" , kTH1F , {{100 , 0 .0f , 100 }}, false );
152- fRegistry .add (" MFTMCHMID/hChi2MatchMCHMID" , " chi2 match MCH-MID;chi2" , kTH1F , {{100 , 0 .0f , 10 }}, false );
153- fRegistry .add (" MFTMCHMID/hChi2MatchMCHMFT" , " chi2 match MCH-MFT;chi2/ndf" , kTH1F , {{100 , 0 .0f , 10 }}, false );
154- fRegistry .add (" MFTMCHMID/hMatchScoreMCHMFT" , " match score MCH-MFT;score" , kTH1F , {{100 , 0 .0f , 100 }}, false );
150+ fRegistry .add (" MFTMCHMID/hChi2" , " chi2;chi2/ndf" , kTH1F , {{100 , 0 .0f , 10 }}, false );
151+ fRegistry .add (" MFTMCHMID/hChi2MFT" , " chi2 MFT;chi2 MFT/ndf" , kTH1F , {{100 , 0 .0f , 10 }}, false );
152+ fRegistry .add (" MFTMCHMID/hChi2MatchMCHMID" , " chi2 match MCH-MID;chi2" , kTH1F , {{100 , 0 .0f , 100 }}, false );
153+ fRegistry .add (" MFTMCHMID/hChi2MatchMCHMFT" , " chi2 match MCH-MFT;chi2" , kTH1F , {{100 , 0 .0f , 100 }}, false );
155154 fRegistry .add (" MFTMCHMID/hDCAxy2D" , " DCA x vs. y;DCA_{x} (cm);DCA_{y} (cm)" , kTH2F , {{200 , -1 , 1 }, {200 , -1 , +1 }}, false );
156155 fRegistry .add (" MFTMCHMID/hDCAxy2DinSigma" , " DCA x vs. y in sigma;DCA_{x} (#sigma);DCA_{y} (#sigma)" , kTH2F , {{200 , -10 , 10 }, {200 , -10 , +10 }}, false );
157156 fRegistry .add (" MFTMCHMID/hDCAxy" , " DCAxy;DCA_{xy} (cm);" , kTH1F , {{100 , 0 , 1 }}, false );
@@ -207,7 +206,7 @@ struct skimmerPrimaryMuon {
207206 template <typename TCollision, typename TFwdTrack, typename TFwdTracks, typename TMFTTracks>
208207 void fillFwdTrackTable (TCollision const & collision, TFwdTrack fwdtrack, TFwdTracks const &, TMFTTracks const &, const bool isAmbiguous)
209208 {
210- if (fwdtrack.trackType () == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack && fwdtrack.chi2 () > maxChi2GL ) {
209+ if (fwdtrack.trackType () == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack && fwdtrack.chi2MatchMCHMFT () > maxMatchingChi2MCHMFT ) {
211210 return ;
212211 } // Users have to decide the best match between MFT and MCH-MID at analysis level. The same global muon is repeatedly stored.
213212
@@ -274,10 +273,6 @@ struct skimmerPrimaryMuon {
274273 chi2mft = mfttrack.chi2 () / (2 .f * nClustersMFT - 5 .f );
275274 ndf_mchmft = 2 .f * (mchtrack.nClusters () + nClustersMFT) - 5 .f ;
276275
277- if (fwdtrack.chi2MatchMCHMFT () / ndf_mchmft > maxMatchingChi2MCHMFT) {
278- return ;
279- }
280-
281276 if (refitGlobalMuon) {
282277 eta = mfttrack.eta ();
283278 phi = mfttrack.phi ();
@@ -346,11 +341,10 @@ struct skimmerPrimaryMuon {
346341 fRegistry .fill (HIST (" MFTMCHMID/hNclustersMFT" ), nClustersMFT);
347342 fRegistry .fill (HIST (" MFTMCHMID/hPDCA_Rabs" ), rAtAbsorberEnd, pDCA);
348343 fRegistry .fill (HIST (" MFTMCHMID/hRatAbsorberEnd" ), rAtAbsorberEnd);
349- fRegistry .fill (HIST (" MFTMCHMID/hChi2" ), fwdtrack.chi2 ());
344+ fRegistry .fill (HIST (" MFTMCHMID/hChi2" ), fwdtrack.chi2 () / ndf_mchmft );
350345 fRegistry .fill (HIST (" MFTMCHMID/hChi2MFT" ), chi2mft);
351346 fRegistry .fill (HIST (" MFTMCHMID/hChi2MatchMCHMID" ), fwdtrack.chi2MatchMCHMID ());
352- fRegistry .fill (HIST (" MFTMCHMID/hChi2MatchMCHMFT" ), fwdtrack.chi2MatchMCHMFT () / ndf_mchmft);
353- fRegistry .fill (HIST (" MFTMCHMID/hMatchScoreMCHMFT" ), fwdtrack.matchScoreMCHMFT ());
347+ fRegistry .fill (HIST (" MFTMCHMID/hChi2MatchMCHMFT" ), fwdtrack.chi2MatchMCHMFT ());
354348 fRegistry .fill (HIST (" MFTMCHMID/hDCAxy2D" ), dcaX, dcaY);
355349 fRegistry .fill (HIST (" MFTMCHMID/hDCAxy2DinSigma" ), dcaX / std::sqrt (cXXatDCA), dcaY / std::sqrt (cYYatDCA));
356350 fRegistry .fill (HIST (" MFTMCHMID/hDCAxy" ), dcaXY);
@@ -373,8 +367,7 @@ struct skimmerPrimaryMuon {
373367 fRegistry .fill (HIST (" MCHMID/hChi2" ), fwdtrack.chi2 ());
374368 fRegistry .fill (HIST (" MCHMID/hChi2MFT" ), chi2mft);
375369 fRegistry .fill (HIST (" MCHMID/hChi2MatchMCHMID" ), fwdtrack.chi2MatchMCHMID ());
376- fRegistry .fill (HIST (" MCHMID/hChi2MatchMCHMFT" ), 0 .f );
377- fRegistry .fill (HIST (" MCHMID/hMatchScoreMCHMFT" ), 0 .f );
370+ fRegistry .fill (HIST (" MCHMID/hChi2MatchMCHMFT" ), fwdtrack.chi2MatchMCHMFT ());
378371 fRegistry .fill (HIST (" MCHMID/hDCAxy2D" ), dcaX, dcaY);
379372 fRegistry .fill (HIST (" MCHMID/hDCAxy2DinSigma" ), dcaX / std::sqrt (cXXatDCA), dcaY / std::sqrt (cYYatDCA));
380373 fRegistry .fill (HIST (" MCHMID/hDCAxy" ), dcaXY);
0 commit comments