Skip to content

Commit 8e965c3

Browse files
committed
PWGEM/Dilepton: update 2pc
1 parent b6c4006 commit 8e965c3

File tree

2 files changed

+36
-81
lines changed

2 files changed

+36
-81
lines changed

PWGEM/Dilepton/Core/DileptonHadronMPC.h

Lines changed: 21 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -285,19 +285,11 @@ struct DileptonHadronMPC {
285285
Configurable<float> cfg_max_pt_track{"cfg_max_pt_track", 3.0, "max pT for ref. track"};
286286
Configurable<float> cfg_min_eta_track{"cfg_min_eta_track", -0.8, "min eta for ref. track"};
287287
Configurable<float> cfg_max_eta_track{"cfg_max_eta_track", +0.8, "max eta for ref. track"};
288-
Configurable<float> cfg_min_phi_track{"cfg_min_phi_track", 0.0, "min phi for ref. track"};
289-
Configurable<float> cfg_max_phi_track{"cfg_max_phi_track", 6.3, "max phi for ref. track"};
290-
Configurable<float> cfg_max_dcaxy{"cfg_max_dcaxy", 0.5, "max dca XY for single track in cm"};
291-
Configurable<float> cfg_max_dcaz{"cfg_max_dcaz", 0.5, "max dca Z for single track in cm"};
288+
// Configurable<float> cfg_min_phi_track{"cfg_min_phi_track", 0.0, "min phi for ref. track"};
289+
// Configurable<float> cfg_max_phi_track{"cfg_max_phi_track", 6.3, "max phi for ref. track"};
290+
// Configurable<float> cfg_max_dcaxy{"cfg_max_dcaxy", 0.5, "max dca XY for single track in cm"};
291+
// Configurable<float> cfg_max_dcaz{"cfg_max_dcaz", 0.5, "max dca Z for single track in cm"};
292292
Configurable<uint16_t> cfg_track_bits{"cfg_track_bits", 645, "required track bits"}; // default:645, loose:0, tight:778
293-
// Configurable<int> cfg_min_ncluster_its{"cfg_min_ncluster_its", 5, "min ncluster its"};
294-
// Configurable<int> cfg_min_ncluster_tpc{"cfg_min_ncluster_tpc", 0, "min ncluster tpc"};
295-
// Configurable<int> cfg_min_ncrossedrows{"cfg_min_ncrossedrows", 70, "min ncrossed rows"};
296-
// Configurable<float> cfg_max_frac_shared_clusters_tpc{"cfg_max_frac_shared_clusters_tpc", 0.7, "max fraction of shared clusters in TPC"};
297-
// Configurable<float> cfg_max_chi2tpc{"cfg_max_chi2tpc", 4.0, "max chi2/NclsTPC"};
298-
// Configurable<float> cfg_max_chi2its{"cfg_max_chi2its", 36.0, "max chi2/NclsITS"};
299-
// Configurable<bool> cfg_require_itsib_any{"cfg_require_itsib_any", true, "flag to require ITS ib any hits"};
300-
// Configurable<bool> cfg_require_itsib_1st{"cfg_require_itsib_1st", false, "flag to require ITS ib 1st hit"};
301293
} trackcuts;
302294

303295
o2::aod::rctsel::RCTFlagsChecker rctChecker;
@@ -511,11 +503,10 @@ struct DileptonHadronMPC {
511503
const AxisSpec axis_y{ConfRapidityBins, pair_rapidity_axis_title};
512504

513505
// dilepton-hadron info
514-
const AxisSpec axis_pt_ref{ConfPtHadronBins, "p_{T,h}^{ref} (GeV/c)"};
515506
const AxisSpec axis_deta{ConfDEtaBins, deta_axis_title};
516507

517508
// hadron-hadron info
518-
const AxisSpec axis_deta_hh{60, -3, +3, "#Delta#eta = #eta_{h}^{trg} - #eta_{h}^{ref}"};
509+
const AxisSpec axis_deta_hh{60, -3, +3, "#Delta#eta = #eta_{h}^{ref1} - #eta_{h}^{ref2}"};
519510

520511
const AxisSpec axis_pt_trg{ConfPtHadronBins, "p_{T,h} (GeV/c)"};
521512
const AxisSpec axis_eta_trg{40, -2, +2, "#eta_{h}"};
@@ -528,30 +519,29 @@ struct DileptonHadronMPC {
528519

529520
if (cfgAnalysisType == static_cast<int>(o2::aod::pwgem::dilepton::utils::pairutil::DileptonHadronAnalysisType::kAzimuthalCorrelation)) {
530521
const AxisSpec axis_dphi{cfgNbinsDPhi, -M_PI / 2, 3 * M_PI / 2, dphi_axis_title};
531-
const AxisSpec axis_dphi_hh{cfgNbinsDPhi, -M_PI / 2, 3 * M_PI / 2, "#Delta#varphi = #varphi_{h}^{trg} - #varphi_{h}^{ref} (rad.)"};
532522
// dilepton-hadron
533-
fRegistry.add("DileptonHadron/same/uls/hs", "dilepton-hadron 2PC", kTHnSparseD, {axis_mass, axis_pt, axis_dca, axis_y, axis_pt_ref, axis_deta, axis_dphi}, true);
523+
fRegistry.add("DileptonHadron/same/uls/hs", "dilepton-hadron 2PC", kTHnSparseD, {axis_mass, axis_pt, axis_dca, axis_y, axis_deta, axis_dphi}, true);
534524
fRegistry.addClone("DileptonHadron/same/uls/", "DileptonHadron/same/lspp/");
535525
fRegistry.addClone("DileptonHadron/same/uls/", "DileptonHadron/same/lsmm/");
536526
// fRegistry.addClone("DileptonHadron/same/", "DileptonHadron/mix/");
537527

538528
// hadron-hadron
539-
const AxisSpec axis_cosndphi_hh{cfgNbinsCosNDPhi, -1, +1, std::format("cos({0:d}(#varphi_{{h}}^{{trg}} - #varphi_{{h}}^{{ref}}))", cfgNmod.value)};
540-
fRegistry.add("HadronHadron/same/hs", "hadron-hadron 2PC", kTHnSparseD, {axis_pt_trg, axis_pt_ref, axis_deta_hh, axis_dphi_hh}, true);
529+
const AxisSpec axis_dphi_hh{cfgNbinsDPhi, -M_PI / 2, 3 * M_PI / 2, "#Delta#varphi = #varphi_{h}^{ref1} - #varphi_{h}^{ref2} (rad.)"};
530+
fRegistry.add("HadronHadron/same/hDEtaDPhi", "hadron-hadron 2PC", kTH2D, {axis_deta_hh, axis_dphi_hh}, true);
541531
fRegistry.addClone("HadronHadron/same/", "HadronHadron/mix/");
542532
fRegistry.add("HadronHadron/mix/hDiffBC", "diff. global BC in mixed event;|BC_{current} - BC_{mixed}|", kTH1D, {{10001, -0.5, 10000.5}}, true);
543533
} else if (cfgAnalysisType == static_cast<int>(o2::aod::pwgem::dilepton::utils::pairutil::DileptonHadronAnalysisType::kCumulant)) {
544534
const AxisSpec axis_cos_ndphi{cfgNbinsCosNDPhi, -1, +1, cosndphi_axis_title};
545535

546536
// dilepton-hadron
547-
fRegistry.add("DileptonHadron/same/uls/hs", "dilepton-hadron 2PC", kTHnSparseD, {axis_mass, axis_pt, axis_dca, axis_y, axis_pt_ref, axis_deta, axis_cos_ndphi}, true);
537+
fRegistry.add("DileptonHadron/same/uls/hs", "dilepton-hadron 2PC", kTHnSparseD, {axis_mass, axis_pt, axis_dca, axis_y, axis_deta, axis_cos_ndphi}, true);
548538
fRegistry.addClone("DileptonHadron/same/uls/", "DileptonHadron/same/lspp/");
549539
fRegistry.addClone("DileptonHadron/same/uls/", "DileptonHadron/same/lsmm/");
550540
fRegistry.addClone("DileptonHadron/same/", "DileptonHadron/mix/");
551541

552542
// hadron-hadron
553543
const AxisSpec axis_cosndphi_hh{cfgNbinsCosNDPhi, -1, +1, std::format("cos({0:d}(#varphi_{{h}}^{{trg}} - #varphi_{{h}}^{{ref}}))", cfgNmod.value)};
554-
fRegistry.add("HadronHadron/same/hs", "hadron-hadron 2PC", kTHnSparseD, {axis_pt_trg, axis_pt_ref, axis_deta_hh, axis_cosndphi_hh}, true);
544+
fRegistry.add("HadronHadron/same/hDEtaCosNDPhi", "hadron-hadron 2PC", kTH2D, {axis_deta_hh, axis_cosndphi_hh}, true);
555545
}
556546
fRegistry.add("Dilepton/mix/hDiffBC", "diff. global BC in mixed event;|BC_{current} - BC_{mixed}|", kTH1D, {{10001, -0.5, 10000.5}}, true);
557547
}
@@ -684,19 +674,10 @@ struct DileptonHadronMPC {
684674
fEMTrackCut = EMTrackCut("fEMTrackCut", "fEMTrackCut");
685675
fEMTrackCut.SetTrackPtRange(trackcuts.cfg_min_pt_track, trackcuts.cfg_max_pt_track);
686676
fEMTrackCut.SetTrackEtaRange(trackcuts.cfg_min_eta_track, trackcuts.cfg_max_eta_track);
687-
fEMTrackCut.SetTrackPhiRange(trackcuts.cfg_min_phi_track, trackcuts.cfg_max_phi_track);
688-
fEMTrackCut.SetTrackMaxDcaXY(trackcuts.cfg_max_dcaxy);
689-
fEMTrackCut.SetTrackMaxDcaZ(trackcuts.cfg_max_dcaz);
677+
// fEMTrackCut.SetTrackPhiRange(trackcuts.cfg_min_phi_track, trackcuts.cfg_max_phi_track);
678+
// fEMTrackCut.SetTrackMaxDcaXY(trackcuts.cfg_max_dcaxy);
679+
// fEMTrackCut.SetTrackMaxDcaZ(trackcuts.cfg_max_dcaz);
690680
fEMTrackCut.SetTrackBit(trackcuts.cfg_track_bits);
691-
// fEMTrackCut.SetMinNClustersTPC(trackcuts.cfg_min_ncluster_tpc);
692-
// fEMTrackCut.SetMinNCrossedRowsTPC(trackcuts.cfg_min_ncrossedrows);
693-
// fEMTrackCut.SetMinNCrossedRowsOverFindableClustersTPC(0.8);
694-
// fEMTrackCut.SetMaxFracSharedClustersTPC(trackcuts.cfg_max_frac_shared_clusters_tpc);
695-
// fEMTrackCut.SetChi2PerClusterTPC(0.0, trackcuts.cfg_max_chi2tpc);
696-
// fEMTrackCut.SetChi2PerClusterITS(0.0, trackcuts.cfg_max_chi2its);
697-
// fEMTrackCut.SetNClustersITS(trackcuts.cfg_min_ncluster_its, 7);
698-
// fEMTrackCut.RequireITSibAny(trackcuts.cfg_require_itsib_any);
699-
// fEMTrackCut.RequireITSib1st(trackcuts.cfg_require_itsib_1st);
700681
}
701682

702683
template <int ev_id, typename TCollision, typename TTrack1, typename TTrack2, typename TCut, typename TAllTracks>
@@ -957,21 +938,21 @@ struct DileptonHadronMPC {
957938
if (cfgAnalysisType == static_cast<int>(o2::aod::pwgem::dilepton::utils::pairutil::DileptonHadronAnalysisType::kAzimuthalCorrelation)) {
958939
dphi = RecoDecay::constrainAngle(dphi, -M_PI / 2, 1U);
959940
if (t1.sign() * t2.sign() < 0) { // ULS
960-
fRegistry.fill(HIST("DileptonHadron/") + HIST(event_pair_types[ev_id]) + HIST("uls/hs"), v12.M(), v12.Pt(), pair_dca, v12.Rapidity(), v3.Pt(), deta, dphi, weight);
941+
fRegistry.fill(HIST("DileptonHadron/") + HIST(event_pair_types[ev_id]) + HIST("uls/hs"), v12.M(), v12.Pt(), pair_dca, v12.Rapidity(), deta, dphi, weight);
961942
} else if (t1.sign() > 0 && t2.sign() > 0) { // LS++
962-
fRegistry.fill(HIST("DileptonHadron/") + HIST(event_pair_types[ev_id]) + HIST("lspp/hs"), v12.M(), v12.Pt(), pair_dca, v12.Rapidity(), v3.Pt(), deta, dphi, weight);
943+
fRegistry.fill(HIST("DileptonHadron/") + HIST(event_pair_types[ev_id]) + HIST("lspp/hs"), v12.M(), v12.Pt(), pair_dca, v12.Rapidity(), deta, dphi, weight);
963944
} else if (t1.sign() < 0 && t2.sign() < 0) { // LS--
964-
fRegistry.fill(HIST("DileptonHadron/") + HIST(event_pair_types[ev_id]) + HIST("lsmm/hs"), v12.M(), v12.Pt(), pair_dca, v12.Rapidity(), v3.Pt(), deta, dphi, weight);
945+
fRegistry.fill(HIST("DileptonHadron/") + HIST(event_pair_types[ev_id]) + HIST("lsmm/hs"), v12.M(), v12.Pt(), pair_dca, v12.Rapidity(), deta, dphi, weight);
965946
}
966947
} else if (cfgAnalysisType == static_cast<int>(o2::aod::pwgem::dilepton::utils::pairutil::DileptonHadronAnalysisType::kCumulant)) {
967948
o2::math_utils::bringTo02Pi(dphi);
968949
float cosndphi = std::cos(cfgNmod * dphi);
969950
if (t1.sign() * t2.sign() < 0) { // ULS
970-
fRegistry.fill(HIST("DileptonHadron/") + HIST(event_pair_types[ev_id]) + HIST("uls/hs"), v12.M(), v12.Pt(), pair_dca, v12.Rapidity(), v3.Pt(), deta, cosndphi, weight);
951+
fRegistry.fill(HIST("DileptonHadron/") + HIST(event_pair_types[ev_id]) + HIST("uls/hs"), v12.M(), v12.Pt(), pair_dca, v12.Rapidity(), deta, cosndphi, weight);
971952
} else if (t1.sign() > 0 && t2.sign() > 0) { // LS++
972-
fRegistry.fill(HIST("DileptonHadron/") + HIST(event_pair_types[ev_id]) + HIST("lspp/hs"), v12.M(), v12.Pt(), pair_dca, v12.Rapidity(), v3.Pt(), deta, cosndphi, weight);
953+
fRegistry.fill(HIST("DileptonHadron/") + HIST(event_pair_types[ev_id]) + HIST("lspp/hs"), v12.M(), v12.Pt(), pair_dca, v12.Rapidity(), deta, cosndphi, weight);
973954
} else if (t1.sign() < 0 && t2.sign() < 0) { // LS--
974-
fRegistry.fill(HIST("DileptonHadron/") + HIST(event_pair_types[ev_id]) + HIST("lsmm/hs"), v12.M(), v12.Pt(), pair_dca, v12.Rapidity(), v3.Pt(), deta, cosndphi, weight);
955+
fRegistry.fill(HIST("DileptonHadron/") + HIST(event_pair_types[ev_id]) + HIST("lsmm/hs"), v12.M(), v12.Pt(), pair_dca, v12.Rapidity(), deta, cosndphi, weight);
975956
}
976957
}
977958

@@ -1013,11 +994,11 @@ struct DileptonHadronMPC {
1013994

1014995
if (cfgAnalysisType == static_cast<int>(o2::aod::pwgem::dilepton::utils::pairutil::DileptonHadronAnalysisType::kAzimuthalCorrelation)) {
1015996
dphi = RecoDecay::constrainAngle(dphi, -M_PI / 2, 1U);
1016-
fRegistry.fill(HIST("HadronHadron/") + HIST(event_pair_types[ev_id]) + HIST("hs"), t1.pt(), t2.pt(), deta, dphi, weight);
997+
fRegistry.fill(HIST("HadronHadron/") + HIST(event_pair_types[ev_id]) + HIST("hDEtaDPhi"), deta, dphi, weight);
1017998
} else if (cfgAnalysisType == static_cast<int>(o2::aod::pwgem::dilepton::utils::pairutil::DileptonHadronAnalysisType::kCumulant)) {
1018999
o2::math_utils::bringTo02Pi(dphi);
10191000
float cosndphi = std::cos(cfgNmod * dphi);
1020-
fRegistry.fill(HIST("HadronHadron/") + HIST(event_pair_types[ev_id]) + HIST("hs"), t1.pt(), t2.pt(), deta, cosndphi, weight);
1001+
fRegistry.fill(HIST("HadronHadron/") + HIST(event_pair_types[ev_id]) + HIST("hDEtaCosNDPhi"), deta, cosndphi, weight);
10211002
}
10221003

10231004
// store ref tracks for mixed event in case of kAzimuthalCorrelation

0 commit comments

Comments
 (0)