wiki:pSPSS

Version 4 (modified by Jan Hajer, 2 years ago) ( diff )

--

pSPSS: Phenomenological symmetry protected seesaw

The pSPSS describes the interactions of a pseudo-Dirac pair of two Majorana degrees of freedom

$N_1$
and
$N_2$
generically appearing in low-scale seesaw models. In the lepton number conserving (LNC) limit their interactions with the Standard Model are given by

$\mathcal L_\text{SPSS}^L = i \overline N_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. Additionally, they introduce a mass splitting

$\Delta m$
between the pseudo-Dirac heavy neutrino mass eigenstates

$m_{4/5}^{} = m_M^{} + \frac12 m_M^{} |\theta|^2 \mp \frac12 \Delta m$

The smallness of the lepton number violating interactions ensures unobservable collider effects, except for heavy neutrino-antineutrino oscillations as these are a macroscopic interference effect

$P^{\text{LNC}/\text{LNV}}_\text{osc}(\tau) = \frac{1 \pm \cos\left(\Delta m \tau \right) \exp(-\lambda)}2$

where

$\lambda$
captures the damping of the oscillations due to decoherence.

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 with

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)|\label{ln:tau0}|
                if 0.5 * (1 + math.cos(mass splitting * tau0 / cst)) >= random.random():
                    write_event = (leptonnumber == 0)
                else:
                    write_event = (leptonnumber != 0)
                vtim = tau0 * c|\label{ln:convert_tau0}|
            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('</LesHouchesEvents>\n')
output.close()

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.