= `pSPSS`: Phenomenological symmetry protected seesaw = The motivation and implementation of the `pSPSS` is discussed in S. Antusch, J. Hajer, and J. Rosskopp. ‘Simulating heavy neutrino-antineutrino oscillations at colliders’ (2022). == Model description == The `pSPSS` describes the interactions of a pseudo-Dirac pair of two Majorana degrees of freedom [[latex($N_1$)]] and [[latex($N_2$)]] generically appearing in low-scale seesaw models protected by a lepton-number like symmetry.[[BR]] In the lepton number conserving (LNC) limit the interactions of the symmetry protected seesaw (SPSS) with the Standard Model are [[latex($\mathcal L_\text{SPSS}^L = \overline N_i \, i\!\! \not\! \partial N_i - y_{\alpha1} \widetilde H^\dagger \bar \ell_\alpha N_1^c - \overline N_1 m_M^{} N_2^c + \text{H.c.}$)]] The additional lepton number violating (LNV) interactions must be small in order to generate light neutrino masses.[[BR]] Additionally, they introduce a small mass splitting [[latex($\Delta m$)]] between the two heavy neutrino mass eigen states [[latex($m_{4/5}^{} = m_M^{} + \frac12 m_M^{} |\theta|^2 \mp \frac12 \Delta m$)]] where the contribution with the active sterile mixing parameter [[latex($\theta = m_D / m_M$)]] with [[latex($m_D = y_1 v$)]] and [[latex($v\simeq174 \text{ GeV}$)]] appears already in the LNC case.[[BR]] The smallness of the LNV interactions ensures unobservable collider effects, with the exception of heavy neutrino-antineutrino oscillations since these are a macroscopic interference effect [[latex($P^{\text{LNC}/\text{LNV}}_\text{osc}(\tau) = (1 \pm \cos\left(\Delta m \tau \right) \exp(-\lambda))/2$)]] where [[latex($\lambda$)]] captures the damping of the oscillations due to decoherence.[[BR]] Therefore, the details of the seesaw model besides the generated mass splitting can be neglected when simulating pseudo-Dirac heavy neutrinos as long as the neutrino-antineutrino oscillations are taken into account. == !FeynRules implementation == The !FeynRules model file contains in addition to the Standard Model parameter as free parameter the heavy neutrino * mixing parameter [[latex($\theta_\alpha$)]] `theta1`, `theta2`, `theta3` * Majorana mass [[latex($m_M$)]] `Mmaj` * Mass splitting [[latex($\Delta M$)]] `deltaM` * Damping parameter [[latex($\lambda$)]] `damping` == !MadGraph patch == In order to generate events with heavy neutrino-antineutrino oscillations it is necessary to patch the `./bin/internal/common_run_interface.py` file in !MadGraph using {{{ for event in lhe: leptonnumber = 0 write_event = True for particle in event: if particle.status == 1: if particle.pid in [11, 13, 15]: leptonnumber += 1 elif particle.pid in [-11, -13, -15]: leptonnumber -= 1 for particle in event: id = particle.pid width = param_card['decay'].get((abs(id),)).value mass splitting = param_card.get_value('FRBLOCK', 1) if width: if id in [8000011, 8000012]: tau0 = random.expovariate(width / cst) if 0.5 * (1 + math.cos(mass splitting * tau0 / cst)) >= random.random(): write_event = (leptonnumber == 0) else: write_event = (leptonnumber != 0) vtim = tau0 * c else: vtim = c * random.expovariate(width / cst) if vtim > threshold: particle.vtim = vtim # write this modify event if write_event: output.write(str(event)) output.write('\n') output.close() }}} The small mass splitting can cause problems in the automatic calculation of the decay width. One way to fix this problem is by replacing the argument of the square root of the return value of the function `calculate_apx_psarea` in the file `[MadGraph]/mg5decay/decay_objects.py` by its absolute value.