3 | | == SPSS: Symmetry protected seesaw |
| 3 | The pSPSS describes the interactions of a pseudo-Dirac pair of two Majorana degrees of freedom generically appearing in low-scale seesaw models. |
| 4 | [[Image()]] |
| 5 | |
| 6 | == SPSS: Symmetry protected seesaw == |
| 7 | |
| 8 | == !MadGraph patch == |
| 9 | |
| 10 | In order to generate events with heavy neutrino-antineutrino oscillations it is necessary to patch the `./bin/internal/common_run_interface.py` file with |
| 11 | |
| 12 | |
| 13 | {{{ |
| 14 | for event in lhe: |
| 15 | leptonnumber = 0 |
| 16 | write_event = True |
| 17 | for particle in event: |
| 18 | if particle.status == 1: |
| 19 | if particle.pid in [11, 13, 15]: |
| 20 | leptonnumber += 1 |
| 21 | elif particle.pid in [-11, -13, -15]: |
| 22 | leptonnumber -= 1 |
| 23 | for particle in event: |
| 24 | id = particle.pid |
| 25 | width = param_card['decay'].get((abs(id),)).value |
| 26 | mass splitting = param_card.get_value('FRBLOCK', 1) |
| 27 | if width: |
| 28 | if id in [8000011, 8000012]: |
| 29 | tau0 = random.expovariate(width / cst)|\label{ln:tau0}| |
| 30 | if 0.5 * (1 + math.cos(mass splitting * tau0 / cst)) >= random.random(): |
| 31 | write_event = (leptonnumber == 0) |
| 32 | else: |
| 33 | write_event = (leptonnumber != 0) |
| 34 | vtim = tau0 * c|\label{ln:convert_tau0}| |
| 35 | else: |
| 36 | vtim = c * random.expovariate(width / cst) |
| 37 | if vtim > threshold: |
| 38 | particle.vtim = vtim |
| 39 | # write this modify event |
| 40 | if write_event: |
| 41 | output.write(str(event)) |
| 42 | output.write('</LesHouchesEvents>\n') |
| 43 | output.close() |
| 44 | }}} |
| 45 | |
| 46 | |