Closed FlorianReiss closed 1 year ago
Hello @FlorianReiss . First things first, thank you for the interest in the 2 packages.
The AmpGen/Goofit part of this package is the only one I'm not really familiar with, but let me try and give you a few pointers that may complement what @henryiii may tell you about the submodule.
Though the PDG lists the K(1460) as an established particle, see https://pdglive.lbl.gov/ParticleGroup.action?init=0&node=MXXX020 and https://pdglive.lbl.gov/Particle.action?init=0&node=M021&home=MXXX020, the PDG data table we use to provide particle data information does not contain it yet. That's something that the PDG may be able to explain; I do not know. We do list the particle in our "database", but understandably do not provide unmeasured properties (provided by the PDG data). This is what you see from
>>> p = Particle.from_pdgid(100321)
>>> p
<Particle: name="K(1460)+", pdgid=100321, mass=None>
>>> print(p.describe())
Name: K(1460)+ ID: 100321 Latex: $K(1460)^{+}$
Mass = None
Width = None
Q (charge) = + J (total angular) = 0.0 P (space parity) = None
C (charge parity) = None I (isospin) = 0.5 G (G-parity) = None
Quarks: uS
Antiparticle name: K(1460)- (antiparticle status: ChargeInv)
I can dwell on more details, if so I'm happy to talk in person / via Zoom if you welcome that. (We extend the list of particles provided by the PDG via https://github.com/scikit-hep/particle/blob/master/src/particle/data/mass_width_2008_ext.fwf, etc. ...)
But you can easily update properties on the fly, if you want. For example,
>>> p.P = Parity.m
>>> print(p.describe())
Name: K(1460)+ ID: 100321 Latex: $K(1460)^{+}$
Mass = None
Width = None
Q (charge) = + J (total angular) = 0.0 P (space parity) = -
C (charge parity) = None I (isospin) = 0.5 G (G-parity) = None
SpinType: SpinType.PseudoScalar
Quarks: uS
Antiparticle name: K(1460)- (antiparticle status: ChargeInv)
You can even define "user particles", see https://github.com/scikit-hep/particle#advanced-how-to-create-user-defined-particles ...
One of these methods should get you sorted as far as the K(1460) is concerned. Can you "play around" and confirm?
As for your other problem. I did not check but indeed you can edit your MintDalitzSpecialParticles.csv file and change the PDG IDs of particles to suit your needs. You can use the functions in particle.functions to check you encoded the PDG ID OK to obtain the expected spin, parity, etc. The method print(p.describe())
is handy for that, for example.
I hope these give you already some points. Let us know your findings and do not hesitate to suggest updates/fixes as per your investigations. They will be very much appreciated.
BTW, if you define at some point some user particles, you can update/enhance the standard tables as explained in https://github.com/scikit-hep/particle#advanced-loading-custom-tables.
HTH.
thanks @eduardo-rodrigues for the very detailed pointers! With that I managed to fix the problems in the parser by modifying the MintDalitzSpecialParticles.csv
. I've opened a PR to document the changes https://github.com/scikit-hep/decaylanguage/pull/302
While this works for the moment, I would be happy to discuss how to update the particle properties in the particle package.
I still need to make some changes to make the resulting GooFit code compatible with the current version of GooFit out of the box, but with some manual changes I was able to compile it. Thanks again!
That's great to hear. As I'm about to be off, please ping me next week and we talk some way or another ... Thanks.
Hi, I see you keep working on the content of https://github.com/scikit-hep/decaylanguage/pull/302. Let us know when happy with things - maybe your updates require updates to tests as well?
In due time we can talk about Particle, as said.
Hello, I would like to use the functionality to convert AmpGen options files to GooFit code.
However, I'm running into issues. For example, trying to do
results in
Trying to understand this, I believe this is caused by some particles in the decay chain having
NonDefined
orUnknown
SpinType. From theparticle
package:One place where I noticed this, are the pipi and Kpi S-waves, which are described as quasi-particles in
MintDalitzSpecialParticles.csv
. In this case, theKPi20
quasi-particle is given the PDGID998112
. In my understanding, the last digit corresponds to 2*j+1, so its spin is 1/2, which I don't think is intended and results in an undefinedSpinType.NonDefined
. I believe this could be fixed by changing the last digits of the quasi-particles to 1 to represent spin 0. This requires changing another digit to have unique PDGIDs for all of them and I'm not sure which can be safely changed.Another problematic particle seems to be the
K(1460)
, which seems to have an undefined parityParity.u
and then results inSpinType.Unkown
. Here I'm not sure what causes this and how to fix it.Any help would be greatly appreciated!