GENIE-MC / Generator

The popular GENIE Generator product is used by nearly all accelerator neutrino experiments and it plays a key role in the exploitation of neutrino data. The Generator implements a modern software framework and it includes state-of-the-art physics modules. It captures the latest results of the GENIE global analysis of neutrino scattering data and includes several tunes that were produced using the proprietary Comparisons and Tuning products. The GENIE physics model is universal and comprehensive: It handles all neutrinos and targets, and all processes relevant from MeV to PeV energy scales. The Generator includes several tools (flux drivers, detector geometry navigators, specialized event generation apps, event reweighting engines) to simulate complex experimental setups in full detail and to support generator-related analysis tasks.
http://www.genie-mc.org
42 stars 92 forks source link

Remove fatal error when a TGeoMixture object reports a duplicate nuclear PDG code #296

Closed sjgardiner closed 1 year ago

sjgardiner commented 1 year ago

This is no longer necessarily an error condition due to changes in how ROOT v6.25.02 handles isomers. See https://github.com/root-project/root/pull/8556 for details.

candreop commented 1 year ago

Don't we need a

if ROOT_VERSION_CODE >= ROOT_VERSION(6,25,2)

endif

block?

sjgardiner commented 1 year ago

@candreop A check of the ROOT version seems like overkill to me here, but @nusense should please give his opinion. Even with older versions of ROOT, throwing this fatal error may not be as useful as it originally seemed to be. In any case, the code will never return an incorrect weight (it sums over contributions from duplicate PDG codes as needed).

nusense commented 1 year ago

No, I don't think the ROOT_VERSION conditional is necessary. I'm not sure why it was ever a fatal error in the first place -- just that it never happened with the previous version of TGeoMixture handling. I'm not sure how it could ever be triggered by the previous ROOT versions.