-
Notifications
You must be signed in to change notification settings - Fork 36
Hardcoded Proton Mass in Inclusive Kinematics Reconstruction #2560
Copy link
Copy link
Open
Description
Bug: Hardcoded Proton Mass in Inclusive Kinematics Reconstruction
Not sure if it's a bug or a feature....
Affected Files
src/algorithms/reco/InclusiveKinematicsDA.cc:79src/algorithms/reco/InclusiveKinematicsElectron.cc:64src/algorithms/reco/InclusiveKinematicsJB.cc:63src/algorithms/reco/InclusiveKinematicsSigma.cc:79src/algorithms/reco/InclusiveKinematicsESigma.cc:87
Description
All reconstructed inclusive kinematics methods hardcode the proton mass (PDG 2212)
when computing W and ν, regardless of the actual beam hadron species. This produces
incorrect results for ion beams (e.g. Au, Pb, He-3).
Example (DA method)
// InclusiveKinematicsDA.cc:79-85
static const auto m_proton = m_particleSvc.particle(2212).mass; // hardcoded
const auto nu_da = Q2_da / (2. * m_proton * x_da);
const auto W_da = sqrt(m_proton * m_proton + 2 * m_proton * nu_da - Q2_da);
What Works Correctly
The beam 4-momentum construction already uses the actual PDG mass of the beam particle:
// InclusiveKinematicsDA.cc:46-49
const auto& pi_particle = (*mc_beam_protons)[0];
const PxPyPzEVector pi(round_beam_four_momentum(
pi_particle.getMomentum(),
m_particleSvc.particle(pi_particle.getPDG()).mass, // correct
{41.0, 100.0, 275.0}, m_crossingAngle));
So x, Q2, and y are computed correctly. Only W and ν are affected.
Reference: Correct Pattern
InclusiveKinematicsTruth.cc:55 already does this correctly:
const auto pi_mass = m_particleSvc.particle(pi_coll[0].getPDG()).mass;
Proposed Fix
Replace the hardcoded lookup with the actual beam particle PDG mass in each affected
file, following the pattern used in InclusiveKinematicsTruth:
// Before
static const auto m_proton = m_particleSvc.particle(2212).mass;
// After
const auto m_beam = m_particleSvc.particle(pi_particle.getPDG()).mass;
Then substitute m_beam for m_proton in the W and ν expressions.
Note: For nuclear ion beams, whether to use the full ion mass or the per-nucleon
mass in W and ν is a physics convention that should be confirmed with collaborators.
Impact Summary
| Variable | Reconstructed methods | Truth method |
|----------|-----------------------|--------------|
| x, Q2, y | Correct | Correct |
| W, ν | Wrong for ion beams | Correct |
| ``` | | |Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels