-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Missing states for certain allowed_intermediate_particles
(h(1)(1415)
)
#165
Comments
Currently working out a fix in #166. The problem seems to originate from the point where QRules finds particle candidates for each of the quantum number sets it has found. A method will be extracted so that those quantum numbers can be inspected first (#168). Until then, if you use QRules for building amplitude models with AmpForm, a quick fix is to merge the solutions you have found as follows: import qrules
reaction1 = qrules.generate_transitions(
initial_state=("psi(2S)", [+1, -1]),
final_state=["eta", "K-", "K*(892)+"],
allowed_intermediate_particles=["h(1)(1415)"],
)
reaction2 = qrules.generate_transitions(
initial_state=("psi(2S)", [+1, -1]),
final_state=["eta", "K-", "K*(892)+"],
allowed_intermediate_particles=["omega(1420)"],
)
reaction = qrules.ReactionInfo(
reaction1.transitions + reaction2.transitions,
formalism=reaction1.formalism,
) It doesn't solve the underlying problem, but at least you have a --> This requires pre-release 0.10.0a1, or at least c6c35de. pip install qrules==0.10.0a1 |
allowed_intermediate_particles
I suspect it has something to do with the fact that the graph settings are affected by the choice of qrules/src/qrules/transition.py Lines 443 to 450 in b5017b6
only
|
Solution for now (see also scikit-hep/particle#486): import graphviz
import qrules
PDG = qrules.load_pdg()
h1415 = PDG["h(1)(1415)"]
new_h1415 = qrules.particle.create_particle(
h1415,
isospin=qrules.particle.Spin(0, 0),
)
PDG.remove(h1415)
PDG.add(new_h1415)
reaction = qrules.generate_transitions(
initial_state=[("psi(2S)", [+1, -1])],
final_state=["eta", "K-", "K*(892)+"],
allowed_intermediate_particles=["h(1)(1415)", "omega(1650)"],
particle_db=PDG,
)
dot = qrules.io.asdot(reaction, collapse_graphs=True)
graphviz.Source(dot) Another solution might be to extend the quantum number domains for edge numbers that are not there, for instance by adding something like this: for edge_qn, domain in self.interaction_type_settings[
InteractionType.WEAK
][0].items():
if edge_qn not in intermediate_edge_domains:
intermediate_edge_domains[edge_qn].update(domain) after this line qrules/src/qrules/transition.py Lines 451 to 453 in 81eead8
This will, however, remove the original |
allowed_intermediate_particles
allowed_intermediate_particles
(h(1)(1415)
)
allowed_intermediate_particles
(h(1)(1415)
)allowed_intermediate_particles
(h(1)(1415)
)
Original report by @Junliihep
When I generate a transition with intermediate state
"h(1)(1415)"
, if I only add this state, it's ok.For example:
will work. But if I add any other state, it will fail.
For example:
will ignore
h(1)(1415)
and only generate a transition withomega(1420)
,and
will ignore
h(1)(1415)
and fail.The text was updated successfully, but these errors were encountered: