@@ -71,6 +71,7 @@ struct HfTaskSingleMuonMult {
7171 Configurable<float > rAbsorbMin{" rAbsorbMin" , 17.6 , " R at absorber end minimum value" };
7272 Configurable<float > rAbsorbMax{" rAbsorbMax" , 89.5 , " R at absorber end maximum value" };
7373 Configurable<float > rAbsorbMid{" rAbsorbMid" , 26.5 , " R at absorber end split point for different p*DCA selections" };
74+ Configurable<float > chi2Max{" chi2Max" , 1e6f, " MCH-MFT matching chi2 maximum value" };
7475 Configurable<bool > reduceOrphMft{" reduceOrphMft" , true , " reduce orphan MFT tracks" };
7576
7677 using MyCollisions = soa::Join<aod::Collisions, aod::EvSels, aod::Mults, aod::CentFT0Ms>;
@@ -95,7 +96,7 @@ struct HfTaskSingleMuonMult {
9596 AxisSpec const axisNCh{500 , 0.5 , 500.5 , " #it{N}_{ch}" };
9697 AxisSpec const axisNMu{20 , -0.5 , 19.5 , " #it{N}_{#mu}" };
9798 AxisSpec const axisPt{1000 , 0 ., 500 ., " #it{p}_{T} (GeV/#it{c})" };
98- AxisSpec const axisEta{250 , -5 ., 5 ., " #it{#eta}" };
99+ AxisSpec const axisEta{1000 , -5 ., 5 ., " #it{#eta}" };
99100 AxisSpec const axisTheta{500 , 170 ., 180 ., " #it{#theta}" };
100101 AxisSpec const axisRAbsorb{1000 , 0 ., 100 ., " #it{R}_{Absorb} (cm)" };
101102 AxisSpec const axisDCA{500 , 0 ., 5 ., " #it{DCA}_{xy} (cm)" };
@@ -118,13 +119,13 @@ struct HfTaskSingleMuonMult {
118119 registry.add (" hMuBeforeMatchMFT" , " Muon information before any Kinemeatic cuts applied" , {HistType::kTHnSparseF , {axisCent, axisNCh, axisPt, axisEta, axisTheta, axisRAbsorb, axisDCA, axisPDca, axisChi2MatchMCHMFT, axisTrackType}, 10 });
119120 registry.add (" hMuBeforeAccCuts" , " Muon information before applying Acceptance cuts" , {HistType::kTHnSparseF , {axisCent, axisNCh, axisPt, axisEta, axisTheta, axisRAbsorb, axisDCA, axisPDca, axisChi2MatchMCHMFT, axisTrackType}, 10 });
120121 registry.add (" h3DCABeforeAccCuts" , " DCAx,DCAy,DCAz information before Acceptance cuts" , {HistType::kTH3F , {axisDCAx, axisDCAx, axisTrackType}});
121- registry.add (" hMuDeltaPtBeforeAccCuts" , " Muon information with DeltaPt before applying Acceptance cuts" , {HistType::kTHnSparseF , {axisCent, axisNCh, axisPt, axisEta, axisTheta, axisRAbsorb, axisDCA , axisPDca, axisChi2MatchMCHMFT, axisDeltaPt }, 10 });
122+ registry.add (" hMuDeltaPtBeforeAccCuts" , " Muon information with DeltaPt before applying Acceptance cuts" , {HistType::kTHnSparseF , {axisCent, axisNCh, axisPt, axisEta, axisTheta, axisRAbsorb, axisDeltaPt , axisPDca, axisChi2MatchMCHMFT, axisTrackType }, 10 });
122123 registry.add (" hMuAfterEtaCuts" , " Muon information after applying Eta cuts" , {HistType::kTHnSparseF , {axisCent, axisNCh, axisPt, axisEta, axisTheta, axisRAbsorb, axisDCA, axisPDca, axisChi2MatchMCHMFT, axisTrackType}, 10 });
123124 registry.add (" hMuAfterRAbsorbCuts" , " Muon information after applying RAbsorb cuts" , {HistType::kTHnSparseF , {axisCent, axisNCh, axisPt, axisEta, axisTheta, axisRAbsorb, axisDCA, axisPDca, axisChi2MatchMCHMFT, axisTrackType}, 10 });
124125 registry.add (" hMuAfterPdcaCuts" , " Muon information after applying Pdca cuts" , {HistType::kTHnSparseF , {axisCent, axisNCh, axisPt, axisEta, axisTheta, axisRAbsorb, axisDCA, axisPDca, axisChi2MatchMCHMFT, axisTrackType}, 10 });
125126 registry.add (" hMuAfterAccCuts" , " Muon information after applying all Kinematic cuts" , {HistType::kTHnSparseF , {axisCent, axisNCh, axisPt, axisEta, axisTheta, axisRAbsorb, axisDCA, axisPDca, axisChi2MatchMCHMFT, axisTrackType}, 10 });
126127 registry.add (" h3DCAAfterAccCuts" , " DCAx,DCAy,DCAz information after Acceptance cuts" , {HistType::kTH3F , {axisDCAx, axisDCAx, axisTrackType}});
127- registry.add (" hMuDeltaPtAfterAccCuts" , " Muon information with DeltaPt after applying Acceptance cuts" , {HistType::kTHnSparseF , {axisCent, axisNCh, axisPt, axisEta, axisTheta, axisRAbsorb, axisDCA , axisPDca, axisChi2MatchMCHMFT, axisDeltaPt }, 10 });
128+ registry.add (" hMuDeltaPtAfterAccCuts" , " Muon information with DeltaPt after applying Acceptance cuts" , {HistType::kTHnSparseF , {axisCent, axisNCh, axisPt, axisEta, axisTheta, axisRAbsorb, axisDeltaPt , axisPDca, axisChi2MatchMCHMFT, axisTrackType }, 10 });
128129
129130 registry.add (" hTHnTrk" , " Muon information with multiplicity" , {HistType::kTHnSparseF , {axisCent, axisNCh, axisPt, axisEta, axisSign}, 5 });
130131 registry.add (" h3MultNchNmu" , " Number of muons and multiplicity" , {HistType::kTH3F , {axisCent, axisNCh, axisNMu}});
@@ -192,6 +193,7 @@ struct HfTaskSingleMuonMult {
192193 const auto pt{muon.pt ()}, eta{muon.eta ()}, theta{90 .0f - ((std::atan (muon.tgl ())) * constants::math::Rad2Deg)}, pDca{muon.pDca ()}, rAbsorb{muon.rAtAbsorberEnd ()}, chi2{muon.chi2MatchMCHMFT ()};
193194 const auto dcaXY{RecoDecay::sqrtSumOfSquares (muon.fwdDcaX (), muon.fwdDcaY ())};
194195 const auto muTrackType{muon.trackType ()};
196+ float dptBefore{0 .}, dptAfter{0 .};
195197
196198 registry.fill (HIST (" hMuBeforeMatchMFT" ), cent, nCh, pt, eta, theta, rAbsorb, dcaXY, pDca, chi2, muTrackType);
197199
@@ -202,11 +204,9 @@ struct HfTaskSingleMuonMult {
202204
203205 if (muon.has_matchMCHTrack ()) {
204206 auto muonType3 = muon.template matchMCHTrack_as <MyMuons>();
205- auto dpt = muonType3.pt () - pt;
206- if (muTrackType == ForwardTrackTypeEnum::GlobalMuonTrack) {
207- registry.fill (HIST (" hMuDeltaPtBeforeAccCuts" ), cent, nCh, pt, eta, theta, rAbsorb, dcaXY, pDca, chi2, dpt);
208- }
207+ dptBefore = muonType3.pt () - pt;
209208 }
209+ registry.fill (HIST (" hMuDeltaPtBeforeAccCuts" ), cent, nCh, pt, eta, theta, rAbsorb, dptBefore, pDca, chi2, muTrackType);
210210
211211 // Apply various standard muon acceptance cuts
212212 // eta cuts
@@ -233,25 +233,23 @@ struct HfTaskSingleMuonMult {
233233 registry.fill (HIST (" hMuAfterPdcaCuts" ), cent, nCh, pt, eta, theta, rAbsorb, dcaXY, pDca, chi2, muTrackType);
234234
235235 // MCH-MFT matching chi2
236- if (muon.chi2 () >= 1e6 ) {
236+ if (muon.chi2 () >= chi2Max ) {
237237 continue ;
238238 }
239239 registry.fill (HIST (" hMuonSel" ), Chi2Cut);
240240
241241 // histograms after acceptance cuts
242242 registry.fill (HIST (" hMuAfterAccCuts" ), cent, nCh, pt, eta, theta, rAbsorb, dcaXY, pDca, chi2, muTrackType);
243243 registry.fill (HIST (" h3DCAAfterAccCuts" ), muon.fwdDcaX (), muon.fwdDcaY (), muTrackType);
244- nMu++;
245- nMuType[muTrackType]++;
246244
247245 if (muon.has_matchMCHTrack ()) {
248246 auto muonType3 = muon.template matchMCHTrack_as <MyMuons>();
249- auto dpt = muonType3.pt () - pt;
250-
251- if (muTrackType == ForwardTrackTypeEnum::GlobalMuonTrack) {
252- registry.fill (HIST (" hMuDeltaPtAfterAccCuts" ), cent, nCh, pt, eta, theta, rAbsorb, dcaXY, pDca, chi2, dpt);
253- }
247+ dptAfter = muonType3.pt () - pt;
254248 }
249+ registry.fill (HIST (" hMuDeltaPtAfterAccCuts" ), cent, nCh, pt, eta, theta, rAbsorb, dptAfter, pDca, chi2, muTrackType);
250+
251+ nMu++;
252+ nMuType[muTrackType]++;
255253 }
256254
257255 registry.fill (HIST (" h3MultNchNmu" ), cent, nCh, nMu);
0 commit comments