Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 48 additions & 13 deletions PWGEM/PhotonMeson/Core/TaggingPi0.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,19 +54,22 @@
#include "PWGEM/PhotonMeson/Utils/EventHistograms.h"
#include "PWGEM/Dilepton/Utils/EMTrackUtilities.h"

using namespace o2;

Check failure on line 57 in PWGEM/PhotonMeson/Core/TaggingPi0.h

View workflow job for this annotation

GitHub Actions / O2 linter

[using-directive]

Do not put using directives at global scope in headers.
using namespace o2::aod;

Check failure on line 58 in PWGEM/PhotonMeson/Core/TaggingPi0.h

View workflow job for this annotation

GitHub Actions / O2 linter

[using-directive]

Do not put using directives at global scope in headers.
using namespace o2::framework;

Check failure on line 59 in PWGEM/PhotonMeson/Core/TaggingPi0.h

View workflow job for this annotation

GitHub Actions / O2 linter

[using-directive]

Do not put using directives at global scope in headers.
using namespace o2::framework::expressions;

Check failure on line 60 in PWGEM/PhotonMeson/Core/TaggingPi0.h

View workflow job for this annotation

GitHub Actions / O2 linter

[using-directive]

Do not put using directives at global scope in headers.
using namespace o2::soa;

Check failure on line 61 in PWGEM/PhotonMeson/Core/TaggingPi0.h

View workflow job for this annotation

GitHub Actions / O2 linter

[using-directive]

Do not put using directives at global scope in headers.
using namespace o2::aod::pwgem::photonmeson::photonpair;

Check failure on line 62 in PWGEM/PhotonMeson/Core/TaggingPi0.h

View workflow job for this annotation

GitHub Actions / O2 linter

[using-directive]

Do not put using directives at global scope in headers.
using namespace o2::aod::pwgem::photon;

Check failure on line 63 in PWGEM/PhotonMeson/Core/TaggingPi0.h

View workflow job for this annotation

GitHub Actions / O2 linter

[using-directive]

Do not put using directives at global scope in headers.
using namespace o2::aod::pwgem::dilepton::utils::emtrackutil;

Check failure on line 64 in PWGEM/PhotonMeson/Core/TaggingPi0.h

View workflow job for this annotation

GitHub Actions / O2 linter

[using-directive]

Do not put using directives at global scope in headers.
using namespace o2::aod::pwgem::dilepton::utils;

Check failure on line 65 in PWGEM/PhotonMeson/Core/TaggingPi0.h

View workflow job for this annotation

GitHub Actions / O2 linter

[using-directive]

Do not put using directives at global scope in headers.

using MyCollisions = soa::Join<aod::EMEvents, aod::EMEventsMult, aod::EMEventsCent, aod::EMEventsQvec, aod::EMEventsWeight>;
using MyCollisions = soa::Join<aod::EMEvents, aod::EMEventsMult, aod::EMEventsCent, aod::EMEventsQvec>;
using MyCollision = MyCollisions::iterator;

using MyCollisionsWithJJMC = soa::Join<MyCollisions, aod::EMEventsWeight>;
using MyCollisionWithJJMC = MyCollisionsWithJJMC::iterator;

using MyV0Photons = soa::Join<aod::V0PhotonsKF, aod::V0KFEMEventIds>;
using MyV0Photon = MyV0Photons::iterator;

Expand Down Expand Up @@ -97,7 +100,7 @@
Configurable<int> ndepth{"ndepth", 100, "depth for event mixing"};
ConfigurableAxis ConfVtxBins{"ConfVtxBins", {VARIABLE_WIDTH, -10.0f, -8.f, -6.f, -4.f, -2.f, 0.f, 2.f, 4.f, 6.f, 8.f, 10.f}, "Mixing bins - z-vertex"};
ConfigurableAxis ConfCentBins{"ConfCentBins", {VARIABLE_WIDTH, 0.0f, 5.0f, 10.0f, 20.0f, 30.0f, 40.0f, 50.0f, 60.0f, 70.0f, 80.0f, 90.0f, 100.f, 999.f}, "Mixing bins - centrality"};
ConfigurableAxis ConfEPBins{"ConfEPBins", {VARIABLE_WIDTH, -M_PI / 2, -M_PI / 4, 0.0f, +M_PI / 4, +M_PI / 2}, "Mixing bins - event plane angle"};

Check failure on line 103 in PWGEM/PhotonMeson/Core/TaggingPi0.h

View workflow job for this annotation

GitHub Actions / O2 linter

[external-pi]

Use the PI constant (and its multiples and fractions) defined in o2::constants::math.
ConfigurableAxis ConfOccupancyBins{"ConfOccupancyBins", {VARIABLE_WIDTH, -1, 1e+10}, "Mixing bins - occupancy"};
ConfigurableAxis ConfPtBins{"ConfPtBins", {100, 0, 10}, "pT bins for output histograms"};

Expand Down Expand Up @@ -465,7 +468,12 @@
initCCDB(collision);
int ndiphoton = 0;

if (eventcuts.onlyKeepWeightedEvents && std::fabs(collision.weight() - 1.f) < 1e-10) {
float weight = 1.f;
if constexpr (std::is_same_v<std::decay_t<TCollisions>, FilteredMyCollisionsWithJJMC>) {
weight = collision.weight();
}

if (eventcuts.onlyKeepWeightedEvents && std::fabs(weight - 1.f) < 1e-10) {
continue;
}

Expand All @@ -474,13 +482,13 @@
continue;
}

o2::aod::pwgem::photonmeson::utils::eventhistogram::fillEventInfo<0>(&fRegistry, collision, collision.weight());
o2::aod::pwgem::photonmeson::utils::eventhistogram::fillEventInfo<0>(&fRegistry, collision, weight);
if (!fEMEventCut.IsSelected(collision)) {
continue;
}
o2::aod::pwgem::photonmeson::utils::eventhistogram::fillEventInfo<1>(&fRegistry, collision, collision.weight());
fRegistry.fill(HIST("Event/before/hCollisionCounter"), 12.0, collision.weight()); // accepted
fRegistry.fill(HIST("Event/after/hCollisionCounter"), 12.0, collision.weight()); // accepted
o2::aod::pwgem::photonmeson::utils::eventhistogram::fillEventInfo<1>(&fRegistry, collision, weight);
fRegistry.fill(HIST("Event/before/hCollisionCounter"), 12.0, weight); // accepted
fRegistry.fill(HIST("Event/after/hCollisionCounter"), 12.0, weight); // accepted

int zbin = lower_bound(zvtx_bin_edges.begin(), zvtx_bin_edges.end(), collision.posZ()) - zvtx_bin_edges.begin() - 1;
if (zbin < 0) {
Expand Down Expand Up @@ -537,8 +545,8 @@
auto pos1 = g1.template posTrack_as<TSubInfos1>();
auto ele1 = g1.template negTrack_as<TSubInfos1>();
ROOT::Math::PtEtaPhiMVector v_gamma(g1.pt(), g1.eta(), g1.phi(), 0.);
fRegistry.fill(HIST("Photon/hPt"), v_gamma.Pt(), collision.weight());
fRegistry.fill(HIST("Photon/hEtaPhi"), v_gamma.Phi() > 0 ? v_gamma.Phi() : v_gamma.Phi() + 2 * M_PI, v_gamma.Eta(), collision.weight());
fRegistry.fill(HIST("Photon/hPt"), v_gamma.Pt(), weight);
fRegistry.fill(HIST("Photon/hEtaPhi"), v_gamma.Phi() > 0 ? v_gamma.Phi() : v_gamma.Phi() + 2 * M_PI, v_gamma.Eta(), weight);

for (const auto& [pos2, ele2] : combinations(CombinationsFullIndexPolicy(positrons_per_collision, electrons_per_collision))) {

Expand All @@ -561,7 +569,7 @@
ROOT::Math::PtEtaPhiMVector v_ele(ele2.pt(), ele2.eta(), ele2.phi(), o2::constants::physics::MassElectron);
ROOT::Math::PtEtaPhiMVector v_ee = v_pos + v_ele;
ROOT::Math::PtEtaPhiMVector veeg = v_gamma + v_pos + v_ele;
fRegistry.fill(HIST("Pair/same/hMvsPt"), veeg.M(), v_gamma.Pt(), collision.weight());
fRegistry.fill(HIST("Pair/same/hMvsPt"), veeg.M(), v_gamma.Pt(), weight);

std::pair<int, int> pair_tmp_id1 = std::make_pair(ndf, g1.globalIndex());
std::tuple<int, int, int, int> tuple_tmp_id2 = std::make_tuple(ndf, collision.globalIndex(), pos2.trackId(), ele2.trackId());
Expand All @@ -588,7 +596,7 @@
ROOT::Math::PtEtaPhiMVector v2(g2.pt(), g2.eta(), g2.phi(), 0.);
ROOT::Math::PtEtaPhiMVector v12 = v1 + v2;

fRegistry.fill(HIST("Pair/same/hMvsPt"), v12.M(), v1.Pt(), collision.weight());
fRegistry.fill(HIST("Pair/same/hMvsPt"), v12.M(), v1.Pt(), weight);

std::pair<int, int> pair_tmp_id1 = std::make_pair(ndf, g1.globalIndex());
std::pair<int, int> pair_tmp_id2 = std::make_pair(ndf, g2.globalIndex());
Expand Down Expand Up @@ -643,7 +651,7 @@
v2.SetM(g2.mass());
}
ROOT::Math::PtEtaPhiMVector v12 = v1 + v2;
fRegistry.fill(HIST("Pair/mix/hMvsPt"), v12.M(), v1.Pt(), collision.weight());
fRegistry.fill(HIST("Pair/mix/hMvsPt"), v12.M(), v1.Pt(), weight);
}
}
} // end of loop over mixed event pool
Expand Down Expand Up @@ -687,9 +695,36 @@
// }
ndf++;
}
PROCESS_SWITCH(TaggingPi0, processAnalysis, "process pair analysis", false);
PROCESS_SWITCH(TaggingPi0, processAnalysis, "process pair analysis", true);

using FilteredMyCollisionsWithJJMC = soa::Filtered<MyCollisionsWithJJMC>;
void processAnalysisJJMC(FilteredMyCollisionsWithJJMC const& collisions, Types const&... args)
{
// LOGF(info, "ndf = %d", ndf);
if constexpr (pairtype == PairType::kPCMDalitzEE) {
auto v0photons = std::get<0>(std::tie(args...));
auto v0legs = std::get<1>(std::tie(args...));
auto emprimaryelectrons = std::get<2>(std::tie(args...));
// LOGF(info, "electrons.size() = %d, positrons.size() = %d", electrons.size(), positrons.size());
runPairing(collisions, v0photons, emprimaryelectrons, v0legs, emprimaryelectrons, perCollision_pcm, perCollision_electron, fV0PhotonCut, fDileptonCut);
}
// else if constexpr (pairtype == PairType::kPCMEMC) {
// auto v0photons = std::get<0>(std::tie(args...));
// auto v0legs = std::get<1>(std::tie(args...));
// auto emcclusters = std::get<2>(std::tie(args...));
// auto emcmatchedtracks = std::get<3>(std::tie(args...));
// runPairing(collisions, v0photons, emcclusters, v0legs, nullptr, perCollision_pcm, perCollision_emc, fV0PhotonCut, fEMCCut, emcmatchedtracks, nullptr);
// } else if constexpr (pairtype == PairType::kPCMPHOS) {
// auto v0photons = std::get<0>(std::tie(args...));
// auto v0legs = std::get<1>(std::tie(args...));
// auto phosclusters = std::get<2>(std::tie(args...));
// runPairing(collisions, v0photons, phosclusters, v0legs, nullptr, perCollision_pcm, perCollision_phos, fV0PhotonCut, fPHOSCut, nullptr, nullptr);
// }
ndf++;
}
PROCESS_SWITCH(TaggingPi0, processAnalysisJJMC, "process pair analysis", false);

void processDummy(MyCollisions const&) {}
PROCESS_SWITCH(TaggingPi0, processDummy, "Dummy function", true);
PROCESS_SWITCH(TaggingPi0, processDummy, "Dummy function", false);
};
#endif // PWGEM_PHOTONMESON_CORE_TAGGINGPI0_H_
77 changes: 55 additions & 22 deletions PWGEM/PhotonMeson/Core/TaggingPi0MC.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,12 @@ using namespace o2::aod::pwgem::photonmeson::photonpair;
using namespace o2::aod::pwgem::photonmeson::utils::mcutil;
using namespace o2::aod::pwgem::dilepton::utils::mcutil;

using MyCollisions = soa::Join<aod::EMEvents, aod::EMEventsMult, aod::EMEventsCent, aod::EMMCEventLabels, aod::EMEventsWeight>;
using MyCollisions = soa::Join<aod::EMEvents, aod::EMEventsMult, aod::EMEventsCent, aod::EMMCEventLabels>;
using MyCollision = MyCollisions::iterator;

using MyCollisionsWithJJMC = soa::Join<MyCollisions, aod::EMEventsWeight>;
using MyCollisionWithJJMC = MyCollisionsWithJJMC::iterator;

using MyMCCollisions = soa::Join<aod::EMMCEvents, aod::BinnedGenPts>;
using MyMCCollision = MyMCCollisions::iterator;

Expand Down Expand Up @@ -429,7 +432,12 @@ struct TaggingPi0MC {
for (const auto& collision : collisions) {
initCCDB(collision);

if (eventcuts.onlyKeepWeightedEvents && std::fabs(collision.weight() - 1.f) < 1e-10) {
float weight = 1.f;
if constexpr (std::is_same_v<std::decay_t<TCollisions>, FilteredMyCollisionsWithJJMC>) {
weight = collision.weight();
}

if (eventcuts.onlyKeepWeightedEvents && std::fabs(weight - 1.f) < 1e-10) {
continue;
}

Expand All @@ -438,13 +446,13 @@ struct TaggingPi0MC {
continue;
}

o2::aod::pwgem::photonmeson::utils::eventhistogram::fillEventInfo<0>(&fRegistry, collision, collision.weight());
o2::aod::pwgem::photonmeson::utils::eventhistogram::fillEventInfo<0>(&fRegistry, collision, weight);
if (!fEMEventCut.IsSelected(collision)) {
continue;
}
o2::aod::pwgem::photonmeson::utils::eventhistogram::fillEventInfo<1>(&fRegistry, collision, collision.weight());
fRegistry.fill(HIST("Event/before/hCollisionCounter"), 12.0, collision.weight()); // accepted
fRegistry.fill(HIST("Event/after/hCollisionCounter"), 12.0, collision.weight()); // accepted
o2::aod::pwgem::photonmeson::utils::eventhistogram::fillEventInfo<1>(&fRegistry, collision, weight);
fRegistry.fill(HIST("Event/before/hCollisionCounter"), 12.0, weight); // accepted
fRegistry.fill(HIST("Event/after/hCollisionCounter"), 12.0, weight); // accepted

if constexpr (pairtype == PairType::kPCMDalitzEE) {
auto photons1_per_collision = photons1.sliceBy(perCollision1, collision.globalIndex());
Expand All @@ -457,8 +465,8 @@ struct TaggingPi0MC {
}

ROOT::Math::PtEtaPhiMVector v_gamma(g1.pt(), g1.eta(), g1.phi(), 0.f);
fRegistry.fill(HIST("Photon/candidate/hPt"), v_gamma.Pt(), collision.weight());
fRegistry.fill(HIST("Photon/candidate/hEtaPhi"), v_gamma.Phi() > 0 ? v_gamma.Phi() : v_gamma.Phi() + 2 * M_PI, v_gamma.Eta(), collision.weight());
fRegistry.fill(HIST("Photon/candidate/hPt"), v_gamma.Pt(), weight);
fRegistry.fill(HIST("Photon/candidate/hEtaPhi"), v_gamma.Phi() > 0 ? v_gamma.Phi() : v_gamma.Phi() + 2 * M_PI, v_gamma.Eta(), weight);

auto pos1 = g1.template posTrack_as<TSubInfos1>();
auto ele1 = g1.template negTrack_as<TSubInfos1>();
Expand All @@ -475,13 +483,13 @@ struct TaggingPi0MC {
}

if (g1mc.isPhysicalPrimary() || g1mc.producedByGenerator()) {
fRegistry.fill(HIST("Photon/primary/hPt"), v_gamma.Pt(), collision.weight());
fRegistry.fill(HIST("Photon/primary/hEtaPhi"), v_gamma.Phi() > 0 ? v_gamma.Phi() : v_gamma.Phi() + 2 * M_PI, v_gamma.Eta(), collision.weight());
fRegistry.fill(HIST("Photon/primary/hPt"), v_gamma.Pt(), weight);
fRegistry.fill(HIST("Photon/primary/hEtaPhi"), v_gamma.Phi() > 0 ? v_gamma.Phi() : v_gamma.Phi() + 2 * M_PI, v_gamma.Eta(), weight);
if (g1mc.has_mothers()) {
auto mp = g1mc.template mothers_first_as<TMCParticles>();
if (std::abs(mp.pdgCode()) == 111) {
fRegistry.fill(HIST("Photon/fromPi0/hPt"), v_gamma.Pt(), collision.weight());
fRegistry.fill(HIST("Photon/fromPi0/hEtaPhi"), v_gamma.Phi() > 0 ? v_gamma.Phi() : v_gamma.Phi() + 2 * M_PI, v_gamma.Eta(), collision.weight());
fRegistry.fill(HIST("Photon/fromPi0/hPt"), v_gamma.Pt(), weight);
fRegistry.fill(HIST("Photon/fromPi0/hEtaPhi"), v_gamma.Phi() > 0 ? v_gamma.Phi() : v_gamma.Phi() + 2 * M_PI, v_gamma.Eta(), weight);
}
}
} else if (IsFromWD(g1mc.template emmcevent_as<TMCCollisions>(), g1mc, mcparticles) > 0) {
Expand All @@ -491,11 +499,11 @@ struct TaggingPi0MC {
if (std::abs(str_had.pdgCode()) == 310 && f1fd_k0s_to_pi0 != nullptr) {
weight = f1fd_k0s_to_pi0->Eval(str_had.pt());
}
fRegistry.fill(HIST("Photon/fromWD/hPt"), v_gamma.Pt(), collision.weight() * weight);
fRegistry.fill(HIST("Photon/fromWD/hEtaPhi"), v_gamma.Phi() > 0 ? v_gamma.Phi() : v_gamma.Phi() + 2 * M_PI, v_gamma.Eta(), collision.weight() * weight);
fRegistry.fill(HIST("Photon/fromWD/hPt"), v_gamma.Pt(), weight * weight);
fRegistry.fill(HIST("Photon/fromWD/hEtaPhi"), v_gamma.Phi() > 0 ? v_gamma.Phi() : v_gamma.Phi() + 2 * M_PI, v_gamma.Eta(), weight * weight);
} else {
fRegistry.fill(HIST("Photon/fromHS/hPt"), v_gamma.Pt(), collision.weight());
fRegistry.fill(HIST("Photon/fromHS/hEtaPhi"), v_gamma.Phi() > 0 ? v_gamma.Phi() : v_gamma.Phi() + 2 * M_PI, v_gamma.Eta(), collision.weight());
fRegistry.fill(HIST("Photon/fromHS/hPt"), v_gamma.Pt(), weight);
fRegistry.fill(HIST("Photon/fromHS/hEtaPhi"), v_gamma.Phi() > 0 ? v_gamma.Phi() : v_gamma.Phi() + 2 * M_PI, v_gamma.Eta(), weight);
}

for (const auto& [pos2, ele2] : combinations(CombinationsFullIndexPolicy(positrons_per_collision, electrons_per_collision))) { // ULS
Expand Down Expand Up @@ -529,17 +537,17 @@ struct TaggingPi0MC {
ROOT::Math::PtEtaPhiMVector veeg = v_gamma + v_pos + v_ele;

if (pi0mc.isPhysicalPrimary() || pi0mc.producedByGenerator()) {
fRegistry.fill(HIST("Pair/primary/hMvsPt"), veeg.M(), v_gamma.Pt(), collision.weight());
fRegistry.fill(HIST("Pair/primary/hMvsPt"), veeg.M(), v_gamma.Pt(), weight);
} else if (IsFromWD(pi0mc.template emmcevent_as<TMCCollisions>(), pi0mc, mcparticles) > 0) {
int motherid_strhad = IsFromWD(pi0mc.template emmcevent_as<TMCCollisions>(), pi0mc, mcparticles);
auto str_had = mcparticles.iteratorAt(motherid_strhad);
float weight = 1.f;
if (std::abs(str_had.pdgCode()) == 310 && f1fd_k0s_to_pi0 != nullptr) {
weight = f1fd_k0s_to_pi0->Eval(str_had.pt());
}
fRegistry.fill(HIST("Pair/fromWD/hMvsPt"), veeg.M(), v_gamma.Pt(), collision.weight() * weight);
fRegistry.fill(HIST("Pair/fromWD/hMvsPt"), veeg.M(), v_gamma.Pt(), weight * weight);
} else {
fRegistry.fill(HIST("Pair/fromHS/hMvsPt"), veeg.M(), v_gamma.Pt(), collision.weight());
fRegistry.fill(HIST("Pair/fromHS/hMvsPt"), veeg.M(), v_gamma.Pt(), weight);
}

} // end of dielectron loop
Expand All @@ -557,7 +565,7 @@ struct TaggingPi0MC {
// ROOT::Math::PtEtaPhiMVector v12 = v1 + v2;
// if (pi0id > 0) {
// auto pi0mc = mcparticles.iteratorAt(pi0id);
// o2::aod::pwgem::photonmeson::utils::nmhistogram::fillTruePairInfo(&fRegistry, v12, pi0mc, mcparticles, mccollisions, f1fd_k0s_to_pi0, collision.weight());
// o2::aod::pwgem::photonmeson::utils::nmhistogram::fillTruePairInfo(&fRegistry, v12, pi0mc, mcparticles, mccollisions, f1fd_k0s_to_pi0, weight);
// }
} // end of pairing loop
} // end of pairing in same event
Expand Down Expand Up @@ -591,9 +599,34 @@ struct TaggingPi0MC {
// runPairing(collisions, v0photons, phosclusters, v0legs, nullptr, perCollision_pcm, perCollision_phos, fV0PhotonCut, fPHOSCut, nullptr, nullptr);
// }
}
PROCESS_SWITCH(TaggingPi0MC, processAnalysis, "process pair analysis", false);
PROCESS_SWITCH(TaggingPi0MC, processAnalysis, "process pair analysis", true);

using FilteredMyCollisionsWithJJMC = soa::Filtered<MyCollisionsWithJJMC>;
void processAnalysisJJMC(FilteredMyCollisionsWithJJMC const& collisions, MyMCCollisions const& mccollisions, aod::EMMCParticles const& mcparticles, Types const&... args)
{
if constexpr (pairtype == PairType::kPCMDalitzEE) {
auto v0photons = std::get<0>(std::tie(args...));
auto v0legs = std::get<1>(std::tie(args...));
auto emprimaryelectrons = std::get<2>(std::tie(args...));
// LOGF(info, "electrons.size() = %d, positrons.size() = %d", electrons.size(), positrons.size());
runTruePairing(collisions, v0photons, emprimaryelectrons, v0legs, emprimaryelectrons, perCollision_pcm, perCollision_electron, fV0PhotonCut, fDileptonCut, mccollisions, mcparticles);
}
// else if constexpr (pairtype == PairType::kPCMEMC) {
// auto v0photons = std::get<0>(std::tie(args...));
// auto v0legs = std::get<1>(std::tie(args...));
// auto emcclusters = std::get<2>(std::tie(args...));
// auto emcmatchedtracks = std::get<3>(std::tie(args...));
// runPairing(collisions, v0photons, emcclusters, v0legs, nullptr, perCollision_pcm, perCollision_emc, fV0PhotonCut, fEMCCut, emcmatchedtracks, nullptr);
// } else if constexpr (pairtype == PairType::kPCMPHOS) {
// auto v0photons = std::get<0>(std::tie(args...));
// auto v0legs = std::get<1>(std::tie(args...));
// auto phosclusters = std::get<2>(std::tie(args...));
// runPairing(collisions, v0photons, phosclusters, v0legs, nullptr, perCollision_pcm, perCollision_phos, fV0PhotonCut, fPHOSCut, nullptr, nullptr);
// }
}
PROCESS_SWITCH(TaggingPi0MC, processAnalysisJJMC, "process pair analysis", false);

void processDummy(MyCollisions const&) {}
PROCESS_SWITCH(TaggingPi0MC, processDummy, "Dummy function", true);
PROCESS_SWITCH(TaggingPi0MC, processDummy, "Dummy function", false);
};
#endif // PWGEM_PHOTONMESON_CORE_TAGGINGPI0MC_H_
Loading