Skip to content

PDG: Unify masses in PhysicsConstants.h and O2DatabasePDG - #12311

Merged
shahor02 merged 11 commits into
AliceO2Group:devfrom
vkucera:pdg
Nov 23, 2023
Merged

PDG: Unify masses in PhysicsConstants.h and O2DatabasePDG#12311
shahor02 merged 11 commits into
AliceO2Group:devfrom
vkucera:pdg

Conversation

@vkucera

@vkuceravkucera commented Nov 23, 2023

Copy link
Copy Markdown
Collaborator

Declares additional enum values for particle PDG codes and defines mass constants for them + those in PDG_t.

This is one of the last steps of unifying the mass constants in O2 and O2Physics. (See AliceO2Group/O2Physics#2178) @ddobrigk@mpuccio

This moves the content of PDG.h (introduced in AliceO2Group/O2Physics#3115) into CommonConstants/PhysicsConstants.h and adds a Python script for generating it from O2DatabasePDG.

Context

Current situation

  • Masses in PhysicsConstants.h are different from the ones provided by the O2DatabasePDG service.
  • O2P/PWGHF/Core/PDG.h + the update script provides constants and PDG enums for particles used in the analyses, which have names consistent with the naming scheme in ROOT/PDG_t and mass values equal to those in O2DatabasePDG.
  • We need the enums, the constants and the service and we need to keep them synced.

Result

  • All needed PDG masses are accessible from a single location: PhysicsConstants.h in a single namespace: o2::constants::physics.
  • Code using constants currently defined in PhysicsConstants.h does not need to be changed thanks to the aliases.
  • Mass values in headers (taken from o2::constants::physics) are equal to what one gets from the O2DatabasePDG service in the tasks.
  • Mass values can be synced with O2DatabasePDG by using a Python script which generates the body of the new block in PhysicsConstants.h. -> If masses change, someone knows about it and can update the header and inform the community.

Caveats

  • Change from float to double to guarantee equivalence with O2DatabasePDG.
  • Some masses change their values with this PR (see the table below) and will change them again with future ROOT upgrades and O2DatabasePDG modifications. (See Update script for PDG table root-project/root#13354)
  • This PR reverts the update of masses for XiCCPlusPlus and OmegaC0 previously done in RecoDecay (see the table below).

Mass comparison

ParticlePDG codePhysicsConstantsRecoDecayO2DatabasePDGROOT/v6-29-02
Photon220O2DatabasePDG00
Electron110.000511O2DatabasePDG0.000510998910.0005109990
Muon130.105658O2DatabasePDG0.1056580.1056584
PionCharged2110.13957O2DatabasePDG0.139570.1395704
PionNeutral1110.134976O2DatabasePDG0.1349770.1349768
KaonCharged3210.493677O2DatabasePDG0.4936770.4936770
KaonNeutral3110.497648O2DatabasePDG0.4976140.4976110
Proton22120.938272O2DatabasePDG0.9382720.9382721
Lambda31221.115683O2DatabasePDG1.115681.115683
Deuteron10000100201.8756129O2DatabasePDG1.87561294257x
Triton10000100302.8089211O2DatabasePDG2.80892113298x
Helium310000200302.8083916O2DatabasePDG2.80839160743x
Alpha10000200403.7273794O2DatabasePDG3.7273794066x
HyperTriton10100100302.992O2DatabasePDG2.99131x
Hyperhydrog410100100403.931O2DatabasePDG3.9226x
Hyperhelium410100200403.9218O2DatabasePDG3.9217x
XiMinus33121.32171O2DatabasePDG1.321711.321710
OmegaMinus33341.67245O2DatabasePDG1.672451.672450
XiCCPlusPlus4422x3.621553.597983.62155
OmegaC04332x2.695202.69752.695200

@shahor02
shahor02 merged commit 3d4e395 into AliceO2Group:devNov 23, 2023
@vkucera
vkucera deleted the pdg branch November 23, 2023 22:42
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@vkucera@shahor02