Skip to content

Commit dbd8609

Browse files
authored
PWGEM/Dilepton: reduce histogram dimension (#6936)
1 parent c16f36a commit dbd8609

1 file changed

Lines changed: 15 additions & 23 deletions

File tree

PWGEM/Dilepton/Core/PhotonHBT.h

Lines changed: 15 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -100,10 +100,6 @@ struct PhotonHBT {
100100
ConfigurableAxis ConfEPBins{"ConfEPBins", {VARIABLE_WIDTH, -M_PI / 2, -M_PI / 4, 0.0f, +M_PI / 4, +M_PI / 2}, "Mixing bins - event plane angle"};
101101
ConfigurableAxis ConfOccupancyBins{"ConfOccupancyBins", {VARIABLE_WIDTH, -1, 1e+10}, "Mixing bins - occupancy"};
102102

103-
ConfigurableAxis ConfM1Bins{"ConfM1Bins", {VARIABLE_WIDTH, 0.0, 0.14, 0.5, 1.1, 2.0, 2.5}, "mass1 bins for output histograms"};
104-
ConfigurableAxis ConfM2Bins{"ConfM2Bins", {VARIABLE_WIDTH, 0.0, 0.14, 0.5, 1.1, 2.0, 2.5}, "mass2 bins for output histograms"};
105-
ConfigurableAxis ConfDCA1Bins{"ConfDCA1Bins", {VARIABLE_WIDTH, 0.0, 0.5, 1.0, 1.5, 2.0, 10.0}, "DCA1 bins for output histograms"};
106-
ConfigurableAxis ConfDCA2Bins{"ConfDCA2Bins", {VARIABLE_WIDTH, 0.0, 0.5, 1.0, 1.5, 2.0, 10.0}, "DCA2 bins for output histograms"};
107103
ConfigurableAxis ConfKtBins{"ConfKtBins", {VARIABLE_WIDTH, 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0}, "kT bins for output histograms"};
108104

109105
EMEventCut fEMEventCut;
@@ -152,12 +148,12 @@ struct PhotonHBT {
152148
std::string prefix = "dielectroncut_group";
153149
Configurable<float> cfg_min_mass{"cfg_min_mass", 0.0, "min mass"};
154150
Configurable<float> cfg_max_mass{"cfg_max_mass", 2.5, "max mass"}; // this is valid, because only ULS is used.
155-
Configurable<float> cfg_min_pair_pt{"cfg_min_pair_pt", 0.0, "min mass"};
156-
Configurable<float> cfg_max_pair_pt{"cfg_max_pair_pt", 1e+10, "max mass"};
157-
Configurable<float> cfg_min_pair_y{"cfg_min_pair_y", -0.8, "min mass"};
158-
Configurable<float> cfg_max_pair_y{"cfg_max_pair_y", +0.8, "max mass"};
151+
Configurable<float> cfg_min_pair_pt{"cfg_min_pair_pt", 0.0, "min pair pT"};
152+
Configurable<float> cfg_max_pair_pt{"cfg_max_pair_pt", 1e+10, "max pair pT"};
153+
Configurable<float> cfg_min_pair_y{"cfg_min_pair_y", -0.8, "min pair rapidity"};
154+
Configurable<float> cfg_max_pair_y{"cfg_max_pair_y", +0.8, "max pair rapidity"};
159155
Configurable<float> cfg_min_pair_dca3d{"cfg_min_pair_dca3d", 0.0, "min pair dca3d in sigma"};
160-
Configurable<float> cfg_max_pair_dca3d{"cfg_max_pair_dca3d", 1e+10, "max pair dca3d in sigma"};
156+
Configurable<float> cfg_max_pair_dca3d{"cfg_max_pair_dca3d", 2.0, "max pair dca3d in sigma"};
161157
Configurable<bool> cfg_apply_phiv{"cfg_apply_phiv", true, "flag to apply phiv cut"};
162158
Configurable<bool> cfg_apply_pf{"cfg_apply_pf", false, "flag to apply phiv prefilter"};
163159
Configurable<bool> cfg_require_itsib_any{"cfg_require_itsib_any", false, "flag to require ITS ib any hits"};
@@ -298,10 +294,6 @@ struct PhotonHBT {
298294
o2::aod::pwgem::dilepton::utils::eventhistogram::addEventHistograms<-1>(&fRegistry);
299295

300296
// pair info
301-
const AxisSpec axis_mass1{ConfM1Bins, "m1 (GeV/c^{2})"};
302-
const AxisSpec axis_mass2{ConfM2Bins, "m2 (GeV/c^{2})"};
303-
const AxisSpec axis_dca1{ConfDCA1Bins, "DCA1 (#sigma)"};
304-
const AxisSpec axis_dca2{ConfDCA2Bins, "DCA2 (#sigma)"};
305297
const AxisSpec axis_kt{ConfKtBins, "k_{T} (GeV/c)"};
306298

307299
const AxisSpec axis_qinv{30, 0.0, +0.3, "q_{inv} (GeV/c)"};
@@ -310,7 +302,7 @@ struct PhotonHBT {
310302
const AxisSpec axis_qlong_cms{60, -0.3, +0.3, "q_{long}^{CMS} (GeV/c)"};
311303
const AxisSpec axis_qlong_lcms{60, -0.3, +0.3, "q_{long}^{LCMS} (GeV/c)"};
312304

313-
fRegistry.add("Pair/same/hs", "diphoton correlation", kTHnSparseD, {axis_mass1, axis_mass2, axis_dca1, axis_dca2, axis_kt, axis_qinv, axis_qout_cms, axis_qside_cms, axis_qlong_cms, axis_qlong_lcms}, true);
305+
fRegistry.add("Pair/same/hs", "diphoton correlation", kTHnSparseD, {axis_kt, axis_qinv, axis_qout_cms, axis_qside_cms, axis_qlong_cms, axis_qlong_lcms}, true);
314306
fRegistry.addClone("Pair/same/", "Pair/mix/");
315307
}
316308

@@ -438,7 +430,7 @@ struct PhotonHBT {
438430
}
439431

440432
template <int ev_id, typename TCollision>
441-
void fillPairHistogram(TCollision const& /*collision*/, const ROOT::Math::PtEtaPhiMVector v1, const ROOT::Math::PtEtaPhiMVector v2, const float dca1, const float dca2)
433+
void fillPairHistogram(TCollision const& /*collision*/, const ROOT::Math::PtEtaPhiMVector v1, const ROOT::Math::PtEtaPhiMVector v2)
442434
{
443435
// if constexpr (ev_id == 1 && pairtype == ggHBTPairType::kEEEE) {
444436
// if (t1.has_ambiguousElectrons() && t2.has_ambiguousElectrons()) {
@@ -484,7 +476,7 @@ struct PhotonHBT {
484476
// LOGF(info, "v1_lcms_cartesian.Pz() = %f, v2_lcms_cartesian.Pz() = %f",v1_lcms_cartesian.Pz(), v2_lcms_cartesian.Pz());
485477
// LOGF(info, "q12_lcms_cartesian.Pz() = %f", q12_lcms_cartesian.Pz());
486478

487-
fRegistry.fill(HIST("Pair/") + HIST(event_pair_types[ev_id]) + HIST("hs"), v1.M(), v2.M(), dca1, dca2, kt, qinv, qout_cms, qside_cms, qlong_cms, qlong_lcms);
479+
fRegistry.fill(HIST("Pair/") + HIST(event_pair_types[ev_id]) + HIST("hs"), kt, qinv, qout_cms, qside_cms, qlong_cms, qlong_lcms);
488480
}
489481

490482
template <typename TCollisions, typename TPhotons1, typename TPhotons2, typename TSubInfos1, typename TSubInfos2, typename TPreslice1, typename TPreslice2, typename TCut1, typename TCut2>
@@ -559,7 +551,7 @@ struct PhotonHBT {
559551

560552
ROOT::Math::PtEtaPhiMVector v1(g1.pt(), g1.eta(), g1.phi(), 0.);
561553
ROOT::Math::PtEtaPhiMVector v2(g2.pt(), g2.eta(), g2.phi(), 0.);
562-
fillPairHistogram<0>(collision, v1, v2, 0.0, 0.0);
554+
fillPairHistogram<0>(collision, v1, v2);
563555
ndiphoton++;
564556

565557
std::pair<int, int> pair_tmp_id1 = std::make_pair(ndf, g1.globalIndex());
@@ -634,7 +626,7 @@ struct PhotonHBT {
634626

635627
std::pair pair_tmp = std::make_pair(std::make_pair(pos1.trackId(), ele1.trackId()), std::make_pair(pos2.trackId(), ele2.trackId()));
636628
if (std::find(used_pairs_per_collision.begin(), used_pairs_per_collision.end(), pair_tmp) == used_pairs_per_collision.end()) {
637-
fillPairHistogram<0>(collision, v1_ee, v2_ee, dca1_3d, dca2_3d);
629+
fillPairHistogram<0>(collision, v1_ee, v2_ee);
638630
used_pairs_per_collision.emplace_back(std::make_pair(pair_tmp.first, pair_tmp.second));
639631
used_pairs_per_collision.emplace_back(std::make_pair(pair_tmp.second, pair_tmp.first));
640632
ndiphoton++;
@@ -699,7 +691,7 @@ struct PhotonHBT {
699691
ROOT::Math::PtEtaPhiMVector v_pos2(pos2.pt(), pos2.eta(), pos2.phi(), o2::constants::physics::MassElectron);
700692
ROOT::Math::PtEtaPhiMVector v_ele2(ele2.pt(), ele2.eta(), ele2.phi(), o2::constants::physics::MassElectron);
701693
ROOT::Math::PtEtaPhiMVector v2_ee = v_pos2 + v_ele2;
702-
fillPairHistogram<0>(collision, v1_gamma, v2_ee, 0.0, dca2_3d);
694+
fillPairHistogram<0>(collision, v1_gamma, v2_ee);
703695
ndiphoton++;
704696
std::pair<int, int> pair_tmp_id1 = std::make_pair(ndf, g1.globalIndex());
705697
std::tuple<int, int, int, int> tuple_tmp_id2 = std::make_tuple(ndf, collision.globalIndex(), pos2.globalIndex(), ele2.globalIndex());
@@ -745,7 +737,7 @@ struct PhotonHBT {
745737
for (auto& g2 : photons1_from_event_pool) {
746738
ROOT::Math::PtEtaPhiMVector v1(g1.pt(), g1.eta(), g1.phi(), 0.);
747739
ROOT::Math::PtEtaPhiMVector v2(g2.pt(), g2.eta(), g2.phi(), 0.);
748-
fillPairHistogram<1>(collision, v1, v2, 0.0, 0.0);
740+
fillPairHistogram<1>(collision, v1, v2);
749741
}
750742
}
751743
} // end of loop over mixed event pool
@@ -765,7 +757,7 @@ struct PhotonHBT {
765757
for (auto& g2 : photons1_from_event_pool) {
766758
ROOT::Math::PtEtaPhiMVector v1(g1.pt(), g1.eta(), g1.phi(), g1.mass());
767759
ROOT::Math::PtEtaPhiMVector v2(g2.pt(), g2.eta(), g2.phi(), g2.mass());
768-
fillPairHistogram<1>(collision, v1, v2, g1.pairDca3DinSigmaOTF(), g2.pairDca3DinSigmaOTF());
760+
fillPairHistogram<1>(collision, v1, v2);
769761
}
770762
}
771763
} // end of loop over mixed event pool
@@ -785,7 +777,7 @@ struct PhotonHBT {
785777
for (auto& g2 : photons2_from_event_pool) { // dielectron
786778
ROOT::Math::PtEtaPhiMVector v1(g1.pt(), g1.eta(), g1.phi(), 0.0); // keep v1 for PCM
787779
ROOT::Math::PtEtaPhiMVector v2(g2.pt(), g2.eta(), g2.phi(), g2.mass());
788-
fillPairHistogram<1>(collision, v1, v2, 0.0, g2.pairDca3DinSigmaOTF());
780+
fillPairHistogram<1>(collision, v1, v2);
789781
}
790782
}
791783
} // end of loop over mixed event pool2
@@ -805,7 +797,7 @@ struct PhotonHBT {
805797
for (auto& g2 : photons1_from_event_pool) { // PCM
806798
ROOT::Math::PtEtaPhiMVector v1(g2.pt(), g2.eta(), g2.phi(), 0.0); // keep v1 for PCM
807799
ROOT::Math::PtEtaPhiMVector v2(g1.pt(), g1.eta(), g1.phi(), g1.mass());
808-
fillPairHistogram<1>(collision, v1, v2, 0.0, g1.pairDca3DinSigmaOTF());
800+
fillPairHistogram<1>(collision, v1, v2);
809801
}
810802
}
811803
} // end of loop over mixed event pool1

0 commit comments

Comments
 (0)