Skip to content

Commit 5f9f9f2

Browse files
authored
[PWGEM/Dilepton] update muon histograms (#13313)
1 parent 0931f70 commit 5f9f9f2

File tree

4 files changed

+19
-8
lines changed

4 files changed

+19
-8
lines changed

PWGEM/Dilepton/Core/SingleTrackQC.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@ struct SingleTrackQC {
299299
// track info
300300
fRegistry.add("Track/positive/hs", "rec. single muon", kTHnSparseD, {axis_pt, axis_eta, axis_phi, axis_dca}, true);
301301
fRegistry.add("Track/positive/hEtaPhi_MatchMCHMID", "#eta vs. #varphi of matched MCHMID", kTH2F, {{180, 0, 2.f * M_PI}, {100, -6, -1}}, false);
302-
fRegistry.add("Track/positive/hdEtadPhi", "#Delta#eta vs. #Delta#varphi between MFT-MCH-MID and MCH-MID;#varphi_{sa} - #varphi_{gl} (rad.);#eta_{sa} - #eta_{gl}", kTH2F, {{90, -M_PI / 4, M_PI / 4}, {100, -0.5, +0.5}}, false);
302+
fRegistry.add("Track/positive/hsDelta", "diff. between GL and associated SA;p_{T}^{gl} (GeV/c);(p_{T}^{sa} - p_{T}^{gl})/p_{T}^{gl};#Delta#eta;#Delta#varphi (rad.);", kTHnSparseF, {axis_pt, {100, -0.5, +0.5}, {100, -0.5, +0.5}, {90, -M_PI / 4, M_PI / 4}}, false);
303303
fRegistry.add("Track/positive/hQoverPt", "q/pT;q/p_{T} (GeV/c)^{-1}", kTH1F, {{1000, -5, 5}}, false);
304304
fRegistry.add("Track/positive/hTrackType", "track type", kTH1F, {{6, -0.5f, 5.5}}, false);
305305
fRegistry.add("Track/positive/hDCAxy", "DCA x vs. y;DCA_{x} (cm);DCA_{y} (cm)", kTH2F, {{200, -0.5f, 0.5f}, {200, -0.5f, 0.5f}}, false);
@@ -636,14 +636,15 @@ struct SingleTrackQC {
636636
}
637637
float dca_xy = fwdDcaXYinSigma(track);
638638

639+
float reldpt = (track.ptMatchedMCHMID() - track.pt()) / track.pt();
639640
float deta = track.etaMatchedMCHMID() - track.eta();
640641
float dphi = track.phiMatchedMCHMID() - track.phi();
641642
o2::math_utils::bringToPMPi(dphi);
642643

643644
if (track.sign() > 0) {
644645
fRegistry.fill(HIST("Track/positive/hs"), track.pt(), track.eta(), track.phi(), dca_xy, weight);
645646
fRegistry.fill(HIST("Track/positive/hEtaPhi_MatchMCHMID"), track.phiMatchedMCHMID(), track.etaMatchedMCHMID(), weight);
646-
fRegistry.fill(HIST("Track/positive/hdEtadPhi"), dphi, deta, weight);
647+
fRegistry.fill(HIST("Track/positive/hsDelta"), track.pt(), reldpt, deta, dphi, weight);
647648
fRegistry.fill(HIST("Track/positive/hQoverPt"), track.sign() / track.pt());
648649
fRegistry.fill(HIST("Track/positive/hTrackType"), track.trackType());
649650
fRegistry.fill(HIST("Track/positive/hDCAxy"), track.fwdDcaX(), track.fwdDcaY());
@@ -661,7 +662,7 @@ struct SingleTrackQC {
661662
} else {
662663
fRegistry.fill(HIST("Track/negative/hs"), track.pt(), track.eta(), track.phi(), dca_xy, weight);
663664
fRegistry.fill(HIST("Track/negative/hEtaPhi_MatchMCHMID"), track.phiMatchedMCHMID(), track.etaMatchedMCHMID(), weight);
664-
fRegistry.fill(HIST("Track/negative/hdEtadPhi"), dphi, deta, weight);
665+
fRegistry.fill(HIST("Track/negative/hsDelta"), track.pt(), reldpt, deta, dphi, weight);
665666
fRegistry.fill(HIST("Track/negative/hQoverPt"), track.sign() / track.pt());
666667
fRegistry.fill(HIST("Track/negative/hTrackType"), track.trackType());
667668
fRegistry.fill(HIST("Track/negative/hDCAxy"), track.fwdDcaX(), track.fwdDcaY());

PWGEM/Dilepton/TableProducer/skimmerPrimaryElectronQC.cxx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,12 @@ struct skimmerPrimaryElectronQC {
8585
Configurable<float> max_frac_shared_clusters_tpc{"max_frac_shared_clusters_tpc", 999.f, "max fraction of shared clusters in TPC"};
8686
Configurable<float> maxchi2tpc{"maxchi2tpc", 5.0, "max. chi2/NclsTPC"};
8787
Configurable<float> maxchi2its{"maxchi2its", 36.0, "max. chi2/NclsITS"};
88+
Configurable<float> minchi2its{"minchi2its", -1e+10, "min. chi2/NclsITS"};
8889
Configurable<float> minpt{"minpt", 0.05, "min pt for ITS-TPC track"};
8990
Configurable<float> maxeta{"maxeta", 0.9, "eta acceptance"};
9091
Configurable<float> dca_xy_max{"dca_xy_max", 1.0, "max DCAxy in cm"};
9192
Configurable<float> dca_z_max{"dca_z_max", 1.0, "max DCAz in cm"};
93+
Configurable<bool> includeITSsa{"includeITSsa", false, "Flag to include ITSsa tracks"};
9294
Configurable<float> minTPCNsigmaEl{"minTPCNsigmaEl", -3.5, "min. TPC n sigma for electron inclusion"};
9395
Configurable<float> maxTPCNsigmaEl{"maxTPCNsigmaEl", +3.5, "max. TPC n sigma for electron inclusion"};
9496
} trackcut;
@@ -293,7 +295,7 @@ struct skimmerPrimaryElectronQC {
293295
return false;
294296
}
295297

296-
if (trackcut.maxchi2its < track.itsChi2NCl()) { // accept ITS afterburner (itsChi2NCl = -999)
298+
if (track.itsChi2NCl() < trackcut.minchi2its || trackcut.maxchi2its < track.itsChi2NCl()) { // accept ITS afterburner (itsChi2NCl = -999)
297299
return false;
298300
}
299301
if (track.itsNCls() < trackcut.min_ncluster_its) {
@@ -303,6 +305,10 @@ struct skimmerPrimaryElectronQC {
303305
return false;
304306
}
305307

308+
if (!trackcut.includeITSsa && (!track.hasITS() || !track.hasTPC())) {
309+
return false;
310+
}
311+
306312
if (track.hasTPC()) {
307313
if (track.tpcChi2NCl() < 0.f || trackcut.maxchi2tpc < track.tpcChi2NCl()) {
308314
return false;

PWGEM/Dilepton/TableProducer/skimmerPrimaryMuon.cxx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -296,9 +296,11 @@ struct skimmerPrimaryMuon {
296296

297297
if (refitGlobalMuon) {
298298
eta = mfttrack.eta();
299-
phi = mfttrack.phi();
300-
o2::math_utils::bringTo02Pi(phi);
299+
// phi = mfttrack.phi();
300+
// o2::math_utils::bringTo02Pi(phi);
301301
pt = propmuonAtPV_Matched.getP() * std::sin(2.f * std::atan(std::exp(-eta)));
302+
phi = propmuonAtDCA.getPhi();
303+
o2::math_utils::bringTo02Pi(phi);
302304

303305
// x = mfttrack.x();
304306
// y = mfttrack.y();

PWGEM/Dilepton/Tasks/createResolutionMap.cxx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -591,9 +591,11 @@ struct CreateResolutionMap {
591591
}
592592
if (muoncuts.refitGlobalMuon) {
593593
eta = mfttrack.eta();
594-
phi = mfttrack.phi();
595-
o2::math_utils::bringTo02Pi(phi);
594+
// phi = mfttrack.phi();
595+
// o2::math_utils::bringTo02Pi(phi);
596596
pt = propmuonAtPV_Matched.getP() * std::sin(2.f * std::atan(std::exp(-eta)));
597+
phi = propmuonAtDCA.getPhi();
598+
o2::math_utils::bringTo02Pi(phi);
597599
}
598600

599601
float dpt = (ptMatchedMCHMID - pt) / pt;

0 commit comments

Comments
 (0)