Repository navigation
Conversation
|
Can you cite your physics sources? Also, if indeed some use-case was not accounted for, which is not that surprising since we haven't focused much on SUSY, then this helper should not be needed provided the overlooked bits get sorted at source, no? The helper seems to be going around the issue rather than addressing it at source. What do you think? (And don't give me an LLM reply as I like to exchange with human contributors, not bots.) |
|
Hello @syahra712, did you think about the issues at source to extend the lepton/baryon number functions to accurately account for SUSY particles? Let me know if you are interested to finalise this work in the best way possible. |
|
Hey @eduardo-rodrigues you're right and yes i want to finish it properly, i did got a channce to look deeper into it. On the helper part i would agree, it’s working around the real gap. pdgid has no way to say “this is a squark/slepton”. What i would propose as a plan for it is to Add is_squark / is_slepton to pdgid/functions.py next to is_quark / is_lepton: is_SUSY plus a fundamental-ID check (1–6 and 11–16), wired into PDGID like the others. j_spin() already handles SUSY this way from what i saw, so it might fit the module. Two quick questions i had eduardo, are you OK with those names? And should we go with 4th-gen partners count? I left them out as in nnow because 1000017/18 are already special-cased as neutral. |
r_paritygives +1 for squarks and sleptons, but the docstring (and physics) says SUSY partners have R = -1. Gauginos are already right.Cause:
R = (-1)^(3B + L + 2s)usesbaryon_numberandlepton_number. These only look atis_quark/is_lepton, which cover IDs 1-8 and 11-18. So a squark ends up with B = 0, a slepton with L = 0, and with s = 0 the exponent is even.Fix: squarks and sleptons carry the B and L of their SM partner. A small
_sm_partner_pdgidhelper maps a SUSY ID like±1000001/±2000013to±1/±13, andbaryon_number/lepton_numbercheck that. Non-SUSY IDs are unchanged.Tests: added
test_r_parity_susy_particles, which covers squarks, sleptons, a sneutrino, the gluino, a neutralino and a chargino.test_generation.py::test_generate, which fails the same way on main with my local pandas.I also added a changelog entry under WIP.
AI-assisted (Claude): I used it to help read the code and draft the test. I reviewed and ran everything myself.