From d234ed7d734e7b91f249165d22a2af0a6b1f5ab9 Mon Sep 17 00:00:00 2001 From: Zhen Wang <zhen.wang@cern.ch> Date: Sat, 10 Sep 2022 16:05:29 +0200 Subject: [PATCH 1/5] add CHresonance model into the Model list --- CHresonance_neutral_scalar_UFO.txt | 4 + .../CHresonance_neutral_scalar_UFO.log | 89 ++ .../CT_couplings.py | 11 + CHresonance_neutral_scalar_UFO/__init__.py | 48 + .../coupling_orders.py | 20 + CHresonance_neutral_scalar_UFO/couplings.py | 287 +++++ CHresonance_neutral_scalar_UFO/decays.py | 60 + .../feynrules/._Cabibbo.rst | Bin 0 -> 193 bytes .../feynrules/._DiagonalCKM.rst | Bin 0 -> 193 bytes .../feynrules/._Massless.rst | Bin 0 -> 193 bytes .../feynrules/._Notebook.nb | Bin 0 -> 82 bytes .../feynrules/._SM.fr | Bin 0 -> 193 bytes .../feynrules/Cabibbo.rst | 16 + .../feynrules/DiagonalCKM.rst | 11 + .../feynrules/Massless.rst | 26 + .../feynrules/Notebook.nb | 1137 +++++++++++++++++ .../feynrules/SM.fr | 729 +++++++++++ .../feynrules/neutral_scalar.fr | 40 + .../feynrules/neutral_scalar.tar.gz | Bin 0 -> 28830 bytes .../function_library.py | 71 + CHresonance_neutral_scalar_UFO/lorentz.py | 106 ++ .../object_library.py | 377 ++++++ CHresonance_neutral_scalar_UFO/parameters.py | 290 +++++ .../parametersTemplate.py | 289 +++++ CHresonance_neutral_scalar_UFO/particles.py | 401 ++++++ CHresonance_neutral_scalar_UFO/propagators.py | 35 + CHresonance_neutral_scalar_UFO/vertices.py | 743 +++++++++++ .../write_param_card.py | 207 +++ 28 files changed, 4997 insertions(+) create mode 100644 CHresonance_neutral_scalar_UFO.txt create mode 100644 CHresonance_neutral_scalar_UFO/CHresonance_neutral_scalar_UFO.log create mode 100644 CHresonance_neutral_scalar_UFO/CT_couplings.py create mode 100644 CHresonance_neutral_scalar_UFO/__init__.py create mode 100644 CHresonance_neutral_scalar_UFO/coupling_orders.py create mode 100644 CHresonance_neutral_scalar_UFO/couplings.py create mode 100644 CHresonance_neutral_scalar_UFO/decays.py create mode 100644 CHresonance_neutral_scalar_UFO/feynrules/._Cabibbo.rst create mode 100644 CHresonance_neutral_scalar_UFO/feynrules/._DiagonalCKM.rst create mode 100644 CHresonance_neutral_scalar_UFO/feynrules/._Massless.rst create mode 100644 CHresonance_neutral_scalar_UFO/feynrules/._Notebook.nb create mode 100644 CHresonance_neutral_scalar_UFO/feynrules/._SM.fr create mode 100644 CHresonance_neutral_scalar_UFO/feynrules/Cabibbo.rst create mode 100644 CHresonance_neutral_scalar_UFO/feynrules/DiagonalCKM.rst create mode 100644 CHresonance_neutral_scalar_UFO/feynrules/Massless.rst create mode 100644 CHresonance_neutral_scalar_UFO/feynrules/Notebook.nb create mode 100644 CHresonance_neutral_scalar_UFO/feynrules/SM.fr create mode 100644 CHresonance_neutral_scalar_UFO/feynrules/neutral_scalar.fr create mode 100644 CHresonance_neutral_scalar_UFO/feynrules/neutral_scalar.tar.gz create mode 100644 CHresonance_neutral_scalar_UFO/function_library.py create mode 100644 CHresonance_neutral_scalar_UFO/lorentz.py create mode 100644 CHresonance_neutral_scalar_UFO/object_library.py create mode 100644 CHresonance_neutral_scalar_UFO/parameters.py create mode 100644 CHresonance_neutral_scalar_UFO/parametersTemplate.py create mode 100644 CHresonance_neutral_scalar_UFO/particles.py create mode 100644 CHresonance_neutral_scalar_UFO/propagators.py create mode 100644 CHresonance_neutral_scalar_UFO/vertices.py create mode 100644 CHresonance_neutral_scalar_UFO/write_param_card.py diff --git a/CHresonance_neutral_scalar_UFO.txt b/CHresonance_neutral_scalar_UFO.txt new file mode 100644 index 0000000..5cce9ef --- /dev/null +++ b/CHresonance_neutral_scalar_UFO.txt @@ -0,0 +1,4 @@ +Requestor: Zhen Wang +Content: Singlet-catalyzed electroweak phase transitions from Ashutosh V. Kotwal +Paper: https://journals.aps.org/prd/abstract/10.1103/PhysRevD.94.035022 +JIRA: https://its.cern.ch/jira/browse/ATLMCPROD-6413 (old ZZ sample request) diff --git a/CHresonance_neutral_scalar_UFO/CHresonance_neutral_scalar_UFO.log b/CHresonance_neutral_scalar_UFO/CHresonance_neutral_scalar_UFO.log new file mode 100644 index 0000000..b92dd56 --- /dev/null +++ b/CHresonance_neutral_scalar_UFO/CHresonance_neutral_scalar_UFO.log @@ -0,0 +1,89 @@ +# This file was automatically created by FeynRules 2.0.2 +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (February 23, 2011) +# Date: Wed 8 Oct 2014 20:38:51 + + +# +# This is the logfile for the model CHresonance_neutral_scalar + +# Authors: N. Christensen, C. Duhr, B. Fuks +# Model version: 1.4.5 +# Checking the Quantum numbers + * Electric charge defined. +# Checking the Lagrangians + * All Lagrangians are ok. +# +# Particle definitions +# + + * No particles removed. All particles correspond to GenInt setup. + +# Automatically assigned PDG numbers + * Assigned PDG number 9000001 to particle ghA + * Assigned PDG number 9000002 to particle ghZ + * Assigned PDG number 9000003 to particle ghWp + * Assigned PDG number 9000004 to particle ghWm + * Assigned PDG number 9000005 to particle ghG + * Assigned PDG number 9000006 to particle s0 + + +# Compulsory PDG codes: + * Class SM leptons complete. + * Class SM neutrinos complete. + * Class SM quarks complete. + * Class SM gauge bosons complete. +# +# Parameter definitions +# + + * All parameters are ok. + + +# Vertices + * Calling FeynmanRules for 2 Lagrangians. + * Number of classes vertices: 96 + * Number of flavored vertices: 122 + * Saved vertices in InterfaceRun[ 1 ]. + * Checked QNumber conservation. + - Quantum number GhostNumber conserved in all vertices. + - Quantum number LeptonNumber conserved in all vertices. + - Quantum number Q conserved in all vertices. + - Quantum number Y conserved in all vertices. + * particles.py written. + * parameters.py written. +# +# Vertex definitions +# + + * 122 vertices written. + * vertices.py written. +# +# Lorentz structure definitions +# + + * 23 lorentz structures written. + * lorentz.py written. +# +# Coupling definitions +# + + * 69 couplings written. + * couplings.py written. +# +# Coupling order definitions +# + + * 0 couplings orders written. + * coupling_orders.py written. +# +# Decay definitions +# + + * 7 decays written. + * decay.py not written +# +# CTCoupling definitions +# + + * 0 CTcouplings written. + * CT_couplings.py written. diff --git a/CHresonance_neutral_scalar_UFO/CT_couplings.py b/CHresonance_neutral_scalar_UFO/CT_couplings.py new file mode 100644 index 0000000..c8efdce --- /dev/null +++ b/CHresonance_neutral_scalar_UFO/CT_couplings.py @@ -0,0 +1,11 @@ +# This file was automatically created by FeynRules 2.0.2 +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (February 23, 2011) +# Date: Wed 8 Oct 2014 20:39:09 + + +from object_library import all_couplings, Coupling + +from function_library import complexconjugate, re, im, csc, sec, acsc, asec, cot + + + diff --git a/CHresonance_neutral_scalar_UFO/__init__.py b/CHresonance_neutral_scalar_UFO/__init__.py new file mode 100644 index 0000000..83ac15a --- /dev/null +++ b/CHresonance_neutral_scalar_UFO/__init__.py @@ -0,0 +1,48 @@ + +import particles +import couplings +import lorentz +import parameters +import vertices +import coupling_orders +import write_param_card +import propagators + + +all_particles = particles.all_particles +all_vertices = vertices.all_vertices +all_couplings = couplings.all_couplings +all_lorentz = lorentz.all_lorentz +all_parameters = parameters.all_parameters +all_orders = coupling_orders.all_orders +all_functions = function_library.all_functions +all_propagators = propagators.all_propagators + +try: + import decays +except ImportError: + pass +else: + all_decays = decays.all_decays + +try: + import form_factors +except ImportError: + pass +else: + all_form_factors = form_factors.all_form_factors + +try: + import CT_vertices +except ImportError: + pass +else: + all_CTvertices = CT_vertices.all_CTvertices + + +gauge = [0, 1] + + +__author__ = "N. Christensen, C. Duhr, B. Fuks" +__date__ = "21. 11. 2012" +__version__= "1.4.5" diff --git a/CHresonance_neutral_scalar_UFO/coupling_orders.py b/CHresonance_neutral_scalar_UFO/coupling_orders.py new file mode 100644 index 0000000..0178e7e --- /dev/null +++ b/CHresonance_neutral_scalar_UFO/coupling_orders.py @@ -0,0 +1,20 @@ +# This file was automatically created by FeynRules 2.0.2 +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (February 23, 2011) +# Date: Wed 8 Oct 2014 20:39:09 + + +from object_library import all_orders, CouplingOrder + + +QCD = CouplingOrder(name = 'QCD', + expansion_order = 99, + hierarchy = 1) + +QED = CouplingOrder(name = 'QED', + expansion_order = 99, + hierarchy = 2) + +NP = CouplingOrder(name = 'NP', + expansion_order = 99, + hierarchy = 1) + diff --git a/CHresonance_neutral_scalar_UFO/couplings.py b/CHresonance_neutral_scalar_UFO/couplings.py new file mode 100644 index 0000000..0f053c4 --- /dev/null +++ b/CHresonance_neutral_scalar_UFO/couplings.py @@ -0,0 +1,287 @@ +# This file was automatically created by FeynRules 2.0.2 +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (February 23, 2011) +# Date: Wed 8 Oct 2014 20:39:09 + + +from object_library import all_couplings, Coupling + +from function_library import complexconjugate, re, im, csc, sec, acsc, asec, cot + + + +GC_1 = Coupling(name = 'GC_1', + value = '-(ee*complex(0,1))/3.', + order = {'QED':1}) + +GC_2 = Coupling(name = 'GC_2', + value = '(2*ee*complex(0,1))/3.', + order = {'QED':1}) + +GC_3 = Coupling(name = 'GC_3', + value = '-(ee*complex(0,1))', + order = {'QED':1}) + +GC_4 = Coupling(name = 'GC_4', + value = 'ee*complex(0,1)', + order = {'QED':1}) + +GC_5 = Coupling(name = 'GC_5', + value = 'ee**2*complex(0,1)', + order = {'QED':2}) + +GC_6 = Coupling(name = 'GC_6', + value = '2*ee**2*complex(0,1)', + order = {'QED':2}) + +GC_7 = Coupling(name = 'GC_7', + value = '-ee**2/(2.*cw)', + order = {'QED':2}) + +GC_8 = Coupling(name = 'GC_8', + value = '(ee**2*complex(0,1))/(2.*cw)', + order = {'QED':2}) + +GC_9 = Coupling(name = 'GC_9', + value = 'ee**2/(2.*cw)', + order = {'QED':2}) + +GC_10 = Coupling(name = 'GC_10', + value = '-G', + order = {'QCD':1}) + +GC_11 = Coupling(name = 'GC_11', + value = 'complex(0,1)*G', + order = {'QCD':1}) + +GC_12 = Coupling(name = 'GC_12', + value = 'complex(0,1)*G**2', + order = {'QCD':2}) + +GC_13 = Coupling(name = 'GC_13', + value = 'I1b33', + order = {'QED':1}) + +GC_14 = Coupling(name = 'GC_14', + value = '-I2b33', + order = {'QED':1}) + +GC_15 = Coupling(name = 'GC_15', + value = 'I3b33', + order = {'QED':1}) + +GC_16 = Coupling(name = 'GC_16', + value = '-I4b33', + order = {'QED':1}) + +GC_17 = Coupling(name = 'GC_17', + value = '-2*complex(0,1)*lam', + order = {'QED':2}) + +GC_18 = Coupling(name = 'GC_18', + value = '-4*complex(0,1)*lam', + order = {'QED':2}) + +GC_19 = Coupling(name = 'GC_19', + value = '-6*complex(0,1)*lam', + order = {'QED':2}) + +GC_20 = Coupling(name = 'GC_20', + value = 'complex(0,1)*gweak*keta*MW', + order = {'NP':1}) + +GC_21 = Coupling(name = 'GC_21', + value = '(complex(0,1)*gweak*keta*MZ)/cw', + order = {'NP':1}) + +GC_22 = Coupling(name = 'GC_22', + value = '(ee**2*complex(0,1))/(2.*sw**2)', + order = {'QED':2}) + +GC_23 = Coupling(name = 'GC_23', + value = '-((ee**2*complex(0,1))/sw**2)', + order = {'QED':2}) + +GC_24 = Coupling(name = 'GC_24', + value = '(cw**2*ee**2*complex(0,1))/sw**2', + order = {'QED':2}) + +GC_25 = Coupling(name = 'GC_25', + value = '-ee/(2.*sw)', + order = {'QED':1}) + +GC_26 = Coupling(name = 'GC_26', + value = '-(ee*complex(0,1))/(2.*sw)', + order = {'QED':1}) + +GC_27 = Coupling(name = 'GC_27', + value = '(ee*complex(0,1))/(2.*sw)', + order = {'QED':1}) + +GC_28 = Coupling(name = 'GC_28', + value = '(ee*complex(0,1))/(sw*cmath.sqrt(2))', + order = {'QED':1}) + +GC_29 = Coupling(name = 'GC_29', + value = '-(cw*ee*complex(0,1))/(2.*sw)', + order = {'QED':1}) + +GC_30 = Coupling(name = 'GC_30', + value = '(cw*ee*complex(0,1))/(2.*sw)', + order = {'QED':1}) + +GC_31 = Coupling(name = 'GC_31', + value = '-((cw*ee*complex(0,1))/sw)', + order = {'QED':1}) + +GC_32 = Coupling(name = 'GC_32', + value = '(cw*ee*complex(0,1))/sw', + order = {'QED':1}) + +GC_33 = Coupling(name = 'GC_33', + value = '-ee**2/(2.*sw)', + order = {'QED':2}) + +GC_34 = Coupling(name = 'GC_34', + value = '-(ee**2*complex(0,1))/(2.*sw)', + order = {'QED':2}) + +GC_35 = Coupling(name = 'GC_35', + value = 'ee**2/(2.*sw)', + order = {'QED':2}) + +GC_36 = Coupling(name = 'GC_36', + value = '(-2*cw*ee**2*complex(0,1))/sw', + order = {'QED':2}) + +GC_37 = Coupling(name = 'GC_37', + value = '-(ee*complex(0,1)*sw)/(6.*cw)', + order = {'QED':1}) + +GC_38 = Coupling(name = 'GC_38', + value = '(ee*complex(0,1)*sw)/(2.*cw)', + order = {'QED':1}) + +GC_39 = Coupling(name = 'GC_39', + value = '-(cw*ee)/(2.*sw) - (ee*sw)/(2.*cw)', + order = {'QED':1}) + +GC_40 = Coupling(name = 'GC_40', + value = '-(cw*ee*complex(0,1))/(2.*sw) + (ee*complex(0,1)*sw)/(2.*cw)', + order = {'QED':1}) + +GC_41 = Coupling(name = 'GC_41', + value = '(cw*ee*complex(0,1))/(2.*sw) + (ee*complex(0,1)*sw)/(2.*cw)', + order = {'QED':1}) + +GC_42 = Coupling(name = 'GC_42', + value = '(cw*ee**2*complex(0,1))/sw - (ee**2*complex(0,1)*sw)/cw', + order = {'QED':2}) + +GC_43 = Coupling(name = 'GC_43', + value = '-(ee**2*complex(0,1)) + (cw**2*ee**2*complex(0,1))/(2.*sw**2) + (ee**2*complex(0,1)*sw**2)/(2.*cw**2)', + order = {'QED':2}) + +GC_44 = Coupling(name = 'GC_44', + value = 'ee**2*complex(0,1) + (cw**2*ee**2*complex(0,1))/(2.*sw**2) + (ee**2*complex(0,1)*sw**2)/(2.*cw**2)', + order = {'QED':2}) + +GC_45 = Coupling(name = 'GC_45', + value = '-(ee**2*vev)/(2.*cw)', + order = {'QED':1}) + +GC_46 = Coupling(name = 'GC_46', + value = '(ee**2*vev)/(2.*cw)', + order = {'QED':1}) + +GC_47 = Coupling(name = 'GC_47', + value = '-2*complex(0,1)*lam*vev', + order = {'QED':1}) + +GC_48 = Coupling(name = 'GC_48', + value = '-6*complex(0,1)*lam*vev', + order = {'QED':1}) + +GC_49 = Coupling(name = 'GC_49', + value = '-(ee**2*vev)/(4.*sw**2)', + order = {'QED':1}) + +GC_50 = Coupling(name = 'GC_50', + value = '-(ee**2*complex(0,1)*vev)/(4.*sw**2)', + order = {'QED':1}) + +GC_51 = Coupling(name = 'GC_51', + value = '(ee**2*complex(0,1)*vev)/(2.*sw**2)', + order = {'QED':1}) + +GC_52 = Coupling(name = 'GC_52', + value = '(ee**2*vev)/(4.*sw**2)', + order = {'QED':1}) + +GC_53 = Coupling(name = 'GC_53', + value = '-(ee**2*vev)/(2.*sw)', + order = {'QED':1}) + +GC_54 = Coupling(name = 'GC_54', + value = '(ee**2*vev)/(2.*sw)', + order = {'QED':1}) + +GC_55 = Coupling(name = 'GC_55', + value = '-(ee**2*vev)/(4.*cw) - (cw*ee**2*vev)/(4.*sw**2)', + order = {'QED':1}) + +GC_56 = Coupling(name = 'GC_56', + value = '(ee**2*vev)/(4.*cw) - (cw*ee**2*vev)/(4.*sw**2)', + order = {'QED':1}) + +GC_57 = Coupling(name = 'GC_57', + value = '-(ee**2*vev)/(4.*cw) + (cw*ee**2*vev)/(4.*sw**2)', + order = {'QED':1}) + +GC_58 = Coupling(name = 'GC_58', + value = '(ee**2*vev)/(4.*cw) + (cw*ee**2*vev)/(4.*sw**2)', + order = {'QED':1}) + +GC_59 = Coupling(name = 'GC_59', + value = '-(ee**2*complex(0,1)*vev)/2. - (cw**2*ee**2*complex(0,1)*vev)/(4.*sw**2) - (ee**2*complex(0,1)*sw**2*vev)/(4.*cw**2)', + order = {'QED':1}) + +GC_60 = Coupling(name = 'GC_60', + value = 'ee**2*complex(0,1)*vev + (cw**2*ee**2*complex(0,1)*vev)/(2.*sw**2) + (ee**2*complex(0,1)*sw**2*vev)/(2.*cw**2)', + order = {'QED':1}) + +GC_61 = Coupling(name = 'GC_61', + value = '(-2*complex(0,1)*keta)/vweak', + order = {'NP':1}) + +GC_62 = Coupling(name = 'GC_62', + value = '-(yb/cmath.sqrt(2))', + order = {'QED':1}) + +GC_63 = Coupling(name = 'GC_63', + value = '-((complex(0,1)*yb)/cmath.sqrt(2))', + order = {'QED':1}) + +GC_64 = Coupling(name = 'GC_64', + value = '-((complex(0,1)*yt)/cmath.sqrt(2))', + order = {'QED':1}) + +GC_65 = Coupling(name = 'GC_65', + value = 'yt/cmath.sqrt(2)', + order = {'QED':1}) + +GC_66 = Coupling(name = 'GC_66', + value = '-ytau', + order = {'QED':1}) + +GC_67 = Coupling(name = 'GC_67', + value = 'ytau', + order = {'QED':1}) + +GC_68 = Coupling(name = 'GC_68', + value = '-(ytau/cmath.sqrt(2))', + order = {'QED':1}) + +GC_69 = Coupling(name = 'GC_69', + value = '-((complex(0,1)*ytau)/cmath.sqrt(2))', + order = {'QED':1}) + diff --git a/CHresonance_neutral_scalar_UFO/decays.py b/CHresonance_neutral_scalar_UFO/decays.py new file mode 100644 index 0000000..8ebc6c5 --- /dev/null +++ b/CHresonance_neutral_scalar_UFO/decays.py @@ -0,0 +1,60 @@ +# This file was automatically created by FeynRules 2.0.2 +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (February 23, 2011) +# Date: Wed 8 Oct 2014 20:39:09 + + +from object_library import all_decays, Decay +import particles as P + + +Decay_H = Decay(name = 'Decay_H', + particle = P.H, + partial_widths = {(P.b,P.b__tilde__):'((-12*MB**2*yb**2 + 3*MH**2*yb**2)*cmath.sqrt(-4*MB**2*MH**2 + MH**4))/(16.*cmath.pi*abs(MH)**3)', + (P.ta__minus__,P.ta__plus__):'((MH**2*ytau**2 - 4*MTA**2*ytau**2)*cmath.sqrt(MH**4 - 4*MH**2*MTA**2))/(16.*cmath.pi*abs(MH)**3)', + (P.t,P.t__tilde__):'((3*MH**2*yt**2 - 12*MT**2*yt**2)*cmath.sqrt(MH**4 - 4*MH**2*MT**2))/(16.*cmath.pi*abs(MH)**3)', + (P.W__minus__,P.W__plus__):'(((3*ee**4*vev**2)/(4.*sw**4) + (ee**4*MH**4*vev**2)/(16.*MW**4*sw**4) - (ee**4*MH**2*vev**2)/(4.*MW**2*sw**4))*cmath.sqrt(MH**4 - 4*MH**2*MW**2))/(16.*cmath.pi*abs(MH)**3)', + (P.Z,P.Z):'(((9*ee**4*vev**2)/2. + (3*ee**4*MH**4*vev**2)/(8.*MZ**4) - (3*ee**4*MH**2*vev**2)/(2.*MZ**2) + (3*cw**4*ee**4*vev**2)/(4.*sw**4) + (cw**4*ee**4*MH**4*vev**2)/(16.*MZ**4*sw**4) - (cw**4*ee**4*MH**2*vev**2)/(4.*MZ**2*sw**4) + (3*cw**2*ee**4*vev**2)/sw**2 + (cw**2*ee**4*MH**4*vev**2)/(4.*MZ**4*sw**2) - (cw**2*ee**4*MH**2*vev**2)/(MZ**2*sw**2) + (3*ee**4*sw**2*vev**2)/cw**2 + (ee**4*MH**4*sw**2*vev**2)/(4.*cw**2*MZ**4) - (ee**4*MH**2*sw**2*vev**2)/(cw**2*MZ**2) + (3*ee**4*sw**4*vev**2)/(4.*cw**4) + (ee**4*MH**4*sw**4*vev**2)/(16.*cw**4*MZ**4) - (ee**4*MH**2*sw**4*vev**2)/(4.*cw**4*MZ**2))*cmath.sqrt(MH**4 - 4*MH**2*MZ**2))/(32.*cmath.pi*abs(MH)**3)'}) + +Decay_Z = Decay(name = 'Decay_Z', + particle = P.Z, + partial_widths = {(P.W__minus__,P.W__plus__):'(((-12*cw**2*ee**2*MW**2)/sw**2 - (17*cw**2*ee**2*MZ**2)/sw**2 + (4*cw**2*ee**2*MZ**4)/(MW**2*sw**2) + (cw**2*ee**2*MZ**6)/(4.*MW**4*sw**2))*cmath.sqrt(-4*MW**2*MZ**2 + MZ**4))/(48.*cmath.pi*abs(MZ)**3)', + (P.ve,P.ve__tilde__):'(MZ**2*(ee**2*MZ**2 + (cw**2*ee**2*MZ**2)/(2.*sw**2) + (ee**2*MZ**2*sw**2)/(2.*cw**2)))/(48.*cmath.pi*abs(MZ)**3)', + (P.vm,P.vm__tilde__):'(MZ**2*(ee**2*MZ**2 + (cw**2*ee**2*MZ**2)/(2.*sw**2) + (ee**2*MZ**2*sw**2)/(2.*cw**2)))/(48.*cmath.pi*abs(MZ)**3)', + (P.vt,P.vt__tilde__):'(MZ**2*(ee**2*MZ**2 + (cw**2*ee**2*MZ**2)/(2.*sw**2) + (ee**2*MZ**2*sw**2)/(2.*cw**2)))/(48.*cmath.pi*abs(MZ)**3)', + (P.e__minus__,P.e__plus__):'(MZ**2*(-(ee**2*MZ**2) + (cw**2*ee**2*MZ**2)/(2.*sw**2) + (5*ee**2*MZ**2*sw**2)/(2.*cw**2)))/(48.*cmath.pi*abs(MZ)**3)', + (P.mu__minus__,P.mu__plus__):'(MZ**2*(-(ee**2*MZ**2) + (cw**2*ee**2*MZ**2)/(2.*sw**2) + (5*ee**2*MZ**2*sw**2)/(2.*cw**2)))/(48.*cmath.pi*abs(MZ)**3)', + (P.ta__minus__,P.ta__plus__):'((-5*ee**2*MTA**2 - ee**2*MZ**2 - (cw**2*ee**2*MTA**2)/(2.*sw**2) + (cw**2*ee**2*MZ**2)/(2.*sw**2) + (7*ee**2*MTA**2*sw**2)/(2.*cw**2) + (5*ee**2*MZ**2*sw**2)/(2.*cw**2))*cmath.sqrt(-4*MTA**2*MZ**2 + MZ**4))/(48.*cmath.pi*abs(MZ)**3)', + (P.u,P.u__tilde__):'(MZ**2*(-(ee**2*MZ**2) + (3*cw**2*ee**2*MZ**2)/(2.*sw**2) + (17*ee**2*MZ**2*sw**2)/(6.*cw**2)))/(48.*cmath.pi*abs(MZ)**3)', + (P.c,P.c__tilde__):'(MZ**2*(-(ee**2*MZ**2) + (3*cw**2*ee**2*MZ**2)/(2.*sw**2) + (17*ee**2*MZ**2*sw**2)/(6.*cw**2)))/(48.*cmath.pi*abs(MZ)**3)', + (P.t,P.t__tilde__):'((-11*ee**2*MT**2 - ee**2*MZ**2 - (3*cw**2*ee**2*MT**2)/(2.*sw**2) + (3*cw**2*ee**2*MZ**2)/(2.*sw**2) + (7*ee**2*MT**2*sw**2)/(6.*cw**2) + (17*ee**2*MZ**2*sw**2)/(6.*cw**2))*cmath.sqrt(-4*MT**2*MZ**2 + MZ**4))/(48.*cmath.pi*abs(MZ)**3)', + (P.d,P.d__tilde__):'(MZ**2*(ee**2*MZ**2 + (3*cw**2*ee**2*MZ**2)/(2.*sw**2) + (5*ee**2*MZ**2*sw**2)/(6.*cw**2)))/(48.*cmath.pi*abs(MZ)**3)', + (P.s,P.s__tilde__):'(MZ**2*(ee**2*MZ**2 + (3*cw**2*ee**2*MZ**2)/(2.*sw**2) + (5*ee**2*MZ**2*sw**2)/(6.*cw**2)))/(48.*cmath.pi*abs(MZ)**3)', + (P.b,P.b__tilde__):'((-7*ee**2*MB**2 + ee**2*MZ**2 - (3*cw**2*ee**2*MB**2)/(2.*sw**2) + (3*cw**2*ee**2*MZ**2)/(2.*sw**2) - (17*ee**2*MB**2*sw**2)/(6.*cw**2) + (5*ee**2*MZ**2*sw**2)/(6.*cw**2))*cmath.sqrt(-4*MB**2*MZ**2 + MZ**4))/(48.*cmath.pi*abs(MZ)**3)'}) + +Decay_W__plus__ = Decay(name = 'Decay_W__plus__', + particle = P.W__plus__, + partial_widths = {(P.ve,P.e__plus__):'(ee**2*MW**4)/(48.*cmath.pi*sw**2*abs(MW)**3)', + (P.vm,P.mu__plus__):'(ee**2*MW**4)/(48.*cmath.pi*sw**2*abs(MW)**3)', + (P.vt,P.ta__plus__):'((-MTA**2 + MW**2)*(-(ee**2*MTA**2)/(2.*sw**2) - (ee**2*MTA**4)/(2.*MW**2*sw**2) + (ee**2*MW**2)/sw**2))/(48.*cmath.pi*abs(MW)**3)', + (P.u,P.d__tilde__):'(ee**2*MW**4)/(16.*cmath.pi*sw**2*abs(MW)**3)', + (P.c,P.s__tilde__):'(ee**2*MW**4)/(16.*cmath.pi*sw**2*abs(MW)**3)', + (P.t,P.b__tilde__):'(((-3*ee**2*MB**2)/(2.*sw**2) - (3*ee**2*MT**2)/(2.*sw**2) - (3*ee**2*MB**4)/(2.*MW**2*sw**2) + (3*ee**2*MB**2*MT**2)/(MW**2*sw**2) - (3*ee**2*MT**4)/(2.*MW**2*sw**2) + (3*ee**2*MW**2)/sw**2)*cmath.sqrt(MB**4 - 2*MB**2*MT**2 + MT**4 - 2*MB**2*MW**2 - 2*MT**2*MW**2 + MW**4))/(48.*cmath.pi*abs(MW)**3)'}) + +Decay_ta__minus__ = Decay(name = 'Decay_ta__minus__', + particle = P.ta__minus__, + partial_widths = {(P.W__minus__,P.vt):'((MTA**2 - MW**2)*((ee**2*MTA**2)/(2.*sw**2) + (ee**2*MTA**4)/(2.*MW**2*sw**2) - (ee**2*MW**2)/sw**2))/(32.*cmath.pi*abs(MTA)**3)'}) + +Decay_b = Decay(name = 'Decay_b', + particle = P.b, + partial_widths = {(P.W__minus__,P.t):'(((3*ee**2*MB**2)/(2.*sw**2) + (3*ee**2*MT**2)/(2.*sw**2) + (3*ee**2*MB**4)/(2.*MW**2*sw**2) - (3*ee**2*MB**2*MT**2)/(MW**2*sw**2) + (3*ee**2*MT**4)/(2.*MW**2*sw**2) - (3*ee**2*MW**2)/sw**2)*cmath.sqrt(MB**4 - 2*MB**2*MT**2 + MT**4 - 2*MB**2*MW**2 - 2*MT**2*MW**2 + MW**4))/(96.*cmath.pi*abs(MB)**3)'}) + +Decay_t = Decay(name = 'Decay_t', + particle = P.t, + partial_widths = {(P.W__plus__,P.b):'(((3*ee**2*MB**2)/(2.*sw**2) + (3*ee**2*MT**2)/(2.*sw**2) + (3*ee**2*MB**4)/(2.*MW**2*sw**2) - (3*ee**2*MB**2*MT**2)/(MW**2*sw**2) + (3*ee**2*MT**4)/(2.*MW**2*sw**2) - (3*ee**2*MW**2)/sw**2)*cmath.sqrt(MB**4 - 2*MB**2*MT**2 + MT**4 - 2*MB**2*MW**2 - 2*MT**2*MW**2 + MW**4))/(96.*cmath.pi*abs(MT)**3)'}) + +Decay_s0 = Decay(name = 'Decay_s0', + particle = P.s0, + partial_widths = {(P.H,P.H):'(((4*keta**2*MH**4)/vweak**2 - (4*keta**2*MH**2*Ms0**2)/vweak**2 + (keta**2*Ms0**4)/vweak**2)*cmath.sqrt(-4*MH**2*Ms0**2 + Ms0**4))/(32.*cmath.pi*abs(Ms0)**3)', + (P.W__minus__,P.W__plus__):'((-(gweak**2*keta**2*Ms0**2) + (gweak**2*keta**2*Ms0**4)/(4.*MW**2) + 3*gweak**2*keta**2*MW**2)*cmath.sqrt(Ms0**4 - 4*Ms0**2*MW**2))/(16.*cmath.pi*abs(Ms0)**3)', + (P.Z,P.Z):'((-((gweak**2*keta**2*Ms0**2)/cw**2) + (gweak**2*keta**2*Ms0**4)/(4.*cw**2*MZ**2) + (3*gweak**2*keta**2*MZ**2)/cw**2)*cmath.sqrt(Ms0**4 - 4*Ms0**2*MZ**2))/(32.*cmath.pi*abs(Ms0)**3)'}) + diff --git a/CHresonance_neutral_scalar_UFO/feynrules/._Cabibbo.rst b/CHresonance_neutral_scalar_UFO/feynrules/._Cabibbo.rst new file mode 100644 index 0000000000000000000000000000000000000000..ba703fdbd8abc8944b1d3aea228f0c866553cc6e GIT binary patch literal 193 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62#d1;RaACNXHBy z)<o0Bh!7V|&d=3LEGWoH)hjGbEK1BP$;?Y-DAYFq0&7zvGYdmY!$j-g#I(esOzRqi IVu%O>04LTTg#Z8m literal 0 HcmV?d00001 diff --git a/CHresonance_neutral_scalar_UFO/feynrules/._DiagonalCKM.rst b/CHresonance_neutral_scalar_UFO/feynrules/._DiagonalCKM.rst new file mode 100644 index 0000000000000000000000000000000000000000..f9849dba7cb194697962e91d9cb7b7cdbedd341e GIT binary patch literal 193 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62#d1;U-WiNXHBy z)<o0Bh!7V|&d=3LEGWoH)hjGbEK1BP$;?Y-DAYFq0&7zvGYdmY!$j-g#I(esOzRqi IVu%O>04O{kh5!Hn literal 0 HcmV?d00001 diff --git a/CHresonance_neutral_scalar_UFO/feynrules/._Massless.rst b/CHresonance_neutral_scalar_UFO/feynrules/._Massless.rst new file mode 100644 index 0000000000000000000000000000000000000000..46d242504858a98415ed18aba5f20aac48c90070 GIT binary patch literal 193 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62#d1;TBLSNXHBy z)<o0Bh!7V|&d=3LEGWoH)hjGbEK1BP$;?Y-DAYFq0&7zvGYdmY!$j-g#I(esOzRqi IVu%O>04Sm#hX4Qo literal 0 HcmV?d00001 diff --git a/CHresonance_neutral_scalar_UFO/feynrules/._Notebook.nb b/CHresonance_neutral_scalar_UFO/feynrules/._Notebook.nb new file mode 100644 index 0000000000000000000000000000000000000000..6326e0f07c4b56bf4040056198300f6cfae35413 GIT binary patch literal 82 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u>uf-_(4F-5aJpU;_vI~&L9BdVFCb9 Cy#}5D literal 0 HcmV?d00001 diff --git a/CHresonance_neutral_scalar_UFO/feynrules/._SM.fr b/CHresonance_neutral_scalar_UFO/feynrules/._SM.fr new file mode 100644 index 0000000000000000000000000000000000000000..aeaa9da34a2f77df68bdd5ad967f30e04105bee6 GIT binary patch literal 193 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62#d1;SNwKNXHBy z)<o0Bh!7V|&d=3LEGWoH)hjGbEK1BP$;?Y-DAYFq0&7zvGYdmY!$j-g#I(esOzRqi IVu%O>04Z)Ci2wiq literal 0 HcmV?d00001 diff --git a/CHresonance_neutral_scalar_UFO/feynrules/Cabibbo.rst b/CHresonance_neutral_scalar_UFO/feynrules/Cabibbo.rst new file mode 100644 index 0000000..5402064 --- /dev/null +++ b/CHresonance_neutral_scalar_UFO/feynrules/Cabibbo.rst @@ -0,0 +1,16 @@ +(******************************************************************) +(* Restriction file for SM.fr *) +(* *) +(* All Yukawa couplings for light fermions (e,m,u,d,s) *) +(* are put to zero. *) +(* *) +(* Only Cabibbo mixing is taken into account in CKM *) +(******************************************************************) + +M$Restrictions = {yl[i_] :> 0 /; (i === 1) || (i === 2), + yu[1] -> 0, + yd[i_] :> 0 /; (i === 1) || (i === 2), + CKM[3,3] -> 1, + CKM[i_,3] :> 0 /; (i === 1) || (i ===2), + CKM[3,i_] :> 0 /; (i === 1) || (i ===2) +} \ No newline at end of file diff --git a/CHresonance_neutral_scalar_UFO/feynrules/DiagonalCKM.rst b/CHresonance_neutral_scalar_UFO/feynrules/DiagonalCKM.rst new file mode 100644 index 0000000..00e8816 --- /dev/null +++ b/CHresonance_neutral_scalar_UFO/feynrules/DiagonalCKM.rst @@ -0,0 +1,11 @@ +(******************************************************************) +(* Restriction file for SM.fr *) +(* *) +(* The CKM matrix is diagonal *) +(******************************************************************) + +M$Restrictions = { + CKM[i_,i_] -> 1, + CKM[i_?NumericQ, j_?NumericQ] :> 0 /; (i =!= j), + cabi -> 0 +} diff --git a/CHresonance_neutral_scalar_UFO/feynrules/Massless.rst b/CHresonance_neutral_scalar_UFO/feynrules/Massless.rst new file mode 100644 index 0000000..e8eeb32 --- /dev/null +++ b/CHresonance_neutral_scalar_UFO/feynrules/Massless.rst @@ -0,0 +1,26 @@ +(******************************************************************) +(* Restriction file for SM.fr *) +(* *) +(* Only the t and b quarks, and the tau lepton are massive *) +(******************************************************************) + +M$Restrictions = { + Me -> 0, + yme->0, + ye->0, + MMU -> 0, + ymm->0, + ym->0, + MU -> 0, + ymup->0, + yup->0, + MD -> 0, + ymdo->0, + ydo->0, + MS -> 0, + yms->0, + ys->0, + MC -> 0, + ymc-> 0, + yc -> 0 +} diff --git a/CHresonance_neutral_scalar_UFO/feynrules/Notebook.nb b/CHresonance_neutral_scalar_UFO/feynrules/Notebook.nb new file mode 100644 index 0000000..9e9ddd6 --- /dev/null +++ b/CHresonance_neutral_scalar_UFO/feynrules/Notebook.nb @@ -0,0 +1,1137 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 48082, 1128] +NotebookOptionsPosition[ 43974, 996] +NotebookOutlinePosition[ 44329, 1012] +CellTagsIndexPosition[ 44286, 1009] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["\<\ +Feynrules - Composite Higgs Resonances\ +\>", "Title", + CellChangeTimes->{{3.605618752716743*^9, 3.605618757950574*^9}, { + 3.6058757722119417`*^9, 3.605875777268808*^9}}, + FontSize->24, + FontColor->GrayLevel[1], + Background->GrayLevel[0]], + +Cell[BoxData[ + RowBox[{"Quit", "[", "]"}]], "Input", + CellChangeTimes->{{3.605618861320875*^9, 3.605618880207635*^9}, { + 3.605635005168662*^9, 3.6056350058380632`*^9}}], + +Cell[BoxData[ + RowBox[{ + RowBox[{"FR$Parallel", " ", "=", " ", "False"}], ";"}]], "Input", + CellChangeTimes->{{3.605619001829976*^9, 3.6056190561681433`*^9}, { + 3.605619339401984*^9, 3.605619342273584*^9}, {3.60563473959864*^9, + 3.60563474030869*^9}}], + +Cell[BoxData[ + RowBox[{ + RowBox[{"$FeynRulesPath", " ", "=", " ", + RowBox[{ + "SetDirectory", "[", "\"\</Users/mattlow/Software/FeynRules2/\>\"", + "]"}]}], ";"}]], "Input"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"<<", " ", "FeynRules`"}]], "Input", + CellChangeTimes->{{3.605619060724291*^9, 3.6056190658268213`*^9}}], + +Cell[CellGroupData[{ + +Cell[BoxData["\<\" - FeynRules - \"\>"], "Print", + CellChangeTimes->{3.605875836985937*^9, 3.605875894272051*^9, + 3.605882343522704*^9}], + +Cell[BoxData[ + InterpretationBox[ + RowBox[{"\<\"Version: \"\>", "\[InvisibleSpace]", "\<\"2.0.2\"\>", + "\[InvisibleSpace]", + RowBox[{"\<\" (\"\>", " ", "\<\"21 October 2013\"\>"}], + "\[InvisibleSpace]", "\<\").\"\>"}], + SequenceForm["Version: ", "2.0.2", " (" "21 October 2013", ")."], + Editable->False]], "Print", + CellChangeTimes->{3.605875836985937*^9, 3.605875894272051*^9, + 3.605882343527142*^9}], + +Cell[BoxData["\<\"Authors: A. Alloul, N. Christensen, C. Degrande, C. Duhr, \ +B. Fuks\"\>"], "Print", + CellChangeTimes->{3.605875836985937*^9, 3.605875894272051*^9, + 3.6058823435312967`*^9}], + +Cell[BoxData["\<\" \"\>"], "Print", + CellChangeTimes->{3.605875836985937*^9, 3.605875894272051*^9, + 3.605882343535253*^9}], + +Cell[BoxData["\<\"Please cite:\"\>"], "Print", + CellChangeTimes->{3.605875836985937*^9, 3.605875894272051*^9, + 3.605882343539241*^9}], + +Cell[BoxData["\<\" - arXiv:1310.1921;\"\>"], "Print", + CellChangeTimes->{3.605875836985937*^9, 3.605875894272051*^9, + 3.6058823435431843`*^9}], + +Cell[BoxData["\<\" - Comput.Phys.Commun.180:1614-1641,2009 \ +(arXiv:0806.4194).\"\>"], "Print", + CellChangeTimes->{3.605875836985937*^9, 3.605875894272051*^9, + 3.605882343547357*^9}], + +Cell[BoxData["\<\" \"\>"], "Print", + CellChangeTimes->{3.605875836985937*^9, 3.605875894272051*^9, + 3.6058823435516768`*^9}], + +Cell[BoxData["\<\"http://feynrules.phys.ucl.ac.be\"\>"], "Print", + CellChangeTimes->{3.605875836985937*^9, 3.605875894272051*^9, + 3.605882343556036*^9}], + +Cell[BoxData["\<\" \"\>"], "Print", + CellChangeTimes->{3.605875836985937*^9, 3.605875894272051*^9, + 3.6058823435600643`*^9}], + +Cell[BoxData["\<\"The FeynRules palette can be opened using the command \ +FRPalette[].\"\>"], "Print", + CellChangeTimes->{3.605875836985937*^9, 3.605875894272051*^9, + 3.60588234356409*^9}] +}, Open ]], + +Cell[BoxData[ + RowBox[{ + StyleBox[ + RowBox[{"Get", "::", "noopen"}], "MessageName"], + RowBox[{ + ":", " "}], "\<\"Cannot open \[NoBreak]\\!\\(\\\"FAToFR.m\\\"\\)\[NoBreak]. \ +\\!\\(\\*ButtonBox[\\\"\[RightSkeleton]\\\", ButtonStyle->\\\"Link\\\", \ +ButtonFrame->None, ButtonData:>\\\"paclet:ref/message/General/noopen\\\", \ +ButtonNote -> \\\"Get::noopen\\\"]\\)\"\>"}]], "Message", "MSG", + CellChangeTimes->{{3.605619585572277*^9, 3.6056196077975883`*^9}, + 3.60561985205474*^9, 3.605622418597084*^9, 3.605622470939652*^9, + 3.6056225643872128`*^9, 3.605622678178093*^9, 3.605622772301466*^9, + 3.605622914978488*^9, 3.605632947062608*^9, 3.60563319057358*^9, + 3.605633274960883*^9, 3.605633321355266*^9, 3.605633438275936*^9, + 3.6056347456852093`*^9, {3.6056350124966793`*^9, 3.605635039259606*^9}, + 3.605637108779278*^9, {3.605637195679698*^9, 3.605637225028183*^9}, + 3.605637287992268*^9, 3.605637342560418*^9, 3.605637481033449*^9, + 3.605637539495367*^9, 3.605637610404883*^9, 3.6056376582399263`*^9, + 3.605637702718152*^9, 3.60565295699905*^9, 3.6056531223195457`*^9, + 3.6056532842527037`*^9, 3.6056539820680227`*^9, 3.605654206239273*^9, { + 3.605654290239663*^9, 3.6056542944258842`*^9}, 3.605656362606439*^9, + 3.6056582925990067`*^9, 3.605658508408112*^9, {3.605658683656948*^9, + 3.605658709791214*^9}, 3.605658784466889*^9, 3.6056595237947407`*^9, + 3.6056598816239147`*^9, 3.605661357905642*^9, 3.605665013304759*^9, + 3.605665247749601*^9, 3.605665442368574*^9, {3.605875816573057*^9, + 3.605875839906644*^9}, 3.605875895188623*^9, 3.605882344549234*^9}] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Load Model ", "Section", + CellChangeTimes->{{3.6056192692699947`*^9, 3.605619290461377*^9}, { + 3.605635085707984*^9, 3.605635087980074*^9}, 3.605875784340205*^9}], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{"SetDirectory", "[", + "\"\</Users/mattlow/Software/FeynRules2/Models/Model_CHresonance\>\"", + "]"}], "\[IndentingNewLine]", + RowBox[{"LoadModel", "[", + RowBox[{"\"\<SM.fr\>\"", ",", "\"\<neutral_scalar.fr\>\""}], + "]"}], "\[IndentingNewLine]", + RowBox[{"LoadRestriction", "[", + RowBox[{"\"\<DiagonalCKM.rst\>\"", ",", "\"\<Massless.rst\>\""}], + "]"}]}], "Input", + CellChangeTimes->{{3.605619424691307*^9, 3.6056194362970877`*^9}, { + 3.6056195317958803`*^9, 3.605619568447425*^9}, {3.6056224948230658`*^9, + 3.605622541801384*^9}, {3.60562265570363*^9, 3.605622665292665*^9}, + 3.6056332001464043`*^9, {3.6058758508413973`*^9, 3.605875859894517*^9}}], + +Cell[BoxData["\<\"/Users/mattlow/Software/FeynRules2/Models/Model_CHresonance\ +\"\>"], "Output", + CellChangeTimes->{{3.6056196162034683`*^9, 3.605619643073296*^9}, + 3.605619861571529*^9, 3.6056224285835543`*^9, {3.605622526112595*^9, + 3.605622568823061*^9}, 3.6056226814832*^9, 3.605622775100486*^9, + 3.60562291710483*^9, 3.60563294983956*^9, 3.6056331940543613`*^9, + 3.605633276844449*^9, 3.605633402448938*^9, 3.605633439866679*^9, + 3.605634859906128*^9, {3.605635015189953*^9, 3.605635042654422*^9}, + 3.605637112245749*^9, {3.605637198372223*^9, 3.605637227469658*^9}, + 3.605656364074188*^9, 3.605658686433711*^9, {3.6058758605426702`*^9, + 3.6058758982809267`*^9}, 3.60588234818725*^9}], + +Cell[CellGroupData[{ + +Cell[BoxData["\<\"Merging model-files...\"\>"], "Print", + CellChangeTimes->{ + 3.605619616741845*^9, 3.6056196504421997`*^9, 3.605619861575075*^9, + 3.6056224286336527`*^9, {3.605622526115447*^9, 3.605622568856142*^9}, + 3.6056226814865217`*^9, 3.605622775103384*^9, 3.605622917108451*^9, + 3.605632949842614*^9, 3.6056331940577917`*^9, 3.605633276847851*^9, + 3.605633402452071*^9, 3.605633439870932*^9, 3.605634859909452*^9, { + 3.6056350151932497`*^9, 3.6056350426578293`*^9}, 3.605637112250169*^9, { + 3.60563719837819*^9, 3.6056372274730253`*^9}, 3.605656364078393*^9, + 3.6056586864378366`*^9, {3.605875860546157*^9, 3.605875898284733*^9}, + 3.605882348191485*^9}], + +Cell[BoxData["\<\"This model implementation was created by\"\>"], "Print", + CellChangeTimes->{ + 3.605619616741845*^9, 3.6056196504421997`*^9, 3.605619861575075*^9, + 3.6056224286336527`*^9, {3.605622526115447*^9, 3.605622568856142*^9}, + 3.6056226814865217`*^9, 3.605622775103384*^9, 3.605622917108451*^9, + 3.605632949842614*^9, 3.6056331940577917`*^9, 3.605633276847851*^9, + 3.605633402452071*^9, 3.605633439870932*^9, 3.605634859909452*^9, { + 3.6056350151932497`*^9, 3.6056350426578293`*^9}, 3.605637112250169*^9, { + 3.60563719837819*^9, 3.6056372274730253`*^9}, 3.605656364078393*^9, + 3.6056586864378366`*^9, {3.605875860546157*^9, 3.605875898284733*^9}, + 3.605882348238291*^9}], + +Cell[BoxData["\<\"N. Christensen\"\>"], "Print", + CellChangeTimes->{ + 3.605619616741845*^9, 3.6056196504421997`*^9, 3.605619861575075*^9, + 3.6056224286336527`*^9, {3.605622526115447*^9, 3.605622568856142*^9}, + 3.6056226814865217`*^9, 3.605622775103384*^9, 3.605622917108451*^9, + 3.605632949842614*^9, 3.6056331940577917`*^9, 3.605633276847851*^9, + 3.605633402452071*^9, 3.605633439870932*^9, 3.605634859909452*^9, { + 3.6056350151932497`*^9, 3.6056350426578293`*^9}, 3.605637112250169*^9, { + 3.60563719837819*^9, 3.6056372274730253`*^9}, 3.605656364078393*^9, + 3.6056586864378366`*^9, {3.605875860546157*^9, 3.605875898284733*^9}, + 3.6058823482424088`*^9}], + +Cell[BoxData["\<\"C. Duhr\"\>"], "Print", + CellChangeTimes->{ + 3.605619616741845*^9, 3.6056196504421997`*^9, 3.605619861575075*^9, + 3.6056224286336527`*^9, {3.605622526115447*^9, 3.605622568856142*^9}, + 3.6056226814865217`*^9, 3.605622775103384*^9, 3.605622917108451*^9, + 3.605632949842614*^9, 3.6056331940577917`*^9, 3.605633276847851*^9, + 3.605633402452071*^9, 3.605633439870932*^9, 3.605634859909452*^9, { + 3.6056350151932497`*^9, 3.6056350426578293`*^9}, 3.605637112250169*^9, { + 3.60563719837819*^9, 3.6056372274730253`*^9}, 3.605656364078393*^9, + 3.6056586864378366`*^9, {3.605875860546157*^9, 3.605875898284733*^9}, + 3.6058823482463627`*^9}], + +Cell[BoxData["\<\"B. Fuks\"\>"], "Print", + CellChangeTimes->{ + 3.605619616741845*^9, 3.6056196504421997`*^9, 3.605619861575075*^9, + 3.6056224286336527`*^9, {3.605622526115447*^9, 3.605622568856142*^9}, + 3.6056226814865217`*^9, 3.605622775103384*^9, 3.605622917108451*^9, + 3.605632949842614*^9, 3.6056331940577917`*^9, 3.605633276847851*^9, + 3.605633402452071*^9, 3.605633439870932*^9, 3.605634859909452*^9, { + 3.6056350151932497`*^9, 3.6056350426578293`*^9}, 3.605637112250169*^9, { + 3.60563719837819*^9, 3.6056372274730253`*^9}, 3.605656364078393*^9, + 3.6056586864378366`*^9, {3.605875860546157*^9, 3.605875898284733*^9}, + 3.605882348250326*^9}], + +Cell[BoxData[ + InterpretationBox[ + RowBox[{"\<\"Model Version: \"\>", "\[InvisibleSpace]", "\<\"1.4.5\"\>"}], + SequenceForm["Model Version: ", "1.4.5"], + Editable->False]], "Print", + CellChangeTimes->{ + 3.605619616741845*^9, 3.6056196504421997`*^9, 3.605619861575075*^9, + 3.6056224286336527`*^9, {3.605622526115447*^9, 3.605622568856142*^9}, + 3.6056226814865217`*^9, 3.605622775103384*^9, 3.605622917108451*^9, + 3.605632949842614*^9, 3.6056331940577917`*^9, 3.605633276847851*^9, + 3.605633402452071*^9, 3.605633439870932*^9, 3.605634859909452*^9, { + 3.6056350151932497`*^9, 3.6056350426578293`*^9}, 3.605637112250169*^9, { + 3.60563719837819*^9, 3.6056372274730253`*^9}, 3.605656364078393*^9, + 3.6056586864378366`*^9, {3.605875860546157*^9, 3.605875898284733*^9}, + 3.6058823482544327`*^9}], + +Cell[BoxData["\<\"http://feynrules.phys.ucl.ac.be/view/Main/StandardModel\"\>\ +"], "Print", + CellChangeTimes->{ + 3.605619616741845*^9, 3.6056196504421997`*^9, 3.605619861575075*^9, + 3.6056224286336527`*^9, {3.605622526115447*^9, 3.605622568856142*^9}, + 3.6056226814865217`*^9, 3.605622775103384*^9, 3.605622917108451*^9, + 3.605632949842614*^9, 3.6056331940577917`*^9, 3.605633276847851*^9, + 3.605633402452071*^9, 3.605633439870932*^9, 3.605634859909452*^9, { + 3.6056350151932497`*^9, 3.6056350426578293`*^9}, 3.605637112250169*^9, { + 3.60563719837819*^9, 3.6056372274730253`*^9}, 3.605656364078393*^9, + 3.6056586864378366`*^9, {3.605875860546157*^9, 3.605875898284733*^9}, + 3.6058823482585087`*^9}], + +Cell[BoxData["\<\"For more information, type ModelInformation[].\"\>"], \ +"Print", + CellChangeTimes->{ + 3.605619616741845*^9, 3.6056196504421997`*^9, 3.605619861575075*^9, + 3.6056224286336527`*^9, {3.605622526115447*^9, 3.605622568856142*^9}, + 3.6056226814865217`*^9, 3.605622775103384*^9, 3.605622917108451*^9, + 3.605632949842614*^9, 3.6056331940577917`*^9, 3.605633276847851*^9, + 3.605633402452071*^9, 3.605633439870932*^9, 3.605634859909452*^9, { + 3.6056350151932497`*^9, 3.6056350426578293`*^9}, 3.605637112250169*^9, { + 3.60563719837819*^9, 3.6056372274730253`*^9}, 3.605656364078393*^9, + 3.6056586864378366`*^9, {3.605875860546157*^9, 3.605875898284733*^9}, + 3.6058823482624826`*^9}], + +Cell[BoxData["\<\"\"\>"], "Print", + CellChangeTimes->{ + 3.605619616741845*^9, 3.6056196504421997`*^9, 3.605619861575075*^9, + 3.6056224286336527`*^9, {3.605622526115447*^9, 3.605622568856142*^9}, + 3.6056226814865217`*^9, 3.605622775103384*^9, 3.605622917108451*^9, + 3.605632949842614*^9, 3.6056331940577917`*^9, 3.605633276847851*^9, + 3.605633402452071*^9, 3.605633439870932*^9, 3.605634859909452*^9, { + 3.6056350151932497`*^9, 3.6056350426578293`*^9}, 3.605637112250169*^9, { + 3.60563719837819*^9, 3.6056372274730253`*^9}, 3.605656364078393*^9, + 3.6056586864378366`*^9, {3.605875860546157*^9, 3.605875898284733*^9}, + 3.605882348266357*^9}], + +Cell[BoxData["\<\" - Loading particle classes.\"\>"], "Print", + CellChangeTimes->{ + 3.605619616741845*^9, 3.6056196504421997`*^9, 3.605619861575075*^9, + 3.6056224286336527`*^9, {3.605622526115447*^9, 3.605622568856142*^9}, + 3.6056226814865217`*^9, 3.605622775103384*^9, 3.605622917108451*^9, + 3.605632949842614*^9, 3.6056331940577917`*^9, 3.605633276847851*^9, + 3.605633402452071*^9, 3.605633439870932*^9, 3.605634859909452*^9, { + 3.6056350151932497`*^9, 3.6056350426578293`*^9}, 3.605637112250169*^9, { + 3.60563719837819*^9, 3.6056372274730253`*^9}, 3.605656364078393*^9, + 3.6056586864378366`*^9, {3.605875860546157*^9, 3.605875898284733*^9}, + 3.605882348270246*^9}], + +Cell[BoxData["\<\" - Loading gauge group classes.\"\>"], "Print", + CellChangeTimes->{ + 3.605619616741845*^9, 3.6056196504421997`*^9, 3.605619861575075*^9, + 3.6056224286336527`*^9, {3.605622526115447*^9, 3.605622568856142*^9}, + 3.6056226814865217`*^9, 3.605622775103384*^9, 3.605622917108451*^9, + 3.605632949842614*^9, 3.6056331940577917`*^9, 3.605633276847851*^9, + 3.605633402452071*^9, 3.605633439870932*^9, 3.605634859909452*^9, { + 3.6056350151932497`*^9, 3.6056350426578293`*^9}, 3.605637112250169*^9, { + 3.60563719837819*^9, 3.6056372274730253`*^9}, 3.605656364078393*^9, + 3.6056586864378366`*^9, {3.605875860546157*^9, 3.605875898284733*^9}, + 3.605882348475081*^9}], + +Cell[BoxData["\<\" - Loading parameter classes.\"\>"], "Print", + CellChangeTimes->{ + 3.605619616741845*^9, 3.6056196504421997`*^9, 3.605619861575075*^9, + 3.6056224286336527`*^9, {3.605622526115447*^9, 3.605622568856142*^9}, + 3.6056226814865217`*^9, 3.605622775103384*^9, 3.605622917108451*^9, + 3.605632949842614*^9, 3.6056331940577917`*^9, 3.605633276847851*^9, + 3.605633402452071*^9, 3.605633439870932*^9, 3.605634859909452*^9, { + 3.6056350151932497`*^9, 3.6056350426578293`*^9}, 3.605637112250169*^9, { + 3.60563719837819*^9, 3.6056372274730253`*^9}, 3.605656364078393*^9, + 3.6056586864378366`*^9, {3.605875860546157*^9, 3.605875898284733*^9}, + 3.605882348508407*^9}], + +Cell[BoxData[ + InterpretationBox[ + RowBox[{"\<\"\\nModel \"\>", + "\[InvisibleSpace]", "\<\"CHresonance_neutral_scalar\"\>", + "\[InvisibleSpace]", "\<\" loaded.\"\>"}], + SequenceForm["\nModel ", "CHresonance_neutral_scalar", " loaded."], + Editable->False]], "Print", + CellChangeTimes->{ + 3.605619616741845*^9, 3.6056196504421997`*^9, 3.605619861575075*^9, + 3.6056224286336527`*^9, {3.605622526115447*^9, 3.605622568856142*^9}, + 3.6056226814865217`*^9, 3.605622775103384*^9, 3.605622917108451*^9, + 3.605632949842614*^9, 3.6056331940577917`*^9, 3.605633276847851*^9, + 3.605633402452071*^9, 3.605633439870932*^9, 3.605634859909452*^9, { + 3.6056350151932497`*^9, 3.6056350426578293`*^9}, 3.605637112250169*^9, { + 3.60563719837819*^9, 3.6056372274730253`*^9}, 3.605656364078393*^9, + 3.6056586864378366`*^9, {3.605875860546157*^9, 3.605875898284733*^9}, + 3.6058823486639442`*^9}], + +Cell[BoxData[ + InterpretationBox[ + RowBox[{"\<\"Loading restrictions from \"\>", + "\[InvisibleSpace]", "\<\"DiagonalCKM.rst\"\>", + "\[InvisibleSpace]", "\<\" : \"\>", "\[InvisibleSpace]", + DynamicBox[ToBoxes[PRIVATE`FR$restrictionCounter, StandardForm], + ImageSizeCache->{14., {1., 8.}}], "\[InvisibleSpace]", "\<\" / \"\>", + "\[InvisibleSpace]", "3"}], + SequenceForm["Loading restrictions from ", "DiagonalCKM.rst", " : ", + Dynamic[PRIVATE`FR$restrictionCounter], " / ", 3], + Editable->False]], "Print", + CellChangeTimes->{ + 3.605619616741845*^9, 3.6056196504421997`*^9, 3.605619861575075*^9, + 3.6056224286336527`*^9, {3.605622526115447*^9, 3.605622568856142*^9}, + 3.6056226814865217`*^9, 3.605622775103384*^9, 3.605622917108451*^9, + 3.605632949842614*^9, 3.6056331940577917`*^9, 3.605633276847851*^9, + 3.605633402452071*^9, 3.605633439870932*^9, 3.605634859909452*^9, { + 3.6056350151932497`*^9, 3.6056350426578293`*^9}, 3.605637112250169*^9, { + 3.60563719837819*^9, 3.6056372274730253`*^9}, 3.605656364078393*^9, + 3.6056586864378366`*^9, {3.605875860546157*^9, 3.605875898284733*^9}, + 3.60588234873158*^9}], + +Cell[BoxData[ + InterpretationBox[ + RowBox[{"\<\"Loading restrictions from \"\>", + "\[InvisibleSpace]", "\<\"Massless.rst\"\>", + "\[InvisibleSpace]", "\<\" : \"\>", "\[InvisibleSpace]", + DynamicBox[ToBoxes[PRIVATE`FR$restrictionCounter, StandardForm], + ImageSizeCache->{14., {1., 8.}}], "\[InvisibleSpace]", "\<\" / \"\>", + "\[InvisibleSpace]", "18"}], + SequenceForm["Loading restrictions from ", "Massless.rst", " : ", + Dynamic[PRIVATE`FR$restrictionCounter], " / ", 18], + Editable->False]], "Print", + CellChangeTimes->{ + 3.605619616741845*^9, 3.6056196504421997`*^9, 3.605619861575075*^9, + 3.6056224286336527`*^9, {3.605622526115447*^9, 3.605622568856142*^9}, + 3.6056226814865217`*^9, 3.605622775103384*^9, 3.605622917108451*^9, + 3.605632949842614*^9, 3.6056331940577917`*^9, 3.605633276847851*^9, + 3.605633402452071*^9, 3.605633439870932*^9, 3.605634859909452*^9, { + 3.6056350151932497`*^9, 3.6056350426578293`*^9}, 3.605637112250169*^9, { + 3.60563719837819*^9, 3.6056372274730253`*^9}, 3.605656364078393*^9, + 3.6056586864378366`*^9, {3.605875860546157*^9, 3.605875898284733*^9}, + 3.6058823488115664`*^9}], + +Cell[BoxData["\<\"Restrictions loaded.\"\>"], "Print", + CellChangeTimes->{ + 3.605619616741845*^9, 3.6056196504421997`*^9, 3.605619861575075*^9, + 3.6056224286336527`*^9, {3.605622526115447*^9, 3.605622568856142*^9}, + 3.6056226814865217`*^9, 3.605622775103384*^9, 3.605622917108451*^9, + 3.605632949842614*^9, 3.6056331940577917`*^9, 3.605633276847851*^9, + 3.605633402452071*^9, 3.605633439870932*^9, 3.605634859909452*^9, { + 3.6056350151932497`*^9, 3.6056350426578293`*^9}, 3.605637112250169*^9, { + 3.60563719837819*^9, 3.6056372274730253`*^9}, 3.605656364078393*^9, + 3.6056586864378366`*^9, {3.605875860546157*^9, 3.605875898284733*^9}, + 3.605882348815343*^9}] +}, Open ]] +}, Open ]] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Check Model", "Section", + CellChangeTimes->{{3.605623086167871*^9, 3.6056231049293633`*^9}, + 3.605635092783983*^9, 3.605875903677682*^9}], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{"CheckMassSpectrum", "[", "Lscalar", "]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"CheckHermiticity", "[", "Lscalar", "]"}], ";"}]}], "Input", + CellChangeTimes->{{3.605619622855464*^9, 3.6056196232911158`*^9}, { + 3.605619982287343*^9, 3.605619987388823*^9}, {3.605620054327195*^9, + 3.605620085036086*^9}, {3.605622638451754*^9, 3.605622646849626*^9}, { + 3.60562268863967*^9, 3.605622718368464*^9}, {3.6056227788700457`*^9, + 3.60562278929569*^9}, {3.605622851705021*^9, 3.6056228520710707`*^9}, { + 3.605622922349184*^9, 3.605622928774396*^9}, {3.605622958918388*^9, + 3.605622964678646*^9}, {3.605622998944463*^9, 3.60562300546445*^9}, { + 3.6056329595409737`*^9, 3.60563296304221*^9}, {3.605656367479803*^9, + 3.6056563806305923`*^9}, 3.605658690688363*^9, {3.605875911163392*^9, + 3.6058759147629223`*^9}}], + +Cell[CellGroupData[{ + +Cell[BoxData[ + InterpretationBox[ + RowBox[{"\<\"Neglecting all terms with more than \"\>", + "\[InvisibleSpace]", "\<\"2\"\>", + "\[InvisibleSpace]", "\<\" particles.\"\>"}], + SequenceForm["Neglecting all terms with more than ", "2", " particles."], + Editable->False]], "Print", + CellChangeTimes->{ + 3.6056229291812897`*^9, 3.605622965269404*^9, {3.6056229995035*^9, + 3.605623006396628*^9}, {3.6056329541402884`*^9, 3.6056329635693913`*^9}, + 3.605633203461426*^9, 3.605633279819338*^9, 3.605633405717062*^9, + 3.605633445043635*^9, 3.60563486324809*^9, 3.605635045897534*^9, { + 3.605637201873412*^9, 3.605637230937489*^9}, 3.605656382532639*^9, + 3.605658691840357*^9, 3.6058759152676086`*^9, 3.605882351286916*^9}], + +Cell[BoxData["\<\"All mass terms are diagonal.\"\>"], "Print", + CellChangeTimes->{ + 3.6056229291812897`*^9, 3.605622965269404*^9, {3.6056229995035*^9, + 3.605623006396628*^9}, {3.6056329541402884`*^9, 3.6056329635693913`*^9}, + 3.605633203461426*^9, 3.605633279819338*^9, 3.605633405717062*^9, + 3.605633445043635*^9, 3.60563486324809*^9, 3.605635045897534*^9, { + 3.605637201873412*^9, 3.605637230937489*^9}, 3.605656382532639*^9, + 3.605658691840357*^9, 3.6058759152676086`*^9, 3.6058823512904463`*^9}], + +Cell[BoxData["\<\"Getting mass spectrum.\"\>"], "Print", + CellChangeTimes->{ + 3.6056229291812897`*^9, 3.605622965269404*^9, {3.6056229995035*^9, + 3.605623006396628*^9}, {3.6056329541402884`*^9, 3.6056329635693913`*^9}, + 3.605633203461426*^9, 3.605633279819338*^9, 3.605633405717062*^9, + 3.605633445043635*^9, 3.60563486324809*^9, 3.605635045897534*^9, { + 3.605637201873412*^9, 3.605637230937489*^9}, 3.605656382532639*^9, + 3.605658691840357*^9, 3.6058759152676086`*^9, 3.605882351322145*^9}], + +Cell[BoxData["\<\"Checking for less then 0.1% agreement with model file \ +values.\"\>"], "Print", + CellChangeTimes->{ + 3.6056229291812897`*^9, 3.605622965269404*^9, {3.6056229995035*^9, + 3.605623006396628*^9}, {3.6056329541402884`*^9, 3.6056329635693913`*^9}, + 3.605633203461426*^9, 3.605633279819338*^9, 3.605633405717062*^9, + 3.605633445043635*^9, 3.60563486324809*^9, 3.605635045897534*^9, { + 3.605637201873412*^9, 3.605637230937489*^9}, 3.605656382532639*^9, + 3.605658691840357*^9, 3.6058759152676086`*^9, 3.605882351325905*^9}] +}, Open ]], + +Cell[BoxData[ + TagBox[GridBox[{ + {"\<\"Particle\"\>", "\<\"Analytic value\"\>", "\<\"Numerical value\"\>", \ +"\<\"Model-file value\"\>"}, + {"s0", + SqrtBox[ + SuperscriptBox["Ms0", "2"]], "1000.`", "1000.`"} + }, + GridBoxAlignment->{ + "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, + "RowsIndexed" -> {}}, + GridBoxSpacings->{"Columns" -> { + Offset[0.27999999999999997`], { + Offset[2.0999999999999996`]}, + Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { + Offset[0.2], { + Offset[0.4]}, + Offset[0.2]}, "RowsIndexed" -> {}}], + Function[BoxForm`e$, + TableForm[BoxForm`e$]]]], "Output", + CellChangeTimes->{ + 3.605623006536682*^9, {3.605632954179488*^9, 3.605632963736952*^9}, + 3.605633203613308*^9, 3.605633279970613*^9, 3.605633405866434*^9, + 3.605633445195354*^9, 3.6056348633652163`*^9, 3.605635046055908*^9, { + 3.605637202024962*^9, 3.6056372311093893`*^9}, 3.605656382681074*^9, + 3.605658691987759*^9, 3.60587591541451*^9, 3.605882351391329*^9}], + +Cell[CellGroupData[{ + +Cell[BoxData["\<\"Checking for hermiticity by calculating the Feynman rules \ +contained in L-HC[L].\"\>"], "Print", + CellChangeTimes->{ + 3.6056229291812897`*^9, 3.605622965269404*^9, {3.6056229995035*^9, + 3.605623006396628*^9}, {3.6056329541402884`*^9, 3.6056329635693913`*^9}, + 3.605633203461426*^9, 3.605633279819338*^9, 3.605633405717062*^9, + 3.605633445043635*^9, 3.60563486324809*^9, 3.605635045897534*^9, { + 3.605637201873412*^9, 3.605637230937489*^9}, 3.605656382532639*^9, + 3.605658691840357*^9, 3.6058759152676086`*^9, 3.605882351394699*^9}], + +Cell[BoxData["\<\"If the lagrangian is hermitian, then the number of vertices \ +should be zero.\"\>"], "Print", + CellChangeTimes->{ + 3.6056229291812897`*^9, 3.605622965269404*^9, {3.6056229995035*^9, + 3.605623006396628*^9}, {3.6056329541402884`*^9, 3.6056329635693913`*^9}, + 3.605633203461426*^9, 3.605633279819338*^9, 3.605633405717062*^9, + 3.605633445043635*^9, 3.60563486324809*^9, 3.605635045897534*^9, { + 3.605637201873412*^9, 3.605637230937489*^9}, 3.605656382532639*^9, + 3.605658691840357*^9, 3.6058759152676086`*^9, 3.605882351397386*^9}], + +Cell[BoxData[ + StyleBox["\<\"Starting Feynman rule calculation.\"\>", + StripOnInput->False, + LineColor->RGBColor[1, 0.5, 0], + FrontFaceColor->RGBColor[1, 0.5, 0], + BackFaceColor->RGBColor[1, 0.5, 0], + GraphicsColor->RGBColor[1, 0.5, 0], + FontWeight->Bold, + FontColor->RGBColor[1, 0.5, 0]]], "Print", + CellChangeTimes->{ + 3.6056229291812897`*^9, 3.605622965269404*^9, {3.6056229995035*^9, + 3.605623006396628*^9}, {3.6056329541402884`*^9, 3.6056329635693913`*^9}, + 3.605633203461426*^9, 3.605633279819338*^9, 3.605633405717062*^9, + 3.605633445043635*^9, 3.60563486324809*^9, 3.605635045897534*^9, { + 3.605637201873412*^9, 3.605637230937489*^9}, 3.605656382532639*^9, + 3.605658691840357*^9, 3.6058759152676086`*^9, 3.60588235148717*^9}], + +Cell[BoxData["\<\"Expanding the Lagrangian...\"\>"], "Print", + CellChangeTimes->{ + 3.6056229291812897`*^9, 3.605622965269404*^9, {3.6056229995035*^9, + 3.605623006396628*^9}, {3.6056329541402884`*^9, 3.6056329635693913`*^9}, + 3.605633203461426*^9, 3.605633279819338*^9, 3.605633405717062*^9, + 3.605633445043635*^9, 3.60563486324809*^9, 3.605635045897534*^9, { + 3.605637201873412*^9, 3.605637230937489*^9}, 3.605656382532639*^9, + 3.605658691840357*^9, 3.6058759152676086`*^9, 3.605882351523753*^9}], + +Cell[BoxData["\<\"No vertices found.\"\>"], "Print", + CellChangeTimes->{ + 3.6056229291812897`*^9, 3.605622965269404*^9, {3.6056229995035*^9, + 3.605623006396628*^9}, {3.6056329541402884`*^9, 3.6056329635693913`*^9}, + 3.605633203461426*^9, 3.605633279819338*^9, 3.605633405717062*^9, + 3.605633445043635*^9, 3.60563486324809*^9, 3.605635045897534*^9, { + 3.605637201873412*^9, 3.605637230937489*^9}, 3.605656382532639*^9, + 3.605658691840357*^9, 3.6058759152676086`*^9, 3.605882351528597*^9}], + +Cell[BoxData[ + InterpretationBox[ + RowBox[{"0", "\[InvisibleSpace]", "\<\" vertices obtained.\"\>"}], + SequenceForm[0, " vertices obtained."], + Editable->False]], "Print", + CellChangeTimes->{ + 3.6056229291812897`*^9, 3.605622965269404*^9, {3.6056229995035*^9, + 3.605623006396628*^9}, {3.6056329541402884`*^9, 3.6056329635693913`*^9}, + 3.605633203461426*^9, 3.605633279819338*^9, 3.605633405717062*^9, + 3.605633445043635*^9, 3.60563486324809*^9, 3.605635045897534*^9, { + 3.605637201873412*^9, 3.605637230937489*^9}, 3.605656382532639*^9, + 3.605658691840357*^9, 3.6058759152676086`*^9, 3.605882351533533*^9}], + +Cell[BoxData["\<\"The lagrangian is hermitian.\"\>"], "Print", + CellChangeTimes->{ + 3.6056229291812897`*^9, 3.605622965269404*^9, {3.6056229995035*^9, + 3.605623006396628*^9}, {3.6056329541402884`*^9, 3.6056329635693913`*^9}, + 3.605633203461426*^9, 3.605633279819338*^9, 3.605633405717062*^9, + 3.605633445043635*^9, 3.60563486324809*^9, 3.605635045897534*^9, { + 3.605637201873412*^9, 3.605637230937489*^9}, 3.605656382532639*^9, + 3.605658691840357*^9, 3.6058759152676086`*^9, 3.605882351537565*^9}] +}, Open ]] +}, Open ]] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["\<\ +Feynman Rules (Fermion Partner)\ +\>", "Section", + CellChangeTimes->{{3.605623116445725*^9, 3.605623132577363*^9}, + 3.6056350952868013`*^9}], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{"vertices", " ", "=", " ", + RowBox[{"FeynmanRules", "[", "Lscalar", "]"}]}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"decays", " ", "=", " ", + RowBox[{"ComputeWidths", "[", "vertices", "]"}]}], ";"}]}], "Input", + CellChangeTimes->{{3.605623135518034*^9, 3.6056231403631487`*^9}, { + 3.6056329889705153`*^9, 3.6056329893374767`*^9}, {3.60563366954454*^9, + 3.6056336908373327`*^9}, {3.605633868933378*^9, 3.6056338702728558`*^9}, + 3.605633908964724*^9, {3.605633941603565*^9, 3.605633953097578*^9}, + 3.605634867413897*^9, {3.6056349686727057`*^9, 3.60563497715202*^9}, { + 3.605637056408601*^9, 3.6056370590299*^9}, {3.605875923923554*^9, + 3.6058759561163816`*^9}}], + +Cell[CellGroupData[{ + +Cell[BoxData[ + StyleBox["\<\"Starting Feynman rule calculation.\"\>", + StripOnInput->False, + LineColor->RGBColor[1, 0.5, 0], + FrontFaceColor->RGBColor[1, 0.5, 0], + BackFaceColor->RGBColor[1, 0.5, 0], + GraphicsColor->RGBColor[1, 0.5, 0], + FontWeight->Bold, + FontColor->RGBColor[1, 0.5, 0]]], "Print", + CellChangeTimes->{ + 3.605623141036067*^9, 3.605632989814084*^9, 3.6056332084743757`*^9, + 3.605633283183111*^9, 3.605633408314115*^9, 3.6056334475492563`*^9, + 3.605633691403208*^9, 3.6056338708193607`*^9, 3.605633909533334*^9, + 3.6056339535259933`*^9, 3.605634867962195*^9, 3.605635050541889*^9, + 3.605637238858077*^9, {3.605875937769837*^9, 3.605875956666177*^9}, + 3.6058823543890657`*^9}], + +Cell[BoxData["\<\"Expanding the Lagrangian...\"\>"], "Print", + CellChangeTimes->{ + 3.605623141036067*^9, 3.605632989814084*^9, 3.6056332084743757`*^9, + 3.605633283183111*^9, 3.605633408314115*^9, 3.6056334475492563`*^9, + 3.605633691403208*^9, 3.6056338708193607`*^9, 3.605633909533334*^9, + 3.6056339535259933`*^9, 3.605634867962195*^9, 3.605635050541889*^9, + 3.605637238858077*^9, {3.605875937769837*^9, 3.605875956666177*^9}, + 3.6058823543926353`*^9}], + +Cell[BoxData["\<\"Collecting the different structures that enter the \ +vertex.\"\>"], "Print", + CellChangeTimes->{ + 3.605623141036067*^9, 3.605632989814084*^9, 3.6056332084743757`*^9, + 3.605633283183111*^9, 3.605633408314115*^9, 3.6056334475492563`*^9, + 3.605633691403208*^9, 3.6056338708193607`*^9, 3.605633909533334*^9, + 3.6056339535259933`*^9, 3.605634867962195*^9, 3.605635050541889*^9, + 3.605637238858077*^9, {3.605875937769837*^9, 3.605875956666177*^9}, + 3.605882354442403*^9}], + +Cell[BoxData[ + InterpretationBox[ + RowBox[{ + "2", "\[InvisibleSpace]", "\<\" possible non-zero vertices have been found \ +-> starting the computation: \"\>", "\[InvisibleSpace]", + DynamicBox[ToBoxes[FeynRules`FR$FeynmanRules, StandardForm], + ImageSizeCache->{7., {0., 8.}}], "\[InvisibleSpace]", "\<\" / \"\>", + "\[InvisibleSpace]", "2", "\[InvisibleSpace]", "\<\".\"\>"}], + SequenceForm[ + 2, " possible non-zero vertices have been found -> starting the \ +computation: ", + Dynamic[FeynRules`FR$FeynmanRules], " / ", 2, "."], + Editable->False]], "Print", + CellChangeTimes->{ + 3.605623141036067*^9, 3.605632989814084*^9, 3.6056332084743757`*^9, + 3.605633283183111*^9, 3.605633408314115*^9, 3.6056334475492563`*^9, + 3.605633691403208*^9, 3.6056338708193607`*^9, 3.605633909533334*^9, + 3.6056339535259933`*^9, 3.605634867962195*^9, 3.605635050541889*^9, + 3.605637238858077*^9, {3.605875937769837*^9, 3.605875956666177*^9}, + 3.605882354448645*^9}], + +Cell[BoxData[ + InterpretationBox[ + RowBox[{"2", "\[InvisibleSpace]", "\<\" vertices obtained.\"\>"}], + SequenceForm[2, " vertices obtained."], + Editable->False]], "Print", + CellChangeTimes->{ + 3.605623141036067*^9, 3.605632989814084*^9, 3.6056332084743757`*^9, + 3.605633283183111*^9, 3.605633408314115*^9, 3.6056334475492563`*^9, + 3.605633691403208*^9, 3.6056338708193607`*^9, 3.605633909533334*^9, + 3.6056339535259933`*^9, 3.605634867962195*^9, 3.605635050541889*^9, + 3.605637238858077*^9, {3.605875937769837*^9, 3.605875956666177*^9}, + 3.605882354452979*^9}] +}, Open ]], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + RowBox[{"{", + RowBox[{ + RowBox[{"{", + RowBox[{ + RowBox[{"{", + RowBox[{"s0", ",", "1"}], "}"}], ",", + RowBox[{"{", + RowBox[{"W", ",", "2"}], "}"}], ",", + RowBox[{"{", + RowBox[{ + SuperscriptBox["W", "\[Dagger]"], ",", "3"}], "}"}]}], "}"}], ",", + FractionBox[ + RowBox[{"\[ImaginaryI]", " ", "e", " ", "keta", " ", + SubscriptBox["M", "W"], " ", + SubscriptBox["\[Eta]", + RowBox[{ + SubscriptBox["\<\"\[Mu]\"\>", "2"], ",", + SubscriptBox["\<\"\[Mu]\"\>", "3"]}]]}], + SubscriptBox["s", "w"]]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"{", + RowBox[{ + RowBox[{"{", + RowBox[{"s0", ",", "1"}], "}"}], ",", + RowBox[{"{", + RowBox[{"Z", ",", "2"}], "}"}], ",", + RowBox[{"{", + RowBox[{"Z", ",", "3"}], "}"}]}], "}"}], ",", + FractionBox[ + RowBox[{"\[ImaginaryI]", " ", "e", " ", "keta", " ", "MZ", " ", + SubscriptBox["\[Eta]", + RowBox[{ + SubscriptBox["\<\"\[Mu]\"\>", "2"], ",", + SubscriptBox["\<\"\[Mu]\"\>", "3"]}]]}], + RowBox[{ + SubscriptBox["c", "w"], " ", + SubscriptBox["s", "w"]}]]}], "}"}]}], "}"}]], "Output", + CellChangeTimes->{ + 3.605633909797886*^9, 3.6056339538109617`*^9, 3.605634868137611*^9, + 3.605635050886277*^9, 3.605637239169332*^9, {3.6058759379425573`*^9, + 3.605875956729602*^9}, 3.6058823544581203`*^9}], + +Cell[CellGroupData[{ + +Cell[BoxData[ + InterpretationBox[ + RowBox[{"\<\"Flavor expansion of the vertices: \"\>", "\[InvisibleSpace]", + DynamicBox[ToBoxes[FeynRules`FR$Count1, StandardForm], + ImageSizeCache->{14., {1., 8.}}], "\[InvisibleSpace]", "\<\" / \"\>", + "\[InvisibleSpace]", "2"}], + SequenceForm["Flavor expansion of the vertices: ", + Dynamic[FeynRules`FR$Count1], " / ", 2], + Editable->False]], "Print", + CellChangeTimes->{ + 3.605623141036067*^9, 3.605632989814084*^9, 3.6056332084743757`*^9, + 3.605633283183111*^9, 3.605633408314115*^9, 3.6056334475492563`*^9, + 3.605633691403208*^9, 3.6056338708193607`*^9, 3.605633909533334*^9, + 3.6056339535259933`*^9, 3.605634867962195*^9, 3.605635050541889*^9, + 3.605637238858077*^9, {3.605875937769837*^9, 3.605875956666177*^9}, + 3.60588235451572*^9}], + +Cell[BoxData[ + StyleBox["\<\"Computing the squared matrix elements relevant for the 1->2 \ +decays: \"\>", + StripOnInput->False, + LineColor->RGBColor[1, 0.5, 0], + FrontFaceColor->RGBColor[1, 0.5, 0], + BackFaceColor->RGBColor[1, 0.5, 0], + GraphicsColor->RGBColor[1, 0.5, 0], + FontWeight->Bold, + FontColor->RGBColor[1, 0.5, 0]]], "Print", + CellChangeTimes->{ + 3.605623141036067*^9, 3.605632989814084*^9, 3.6056332084743757`*^9, + 3.605633283183111*^9, 3.605633408314115*^9, 3.6056334475492563`*^9, + 3.605633691403208*^9, 3.6056338708193607`*^9, 3.605633909533334*^9, + 3.6056339535259933`*^9, 3.605634867962195*^9, 3.605635050541889*^9, + 3.605637238858077*^9, {3.605875937769837*^9, 3.605875956666177*^9}, + 3.605882354559538*^9}], + +Cell[BoxData[ + InterpretationBox[ + RowBox[{ + DynamicBox[ToBoxes[FeynRules`FR$DecayCounter, StandardForm], + ImageSizeCache->{14., {0., 8.}}], "\[InvisibleSpace]", "\<\" / \"\>", + "\[InvisibleSpace]", "2"}], + SequenceForm[ + Dynamic[FeynRules`FR$DecayCounter], " / ", 2], + Editable->False]], "Print", + CellChangeTimes->{ + 3.605623141036067*^9, 3.605632989814084*^9, 3.6056332084743757`*^9, + 3.605633283183111*^9, 3.605633408314115*^9, 3.6056334475492563`*^9, + 3.605633691403208*^9, 3.6056338708193607`*^9, 3.605633909533334*^9, + 3.6056339535259933`*^9, 3.605634867962195*^9, 3.605635050541889*^9, + 3.605637238858077*^9, {3.605875937769837*^9, 3.605875956666177*^9}, + 3.605882354596119*^9}] +}, Open ]] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{ + RowBox[{"WriteUFO", "[", + RowBox[{"LSM", ",", "Lscalar"}], "]"}], ";"}]], "Input", + CellChangeTimes->{{3.605623414495763*^9, 3.605623422610941*^9}, { + 3.605635073368265*^9, 3.6056350736934977`*^9}, {3.605875960611538*^9, + 3.605875962361438*^9}}], + +Cell[CellGroupData[{ + +Cell[BoxData["\<\" --- Universal FeynRules Output (UFO) v 1.1 ---\"\>"], \ +"Print", + CellChangeTimes->{3.605623426254333*^9, 3.605637251108576*^9, + 3.605875969708352*^9, 3.6058823609681177`*^9}], + +Cell[BoxData[ + StyleBox["\<\"Starting Feynman rule calculation.\"\>", + StripOnInput->False, + LineColor->RGBColor[1, 0.5, 0], + FrontFaceColor->RGBColor[1, 0.5, 0], + BackFaceColor->RGBColor[1, 0.5, 0], + GraphicsColor->RGBColor[1, 0.5, 0], + FontWeight->Bold, + FontColor->RGBColor[1, 0.5, 0]]], "Print", + CellChangeTimes->{3.605623426254333*^9, 3.605637251108576*^9, + 3.605875969708352*^9, 3.60588236156849*^9}], + +Cell[BoxData["\<\"Expanding the Lagrangian...\"\>"], "Print", + CellChangeTimes->{3.605623426254333*^9, 3.605637251108576*^9, + 3.605875969708352*^9, 3.605882361577166*^9}], + +Cell[BoxData["\<\"Collecting the different structures that enter the \ +vertex.\"\>"], "Print", + CellChangeTimes->{3.605623426254333*^9, 3.605637251108576*^9, + 3.605875969708352*^9, 3.6058823669100437`*^9}], + +Cell[BoxData[ + InterpretationBox[ + RowBox[{ + "98", "\[InvisibleSpace]", "\<\" possible non-zero vertices have been found \ +-> starting the computation: \"\>", "\[InvisibleSpace]", + DynamicBox[ToBoxes[FeynRules`FR$FeynmanRules, StandardForm], + ImageSizeCache->{7., {0., 8.}}], "\[InvisibleSpace]", "\<\" / \"\>", + "\[InvisibleSpace]", "98", "\[InvisibleSpace]", "\<\".\"\>"}], + SequenceForm[ + 98, " possible non-zero vertices have been found -> starting the \ +computation: ", + Dynamic[FeynRules`FR$FeynmanRules], " / ", 98, "."], + Editable->False]], "Print", + CellChangeTimes->{3.605623426254333*^9, 3.605637251108576*^9, + 3.605875969708352*^9, 3.6058823670079393`*^9}], + +Cell[BoxData[ + InterpretationBox[ + RowBox[{"93", "\[InvisibleSpace]", "\<\" vertices obtained.\"\>"}], + SequenceForm[93, " vertices obtained."], + Editable->False]], "Print", + CellChangeTimes->{3.605623426254333*^9, 3.605637251108576*^9, + 3.605875969708352*^9, 3.605882372273816*^9}], + +Cell[BoxData[ + StyleBox["\<\"Starting Feynman rule calculation.\"\>", + StripOnInput->False, + LineColor->RGBColor[1, 0.5, 0], + FrontFaceColor->RGBColor[1, 0.5, 0], + BackFaceColor->RGBColor[1, 0.5, 0], + GraphicsColor->RGBColor[1, 0.5, 0], + FontWeight->Bold, + FontColor->RGBColor[1, 0.5, 0]]], "Print", + CellChangeTimes->{3.605623426254333*^9, 3.605637251108576*^9, + 3.605875969708352*^9, 3.605882372275631*^9}], + +Cell[BoxData["\<\"Expanding the Lagrangian...\"\>"], "Print", + CellChangeTimes->{3.605623426254333*^9, 3.605637251108576*^9, + 3.605875969708352*^9, 3.6058823722780933`*^9}], + +Cell[BoxData["\<\"Collecting the different structures that enter the \ +vertex.\"\>"], "Print", + CellChangeTimes->{3.605623426254333*^9, 3.605637251108576*^9, + 3.605875969708352*^9, 3.605882372330551*^9}], + +Cell[BoxData[ + InterpretationBox[ + RowBox[{ + "2", "\[InvisibleSpace]", "\<\" possible non-zero vertices have been found \ +-> starting the computation: \"\>", "\[InvisibleSpace]", + DynamicBox[ToBoxes[FeynRules`FR$FeynmanRules, StandardForm], + ImageSizeCache->{7., {0., 8.}}], "\[InvisibleSpace]", "\<\" / \"\>", + "\[InvisibleSpace]", "2", "\[InvisibleSpace]", "\<\".\"\>"}], + SequenceForm[ + 2, " possible non-zero vertices have been found -> starting the \ +computation: ", + Dynamic[FeynRules`FR$FeynmanRules], " / ", 2, "."], + Editable->False]], "Print", + CellChangeTimes->{3.605623426254333*^9, 3.605637251108576*^9, + 3.605875969708352*^9, 3.605882372333057*^9}], + +Cell[BoxData[ + InterpretationBox[ + RowBox[{"2", "\[InvisibleSpace]", "\<\" vertices obtained.\"\>"}], + SequenceForm[2, " vertices obtained."], + Editable->False]], "Print", + CellChangeTimes->{3.605623426254333*^9, 3.605637251108576*^9, + 3.605875969708352*^9, 3.605882372394369*^9}], + +Cell[BoxData[ + InterpretationBox[ + RowBox[{"\<\"Flavor expansion of the vertices: \"\>", "\[InvisibleSpace]", + DynamicBox[ToBoxes[FeynRules`FR$Count1, StandardForm], + ImageSizeCache->{14., {1., 8.}}], "\[InvisibleSpace]", "\<\" / \"\>", + "\[InvisibleSpace]", "95"}], + SequenceForm["Flavor expansion of the vertices: ", + Dynamic[FeynRules`FR$Count1], " / ", 95], + Editable->False]], "Print", + CellChangeTimes->{3.605623426254333*^9, 3.605637251108576*^9, + 3.605875969708352*^9, 3.6058823763363256`*^9}], + +Cell[BoxData["\<\" - Saved vertices in InterfaceRun[ 1 ].\"\>"], "Print", + CellChangeTimes->{3.605623426254333*^9, 3.605637251108576*^9, + 3.605875969708352*^9, 3.605882379280229*^9}], + +Cell[BoxData[ + StyleBox["\<\"Computing the squared matrix elements relevant for the 1->2 \ +decays: \"\>", + StripOnInput->False, + LineColor->RGBColor[1, 0.5, 0], + FrontFaceColor->RGBColor[1, 0.5, 0], + BackFaceColor->RGBColor[1, 0.5, 0], + GraphicsColor->RGBColor[1, 0.5, 0], + FontWeight->Bold, + FontColor->RGBColor[1, 0.5, 0]]], "Print", + CellChangeTimes->{3.605623426254333*^9, 3.605637251108576*^9, + 3.605875969708352*^9, 3.605882379342313*^9}], + +Cell[BoxData[ + InterpretationBox[ + RowBox[{ + DynamicBox[ToBoxes[FeynRules`FR$DecayCounter, StandardForm], + ImageSizeCache->{14., {0., 8.}}], "\[InvisibleSpace]", "\<\" / \"\>", + "\[InvisibleSpace]", "42"}], + SequenceForm[ + Dynamic[FeynRules`FR$DecayCounter], " / ", 42], + Editable->False]], "Print", + CellChangeTimes->{3.605623426254333*^9, 3.605637251108576*^9, + 3.605875969708352*^9, 3.605882379352541*^9}], + +Cell[BoxData[ + InterpretationBox[ + RowBox[{"\<\"Squared matrix elent compute in \"\>", "\[InvisibleSpace]", + "1.580134000000001`", "\[InvisibleSpace]", "\<\" seconds.\"\>"}], + SequenceForm[ + "Squared matrix elent compute in ", 1.580134000000001, " seconds."], + Editable->False]], "Print", + CellChangeTimes->{3.605623426254333*^9, 3.605637251108576*^9, + 3.605875969708352*^9, 3.6058823814476423`*^9}] +}, Open ]], + +Cell[BoxData[ + RowBox[{ + StyleBox[ + RowBox[{"Decay", "::", "Overwrite"}], "MessageName"], + RowBox[{ + ":", " "}], "\<\"Warning: Previous results will be overwritten.\"\>"}]], \ +"Message", "MSG", + CellChangeTimes->{3.605623441917754*^9, 3.605637266795199*^9, + 3.605875986706703*^9, 3.605882381659711*^9}], + +Cell[CellGroupData[{ + +Cell[BoxData[ + InterpretationBox[ + RowBox[{"\<\"Decay widths computed in \"\>", "\[InvisibleSpace]", + "0.025485999999997233`", "\[InvisibleSpace]", "\<\" seconds.\"\>"}], + SequenceForm[ + "Decay widths computed in ", 0.025485999999997233`, " seconds."], + Editable->False]], "Print", + CellChangeTimes->{3.605623426254333*^9, 3.605637251108576*^9, + 3.605875969708352*^9, 3.60588238166367*^9}], + +Cell[BoxData["\<\"Preparing Python output.\"\>"], "Print", + CellChangeTimes->{3.605623426254333*^9, 3.605637251108576*^9, + 3.605875969708352*^9, 3.6058823816654043`*^9}], + +Cell[BoxData["\<\" - Splitting vertices into building blocks.\"\>"], \ +"Print", + CellChangeTimes->{3.605623426254333*^9, 3.605637251108576*^9, + 3.605875969708352*^9, 3.6058823818620367`*^9}], + +Cell[BoxData[ + InterpretationBox[ + RowBox[{"\<\" - Optimizing: \"\>", "\[InvisibleSpace]", + DynamicBox[ToBoxes[PRIVATE`PY$SplitVertexCounter, StandardForm], + ImageSizeCache->{22., {0., 8.}}], "\[InvisibleSpace]", "\<\"/\"\>", + "\[InvisibleSpace]", "121", "\[InvisibleSpace]", "\<\" .\"\>"}], + SequenceForm[" - Optimizing: ", + Dynamic[PRIVATE`PY$SplitVertexCounter], "/", 121, " ."], + Editable->False]], "Print", + CellChangeTimes->{3.605623426254333*^9, 3.605637251108576*^9, + 3.605875969708352*^9, 3.605882382105023*^9}], + +Cell[BoxData["\<\" - Writing files.\"\>"], "Print", + CellChangeTimes->{3.605623426254333*^9, 3.605637251108576*^9, + 3.605875969708352*^9, 3.605882382296308*^9}], + +Cell[BoxData["\<\"Done!\"\>"], "Print", + CellChangeTimes->{3.605623426254333*^9, 3.605637251108576*^9, + 3.605875969708352*^9, 3.605882382577735*^9}] +}, Open ]] +}, Open ]] +}, Open ]] +}, Open ]] +}, +WindowSize->{740, 656}, +WindowMargins->{{Automatic, 8}, {Automatic, 0}}, +FrontEndVersion->"8.0 for Mac OS X x86 (32-bit, 64-bit Kernel) (February 23, \ +2011)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 248, 7, 80, "Title"], +Cell[830, 31, 169, 3, 27, "Input"], +Cell[1002, 36, 255, 5, 27, "Input"], +Cell[1260, 43, 181, 5, 27, "Input"], +Cell[CellGroupData[{ +Cell[1466, 52, 127, 2, 27, "Input"], +Cell[CellGroupData[{ +Cell[1618, 58, 138, 2, 20, "Print"], +Cell[1759, 62, 415, 9, 20, "Print"], +Cell[2177, 73, 192, 3, 20, "Print"], +Cell[2372, 78, 124, 2, 20, "Print"], +Cell[2499, 82, 135, 2, 20, "Print"], +Cell[2637, 86, 147, 2, 20, "Print"], +Cell[2787, 90, 187, 3, 20, "Print"], +Cell[2977, 95, 126, 2, 20, "Print"], +Cell[3106, 99, 154, 2, 20, "Print"], +Cell[3263, 103, 126, 2, 20, "Print"], +Cell[3392, 107, 190, 3, 20, "Print"] +}, Open ]], +Cell[3597, 113, 1611, 25, 23, "Message"] +}, Open ]], +Cell[CellGroupData[{ +Cell[5245, 143, 170, 2, 67, "Section"], +Cell[CellGroupData[{ +Cell[5440, 149, 693, 13, 58, "Input"], +Cell[6136, 164, 713, 10, 27, "Output"], +Cell[CellGroupData[{ +Cell[6874, 178, 684, 10, 20, "Print"], +Cell[7561, 190, 702, 10, 20, "Print"], +Cell[8266, 202, 678, 10, 20, "Print"], +Cell[8947, 214, 671, 10, 20, "Print"], +Cell[9621, 226, 669, 10, 20, "Print"], +Cell[10293, 238, 814, 14, 20, "Print"], +Cell[11110, 254, 721, 11, 20, "Print"], +Cell[11834, 267, 712, 11, 20, "Print"], +Cell[12549, 280, 662, 10, 20, "Print"], +Cell[13214, 292, 692, 10, 20, "Print"], +Cell[13909, 304, 695, 10, 20, "Print"], +Cell[14607, 316, 693, 10, 20, "Print"], +Cell[15303, 328, 904, 16, 36, "Print"], +Cell[16210, 346, 1152, 20, 20, "Print"], +Cell[17365, 368, 1151, 20, 20, "Print"], +Cell[18519, 390, 682, 10, 20, "Print"] +}, Open ]] +}, Open ]] +}, Open ]], +Cell[CellGroupData[{ +Cell[19262, 407, 146, 2, 67, "Section"], +Cell[CellGroupData[{ +Cell[19433, 413, 856, 13, 43, "Input"], +Cell[CellGroupData[{ +Cell[20314, 430, 735, 13, 20, "Print"], +Cell[21052, 445, 514, 7, 20, "Print"], +Cell[21569, 454, 506, 7, 20, "Print"], +Cell[22078, 463, 547, 8, 20, "Print"] +}, Open ]], +Cell[22640, 474, 1069, 25, 67, "Output"], +Cell[CellGroupData[{ +Cell[23734, 503, 565, 8, 20, "Print"], +Cell[24302, 513, 561, 8, 20, "Print"], +Cell[24866, 523, 755, 15, 20, "Print"], +Cell[25624, 540, 511, 7, 20, "Print"], +Cell[26138, 549, 502, 7, 20, "Print"], +Cell[26643, 558, 624, 11, 20, "Print"], +Cell[27270, 571, 512, 7, 20, "Print"] +}, Open ]] +}, Open ]] +}, Open ]], +Cell[CellGroupData[{ +Cell[27843, 585, 152, 4, 67, "Section"], +Cell[CellGroupData[{ +Cell[28020, 593, 710, 12, 43, "Input"], +Cell[CellGroupData[{ +Cell[28755, 609, 713, 15, 20, "Print"], +Cell[29471, 626, 468, 7, 20, "Print"], +Cell[29942, 635, 499, 8, 20, "Print"], +Cell[30444, 645, 975, 19, 20, "Print"], +Cell[31422, 666, 579, 11, 20, "Print"] +}, Open ]], +Cell[32016, 680, 1508, 44, 95, "Output"], +Cell[CellGroupData[{ +Cell[33549, 728, 807, 15, 20, "Print"], +Cell[34359, 745, 747, 16, 20, "Print"], +Cell[35109, 763, 715, 15, 20, "Print"] +}, Open ]] +}, Open ]], +Cell[CellGroupData[{ +Cell[35873, 784, 277, 6, 27, "Input"], +Cell[CellGroupData[{ +Cell[36175, 794, 196, 3, 20, "Print"], +Cell[36374, 799, 416, 10, 20, "Print"], +Cell[36793, 811, 172, 2, 20, "Print"], +Cell[36968, 815, 207, 3, 20, "Print"], +Cell[37178, 820, 687, 14, 20, "Print"], +Cell[37868, 836, 287, 6, 20, "Print"], +Cell[38158, 844, 417, 10, 20, "Print"], +Cell[38578, 856, 174, 2, 20, "Print"], +Cell[38755, 860, 205, 3, 20, "Print"], +Cell[38963, 865, 681, 14, 20, "Print"], +Cell[39647, 881, 285, 6, 20, "Print"], +Cell[39935, 889, 518, 10, 20, "Print"], +Cell[40456, 901, 186, 2, 20, "Print"], +Cell[40645, 905, 453, 11, 20, "Print"], +Cell[41101, 918, 423, 10, 20, "Print"], +Cell[41527, 930, 408, 8, 20, "Print"] +}, Open ]], +Cell[41950, 941, 310, 8, 23, "Message"], +Cell[CellGroupData[{ +Cell[42285, 953, 398, 8, 20, "Print"], +Cell[42686, 963, 171, 2, 20, "Print"], +Cell[42860, 967, 195, 3, 20, "Print"], +Cell[43058, 972, 543, 10, 20, "Print"], +Cell[43604, 984, 165, 2, 20, "Print"], +Cell[43772, 988, 150, 2, 20, "Print"] +}, Open ]] +}, Open ]] +}, Open ]] +}, Open ]] +} +] +*) + +(* End of internal cache information *) diff --git a/CHresonance_neutral_scalar_UFO/feynrules/SM.fr b/CHresonance_neutral_scalar_UFO/feynrules/SM.fr new file mode 100644 index 0000000..504b0d7 --- /dev/null +++ b/CHresonance_neutral_scalar_UFO/feynrules/SM.fr @@ -0,0 +1,729 @@ +(***************************************************************************************************************) +(****** This is the FeynRules mod-file for the Standard model ******) +(****** ******) +(****** Authors: N. Christensen, C. Duhr, B. Fuks ******) +(****** ******) +(****** Choose whether Feynman gauge is desired. ******) +(****** If set to False, unitary gauge is assumed. ****) +(****** Feynman gauge is especially useful for CalcHEP/CompHEP where the calculation is 10-100 times faster. ***) +(****** Feynman gauge is not supported in MadGraph and Sherpa. ****) +(***************************************************************************************************************) + +(* ************************** *) +(* ***** Information ***** *) +(* ************************** *) +M$ModelName = "Standard Model"; + +M$Information = { + Authors -> {"N. Christensen", "C. Duhr", "B. Fuks"}, + Version -> "1.4.5", + Date -> "21. 11. 2012", + Institutions -> {"Michigan State University", "Universite catholique de Louvain (CP3)", "IPHC Strasbourg / University of Strasbourg"}, + Emails -> {"neil@pa.msu.edu", "claude.duhr@uclouvain.be", "benjamin.fuks@cnrs.in2p3.fr"}, + URLs -> "http://feynrules.phys.ucl.ac.be/view/Main/StandardModel" +}; + +FeynmanGauge = True; + +(* ************************** *) +(* ***** Change log ***** *) +(* ************************** *) + +(* v1.4.5: Added widths for ghosts. *) +(* v1.4.4: Changed widths of goldstone bosons to be the same as for the W and Z bosons *) +(* v1.4.3: Updated conventions for the symmetric structure constants of SU3. *) +(* v1.4.2: Set FeynmanGauge=True as default again. *) +(* v1.4: Added SU(2) representation. *) +(* -> Modification in the field declarations (doublets are added) *) +(* -> Modification in the Lagrangian (much simpler). *) +(* v1.3: Added yukawa couplings for all fermions for gauge invariance. *) +(* Added yukawa couplings for 1st generation fermions to Massless.rst. *) +(* Updated parameters to PDG 2010. *) +(* v1.2: Set FeynmanGauge=True as default. *) +(* Set Gluonic ghosts to be included in both gauges. *) +(* v1.1: Fixed yukawa couplings in Feynman gauge. *) +(* Changed yd[n] CKM[n,m] to yd[m] CKM[n,m]. *) +(* Changed yu[n] Conjugate[CKM[m,n]] to yu[m] Conjugate[CKM[m,n]]. *) + +(* ************************** *) +(* ***** vevs ***** *) +(* ************************** *) +M$vevs = { {Phi[2],vev} }; + +(* ************************** *) +(* ***** Gauge groups ***** *) +(* ************************** *) +M$GaugeGroups = { + U1Y == { + Abelian -> True, + CouplingConstant -> g1, + GaugeBoson -> B, + Charge -> Y + }, + SU2L == { + Abelian -> False, + CouplingConstant -> gw, + GaugeBoson -> Wi, + StructureConstant -> Eps, + Representations -> {Ta,SU2D}, + Definitions -> {Ta[a_,b_,c_]->PauliSigma[a,b,c]/2, FSU2L[i_,j_,k_]:> I Eps[i,j,k]} + }, + SU3C == { + Abelian -> False, + CouplingConstant -> gs, + GaugeBoson -> G, + StructureConstant -> f, + Representations -> {T,Colour}, + SymmetricTensor -> dSUN + } +}; + + +(* ************************** *) +(* ***** Indices ***** *) +(* ************************** *) + +IndexRange[Index[SU2W ]] = Unfold[Range[3]]; +IndexRange[Index[SU2D ]] = Unfold[Range[2]]; +IndexRange[Index[Gluon ]] = NoUnfold[Range[8]]; +IndexRange[Index[Colour ]] = NoUnfold[Range[3]]; +IndexRange[Index[Generation]] = Range[3]; + +IndexStyle[SU2W, j]; +IndexStyle[SU2D, k]; +IndexStyle[Gluon, a]; +IndexStyle[Colour, m]; +IndexStyle[Generation, f]; + + +(* ************************** *) +(* *** Interaction orders *** *) +(* *** (as used by mg5) *** *) +(* ************************** *) + +M$InteractionOrderHierarchy = { + {QCD, 1}, + {QED, 2} +}; + + +(* ************************** *) +(* **** Particle classes **** *) +(* ************************** *) +M$ClassesDescription = { + +(* Gauge bosons: physical vector fields *) + V[1] == { + ClassName -> A, + SelfConjugate -> True, + Mass -> 0, + Width -> 0, + ParticleName -> "a", + PDG -> 22, + PropagatorLabel -> "a", + PropagatorType -> W, + PropagatorArrow -> None, + FullName -> "Photon" + }, + V[2] == { + ClassName -> Z, + SelfConjugate -> True, + Mass -> {MZ, 91.1876}, + Width -> {WZ, 2.4952}, + ParticleName -> "Z", + PDG -> 23, + PropagatorLabel -> "Z", + PropagatorType -> Sine, + PropagatorArrow -> None, + FullName -> "Z" + }, + V[3] == { + ClassName -> W, + SelfConjugate -> False, + Mass -> {MW, Internal}, + Width -> {WW, 2.085}, + ParticleName -> "W+", + AntiParticleName -> "W-", + QuantumNumbers -> {Q -> 1}, + PDG -> 24, + PropagatorLabel -> "W", + PropagatorType -> Sine, + PropagatorArrow -> Forward, + FullName -> "W" + }, + V[4] == { + ClassName -> G, + SelfConjugate -> True, + Indices -> {Index[Gluon]}, + Mass -> 0, + Width -> 0, + ParticleName -> "g", + PDG -> 21, + PropagatorLabel -> "G", + PropagatorType -> C, + PropagatorArrow -> None, + FullName -> "G" + }, + +(* Ghosts: related to physical gauge bosons *) + U[1] == { + ClassName -> ghA, + SelfConjugate -> False, + Ghost -> A, + QuantumNumbers -> {GhostNumber -> 1}, + Mass -> 0, + Width -> 0, + PropagatorLabel -> "uA", + PropagatorType -> GhostDash, + PropagatorArrow -> Forward + }, + U[2] == { + ClassName -> ghZ, + SelfConjugate -> False, + Ghost -> Z, + QuantumNumbers -> {GhostNumber -> 1}, + Mass -> {MZ,91.1876}, + Width -> {WZ, 2.4952}, + PropagatorLabel -> "uZ", + PropagatorType -> GhostDash, + PropagatorArrow -> Forward + }, + U[31] == { + ClassName -> ghWp, + SelfConjugate -> False, + Ghost -> W, + QuantumNumbers -> {GhostNumber -> 1, Q -> 1}, + Mass -> {MW,Internal}, + Width -> {WW, 2.085}, + PropagatorLabel -> "uWp", + PropagatorType -> GhostDash, + PropagatorArrow -> Forward + }, + U[32] == { + ClassName -> ghWm, + SelfConjugate -> False, + Ghost -> Wbar, + QuantumNumbers -> {GhostNumber -> 1, Q -> -1}, + Mass -> {MW,Internal}, + Width -> {WW, 2.085}, + PropagatorLabel -> "uWm", + PropagatorType -> GhostDash, + PropagatorArrow -> Forward + }, + U[4] == { + ClassName -> ghG, + SelfConjugate -> False, + Indices -> {Index[Gluon]}, + Ghost -> G, + QuantumNumbers ->{GhostNumber -> 1}, + Mass -> 0, + Width -> 0, + PropagatorLabel -> "uG", + PropagatorType -> GhostDash, + PropagatorArrow -> Forward + }, + +(* Gauge bosons: unphysical vector fields *) + V[11] == { + ClassName -> B, + Unphysical -> True, + SelfConjugate -> True, + Definitions -> { B[mu_] -> -sw Z[mu]+cw A[mu]} + }, + V[12] == { + ClassName -> Wi, + Unphysical -> True, + SelfConjugate -> True, + Indices -> {Index[SU2W]}, + FlavorIndex -> SU2W, + Definitions -> { Wi[mu_,1] -> (Wbar[mu]+W[mu])/Sqrt[2], Wi[mu_,2] -> (Wbar[mu]-W[mu])/(I*Sqrt[2]), Wi[mu_,3] -> cw Z[mu] + sw A[mu]} + }, + +(* Ghosts: related to unphysical gauge bosons *) + U[11] == { + ClassName -> ghB, + Unphysical -> True, + SelfConjugate -> False, + Ghost -> B, + Definitions -> { ghB -> -sw ghZ + cw ghA} + }, + U[12] == { + ClassName -> ghWi, + Unphysical -> True, + SelfConjugate -> False, + Ghost -> Wi, + Indices -> {Index[SU2W]}, + FlavorIndex -> SU2W, + Definitions -> { ghWi[1] -> (ghWp+ghWm)/Sqrt[2], ghWi[2] -> (ghWm-ghWp)/(I*Sqrt[2]), ghWi[3] -> cw ghZ+sw ghA} + } , + +(* Fermions: physical fields *) + F[1] == { + ClassName -> vl, + ClassMembers -> {ve,vm,vt}, + Indices -> {Index[Generation]}, + FlavorIndex -> Generation, + SelfConjugate -> False, + Mass -> 0, + Width -> 0, + QuantumNumbers -> {LeptonNumber -> 1}, + PropagatorLabel -> {"v", "ve", "vm", "vt"} , + PropagatorType -> S, + PropagatorArrow -> Forward, + PDG -> {12,14,16}, + ParticleName -> {"ve","vm","vt"}, + AntiParticleName -> {"ve~","vm~","vt~"}, + FullName -> {"Electron-neutrino", "Mu-neutrino", "Tau-neutrino"} + }, + F[2] == { + ClassName -> l, + ClassMembers -> {e, mu, ta}, + Indices -> {Index[Generation]}, + FlavorIndex -> Generation, + SelfConjugate -> False, + Mass -> {Ml, {Me,5.11*^-4}, {MMU,0.10566}, {MTA,1.777}}, + Width -> 0, + QuantumNumbers -> {Q -> -1, LeptonNumber -> 1}, + PropagatorLabel -> {"l", "e", "mu", "ta"}, + PropagatorType -> Straight, + PropagatorArrow -> Forward, + PDG -> {11, 13, 15}, + ParticleName -> {"e-", "mu-", "ta-"}, + AntiParticleName -> {"e+", "mu+", "ta+"}, + FullName -> {"Electron", "Muon", "Tau"} + }, + F[3] == { + ClassName -> uq, + ClassMembers -> {u, c, t}, + Indices -> {Index[Generation], Index[Colour]}, + FlavorIndex -> Generation, + SelfConjugate -> False, + Mass -> {Mu, {MU, 2.55*^-3}, {MC,1.27}, {MT,172}}, + Width -> {0, 0, {WT,1.50833649}}, + QuantumNumbers -> {Q -> 2/3}, + PropagatorLabel -> {"uq", "u", "c", "t"}, + PropagatorType -> Straight, + PropagatorArrow -> Forward, + PDG -> {2, 4, 6}, + ParticleName -> {"u", "c", "t" }, + AntiParticleName -> {"u~", "c~", "t~"}, + FullName -> {"u-quark", "c-quark", "t-quark"} + }, + F[4] == { + ClassName -> dq, + ClassMembers -> {d, s, b}, + Indices -> {Index[Generation], Index[Colour]}, + FlavorIndex -> Generation, + SelfConjugate -> False, + Mass -> {Md, {MD,5.04*^-3}, {MS,0.101}, {MB,4.7}}, + Width -> 0, + QuantumNumbers -> {Q -> -1/3}, + PropagatorLabel -> {"dq", "d", "s", "b"}, + PropagatorType -> Straight, + PropagatorArrow -> Forward, + PDG -> {1,3,5}, + ParticleName -> {"d", "s", "b" }, + AntiParticleName -> {"d~", "s~", "b~"}, + FullName -> {"d-quark", "s-quark", "b-quark"} + }, + +(* Fermions: unphysical fields *) + F[11] == { + ClassName -> LL, + Unphysical -> True, + Indices -> {Index[SU2D], Index[Generation]}, + FlavorIndex -> SU2D, + SelfConjugate -> False, + QuantumNumbers -> {Y -> -1/2}, + Definitions -> { LL[sp1_,1,ff_] :> Module[{sp2}, ProjM[sp1,sp2] vl[sp2,ff]], LL[sp1_,2,ff_] :> Module[{sp2}, ProjM[sp1,sp2] l[sp2,ff]] } + }, + F[12] == { + ClassName -> lR, + Unphysical -> True, + Indices -> {Index[Generation]}, + FlavorIndex -> Generation, + SelfConjugate -> False, + QuantumNumbers -> {Y -> -1}, + Definitions -> { lR[sp1_,ff_] :> Module[{sp2}, ProjP[sp1,sp2] l[sp2,ff]] } + }, + F[13] == { + ClassName -> QL, + Unphysical -> True, + Indices -> {Index[SU2D], Index[Generation], Index[Colour]}, + FlavorIndex -> SU2D, + SelfConjugate -> False, + QuantumNumbers -> {Y -> 1/6}, + Definitions -> { + QL[sp1_,1,ff_,cc_] :> Module[{sp2}, ProjM[sp1,sp2] uq[sp2,ff,cc]], + QL[sp1_,2,ff_,cc_] :> Module[{sp2,ff2}, CKM[ff,ff2] ProjM[sp1,sp2] dq[sp2,ff2,cc]] } + }, + F[14] == { + ClassName -> uR, + Unphysical -> True, + Indices -> {Index[Generation], Index[Colour]}, + FlavorIndex -> Generation, + SelfConjugate -> False, + QuantumNumbers -> {Y -> 2/3}, + Definitions -> { uR[sp1_,ff_,cc_] :> Module[{sp2}, ProjP[sp1,sp2] uq[sp2,ff,cc]] } + }, + F[15] == { + ClassName -> dR, + Unphysical -> True, + Indices -> {Index[Generation], Index[Colour]}, + FlavorIndex -> Generation, + SelfConjugate -> False, + QuantumNumbers -> {Y -> -1/3}, + Definitions -> { dR[sp1_,ff_,cc_] :> Module[{sp2}, ProjP[sp1,sp2] dq[sp2,ff,cc]] } + }, + +(* Higgs: physical scalars *) + S[1] == { + ClassName -> H, + SelfConjugate -> True, + Mass -> {MH,125}, + Width -> {WH,0.00407}, + PropagatorLabel -> "H", + PropagatorType -> D, + PropagatorArrow -> None, + PDG -> 25, + ParticleName -> "H", + FullName -> "H" + }, + +(* Higgs: physical scalars *) + S[2] == { + ClassName -> G0, + SelfConjugate -> True, + Goldstone -> Z, + Mass -> {MZ, 91.1876}, + Width -> {WZ, 2.4952}, + PropagatorLabel -> "Go", + PropagatorType -> D, + PropagatorArrow -> None, + PDG -> 250, + ParticleName -> "G0", + FullName -> "G0" + }, + S[3] == { + ClassName -> GP, + SelfConjugate -> False, + Goldstone -> W, + Mass -> {MW, Internal}, + QuantumNumbers -> {Q -> 1}, + Width -> {WW, 2.085}, + PropagatorLabel -> "GP", + PropagatorType -> D, + PropagatorArrow -> None, + PDG -> 251, + ParticleName -> "G+", + AntiParticleName -> "G-", + FullName -> "GP" + }, + +(* Higgs: unphysical scalars *) + S[11] == { + ClassName -> Phi, + Unphysical -> True, + Indices -> {Index[SU2D]}, + FlavorIndex -> SU2D, + SelfConjugate -> False, + QuantumNumbers -> {Y -> 1/2}, + Definitions -> { Phi[1] -> -I GP, Phi[2] -> (vev + H + I G0)/Sqrt[2] } + } +}; + + +(* ************************** *) +(* ***** Gauge ***** *) +(* ***** Parameters ***** *) +(* ***** (FeynArts) ***** *) +(* ************************** *) + +GaugeXi[ V[1] ] = GaugeXi[A]; +GaugeXi[ V[2] ] = GaugeXi[Z]; +GaugeXi[ V[3] ] = GaugeXi[W]; +GaugeXi[ V[4] ] = GaugeXi[G]; +GaugeXi[ S[1] ] = 1; +GaugeXi[ S[2] ] = GaugeXi[Z]; +GaugeXi[ S[3] ] = GaugeXi[W]; +GaugeXi[ U[1] ] = GaugeXi[A]; +GaugeXi[ U[2] ] = GaugeXi[Z]; +GaugeXi[ U[31] ] = GaugeXi[W]; +GaugeXi[ U[32] ] = GaugeXi[W]; +GaugeXi[ U[4] ] = GaugeXi[G]; + + +(* ************************** *) +(* ***** Parameters ***** *) +(* ************************** *) +M$Parameters = { + + (* External parameters *) + aEWM1 == { + ParameterType -> External, + BlockName -> SMINPUTS, + OrderBlock -> 1, + Value -> 127.9, + InteractionOrder -> {QED,-2}, + Description -> "Inverse of the EW coupling constant at the Z pole" + }, + Gf == { + ParameterType -> External, + BlockName -> SMINPUTS, + OrderBlock -> 2, + Value -> 1.16637*^-5, + InteractionOrder -> {QED,2}, + TeX -> Subscript[G,f], + Description -> "Fermi constant" + }, + aS == { + ParameterType -> External, + BlockName -> SMINPUTS, + OrderBlock -> 3, + Value -> 0.1184, + InteractionOrder -> {QCD,2}, + TeX -> Subscript[\[Alpha],s], + Description -> "Strong coupling constant at the Z pole" + }, + ymdo == { + ParameterType -> External, + BlockName -> YUKAWA, + OrderBlock -> 1, + Value -> 5.04*^-3, + Description -> "Down Yukawa mass" + }, + ymup == { + ParameterType -> External, + BlockName -> YUKAWA, + OrderBlock -> 2, + Value -> 2.55*^-3, + Description -> "Up Yukawa mass" + }, + yms == { + ParameterType -> External, + BlockName -> YUKAWA, + OrderBlock -> 3, + Value -> 0.101, + Description -> "Strange Yukawa mass" + }, + ymc == { + ParameterType -> External, + BlockName -> YUKAWA, + OrderBlock -> 4, + Value -> 1.27, + Description -> "Charm Yukawa mass" + }, + ymb == { + ParameterType -> External, + BlockName -> YUKAWA, + OrderBlock -> 5, + Value -> 4.7, + Description -> "Bottom Yukawa mass" + }, + ymt == { + ParameterType -> External, + BlockName -> YUKAWA, + OrderBlock -> 6, + Value -> 172, + Description -> "Top Yukawa mass" + }, + yme == { + ParameterType -> External, + BlockName -> YUKAWA, + OrderBlock -> 11, + Value -> 5.11*^-4, + Description -> "Electron Yukawa mass" + }, + ymm == { + ParameterType -> External, + BlockName -> YUKAWA, + OrderBlock -> 13, + Value -> 0.10566, + Description -> "Muon Yukawa mass" + }, + ymtau == { + ParameterType -> External, + BlockName -> YUKAWA, + OrderBlock -> 15, + Value -> 1.777, + Description -> "Tau Yukawa mass" + }, + cabi == { + ParameterType -> External, + BlockName -> CKMBLOCK, + OrderBlock -> 1, + Value -> 0.227736, + TeX -> Subscript[\[Theta], c], + Description -> "Cabibbo angle" + }, + + (* Internal Parameters *) + aEW == { + ParameterType -> Internal, + Value -> 1/aEWM1, + InteractionOrder -> {QED,2}, + TeX -> Subscript[\[Alpha], EW], + Description -> "Electroweak coupling contant" + }, + MW == { + ParameterType -> Internal, + Value -> Sqrt[MZ^2/2+Sqrt[MZ^4/4-Pi/Sqrt[2]*aEW/Gf*MZ^2]], + TeX -> Subscript[M,W], + Description -> "W mass" + }, + sw2 == { + ParameterType -> Internal, + Value -> 1-(MW/MZ)^2, + Description -> "Squared Sin of the Weinberg angle" + }, + ee == { + ParameterType -> Internal, + Value -> Sqrt[4 Pi aEW], + InteractionOrder -> {QED,1}, + TeX -> e, + Description -> "Electric coupling constant" + }, + cw == { + ParameterType -> Internal, + Value -> Sqrt[1-sw2], + TeX -> Subscript[c,w], + Description -> "Cosine of the Weinberg angle" + }, + sw == { + ParameterType -> Internal, + Value -> Sqrt[sw2], + TeX -> Subscript[s,w], + Description -> "Sine of the Weinberg angle" + }, + gw == { + ParameterType -> Internal, + Definitions -> {gw->ee/sw}, + InteractionOrder -> {QED,1}, + TeX -> Subscript[g,w], + Description -> "Weak coupling constant at the Z pole" + }, + g1 == { + ParameterType -> Internal, + Definitions -> {g1->ee/cw}, + InteractionOrder -> {QED,1}, + TeX -> Subscript[g,1], + Description -> "U(1)Y coupling constant at the Z pole" + }, + gs == { + ParameterType -> Internal, + Value -> Sqrt[4 Pi aS], + InteractionOrder -> {QCD,1}, + TeX -> Subscript[g,s], + ParameterName -> G, + Description -> "Strong coupling constant at the Z pole" + }, + vev == { + ParameterType -> Internal, + Value -> 2*MW*sw/ee, + InteractionOrder -> {QED,-1}, + Description -> "Higgs vacuum expectation value" + }, + lam == { + ParameterType -> Internal, + Value -> MH^2/(2*vev^2), + InteractionOrder -> {QED, 2}, + Description -> "Higgs quartic coupling" + }, + muH == { + ParameterType -> Internal, + Value -> Sqrt[vev^2 lam], + TeX -> \[Mu], + Description -> "Coefficient of the quadratic piece of the Higgs potential" + }, + yl == { + ParameterType -> Internal, + Indices -> {Index[Generation], Index[Generation]}, + Definitions -> {yl[i_?NumericQ, j_?NumericQ] :> 0 /; (i =!= j)}, + Value -> {yl[1,1] -> Sqrt[2] yme / vev, yl[2,2] -> Sqrt[2] ymm / vev, yl[3,3] -> Sqrt[2] ymtau / vev}, + InteractionOrder -> {QED, 1}, + ParameterName -> {yl[1,1] -> ye, yl[2,2] -> ym, yl[3,3] -> ytau}, + TeX -> Superscript[y, l], + Description -> "Lepton Yukawa couplings" + }, + yu == { + ParameterType -> Internal, + Indices -> {Index[Generation], Index[Generation]}, + Definitions -> {yu[i_?NumericQ, j_?NumericQ] :> 0 /; (i =!= j)}, + Value -> {yu[1,1] -> Sqrt[2] ymup/vev, yu[2,2] -> Sqrt[2] ymc/vev, yu[3,3] -> Sqrt[2] ymt/vev}, + InteractionOrder -> {QED, 1}, + ParameterName -> {yu[1,1] -> yup, yu[2,2] -> yc, yu[3,3] -> yt}, + TeX -> Superscript[y, u], + Description -> "Up-type Yukawa couplings" + }, + yd == { + ParameterType -> Internal, + Indices -> {Index[Generation], Index[Generation]}, + Definitions -> {yd[i_?NumericQ, j_?NumericQ] :> 0 /; (i =!= j)}, + Value -> {yd[1,1] -> Sqrt[2] ymdo/vev, yd[2,2] -> Sqrt[2] yms/vev, yd[3,3] -> Sqrt[2] ymb/vev}, + InteractionOrder -> {QED, 1}, + ParameterName -> {yd[1,1] -> ydo, yd[2,2] -> ys, yd[3,3] -> yb}, + TeX -> Superscript[y, d], + Description -> "Down-type Yukawa couplings" + }, +(* N. B. : only Cabibbo mixing! *) + CKM == { + ParameterType -> Internal, + Indices -> {Index[Generation], Index[Generation]}, + Unitary -> True, + Value -> {CKM[1,1] -> Cos[cabi], CKM[1,2] -> Sin[cabi], CKM[1,3] -> 0, + CKM[2,1] -> -Sin[cabi], CKM[2,2] -> Cos[cabi], CKM[2,3] -> 0, + CKM[3,1] -> 0, CKM[3,2] -> 0, CKM[3,3] -> 1}, + TeX -> Superscript[V,CKM], + Description -> "CKM-Matrix"} +}; + +(* ************************** *) +(* ***** Lagrangian ***** *) +(* ************************** *) + +LGauge := Block[{mu,nu,ii,aa}, + ExpandIndices[-1/4 FS[B,mu,nu] FS[B,mu,nu] - 1/4 FS[Wi,mu,nu,ii] FS[Wi,mu,nu,ii] - 1/4 FS[G,mu,nu,aa] FS[G,mu,nu,aa], FlavorExpand->SU2W]]; + +LFermions := Block[{mu}, + ExpandIndices[I*( + QLbar.Ga[mu].DC[QL, mu] + LLbar.Ga[mu].DC[LL, mu] + uRbar.Ga[mu].DC[uR, mu] + dRbar.Ga[mu].DC[dR, mu] + lRbar.Ga[mu].DC[lR, mu]), + FlavorExpand->{SU2W,SU2D}]/.{CKM[a_,b_] Conjugate[CKM[a_,c_]]->IndexDelta[b,c], CKM[b_,a_] Conjugate[CKM[c_,a_]]->IndexDelta[b,c]}]; + +LHiggs := Block[{ii,mu, feynmangaugerules}, + feynmangaugerules = If[Not[FeynmanGauge], {G0|GP|GPbar ->0}, {}]; + + ExpandIndices[DC[Phibar[ii],mu] DC[Phi[ii],mu] + muH^2 Phibar[ii] Phi[ii] - lam Phibar[ii] Phi[ii] Phibar[jj] Phi[jj], FlavorExpand->{SU2D,SU2W}]/.feynmangaugerules + ]; + +LYukawa := Block[{sp,ii,jj,cc,ff1,ff2,ff3,yuk,feynmangaugerules}, + feynmangaugerules = If[Not[FeynmanGauge], {G0|GP|GPbar ->0}, {}]; + + yuk = ExpandIndices[ + -yd[ff2, ff3] CKM[ff1, ff2] QLbar[sp, ii, ff1, cc].dR [sp, ff3, cc] Phi[ii] - + yl[ff1, ff3] LLbar[sp, ii, ff1].lR [sp, ff3] Phi[ii] - + yu[ff1, ff2] QLbar[sp, ii, ff1, cc].uR [sp, ff2, cc] Phibar[jj] Eps[ii, jj], FlavorExpand -> SU2D]; + yuk = yuk /. { CKM[a_, b_] Conjugate[CKM[a_, c_]] -> IndexDelta[b, c], CKM[b_, a_] Conjugate[CKM[c_, a_]] -> IndexDelta[b, c]}; + yuk+HC[yuk]/.feynmangaugerules + ]; + +LGhost := Block[{LGh1,LGhw,LGhs,LGhphi,mu, generators,gh,ghbar,Vectorize,phi1,phi2,togoldstones,doublet,doublet0}, + (* Pure gauge piece *) + LGh1 = -ghBbar.del[DC[ghB,mu],mu]; + LGhw = -ghWibar.del[DC[ghWi,mu],mu]; + LGhs = -ghGbar.del[DC[ghG,mu],mu]; + + (* Scalar pieces: see Peskin pages 739-742 *) + (* phi1 and phi2 are the real degrees of freedom of GP *) + (* Vectorize transforms a doublet in a vector in the phi-basis, i.e. the basis of real degrees of freedom *) + gh = {ghB, ghWi[1], ghWi[2], ghWi[3]}; + ghbar = {ghBbar, ghWibar[1], ghWibar[2], ghWibar[3]}; + generators = {-I/2 g1 IdentityMatrix[2], -I/2 gw PauliSigma[1], -I/2 gw PauliSigma[2], -I/2 gw PauliSigma[3]}; + doublet = Expand[{(-I phi1 - phi2)/Sqrt[2], Phi[2]} /. MR$Definitions /. vev -> 0]; + doublet0 = {0, vev/Sqrt[2]}; + Vectorize[{a_, b_}]:= Simplify[{Sqrt[2] Re[Expand[a]], Sqrt[2] Im[Expand[a]], Sqrt[2] Re[Expand[b]], Sqrt[2] Im[Expand[b]]}/.{Im[_]->0, Re[num_]->num}]; + togoldstones := {phi1 -> (GP + GPbar)/Sqrt[2], phi2 -> (-GP + GPbar)/(I Sqrt[2])}; + LGhphi=Plus@@Flatten[Table[-ghbar[[kkk]].gh[[lll]] Vectorize[generators[[kkk]].doublet0].Vectorize[generators[[lll]].(doublet+doublet0)],{kkk,4},{lll,4}]] /.togoldstones; + +ExpandIndices[ LGhs + If[FeynmanGauge, LGh1 + LGhw + LGhphi,0], FlavorExpand->SU2W]]; + +LSM:= LGauge + LFermions + LHiggs + LYukawa + LGhost; diff --git a/CHresonance_neutral_scalar_UFO/feynrules/neutral_scalar.fr b/CHresonance_neutral_scalar_UFO/feynrules/neutral_scalar.fr new file mode 100644 index 0000000..4883f4e --- /dev/null +++ b/CHresonance_neutral_scalar_UFO/feynrules/neutral_scalar.fr @@ -0,0 +1,40 @@ +(* ************************** *) +(* ***** Information ***** *) +(* ************************** *) + +M$ModelName = "CHresonance_neutral_scalar"; + +(* M$InteractionOrderHierarchy = { *) +(* {NP , 1}, *) +(* {QCD, 1}, *) +(* {QED, 2} *) +(* }; *) + +M$ClassesDescription = { + S[4] == { + ClassName -> s0, + SelfConjugate -> True, + Mass -> {Ms0, 1000.0}, + Width -> {Ws0, 1.0}, + ParticleName -> "s0"} +} + +M$Parameters = { + keta == { + ParameterType -> External, + Value -> 1.0, + InteractionOrder -> {NP,1}, + Description -> "Scalar cubic coupling times (v/f)"}, + gweak == { + ParameterType -> Internal, + Value -> gw, + InteractionOrder -> {QED,0}, + Description -> "gw at QED=0 order"}, + vweak == { + ParameterType -> Internal, + Value -> vev, + InteractionOrder -> {QED,0}, + Description -> "vev at QED=0 order"} +} + +Lscalar := 1/2 del[s0, mu] del[s0, mu] - 1/2 Ms0^2 s0^2 + keta gweak MW W[mu] Wbar[mu] s0 + keta gweak (1/2) (MZ/cw) Z[mu] Z[mu] s0 + keta (1/vweak) del[H, mu] del[H, mu] s0 diff --git a/CHresonance_neutral_scalar_UFO/feynrules/neutral_scalar.tar.gz b/CHresonance_neutral_scalar_UFO/feynrules/neutral_scalar.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..e2e183f1cb05eeb1484cd679d7e8c31d0b47b252 GIT binary patch literal 28830 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�(#rz&jhS#ygDdzM<wJRRFQx1kTgID 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 literal 0 HcmV?d00001 diff --git a/CHresonance_neutral_scalar_UFO/function_library.py b/CHresonance_neutral_scalar_UFO/function_library.py new file mode 100644 index 0000000..c4cfad7 --- /dev/null +++ b/CHresonance_neutral_scalar_UFO/function_library.py @@ -0,0 +1,71 @@ +# This file is part of the UFO. +# +# This file contains definitions for functions that +# are extensions of the cmath library, and correspond +# either to functions that are in cmath, but inconvenient +# to access from there (e.g. z.conjugate()), +# or functions that are simply not defined. +# +# + +__date__ = "22 July 2010" +__author__ = "claude.duhr@durham.ac.uk" + +import cmath +from object_library import all_functions, Function + +# +# shortcuts for functions from cmath +# + +complexconjugate = Function(name = 'complexconjugate', + arguments = ('z',), + expression = 'z.conjugate()') + + +re = Function(name = 're', + arguments = ('z',), + expression = 'z.real') + +im = Function(name = 'im', + arguments = ('z',), + expression = 'z.imag') + +# New functions (trigonometric) + +sec = Function(name = 'sec', + arguments = ('z',), + expression = '1./cmath.cos(z)') + +asec = Function(name = 'asec', + arguments = ('z',), + expression = 'cmath.acos(1./z)') + +csc = Function(name = 'csc', + arguments = ('z',), + expression = '1./cmath.sin(z)') + +acsc = Function(name = 'acsc', + arguments = ('z',), + expression = 'cmath.asin(1./z)') + +cot = Function(name = 'cot', + arguments = ('z',), + expression = '1./cmath.tan(z)') + +# Heaviside theta function + +theta_function = Function(name = 'theta_function', + arguments = ('x','y','z'), + expression = 'y if x else z') + +# Auxiliary functions for NLO + +cond = Function(name = 'cond', + arguments = ('condition','ExprTrue','ExprFalse'), + expression = '(ExprTrue if condition==0.0 else ExprFalse)') + +reglog = Function(name = 'reglog', + arguments = ('z'), + expression = '(0.0 if z==0.0 else cmath.log(z))') + diff --git a/CHresonance_neutral_scalar_UFO/lorentz.py b/CHresonance_neutral_scalar_UFO/lorentz.py new file mode 100644 index 0000000..8f78260 --- /dev/null +++ b/CHresonance_neutral_scalar_UFO/lorentz.py @@ -0,0 +1,106 @@ +# This file was automatically created by FeynRules 2.0.2 +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (February 23, 2011) +# Date: Wed 8 Oct 2014 20:39:09 + + +from object_library import all_lorentz, Lorentz + +from function_library import complexconjugate, re, im, csc, sec, acsc, asec, cot +try: + import form_factors as ForFac +except ImportError: + pass + + +UUS1 = Lorentz(name = 'UUS1', + spins = [ -1, -1, 1 ], + structure = '1') + +UUV1 = Lorentz(name = 'UUV1', + spins = [ -1, -1, 3 ], + structure = 'P(3,2) + P(3,3)') + +SSS1 = Lorentz(name = 'SSS1', + spins = [ 1, 1, 1 ], + structure = '1') + +SSS2 = Lorentz(name = 'SSS2', + spins = [ 1, 1, 1 ], + structure = 'P(-1,1)*P(-1,2)') + +FFS1 = Lorentz(name = 'FFS1', + spins = [ 2, 2, 1 ], + structure = 'ProjM(2,1)') + +FFS2 = Lorentz(name = 'FFS2', + spins = [ 2, 2, 1 ], + structure = 'ProjM(2,1) - ProjP(2,1)') + +FFS3 = Lorentz(name = 'FFS3', + spins = [ 2, 2, 1 ], + structure = 'ProjP(2,1)') + +FFS4 = Lorentz(name = 'FFS4', + spins = [ 2, 2, 1 ], + structure = 'ProjM(2,1) + ProjP(2,1)') + +FFV1 = Lorentz(name = 'FFV1', + spins = [ 2, 2, 3 ], + structure = 'Gamma(3,2,1)') + +FFV2 = Lorentz(name = 'FFV2', + spins = [ 2, 2, 3 ], + structure = 'Gamma(3,2,-1)*ProjM(-1,1)') + +FFV3 = Lorentz(name = 'FFV3', + spins = [ 2, 2, 3 ], + structure = 'Gamma(3,2,-1)*ProjM(-1,1) - 2*Gamma(3,2,-1)*ProjP(-1,1)') + +FFV4 = Lorentz(name = 'FFV4', + spins = [ 2, 2, 3 ], + structure = 'Gamma(3,2,-1)*ProjM(-1,1) + 2*Gamma(3,2,-1)*ProjP(-1,1)') + +FFV5 = Lorentz(name = 'FFV5', + spins = [ 2, 2, 3 ], + structure = 'Gamma(3,2,-1)*ProjM(-1,1) + 4*Gamma(3,2,-1)*ProjP(-1,1)') + +VSS1 = Lorentz(name = 'VSS1', + spins = [ 3, 1, 1 ], + structure = 'P(1,2) - P(1,3)') + +VVS1 = Lorentz(name = 'VVS1', + spins = [ 3, 3, 1 ], + structure = 'Metric(1,2)') + +VVV1 = Lorentz(name = 'VVV1', + spins = [ 3, 3, 3 ], + structure = 'P(3,1)*Metric(1,2) - P(3,2)*Metric(1,2) - P(2,1)*Metric(1,3) + P(2,3)*Metric(1,3) + P(1,2)*Metric(2,3) - P(1,3)*Metric(2,3)') + +SSSS1 = Lorentz(name = 'SSSS1', + spins = [ 1, 1, 1, 1 ], + structure = '1') + +VVSS1 = Lorentz(name = 'VVSS1', + spins = [ 3, 3, 1, 1 ], + structure = 'Metric(1,2)') + +VVVV1 = Lorentz(name = 'VVVV1', + spins = [ 3, 3, 3, 3 ], + structure = 'Metric(1,4)*Metric(2,3) - Metric(1,3)*Metric(2,4)') + +VVVV2 = Lorentz(name = 'VVVV2', + spins = [ 3, 3, 3, 3 ], + structure = 'Metric(1,4)*Metric(2,3) + Metric(1,3)*Metric(2,4) - 2*Metric(1,2)*Metric(3,4)') + +VVVV3 = Lorentz(name = 'VVVV3', + spins = [ 3, 3, 3, 3 ], + structure = 'Metric(1,4)*Metric(2,3) - Metric(1,2)*Metric(3,4)') + +VVVV4 = Lorentz(name = 'VVVV4', + spins = [ 3, 3, 3, 3 ], + structure = 'Metric(1,3)*Metric(2,4) - Metric(1,2)*Metric(3,4)') + +VVVV5 = Lorentz(name = 'VVVV5', + spins = [ 3, 3, 3, 3 ], + structure = 'Metric(1,4)*Metric(2,3) - (Metric(1,3)*Metric(2,4))/2. - (Metric(1,2)*Metric(3,4))/2.') + diff --git a/CHresonance_neutral_scalar_UFO/object_library.py b/CHresonance_neutral_scalar_UFO/object_library.py new file mode 100644 index 0000000..ee0a429 --- /dev/null +++ b/CHresonance_neutral_scalar_UFO/object_library.py @@ -0,0 +1,377 @@ +## +## +## Feynrules Header +## +## +## +## +## + +import cmath +import re + +class UFOError(Exception): + """Exception raised if when inconsistencies are detected in the UFO model.""" + pass + +class UFOBaseClass(object): + """The class from which all FeynRules classes are derived.""" + + require_args = [] + + def __init__(self, *args, **options): + assert(len(self.require_args) == len (args)) + + for i, name in enumerate(self.require_args): + setattr(self, name, args[i]) + + for (option, value) in options.items(): + setattr(self, option, value) + + def get(self, name): + return getattr(self, name) + + def set(self, name, value): + setattr(self, name, value) + + def get_all(self): + """Return a dictionary containing all the information of the object""" + return self.__dict__ + + def __str__(self): + return self.name + + def nice_string(self): + """ return string with the full information """ + return '\n'.join(['%s \t: %s' %(name, value) for name, value in self.__dict__.items()]) + + def __repr__(self): + replacements = [ + ('+','__plus__'), + ('-','__minus__'), + ('@','__at__'), + ('!','__exclam__'), + ('?','__quest__'), + ('*','__star__'), + ('~','__tilde__') + ] + text = self.name + for orig,sub in replacements: + text = text.replace(orig,sub) + return text + + + +all_particles = [] + +class Particle(UFOBaseClass): + """A standard Particle""" + + require_args=['pdg_code', 'name', 'antiname', 'spin', 'color', 'mass', 'width', 'texname', 'antitexname', 'charge'] + + require_args_all = ['pdg_code', 'name', 'antiname', 'spin', 'color', 'mass', 'width', 'texname', 'antitexname','counterterm','charge', 'line', 'propagating', 'goldstoneboson', 'propagator'] + + def __init__(self, pdg_code, name, antiname, spin, color, mass, width, texname, + antitexname, charge , line=None, propagating=True, counterterm=None, goldstoneboson=False, + propagator=None, **options): + + args= (pdg_code, name, antiname, spin, color, mass, width, texname, + antitexname, float(charge)) + + UFOBaseClass.__init__(self, *args, **options) + + global all_particles + all_particles.append(self) + + self.propagating = propagating + self.goldstoneboson= goldstoneboson + + self.selfconjugate = (name == antiname) + if not line: + self.line = self.find_line_type() + else: + self.line = line + + if propagator: + if isinstance(propagator, dict): + self.propagator = propagator + else: + self.propagator = {0: propagator, 1: propagator} + + def find_line_type(self): + """ find how we draw a line if not defined + valid output: dashed/straight/wavy/curly/double/swavy/scurly + """ + + spin = self.spin + color = self.color + + #use default + if spin == 1: + return 'dashed' + elif spin == 2: + if not self.selfconjugate: + return 'straight' + elif color == 1: + return 'swavy' + else: + return 'scurly' + elif spin == 3: + if color == 1: + return 'wavy' + + else: + return 'curly' + elif spin == 5: + return 'double' + elif spin == -1: + return 'dotted' + else: + return 'dashed' # not supported yet + + def anti(self): + if self.selfconjugate: + raise Exception('%s has no anti particle.' % self.name) + outdic = {} + for k,v in self.__dict__.iteritems(): + if k not in self.require_args_all: + outdic[k] = -v + if self.color in [1,8]: + newcolor = self.color + else: + newcolor = -self.color + + return Particle(-self.pdg_code, self.antiname, self.name, self.spin, newcolor, self.mass, self.width, + self.antitexname, self.texname, -self.charge, self.line, self.propagating, self.goldstoneboson, **outdic) + + + +all_parameters = [] + +class Parameter(UFOBaseClass): + + require_args=['name', 'nature', 'type', 'value', 'texname'] + + def __init__(self, name, nature, type, value, texname, lhablock=None, lhacode=None): + + args = (name,nature,type,value,texname) + + UFOBaseClass.__init__(self, *args) + + args=(name,nature,type,value,texname) + + global all_parameters + all_parameters.append(self) + + if (lhablock is None or lhacode is None) and nature == 'external': + raise Exception('Need LHA information for external parameter "%s".' % name) + self.lhablock = lhablock + self.lhacode = lhacode + +all_CTparameters = [] + +class CTParameter(UFOBaseClass): + + require_args=['name', 'nature,', 'type', 'value', 'texname'] + + def __init__(self, name, type, value, texname): + + args = (name,'internal',type,value,texname) + + UFOBaseClass.__init__(self, *args) + + args=(name,'internal',type,value,texname) + + self.nature='interal' + + global all_CTparameters + all_CTparameters.append(self) + + def finite(self): + try: + return self.value[0] + except KeyError: + return 'ZERO' + + def pole(self, x): + try: + return self.value[-x] + except KeyError: + return 'ZERO' + +all_vertices = [] + +class Vertex(UFOBaseClass): + + require_args=['name', 'particles', 'color', 'lorentz', 'couplings'] + + def __init__(self, name, particles, color, lorentz, couplings, **opt): + + args = (name, particles, color, lorentz, couplings) + + UFOBaseClass.__init__(self, *args, **opt) + + args=(particles,color,lorentz,couplings) + + global all_vertices + all_vertices.append(self) + +all_CTvertices = [] + +class CTVertex(UFOBaseClass): + + require_args=['name', 'particles', 'color', 'lorentz', 'couplings', 'type', 'loop_particles'] + + def __init__(self, name, particles, color, lorentz, couplings, type, loop_particles, **opt): + + args = (name, particles, color, lorentz, couplings, type, loop_particles) + + UFOBaseClass.__init__(self, *args, **opt) + + args=(particles,color,lorentz,couplings, type, loop_particles) + + global all_CTvertices + all_CTvertices.append(self) + +all_couplings = [] + +class Coupling(UFOBaseClass): + + require_args=['name', 'value', 'order'] + + require_args_all=['name', 'value', 'order', 'loop_particles', 'counterterm'] + + def __init__(self, name, value, order, **opt): + + args =(name, value, order) + UFOBaseClass.__init__(self, *args, **opt) + global all_couplings + all_couplings.append(self) + + def value(self): + return self.pole(0) + + def pole(self, x): + """ the self.value attribute can be a dictionary directly specifying the Laurent serie using normal + parameter or just a string which can possibly contain CTparameter defining the Laurent serie.""" + + if isinstance(self.value,dict): + if -x in self.value.keys(): + return self.value[-x] + else: + return 'ZERO' + + CTparam=None + for param in all_CTparameters: + pattern=re.compile(r"(?P<first>\A|\*|\+|\-|\()(?P<name>"+param.name+r")(?P<second>\Z|\*|\+|\-|\))") + numberOfMatches=len(pattern.findall(self.value)) + if numberOfMatches==1: + if not CTparam: + CTparam=param + else: + raise UFOError, "UFO does not support yet more than one occurence of CTParameters in the couplings values." + elif numberOfMatches>1: + raise UFOError, "UFO does not support yet more than one occurence of CTParameters in the couplings values." + + if not CTparam: + if x==0: + return self.value + else: + return 'ZERO' + else: + if CTparam.pole(x)=='ZERO': + return 'ZERO' + else: + def substitution(matchedObj): + return matchedObj.group('first')+"("+CTparam.pole(x)+")"+matchedObj.group('second') + pattern=re.compile(r"(?P<first>\A|\*|\+|\-|\()(?P<name>"+CTparam.name+r")(?P<second>\Z|\*|\+|\-|\))") + return pattern.sub(substitution,self.value) + +all_lorentz = [] + +class Lorentz(UFOBaseClass): + + require_args=['name','spins','structure'] + + def __init__(self, name, spins, structure='external', **opt): + args = (name, spins, structure) + UFOBaseClass.__init__(self, *args, **opt) + + global all_lorentz + all_lorentz.append(self) + + +all_functions = [] + +class Function(object): + + def __init__(self, name, arguments, expression): + + global all_functions + all_functions.append(self) + + self.name = name + self.arguments = arguments + self.expr = expression + + def __call__(self, *opt): + + for i, arg in enumerate(self.arguments): + exec('%s = %s' % (arg, opt[i] )) + + return eval(self.expr) + +all_orders = [] + +class CouplingOrder(object): + + def __init__(self, name, expansion_order, hierarchy, perturbative_expansion = 0): + + global all_orders + all_orders.append(self) + + self.name = name + self.expansion_order = expansion_order + self.hierarchy = hierarchy + self.perturbative_expansion = perturbative_expansion + +all_decays = [] + +class Decay(UFOBaseClass): + require_args = ['particle','partial_widths'] + + def __init__(self, particle, partial_widths, **opt): + args = (particle, partial_widths) + UFOBaseClass.__init__(self, *args, **opt) + + global all_decays + all_decays.append(self) + + # Add the information directly to the particle + particle.partial_widths = partial_widths + +all_form_factors = [] + +class FormFactor(UFOBaseClass): + require_args = ['name','type','value'] + + def __init__(self, name, type, value, **opt): + args = (name, type, value) + UFOBaseClass.__init__(self, *args, **opt) + + global all_form_factors + all_form_factors.append(self) + + +all_propagators = [] + +class Propagator(UFOBaseClass): + + require_args = ['name','numerator','denominator'] + + def __init__(self, name, numerator, denominator=None, **opt): + args = (name, numerator, denominator) + UFOBaseClass.__init__(self, *args, **opt) + + global all_propagators + all_propagators.append(self) diff --git a/CHresonance_neutral_scalar_UFO/parameters.py b/CHresonance_neutral_scalar_UFO/parameters.py new file mode 100644 index 0000000..509a4dd --- /dev/null +++ b/CHresonance_neutral_scalar_UFO/parameters.py @@ -0,0 +1,290 @@ +# This file was automatically created by FeynRules 2.0.2 +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (February 23, 2011) +# Date: Wed 8 Oct 2014 20:39:09 + + + +from object_library import all_parameters, Parameter + + +from function_library import complexconjugate, re, im, csc, sec, acsc, asec, cot + +# This is a default parameter object representing 0. +ZERO = Parameter(name = 'ZERO', + nature = 'internal', + type = 'real', + value = '0.0', + texname = '0') + +# User-defined parameters. +aEWM1 = Parameter(name = 'aEWM1', + nature = 'external', + type = 'real', + value = 127.9, + texname = '\\text{aEWM1}', + lhablock = 'SMINPUTS', + lhacode = [ 1 ]) + +Gf = Parameter(name = 'Gf', + nature = 'external', + type = 'real', + value = 0.0000116637, + texname = 'G_f', + lhablock = 'SMINPUTS', + lhacode = [ 2 ]) + +aS = Parameter(name = 'aS', + nature = 'external', + type = 'real', + value = 0.1184, + texname = '\\alpha _s', + lhablock = 'SMINPUTS', + lhacode = [ 3 ]) + +ymb = Parameter(name = 'ymb', + nature = 'external', + type = 'real', + value = 4.7, + texname = '\\text{ymb}', + lhablock = 'YUKAWA', + lhacode = [ 5 ]) + +ymt = Parameter(name = 'ymt', + nature = 'external', + type = 'real', + value = 172, + texname = '\\text{ymt}', + lhablock = 'YUKAWA', + lhacode = [ 6 ]) + +ymtau = Parameter(name = 'ymtau', + nature = 'external', + type = 'real', + value = 1.777, + texname = '\\text{ymtau}', + lhablock = 'YUKAWA', + lhacode = [ 15 ]) + +keta = Parameter(name = 'keta', + nature = 'external', + type = 'real', + value = 0.1474, + texname = '\\text{keta}', + lhablock = 'FRBlock', + lhacode = [ 1 ]) + +MZ = Parameter(name = 'MZ', + nature = 'external', + type = 'real', + value = 91.1876, + texname = '\\text{MZ}', + lhablock = 'MASS', + lhacode = [ 23 ]) + +MTA = Parameter(name = 'MTA', + nature = 'external', + type = 'real', + value = 1.777, + texname = '\\text{MTA}', + lhablock = 'MASS', + lhacode = [ 15 ]) + +MT = Parameter(name = 'MT', + nature = 'external', + type = 'real', + value = 172, + texname = '\\text{MT}', + lhablock = 'MASS', + lhacode = [ 6 ]) + +MB = Parameter(name = 'MB', + nature = 'external', + type = 'real', + value = 4.7, + texname = '\\text{MB}', + lhablock = 'MASS', + lhacode = [ 5 ]) + +MH = Parameter(name = 'MH', + nature = 'external', + type = 'real', + value = 125, + texname = '\\text{MH}', + lhablock = 'MASS', + lhacode = [ 25 ]) + +Ms0 = Parameter(name = 'Ms0', + nature = 'external', + type = 'real', + value = 7000.0, + #value = 1000.0, + texname = '\\text{Ms0}', + lhablock = 'MASS', + lhacode = [ 9000006 ]) + +WZ = Parameter(name = 'WZ', + nature = 'external', + type = 'real', + value = 2.4952, + texname = '\\text{WZ}', + lhablock = 'DECAY', + lhacode = [ 23 ]) + +WW = Parameter(name = 'WW', + nature = 'external', + type = 'real', + value = 2.085, + texname = '\\text{WW}', + lhablock = 'DECAY', + lhacode = [ 24 ]) + +WT = Parameter(name = 'WT', + nature = 'external', + type = 'real', + value = 1.50833649, + texname = '\\text{WT}', + lhablock = 'DECAY', + lhacode = [ 6 ]) + +WH = Parameter(name = 'WH', + nature = 'external', + type = 'real', + value = 0.00407, + texname = '\\text{WH}', + lhablock = 'DECAY', + lhacode = [ 25 ]) + +Ws0 = Parameter(name = 'Ws0', + nature = 'external', + type = 'real', + value = 1100.0, + texname = '\\text{Ws0}', + lhablock = 'DECAY', + lhacode = [ 9000006 ]) + +aEW = Parameter(name = 'aEW', + nature = 'internal', + type = 'real', + value = '1/aEWM1', + texname = '\\alpha _{\\text{EW}}') + +G = Parameter(name = 'G', + nature = 'internal', + type = 'real', + value = '2*cmath.sqrt(aS)*cmath.sqrt(cmath.pi)', + texname = 'G') + +MW = Parameter(name = 'MW', + nature = 'internal', + type = 'real', + value = 'cmath.sqrt(MZ**2/2. + cmath.sqrt(MZ**4/4. - (aEW*cmath.pi*MZ**2)/(Gf*cmath.sqrt(2))))', + texname = 'M_W') + +ee = Parameter(name = 'ee', + nature = 'internal', + type = 'real', + value = '2*cmath.sqrt(aEW)*cmath.sqrt(cmath.pi)', + texname = 'e') + +sw2 = Parameter(name = 'sw2', + nature = 'internal', + type = 'real', + value = '1 - MW**2/MZ**2', + texname = '\\text{sw2}') + +cw = Parameter(name = 'cw', + nature = 'internal', + type = 'real', + value = 'cmath.sqrt(1 - sw2)', + texname = 'c_w') + +sw = Parameter(name = 'sw', + nature = 'internal', + type = 'real', + value = 'cmath.sqrt(sw2)', + texname = 's_w') + +g1 = Parameter(name = 'g1', + nature = 'internal', + type = 'real', + value = 'ee/cw', + texname = 'g_1') + +gw = Parameter(name = 'gw', + nature = 'internal', + type = 'real', + value = 'ee/sw', + texname = 'g_w') + +vev = Parameter(name = 'vev', + nature = 'internal', + type = 'real', + value = '(2*MW*sw)/ee', + texname = '\\text{vev}') + +gweak = Parameter(name = 'gweak', + nature = 'internal', + type = 'real', + value = 'gw', + texname = '\\text{gweak}') + +lam = Parameter(name = 'lam', + nature = 'internal', + type = 'real', + value = 'MH**2/(2.*vev**2)', + texname = '\\text{lam}') + +vweak = Parameter(name = 'vweak', + nature = 'internal', + type = 'real', + value = 'vev', + texname = '\\text{vweak}') + +yb = Parameter(name = 'yb', + nature = 'internal', + type = 'real', + value = '(ymb*cmath.sqrt(2))/vev', + texname = '\\text{yb}') + +yt = Parameter(name = 'yt', + nature = 'internal', + type = 'real', + value = '(ymt*cmath.sqrt(2))/vev', + texname = '\\text{yt}') + +ytau = Parameter(name = 'ytau', + nature = 'internal', + type = 'real', + value = '(ymtau*cmath.sqrt(2))/vev', + texname = '\\text{ytau}') + +muH = Parameter(name = 'muH', + nature = 'internal', + type = 'real', + value = 'cmath.sqrt(lam*vev**2)', + texname = '\\mu') + +I1b33 = Parameter(name = 'I1b33', + nature = 'internal', + type = 'complex', + value = 'yb', + texname = '\\text{I1b33}') + +I2b33 = Parameter(name = 'I2b33', + nature = 'internal', + type = 'complex', + value = 'yt', + texname = '\\text{I2b33}') + +I3b33 = Parameter(name = 'I3b33', + nature = 'internal', + type = 'complex', + value = 'yt', + texname = '\\text{I3b33}') + +I4b33 = Parameter(name = 'I4b33', + nature = 'internal', + type = 'complex', + value = 'yb', + texname = '\\text{I4b33}') + diff --git a/CHresonance_neutral_scalar_UFO/parametersTemplate.py b/CHresonance_neutral_scalar_UFO/parametersTemplate.py new file mode 100644 index 0000000..d9ffa12 --- /dev/null +++ b/CHresonance_neutral_scalar_UFO/parametersTemplate.py @@ -0,0 +1,289 @@ +# This file was automatically created by FeynRules 2.0.2 +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (February 23, 2011) +# Date: Wed 8 Oct 2014 20:39:09 + + + +from object_library import all_parameters, Parameter + + +from function_library import complexconjugate, re, im, csc, sec, acsc, asec, cot + +# This is a default parameter object representing 0. +ZERO = Parameter(name = 'ZERO', + nature = 'internal', + type = 'real', + value = '0.0', + texname = '0') + +# User-defined parameters. +aEWM1 = Parameter(name = 'aEWM1', + nature = 'external', + type = 'real', + value = 127.9, + texname = '\\text{aEWM1}', + lhablock = 'SMINPUTS', + lhacode = [ 1 ]) + +Gf = Parameter(name = 'Gf', + nature = 'external', + type = 'real', + value = 0.0000116637, + texname = 'G_f', + lhablock = 'SMINPUTS', + lhacode = [ 2 ]) + +aS = Parameter(name = 'aS', + nature = 'external', + type = 'real', + value = 0.1184, + texname = '\\alpha _s', + lhablock = 'SMINPUTS', + lhacode = [ 3 ]) + +ymb = Parameter(name = 'ymb', + nature = 'external', + type = 'real', + value = 4.7, + texname = '\\text{ymb}', + lhablock = 'YUKAWA', + lhacode = [ 5 ]) + +ymt = Parameter(name = 'ymt', + nature = 'external', + type = 'real', + value = 172, + texname = '\\text{ymt}', + lhablock = 'YUKAWA', + lhacode = [ 6 ]) + +ymtau = Parameter(name = 'ymtau', + nature = 'external', + type = 'real', + value = 1.777, + texname = '\\text{ymtau}', + lhablock = 'YUKAWA', + lhacode = [ 15 ]) + +keta = Parameter(name = 'keta', + nature = 'external', + type = 'real', + value = 0.1234, + texname = '\\text{keta}', + lhablock = 'FRBlock', + lhacode = [ 1 ]) + +MZ = Parameter(name = 'MZ', + nature = 'external', + type = 'real', + value = 91.1876, + texname = '\\text{MZ}', + lhablock = 'MASS', + lhacode = [ 23 ]) + +MTA = Parameter(name = 'MTA', + nature = 'external', + type = 'real', + value = 1.777, + texname = '\\text{MTA}', + lhablock = 'MASS', + lhacode = [ 15 ]) + +MT = Parameter(name = 'MT', + nature = 'external', + type = 'real', + value = 172, + texname = '\\text{MT}', + lhablock = 'MASS', + lhacode = [ 6 ]) + +MB = Parameter(name = 'MB', + nature = 'external', + type = 'real', + value = 4.7, + texname = '\\text{MB}', + lhablock = 'MASS', + lhacode = [ 5 ]) + +MH = Parameter(name = 'MH', + nature = 'external', + type = 'real', + value = 125, + texname = '\\text{MH}', + lhablock = 'MASS', + lhacode = [ 25 ]) + +Ms0 = Parameter(name = 'Ms0', + nature = 'external', + type = 'real', + value = 1567.0, + texname = '\\text{Ms0}', + lhablock = 'MASS', + lhacode = [ 9000006 ]) + +WZ = Parameter(name = 'WZ', + nature = 'external', + type = 'real', + value = 2.4952, + texname = '\\text{WZ}', + lhablock = 'DECAY', + lhacode = [ 23 ]) + +WW = Parameter(name = 'WW', + nature = 'external', + type = 'real', + value = 2.085, + texname = '\\text{WW}', + lhablock = 'DECAY', + lhacode = [ 24 ]) + +WT = Parameter(name = 'WT', + nature = 'external', + type = 'real', + value = 1.50833649, + texname = '\\text{WT}', + lhablock = 'DECAY', + lhacode = [ 6 ]) + +WH = Parameter(name = 'WH', + nature = 'external', + type = 'real', + value = 0.00407, + texname = '\\text{WH}', + lhablock = 'DECAY', + lhacode = [ 25 ]) + +Ws0 = Parameter(name = 'Ws0', + nature = 'external', + type = 'real', + value = 1100.0, + texname = '\\text{Ws0}', + lhablock = 'DECAY', + lhacode = [ 9000006 ]) + +aEW = Parameter(name = 'aEW', + nature = 'internal', + type = 'real', + value = '1/aEWM1', + texname = '\\alpha _{\\text{EW}}') + +G = Parameter(name = 'G', + nature = 'internal', + type = 'real', + value = '2*cmath.sqrt(aS)*cmath.sqrt(cmath.pi)', + texname = 'G') + +MW = Parameter(name = 'MW', + nature = 'internal', + type = 'real', + value = 'cmath.sqrt(MZ**2/2. + cmath.sqrt(MZ**4/4. - (aEW*cmath.pi*MZ**2)/(Gf*cmath.sqrt(2))))', + texname = 'M_W') + +ee = Parameter(name = 'ee', + nature = 'internal', + type = 'real', + value = '2*cmath.sqrt(aEW)*cmath.sqrt(cmath.pi)', + texname = 'e') + +sw2 = Parameter(name = 'sw2', + nature = 'internal', + type = 'real', + value = '1 - MW**2/MZ**2', + texname = '\\text{sw2}') + +cw = Parameter(name = 'cw', + nature = 'internal', + type = 'real', + value = 'cmath.sqrt(1 - sw2)', + texname = 'c_w') + +sw = Parameter(name = 'sw', + nature = 'internal', + type = 'real', + value = 'cmath.sqrt(sw2)', + texname = 's_w') + +g1 = Parameter(name = 'g1', + nature = 'internal', + type = 'real', + value = 'ee/cw', + texname = 'g_1') + +gw = Parameter(name = 'gw', + nature = 'internal', + type = 'real', + value = 'ee/sw', + texname = 'g_w') + +vev = Parameter(name = 'vev', + nature = 'internal', + type = 'real', + value = '(2*MW*sw)/ee', + texname = '\\text{vev}') + +gweak = Parameter(name = 'gweak', + nature = 'internal', + type = 'real', + value = 'gw', + texname = '\\text{gweak}') + +lam = Parameter(name = 'lam', + nature = 'internal', + type = 'real', + value = 'MH**2/(2.*vev**2)', + texname = '\\text{lam}') + +vweak = Parameter(name = 'vweak', + nature = 'internal', + type = 'real', + value = 'vev', + texname = '\\text{vweak}') + +yb = Parameter(name = 'yb', + nature = 'internal', + type = 'real', + value = '(ymb*cmath.sqrt(2))/vev', + texname = '\\text{yb}') + +yt = Parameter(name = 'yt', + nature = 'internal', + type = 'real', + value = '(ymt*cmath.sqrt(2))/vev', + texname = '\\text{yt}') + +ytau = Parameter(name = 'ytau', + nature = 'internal', + type = 'real', + value = '(ymtau*cmath.sqrt(2))/vev', + texname = '\\text{ytau}') + +muH = Parameter(name = 'muH', + nature = 'internal', + type = 'real', + value = 'cmath.sqrt(lam*vev**2)', + texname = '\\mu') + +I1b33 = Parameter(name = 'I1b33', + nature = 'internal', + type = 'complex', + value = 'yb', + texname = '\\text{I1b33}') + +I2b33 = Parameter(name = 'I2b33', + nature = 'internal', + type = 'complex', + value = 'yt', + texname = '\\text{I2b33}') + +I3b33 = Parameter(name = 'I3b33', + nature = 'internal', + type = 'complex', + value = 'yt', + texname = '\\text{I3b33}') + +I4b33 = Parameter(name = 'I4b33', + nature = 'internal', + type = 'complex', + value = 'yb', + texname = '\\text{I4b33}') + diff --git a/CHresonance_neutral_scalar_UFO/particles.py b/CHresonance_neutral_scalar_UFO/particles.py new file mode 100644 index 0000000..5f25324 --- /dev/null +++ b/CHresonance_neutral_scalar_UFO/particles.py @@ -0,0 +1,401 @@ +# This file was automatically created by FeynRules 2.0.2 +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (February 23, 2011) +# Date: Wed 8 Oct 2014 20:39:09 + + +from __future__ import division +from object_library import all_particles, Particle +import parameters as Param + +import propagators as Prop + +a = Particle(pdg_code = 22, + name = 'a', + antiname = 'a', + spin = 3, + color = 1, + mass = Param.ZERO, + width = Param.ZERO, + texname = 'a', + antitexname = 'a', + charge = 0, + GhostNumber = 0, + LeptonNumber = 0, + Y = 0) + +Z = Particle(pdg_code = 23, + name = 'Z', + antiname = 'Z', + spin = 3, + color = 1, + mass = Param.MZ, + width = Param.WZ, + texname = 'Z', + antitexname = 'Z', + charge = 0, + GhostNumber = 0, + LeptonNumber = 0, + Y = 0) + +W__plus__ = Particle(pdg_code = 24, + name = 'W+', + antiname = 'W-', + spin = 3, + color = 1, + mass = Param.MW, + width = Param.WW, + texname = 'W+', + antitexname = 'W-', + charge = 1, + GhostNumber = 0, + LeptonNumber = 0, + Y = 0) + +W__minus__ = W__plus__.anti() + +g = Particle(pdg_code = 21, + name = 'g', + antiname = 'g', + spin = 3, + color = 8, + mass = Param.ZERO, + width = Param.ZERO, + texname = 'g', + antitexname = 'g', + charge = 0, + GhostNumber = 0, + LeptonNumber = 0, + Y = 0) + +ghA = Particle(pdg_code = 9000001, + name = 'ghA', + antiname = 'ghA~', + spin = -1, + color = 1, + mass = Param.ZERO, + width = Param.ZERO, + texname = 'ghA', + antitexname = 'ghA~', + charge = 0, + GhostNumber = 1, + LeptonNumber = 0, + Y = 0) + +ghA__tilde__ = ghA.anti() + +ghZ = Particle(pdg_code = 9000002, + name = 'ghZ', + antiname = 'ghZ~', + spin = -1, + color = 1, + mass = Param.MZ, + width = Param.WZ, + texname = 'ghZ', + antitexname = 'ghZ~', + charge = 0, + GhostNumber = 1, + LeptonNumber = 0, + Y = 0) + +ghZ__tilde__ = ghZ.anti() + +ghWp = Particle(pdg_code = 9000003, + name = 'ghWp', + antiname = 'ghWp~', + spin = -1, + color = 1, + mass = Param.MW, + width = Param.WW, + texname = 'ghWp', + antitexname = 'ghWp~', + charge = 1, + GhostNumber = 1, + LeptonNumber = 0, + Y = 0) + +ghWp__tilde__ = ghWp.anti() + +ghWm = Particle(pdg_code = 9000004, + name = 'ghWm', + antiname = 'ghWm~', + spin = -1, + color = 1, + mass = Param.MW, + width = Param.WW, + texname = 'ghWm', + antitexname = 'ghWm~', + charge = -1, + GhostNumber = 1, + LeptonNumber = 0, + Y = 0) + +ghWm__tilde__ = ghWm.anti() + +ghG = Particle(pdg_code = 9000005, + name = 'ghG', + antiname = 'ghG~', + spin = -1, + color = 8, + mass = Param.ZERO, + width = Param.ZERO, + texname = 'ghG', + antitexname = 'ghG~', + charge = 0, + GhostNumber = 1, + LeptonNumber = 0, + Y = 0) + +ghG__tilde__ = ghG.anti() + +ve = Particle(pdg_code = 12, + name = 've', + antiname = 've~', + spin = 2, + color = 1, + mass = Param.ZERO, + width = Param.ZERO, + texname = 've', + antitexname = 've~', + charge = 0, + GhostNumber = 0, + LeptonNumber = 1, + Y = 0) + +ve__tilde__ = ve.anti() + +vm = Particle(pdg_code = 14, + name = 'vm', + antiname = 'vm~', + spin = 2, + color = 1, + mass = Param.ZERO, + width = Param.ZERO, + texname = 'vm', + antitexname = 'vm~', + charge = 0, + GhostNumber = 0, + LeptonNumber = 1, + Y = 0) + +vm__tilde__ = vm.anti() + +vt = Particle(pdg_code = 16, + name = 'vt', + antiname = 'vt~', + spin = 2, + color = 1, + mass = Param.ZERO, + width = Param.ZERO, + texname = 'vt', + antitexname = 'vt~', + charge = 0, + GhostNumber = 0, + LeptonNumber = 1, + Y = 0) + +vt__tilde__ = vt.anti() + +e__minus__ = Particle(pdg_code = 11, + name = 'e-', + antiname = 'e+', + spin = 2, + color = 1, + mass = Param.ZERO, + width = Param.ZERO, + texname = 'e-', + antitexname = 'e+', + charge = -1, + GhostNumber = 0, + LeptonNumber = 1, + Y = 0) + +e__plus__ = e__minus__.anti() + +mu__minus__ = Particle(pdg_code = 13, + name = 'mu-', + antiname = 'mu+', + spin = 2, + color = 1, + mass = Param.ZERO, + width = Param.ZERO, + texname = 'mu-', + antitexname = 'mu+', + charge = -1, + GhostNumber = 0, + LeptonNumber = 1, + Y = 0) + +mu__plus__ = mu__minus__.anti() + +ta__minus__ = Particle(pdg_code = 15, + name = 'ta-', + antiname = 'ta+', + spin = 2, + color = 1, + mass = Param.MTA, + width = Param.ZERO, + texname = 'ta-', + antitexname = 'ta+', + charge = -1, + GhostNumber = 0, + LeptonNumber = 1, + Y = 0) + +ta__plus__ = ta__minus__.anti() + +u = Particle(pdg_code = 2, + name = 'u', + antiname = 'u~', + spin = 2, + color = 3, + mass = Param.ZERO, + width = Param.ZERO, + texname = 'u', + antitexname = 'u~', + charge = 2/3, + GhostNumber = 0, + LeptonNumber = 0, + Y = 0) + +u__tilde__ = u.anti() + +c = Particle(pdg_code = 4, + name = 'c', + antiname = 'c~', + spin = 2, + color = 3, + mass = Param.ZERO, + width = Param.ZERO, + texname = 'c', + antitexname = 'c~', + charge = 2/3, + GhostNumber = 0, + LeptonNumber = 0, + Y = 0) + +c__tilde__ = c.anti() + +t = Particle(pdg_code = 6, + name = 't', + antiname = 't~', + spin = 2, + color = 3, + mass = Param.MT, + width = Param.WT, + texname = 't', + antitexname = 't~', + charge = 2/3, + GhostNumber = 0, + LeptonNumber = 0, + Y = 0) + +t__tilde__ = t.anti() + +d = Particle(pdg_code = 1, + name = 'd', + antiname = 'd~', + spin = 2, + color = 3, + mass = Param.ZERO, + width = Param.ZERO, + texname = 'd', + antitexname = 'd~', + charge = -1/3, + GhostNumber = 0, + LeptonNumber = 0, + Y = 0) + +d__tilde__ = d.anti() + +s = Particle(pdg_code = 3, + name = 's', + antiname = 's~', + spin = 2, + color = 3, + mass = Param.ZERO, + width = Param.ZERO, + texname = 's', + antitexname = 's~', + charge = -1/3, + GhostNumber = 0, + LeptonNumber = 0, + Y = 0) + +s__tilde__ = s.anti() + +b = Particle(pdg_code = 5, + name = 'b', + antiname = 'b~', + spin = 2, + color = 3, + mass = Param.MB, + width = Param.ZERO, + texname = 'b', + antitexname = 'b~', + charge = -1/3, + GhostNumber = 0, + LeptonNumber = 0, + Y = 0) + +b__tilde__ = b.anti() + +H = Particle(pdg_code = 25, + name = 'H', + antiname = 'H', + spin = 1, + color = 1, + mass = Param.MH, + width = Param.WH, + texname = 'H', + antitexname = 'H', + charge = 0, + GhostNumber = 0, + LeptonNumber = 0, + Y = 0) + +G0 = Particle(pdg_code = 250, + name = 'G0', + antiname = 'G0', + spin = 1, + color = 1, + mass = Param.MZ, + width = Param.WZ, + texname = 'G0', + antitexname = 'G0', + goldstone = True, + charge = 0, + GhostNumber = 0, + LeptonNumber = 0, + Y = 0) + +G__plus__ = Particle(pdg_code = 251, + name = 'G+', + antiname = 'G-', + spin = 1, + color = 1, + mass = Param.MW, + width = Param.WW, + texname = 'G+', + antitexname = 'G-', + goldstone = True, + charge = 1, + GhostNumber = 0, + LeptonNumber = 0, + Y = 0) + +G__minus__ = G__plus__.anti() + +s0 = Particle(pdg_code = 9000006, + name = 's0', + antiname = 's0', + spin = 1, + color = 1, + mass = Param.Ms0, + width = Param.Ws0, + texname = 's0', + antitexname = 's0', + charge = 0, + GhostNumber = 0, + LeptonNumber = 0, + Y = 0) + diff --git a/CHresonance_neutral_scalar_UFO/propagators.py b/CHresonance_neutral_scalar_UFO/propagators.py new file mode 100644 index 0000000..8d42159 --- /dev/null +++ b/CHresonance_neutral_scalar_UFO/propagators.py @@ -0,0 +1,35 @@ +# This file was automatically created by FeynRules 1.7.69 +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010) +# Date: Mon 1 Oct 2012 14:58:26 + +from object_library import all_propagators, Propagator + + +# define only once the denominator since this is always the same +denominator = "P('mu', id) * P('mu', id) - Mass(id) * Mass(id) + complex(0,1) * Mass(id) * Width(id)" + +# propagator for the scalar +S = Propagator(name = "S", + numerator = "complex(0,1)", + denominator = denominator + ) + +# propagator for the incoming fermion # the one for the outcomming is computed on the flight +F = Propagator(name = "F", + numerator = "complex(0,1) * (Gamma('mu', s1, s2) * P('mu', id) + Mass(id) * Identity(s1, s2))", + denominator = denominator + ) + +# massive vector in the unitary gauge, can't be use for massless particles +V1 = Propagator(name = "V1", + numerator = "complex(0,1) * (-1 * Metric(l1, l2) + Metric(l1,'mu')* P('mu', id) * P(l2, id) / Mass(id)**2 ", + denominator = denominator + ) + +# massless vector and massive vector in unitary gauge +V2 = Propagator(name = "V2", + numerator = "complex(0,-1) * Metric(l1, l2)", + denominator = "P('mu', id) * P('mu', id)" + ) + + diff --git a/CHresonance_neutral_scalar_UFO/vertices.py b/CHresonance_neutral_scalar_UFO/vertices.py new file mode 100644 index 0000000..232cd4b --- /dev/null +++ b/CHresonance_neutral_scalar_UFO/vertices.py @@ -0,0 +1,743 @@ +# This file was automatically created by FeynRules 2.0.2 +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (February 23, 2011) +# Date: Wed 8 Oct 2014 20:39:09 + + +from object_library import all_vertices, Vertex +import particles as P +import couplings as C +import lorentz as L + + +V_1 = Vertex(name = 'V_1', + particles = [ P.G0, P.G0, P.G0, P.G0 ], + color = [ '1' ], + lorentz = [ L.SSSS1 ], + couplings = {(0,0):C.GC_19}) + +V_2 = Vertex(name = 'V_2', + particles = [ P.G0, P.G0, P.G__minus__, P.G__plus__ ], + color = [ '1' ], + lorentz = [ L.SSSS1 ], + couplings = {(0,0):C.GC_17}) + +V_3 = Vertex(name = 'V_3', + particles = [ P.G__minus__, P.G__minus__, P.G__plus__, P.G__plus__ ], + color = [ '1' ], + lorentz = [ L.SSSS1 ], + couplings = {(0,0):C.GC_18}) + +V_4 = Vertex(name = 'V_4', + particles = [ P.G0, P.G0, P.H, P.H ], + color = [ '1' ], + lorentz = [ L.SSSS1 ], + couplings = {(0,0):C.GC_17}) + +V_5 = Vertex(name = 'V_5', + particles = [ P.G__minus__, P.G__plus__, P.H, P.H ], + color = [ '1' ], + lorentz = [ L.SSSS1 ], + couplings = {(0,0):C.GC_17}) + +V_6 = Vertex(name = 'V_6', + particles = [ P.H, P.H, P.H, P.H ], + color = [ '1' ], + lorentz = [ L.SSSS1 ], + couplings = {(0,0):C.GC_19}) + +V_7 = Vertex(name = 'V_7', + particles = [ P.G0, P.G0, P.H ], + color = [ '1' ], + lorentz = [ L.SSS1 ], + couplings = {(0,0):C.GC_47}) + +V_8 = Vertex(name = 'V_8', + particles = [ P.G__minus__, P.G__plus__, P.H ], + color = [ '1' ], + lorentz = [ L.SSS1 ], + couplings = {(0,0):C.GC_47}) + +V_9 = Vertex(name = 'V_9', + particles = [ P.H, P.H, P.H ], + color = [ '1' ], + lorentz = [ L.SSS1 ], + couplings = {(0,0):C.GC_48}) + +V_10 = Vertex(name = 'V_10', + particles = [ P.a, P.a, P.G__minus__, P.G__plus__ ], + color = [ '1' ], + lorentz = [ L.VVSS1 ], + couplings = {(0,0):C.GC_6}) + +V_11 = Vertex(name = 'V_11', + particles = [ P.a, P.G__minus__, P.G__plus__ ], + color = [ '1' ], + lorentz = [ L.VSS1 ], + couplings = {(0,0):C.GC_3}) + +V_12 = Vertex(name = 'V_12', + particles = [ P.ghA, P.ghWm__tilde__, P.W__minus__ ], + color = [ '1' ], + lorentz = [ L.UUV1 ], + couplings = {(0,0):C.GC_3}) + +V_13 = Vertex(name = 'V_13', + particles = [ P.ghA, P.ghWp__tilde__, P.W__plus__ ], + color = [ '1' ], + lorentz = [ L.UUV1 ], + couplings = {(0,0):C.GC_4}) + +V_14 = Vertex(name = 'V_14', + particles = [ P.ghWm, P.ghA__tilde__, P.G__plus__ ], + color = [ '1' ], + lorentz = [ L.UUS1 ], + couplings = {(0,0):C.GC_54}) + +V_15 = Vertex(name = 'V_15', + particles = [ P.ghWm, P.ghA__tilde__, P.W__plus__ ], + color = [ '1' ], + lorentz = [ L.UUV1 ], + couplings = {(0,0):C.GC_3}) + +V_16 = Vertex(name = 'V_16', + particles = [ P.ghWm, P.ghWm__tilde__, P.G0 ], + color = [ '1' ], + lorentz = [ L.UUS1 ], + couplings = {(0,0):C.GC_49}) + +V_17 = Vertex(name = 'V_17', + particles = [ P.ghWm, P.ghWm__tilde__, P.H ], + color = [ '1' ], + lorentz = [ L.UUS1 ], + couplings = {(0,0):C.GC_50}) + +V_18 = Vertex(name = 'V_18', + particles = [ P.ghWm, P.ghWm__tilde__, P.a ], + color = [ '1' ], + lorentz = [ L.UUV1 ], + couplings = {(0,0):C.GC_4}) + +V_19 = Vertex(name = 'V_19', + particles = [ P.ghWm, P.ghWm__tilde__, P.Z ], + color = [ '1' ], + lorentz = [ L.UUV1 ], + couplings = {(0,0):C.GC_32}) + +V_20 = Vertex(name = 'V_20', + particles = [ P.ghWm, P.ghZ__tilde__, P.G__plus__ ], + color = [ '1' ], + lorentz = [ L.UUS1 ], + couplings = {(0,0):C.GC_57}) + +V_21 = Vertex(name = 'V_21', + particles = [ P.ghWm, P.ghZ__tilde__, P.W__plus__ ], + color = [ '1' ], + lorentz = [ L.UUV1 ], + couplings = {(0,0):C.GC_31}) + +V_22 = Vertex(name = 'V_22', + particles = [ P.ghWp, P.ghA__tilde__, P.G__minus__ ], + color = [ '1' ], + lorentz = [ L.UUS1 ], + couplings = {(0,0):C.GC_53}) + +V_23 = Vertex(name = 'V_23', + particles = [ P.ghWp, P.ghA__tilde__, P.W__minus__ ], + color = [ '1' ], + lorentz = [ L.UUV1 ], + couplings = {(0,0):C.GC_4}) + +V_24 = Vertex(name = 'V_24', + particles = [ P.ghWp, P.ghWp__tilde__, P.G0 ], + color = [ '1' ], + lorentz = [ L.UUS1 ], + couplings = {(0,0):C.GC_52}) + +V_25 = Vertex(name = 'V_25', + particles = [ P.ghWp, P.ghWp__tilde__, P.H ], + color = [ '1' ], + lorentz = [ L.UUS1 ], + couplings = {(0,0):C.GC_50}) + +V_26 = Vertex(name = 'V_26', + particles = [ P.ghWp, P.ghWp__tilde__, P.a ], + color = [ '1' ], + lorentz = [ L.UUV1 ], + couplings = {(0,0):C.GC_3}) + +V_27 = Vertex(name = 'V_27', + particles = [ P.ghWp, P.ghWp__tilde__, P.Z ], + color = [ '1' ], + lorentz = [ L.UUV1 ], + couplings = {(0,0):C.GC_31}) + +V_28 = Vertex(name = 'V_28', + particles = [ P.ghWp, P.ghZ__tilde__, P.G__minus__ ], + color = [ '1' ], + lorentz = [ L.UUS1 ], + couplings = {(0,0):C.GC_56}) + +V_29 = Vertex(name = 'V_29', + particles = [ P.ghWp, P.ghZ__tilde__, P.W__minus__ ], + color = [ '1' ], + lorentz = [ L.UUV1 ], + couplings = {(0,0):C.GC_32}) + +V_30 = Vertex(name = 'V_30', + particles = [ P.ghZ, P.ghWm__tilde__, P.G__minus__ ], + color = [ '1' ], + lorentz = [ L.UUS1 ], + couplings = {(0,0):C.GC_58}) + +V_31 = Vertex(name = 'V_31', + particles = [ P.ghZ, P.ghWm__tilde__, P.W__minus__ ], + color = [ '1' ], + lorentz = [ L.UUV1 ], + couplings = {(0,0):C.GC_31}) + +V_32 = Vertex(name = 'V_32', + particles = [ P.ghZ, P.ghWp__tilde__, P.G__plus__ ], + color = [ '1' ], + lorentz = [ L.UUS1 ], + couplings = {(0,0):C.GC_55}) + +V_33 = Vertex(name = 'V_33', + particles = [ P.ghZ, P.ghWp__tilde__, P.W__plus__ ], + color = [ '1' ], + lorentz = [ L.UUV1 ], + couplings = {(0,0):C.GC_32}) + +V_34 = Vertex(name = 'V_34', + particles = [ P.ghZ, P.ghZ__tilde__, P.H ], + color = [ '1' ], + lorentz = [ L.UUS1 ], + couplings = {(0,0):C.GC_59}) + +V_35 = Vertex(name = 'V_35', + particles = [ P.ghG, P.ghG__tilde__, P.g ], + color = [ 'f(1,2,3)' ], + lorentz = [ L.UUV1 ], + couplings = {(0,0):C.GC_10}) + +V_36 = Vertex(name = 'V_36', + particles = [ P.g, P.g, P.g ], + color = [ 'f(1,2,3)' ], + lorentz = [ L.VVV1 ], + couplings = {(0,0):C.GC_10}) + +V_37 = Vertex(name = 'V_37', + particles = [ P.g, P.g, P.g, P.g ], + color = [ 'f(-1,1,2)*f(3,4,-1)', 'f(-1,1,3)*f(2,4,-1)', 'f(-1,1,4)*f(2,3,-1)' ], + lorentz = [ L.VVVV1, L.VVVV3, L.VVVV4 ], + couplings = {(1,1):C.GC_12,(0,0):C.GC_12,(2,2):C.GC_12}) + +V_38 = Vertex(name = 'V_38', + particles = [ P.t__tilde__, P.b, P.G__plus__ ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFS1, L.FFS3 ], + couplings = {(0,0):C.GC_13,(0,1):C.GC_14}) + +V_39 = Vertex(name = 'V_39', + particles = [ P.b__tilde__, P.b, P.G0 ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFS2 ], + couplings = {(0,0):C.GC_62}) + +V_40 = Vertex(name = 'V_40', + particles = [ P.b__tilde__, P.b, P.H ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFS4 ], + couplings = {(0,0):C.GC_63}) + +V_41 = Vertex(name = 'V_41', + particles = [ P.vt__tilde__, P.ta__minus__, P.G__plus__ ], + color = [ '1' ], + lorentz = [ L.FFS1 ], + couplings = {(0,0):C.GC_67}) + +V_42 = Vertex(name = 'V_42', + particles = [ P.ta__plus__, P.ta__minus__, P.G0 ], + color = [ '1' ], + lorentz = [ L.FFS2 ], + couplings = {(0,0):C.GC_68}) + +V_43 = Vertex(name = 'V_43', + particles = [ P.ta__plus__, P.ta__minus__, P.H ], + color = [ '1' ], + lorentz = [ L.FFS4 ], + couplings = {(0,0):C.GC_69}) + +V_44 = Vertex(name = 'V_44', + particles = [ P.t__tilde__, P.t, P.G0 ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFS2 ], + couplings = {(0,0):C.GC_65}) + +V_45 = Vertex(name = 'V_45', + particles = [ P.t__tilde__, P.t, P.H ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFS4 ], + couplings = {(0,0):C.GC_64}) + +V_46 = Vertex(name = 'V_46', + particles = [ P.b__tilde__, P.t, P.G__minus__ ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFS1, L.FFS3 ], + couplings = {(0,0):C.GC_15,(0,1):C.GC_16}) + +V_47 = Vertex(name = 'V_47', + particles = [ P.a, P.W__minus__, P.G0, P.G__plus__ ], + color = [ '1' ], + lorentz = [ L.VVSS1 ], + couplings = {(0,0):C.GC_34}) + +V_48 = Vertex(name = 'V_48', + particles = [ P.a, P.W__minus__, P.G__plus__, P.H ], + color = [ '1' ], + lorentz = [ L.VVSS1 ], + couplings = {(0,0):C.GC_33}) + +V_49 = Vertex(name = 'V_49', + particles = [ P.a, P.W__minus__, P.G__plus__ ], + color = [ '1' ], + lorentz = [ L.VVS1 ], + couplings = {(0,0):C.GC_53}) + +V_50 = Vertex(name = 'V_50', + particles = [ P.W__minus__, P.G0, P.G__plus__ ], + color = [ '1' ], + lorentz = [ L.VSS1 ], + couplings = {(0,0):C.GC_27}) + +V_51 = Vertex(name = 'V_51', + particles = [ P.W__minus__, P.G__plus__, P.H ], + color = [ '1' ], + lorentz = [ L.VSS1 ], + couplings = {(0,0):C.GC_25}) + +V_52 = Vertex(name = 'V_52', + particles = [ P.a, P.W__minus__, P.W__plus__ ], + color = [ '1' ], + lorentz = [ L.VVV1 ], + couplings = {(0,0):C.GC_4}) + +V_53 = Vertex(name = 'V_53', + particles = [ P.a, P.W__plus__, P.G0, P.G__minus__ ], + color = [ '1' ], + lorentz = [ L.VVSS1 ], + couplings = {(0,0):C.GC_34}) + +V_54 = Vertex(name = 'V_54', + particles = [ P.a, P.W__plus__, P.G__minus__, P.H ], + color = [ '1' ], + lorentz = [ L.VVSS1 ], + couplings = {(0,0):C.GC_35}) + +V_55 = Vertex(name = 'V_55', + particles = [ P.a, P.W__plus__, P.G__minus__ ], + color = [ '1' ], + lorentz = [ L.VVS1 ], + couplings = {(0,0):C.GC_54}) + +V_56 = Vertex(name = 'V_56', + particles = [ P.W__plus__, P.G0, P.G__minus__ ], + color = [ '1' ], + lorentz = [ L.VSS1 ], + couplings = {(0,0):C.GC_26}) + +V_57 = Vertex(name = 'V_57', + particles = [ P.W__plus__, P.G__minus__, P.H ], + color = [ '1' ], + lorentz = [ L.VSS1 ], + couplings = {(0,0):C.GC_25}) + +V_58 = Vertex(name = 'V_58', + particles = [ P.W__minus__, P.W__plus__, P.G0, P.G0 ], + color = [ '1' ], + lorentz = [ L.VVSS1 ], + couplings = {(0,0):C.GC_22}) + +V_59 = Vertex(name = 'V_59', + particles = [ P.W__minus__, P.W__plus__, P.G__minus__, P.G__plus__ ], + color = [ '1' ], + lorentz = [ L.VVSS1 ], + couplings = {(0,0):C.GC_22}) + +V_60 = Vertex(name = 'V_60', + particles = [ P.W__minus__, P.W__plus__, P.H, P.H ], + color = [ '1' ], + lorentz = [ L.VVSS1 ], + couplings = {(0,0):C.GC_22}) + +V_61 = Vertex(name = 'V_61', + particles = [ P.W__minus__, P.W__plus__, P.H ], + color = [ '1' ], + lorentz = [ L.VVS1 ], + couplings = {(0,0):C.GC_51}) + +V_62 = Vertex(name = 'V_62', + particles = [ P.a, P.a, P.W__minus__, P.W__plus__ ], + color = [ '1' ], + lorentz = [ L.VVVV2 ], + couplings = {(0,0):C.GC_5}) + +V_63 = Vertex(name = 'V_63', + particles = [ P.W__minus__, P.W__plus__, P.Z ], + color = [ '1' ], + lorentz = [ L.VVV1 ], + couplings = {(0,0):C.GC_32}) + +V_64 = Vertex(name = 'V_64', + particles = [ P.W__minus__, P.W__minus__, P.W__plus__, P.W__plus__ ], + color = [ '1' ], + lorentz = [ L.VVVV2 ], + couplings = {(0,0):C.GC_23}) + +V_65 = Vertex(name = 'V_65', + particles = [ P.ta__plus__, P.vt, P.G__minus__ ], + color = [ '1' ], + lorentz = [ L.FFS3 ], + couplings = {(0,0):C.GC_66}) + +V_66 = Vertex(name = 'V_66', + particles = [ P.a, P.Z, P.G__minus__, P.G__plus__ ], + color = [ '1' ], + lorentz = [ L.VVSS1 ], + couplings = {(0,0):C.GC_42}) + +V_67 = Vertex(name = 'V_67', + particles = [ P.Z, P.G0, P.H ], + color = [ '1' ], + lorentz = [ L.VSS1 ], + couplings = {(0,0):C.GC_39}) + +V_68 = Vertex(name = 'V_68', + particles = [ P.Z, P.G__minus__, P.G__plus__ ], + color = [ '1' ], + lorentz = [ L.VSS1 ], + couplings = {(0,0):C.GC_40}) + +V_69 = Vertex(name = 'V_69', + particles = [ P.W__minus__, P.Z, P.G0, P.G__plus__ ], + color = [ '1' ], + lorentz = [ L.VVSS1 ], + couplings = {(0,0):C.GC_8}) + +V_70 = Vertex(name = 'V_70', + particles = [ P.W__minus__, P.Z, P.G__plus__, P.H ], + color = [ '1' ], + lorentz = [ L.VVSS1 ], + couplings = {(0,0):C.GC_9}) + +V_71 = Vertex(name = 'V_71', + particles = [ P.W__minus__, P.Z, P.G__plus__ ], + color = [ '1' ], + lorentz = [ L.VVS1 ], + couplings = {(0,0):C.GC_46}) + +V_72 = Vertex(name = 'V_72', + particles = [ P.W__plus__, P.Z, P.G0, P.G__minus__ ], + color = [ '1' ], + lorentz = [ L.VVSS1 ], + couplings = {(0,0):C.GC_8}) + +V_73 = Vertex(name = 'V_73', + particles = [ P.W__plus__, P.Z, P.G__minus__, P.H ], + color = [ '1' ], + lorentz = [ L.VVSS1 ], + couplings = {(0,0):C.GC_7}) + +V_74 = Vertex(name = 'V_74', + particles = [ P.W__plus__, P.Z, P.G__minus__ ], + color = [ '1' ], + lorentz = [ L.VVS1 ], + couplings = {(0,0):C.GC_45}) + +V_75 = Vertex(name = 'V_75', + particles = [ P.a, P.W__minus__, P.W__plus__, P.Z ], + color = [ '1' ], + lorentz = [ L.VVVV5 ], + couplings = {(0,0):C.GC_36}) + +V_76 = Vertex(name = 'V_76', + particles = [ P.Z, P.Z, P.G0, P.G0 ], + color = [ '1' ], + lorentz = [ L.VVSS1 ], + couplings = {(0,0):C.GC_44}) + +V_77 = Vertex(name = 'V_77', + particles = [ P.Z, P.Z, P.G__minus__, P.G__plus__ ], + color = [ '1' ], + lorentz = [ L.VVSS1 ], + couplings = {(0,0):C.GC_43}) + +V_78 = Vertex(name = 'V_78', + particles = [ P.Z, P.Z, P.H, P.H ], + color = [ '1' ], + lorentz = [ L.VVSS1 ], + couplings = {(0,0):C.GC_44}) + +V_79 = Vertex(name = 'V_79', + particles = [ P.Z, P.Z, P.H ], + color = [ '1' ], + lorentz = [ L.VVS1 ], + couplings = {(0,0):C.GC_60}) + +V_80 = Vertex(name = 'V_80', + particles = [ P.W__minus__, P.W__plus__, P.Z, P.Z ], + color = [ '1' ], + lorentz = [ L.VVVV2 ], + couplings = {(0,0):C.GC_24}) + +V_81 = Vertex(name = 'V_81', + particles = [ P.e__plus__, P.ve, P.W__minus__ ], + color = [ '1' ], + lorentz = [ L.FFV2 ], + couplings = {(0,0):C.GC_28}) + +V_82 = Vertex(name = 'V_82', + particles = [ P.mu__plus__, P.vm, P.W__minus__ ], + color = [ '1' ], + lorentz = [ L.FFV2 ], + couplings = {(0,0):C.GC_28}) + +V_83 = Vertex(name = 'V_83', + particles = [ P.ta__plus__, P.vt, P.W__minus__ ], + color = [ '1' ], + lorentz = [ L.FFV2 ], + couplings = {(0,0):C.GC_28}) + +V_84 = Vertex(name = 'V_84', + particles = [ P.ve__tilde__, P.ve, P.Z ], + color = [ '1' ], + lorentz = [ L.FFV2 ], + couplings = {(0,0):C.GC_41}) + +V_85 = Vertex(name = 'V_85', + particles = [ P.vm__tilde__, P.vm, P.Z ], + color = [ '1' ], + lorentz = [ L.FFV2 ], + couplings = {(0,0):C.GC_41}) + +V_86 = Vertex(name = 'V_86', + particles = [ P.vt__tilde__, P.vt, P.Z ], + color = [ '1' ], + lorentz = [ L.FFV2 ], + couplings = {(0,0):C.GC_41}) + +V_87 = Vertex(name = 'V_87', + particles = [ P.ve__tilde__, P.e__minus__, P.W__plus__ ], + color = [ '1' ], + lorentz = [ L.FFV2 ], + couplings = {(0,0):C.GC_28}) + +V_88 = Vertex(name = 'V_88', + particles = [ P.vm__tilde__, P.mu__minus__, P.W__plus__ ], + color = [ '1' ], + lorentz = [ L.FFV2 ], + couplings = {(0,0):C.GC_28}) + +V_89 = Vertex(name = 'V_89', + particles = [ P.vt__tilde__, P.ta__minus__, P.W__plus__ ], + color = [ '1' ], + lorentz = [ L.FFV2 ], + couplings = {(0,0):C.GC_28}) + +V_90 = Vertex(name = 'V_90', + particles = [ P.e__plus__, P.e__minus__, P.a ], + color = [ '1' ], + lorentz = [ L.FFV1 ], + couplings = {(0,0):C.GC_3}) + +V_91 = Vertex(name = 'V_91', + particles = [ P.mu__plus__, P.mu__minus__, P.a ], + color = [ '1' ], + lorentz = [ L.FFV1 ], + couplings = {(0,0):C.GC_3}) + +V_92 = Vertex(name = 'V_92', + particles = [ P.ta__plus__, P.ta__minus__, P.a ], + color = [ '1' ], + lorentz = [ L.FFV1 ], + couplings = {(0,0):C.GC_3}) + +V_93 = Vertex(name = 'V_93', + particles = [ P.e__plus__, P.e__minus__, P.Z ], + color = [ '1' ], + lorentz = [ L.FFV2, L.FFV4 ], + couplings = {(0,0):C.GC_29,(0,1):C.GC_38}) + +V_94 = Vertex(name = 'V_94', + particles = [ P.mu__plus__, P.mu__minus__, P.Z ], + color = [ '1' ], + lorentz = [ L.FFV2, L.FFV4 ], + couplings = {(0,0):C.GC_29,(0,1):C.GC_38}) + +V_95 = Vertex(name = 'V_95', + particles = [ P.ta__plus__, P.ta__minus__, P.Z ], + color = [ '1' ], + lorentz = [ L.FFV2, L.FFV4 ], + couplings = {(0,0):C.GC_29,(0,1):C.GC_38}) + +V_96 = Vertex(name = 'V_96', + particles = [ P.u__tilde__, P.u, P.a ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFV1 ], + couplings = {(0,0):C.GC_2}) + +V_97 = Vertex(name = 'V_97', + particles = [ P.c__tilde__, P.c, P.a ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFV1 ], + couplings = {(0,0):C.GC_2}) + +V_98 = Vertex(name = 'V_98', + particles = [ P.t__tilde__, P.t, P.a ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFV1 ], + couplings = {(0,0):C.GC_2}) + +V_99 = Vertex(name = 'V_99', + particles = [ P.u__tilde__, P.u, P.Z ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFV2, L.FFV5 ], + couplings = {(0,0):C.GC_30,(0,1):C.GC_37}) + +V_100 = Vertex(name = 'V_100', + particles = [ P.c__tilde__, P.c, P.Z ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFV2, L.FFV5 ], + couplings = {(0,0):C.GC_30,(0,1):C.GC_37}) + +V_101 = Vertex(name = 'V_101', + particles = [ P.t__tilde__, P.t, P.Z ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFV2, L.FFV5 ], + couplings = {(0,0):C.GC_30,(0,1):C.GC_37}) + +V_102 = Vertex(name = 'V_102', + particles = [ P.u__tilde__, P.u, P.g ], + color = [ 'T(3,2,1)' ], + lorentz = [ L.FFV1 ], + couplings = {(0,0):C.GC_11}) + +V_103 = Vertex(name = 'V_103', + particles = [ P.c__tilde__, P.c, P.g ], + color = [ 'T(3,2,1)' ], + lorentz = [ L.FFV1 ], + couplings = {(0,0):C.GC_11}) + +V_104 = Vertex(name = 'V_104', + particles = [ P.t__tilde__, P.t, P.g ], + color = [ 'T(3,2,1)' ], + lorentz = [ L.FFV1 ], + couplings = {(0,0):C.GC_11}) + +V_105 = Vertex(name = 'V_105', + particles = [ P.d__tilde__, P.u, P.W__minus__ ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFV2 ], + couplings = {(0,0):C.GC_28}) + +V_106 = Vertex(name = 'V_106', + particles = [ P.s__tilde__, P.c, P.W__minus__ ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFV2 ], + couplings = {(0,0):C.GC_28}) + +V_107 = Vertex(name = 'V_107', + particles = [ P.b__tilde__, P.t, P.W__minus__ ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFV2 ], + couplings = {(0,0):C.GC_28}) + +V_108 = Vertex(name = 'V_108', + particles = [ P.u__tilde__, P.d, P.W__plus__ ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFV2 ], + couplings = {(0,0):C.GC_28}) + +V_109 = Vertex(name = 'V_109', + particles = [ P.c__tilde__, P.s, P.W__plus__ ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFV2 ], + couplings = {(0,0):C.GC_28}) + +V_110 = Vertex(name = 'V_110', + particles = [ P.t__tilde__, P.b, P.W__plus__ ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFV2 ], + couplings = {(0,0):C.GC_28}) + +V_111 = Vertex(name = 'V_111', + particles = [ P.d__tilde__, P.d, P.a ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFV1 ], + couplings = {(0,0):C.GC_1}) + +V_112 = Vertex(name = 'V_112', + particles = [ P.s__tilde__, P.s, P.a ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFV1 ], + couplings = {(0,0):C.GC_1}) + +V_113 = Vertex(name = 'V_113', + particles = [ P.b__tilde__, P.b, P.a ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFV1 ], + couplings = {(0,0):C.GC_1}) + +V_114 = Vertex(name = 'V_114', + particles = [ P.d__tilde__, P.d, P.Z ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFV2, L.FFV3 ], + couplings = {(0,0):C.GC_29,(0,1):C.GC_37}) + +V_115 = Vertex(name = 'V_115', + particles = [ P.s__tilde__, P.s, P.Z ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFV2, L.FFV3 ], + couplings = {(0,0):C.GC_29,(0,1):C.GC_37}) + +V_116 = Vertex(name = 'V_116', + particles = [ P.b__tilde__, P.b, P.Z ], + color = [ 'Identity(1,2)' ], + lorentz = [ L.FFV2, L.FFV3 ], + couplings = {(0,0):C.GC_29,(0,1):C.GC_37}) + +V_117 = Vertex(name = 'V_117', + particles = [ P.d__tilde__, P.d, P.g ], + color = [ 'T(3,2,1)' ], + lorentz = [ L.FFV1 ], + couplings = {(0,0):C.GC_11}) + +V_118 = Vertex(name = 'V_118', + particles = [ P.s__tilde__, P.s, P.g ], + color = [ 'T(3,2,1)' ], + lorentz = [ L.FFV1 ], + couplings = {(0,0):C.GC_11}) + +V_119 = Vertex(name = 'V_119', + particles = [ P.b__tilde__, P.b, P.g ], + color = [ 'T(3,2,1)' ], + lorentz = [ L.FFV1 ], + couplings = {(0,0):C.GC_11}) + +V_120 = Vertex(name = 'V_120', + particles = [ P.H, P.H, P.s0 ], + color = [ '1' ], + lorentz = [ L.SSS2 ], + couplings = {(0,0):C.GC_61}) + +V_121 = Vertex(name = 'V_121', + particles = [ P.W__minus__, P.W__plus__, P.s0 ], + color = [ '1' ], + lorentz = [ L.VVS1 ], + couplings = {(0,0):C.GC_20}) + +V_122 = Vertex(name = 'V_122', + particles = [ P.Z, P.Z, P.s0 ], + color = [ '1' ], + lorentz = [ L.VVS1 ], + couplings = {(0,0):C.GC_21}) + diff --git a/CHresonance_neutral_scalar_UFO/write_param_card.py b/CHresonance_neutral_scalar_UFO/write_param_card.py new file mode 100644 index 0000000..c97938a --- /dev/null +++ b/CHresonance_neutral_scalar_UFO/write_param_card.py @@ -0,0 +1,207 @@ + +__date__ = "02 Aug 2012" +__author__ = 'olivier.mattelaer@uclouvain.be' + +from function_library import * + +class ParamCardWriter(object): + + header = \ + """######################################################################\n""" + \ + """## PARAM_CARD AUTOMATICALY GENERATED BY THE UFO #####################\n""" + \ + """######################################################################\n""" + + def __init__(self, filename, list_of_parameters=None, generic=False): + """write a valid param_card.dat""" + + if not list_of_parameters: + from parameters import all_parameters + list_of_parameters = [param for param in all_parameters if \ + param.nature=='external'] + + self.generic_output = generic + if generic: + self.define_not_dep_param(list_of_parameters) + + + self.fsock = open(filename, 'w') + self.fsock.write(self.header) + + self.write_card(list_of_parameters) + self.fsock.close() + + def define_not_dep_param(self, list_of_parameters): + """define self.dep_mass and self.dep_width in case that they are + requested in the param_card.dat""" + from particles import all_particles + + self.dep_mass = [(part, part.mass) for part in all_particles \ + if part.pdg_code > 0 and \ + part.mass not in list_of_parameters] + self.dep_width = [(part, part.width) for part in all_particles\ + if part.pdg_code > 0 and \ + part.width not in list_of_parameters] + + @staticmethod + def order_param(obj1, obj2): + """ order parameter of a given block """ + + maxlen = min([len(obj1.lhacode), len(obj2.lhacode)]) + + for i in range(maxlen): + if obj1.lhacode[i] < obj2.lhacode[i]: + return -1 + elif obj1.lhacode[i] == obj2.lhacode[i]: + return 0 + else: + return 1 + #identical up to the first finish + if len(obj1.lhacode) > len(obj2.lhacode): + return 1 + elif len(obj1.lhacode) == len(obj2.lhacode): + return 0 + else: + return -1 + + def write_card(self, all_ext_param): + """ """ + + # list all lhablock + all_lhablock = set([param.lhablock for param in all_ext_param]) + + # ordonate lhablock alphabeticaly + all_lhablock = list(all_lhablock) + all_lhablock.sort() + # put at the beginning SMINPUT + MASS + DECAY + for name in ['DECAY', 'MASS','SMINPUTS']: + if name in all_lhablock: + all_lhablock.remove(name) + all_lhablock.insert(0, name) + + for lhablock in all_lhablock: + self.write_block(lhablock) + need_writing = [ param for param in all_ext_param if \ + param.lhablock == lhablock] + need_writing.sort(self.order_param) + [self.write_param(param, lhablock) for param in need_writing] + + if self.generic_output: + if lhablock in ['MASS', 'DECAY']: + self.write_dep_param_block(lhablock) + + if self.generic_output: + self.write_qnumber() + + def write_block(self, name): + """ write a comment for a block""" + + self.fsock.writelines( + """\n###################################""" + \ + """\n## INFORMATION FOR %s""" % name.upper() +\ + """\n###################################\n""" + ) + if name!='DECAY': + self.fsock.write("""Block %s \n""" % name) + + def write_param(self, param, lhablock): + + lhacode=' '.join(['%3s' % key for key in param.lhacode]) + if lhablock != 'DECAY': + text = """ %s %e # %s \n""" % (lhacode, complex(param.value).real, param.name ) + else: + text = '''DECAY %s %e \n''' % (lhacode, complex(param.value).real) + self.fsock.write(text) + + + + + def write_dep_param_block(self, lhablock): + import cmath + from parameters import all_parameters + from particles import all_particles + for parameter in all_parameters: + exec("%s = %s" % (parameter.name, parameter.value)) + text = "## Not dependent paramater.\n" + text += "## Those values should be edited following analytical the \n" + text += "## analytical expression. Some generator could simply ignore \n" + text += "## those values and use the analytical expression\n" + + if lhablock == 'MASS': + data = self.dep_mass + prefix = " " + else: + data = self.dep_width + prefix = "DECAY " + + for part, param in data: + if isinstance(param.value, str): + value = complex(eval(param.value)).real + else: + value = param.value + + text += """%s %s %f # %s : %s \n""" %(prefix, part.pdg_code, + value, part.name, param.value) + # If more than a particles has the same mass/width we need to write it here + # as well + if lhablock == 'MASS': + arg = 'mass' + done = [part for (part, param) in self.dep_mass] + else: + arg = 'width' + done = [part for (part, param) in self.dep_width] + for particle in all_particles: + if particle.pdg_code <0: + continue + is_define = True + if particle not in done: + if getattr(particle, arg).lhacode[0] != particle.pdg_code: + is_define = False + if not is_define: + value = float(particle.get(arg).value ) + name = particle.get(arg).name + text += """%s %s %f # %s : %s \n""" %(prefix, particle.pdg_code, + value, particle.name, name) + + + + + self.fsock.write(text) + + sm_pdg = [1,2,3,4,5,6,11,12,13,13,14,15,16,21,22,23,24,25] + data="""Block QNUMBERS %(pdg)d # %(name)s + 1 %(charge)d # 3 times electric charge + 2 %(spin)d # number of spin states (2S+1) + 3 %(color)d # colour rep (1: singlet, 3: triplet, 8: octet) + 4 %(antipart)d # Particle/Antiparticle distinction (0=own anti)\n""" + + def write_qnumber(self): + """ write qnumber """ + from particles import all_particles + import particles + print particles.__file__ + text="""#===========================================================\n""" + text += """# QUANTUM NUMBERS OF NEW STATE(S) (NON SM PDG CODE)\n""" + text += """#===========================================================\n\n""" + + for part in all_particles: + if part.pdg_code in self.sm_pdg or part.pdg_code < 0: + continue + text += self.data % {'pdg': part.pdg_code, + 'name': part.name, + 'charge': 3 * part.charge, + 'spin': part.spin, + 'color': part.color, + 'antipart': part.name != part.antiname and 1 or 0} + + self.fsock.write(text) + + + + + + + +if '__main__' == __name__: + ParamCardWriter('./param_card.dat', generic=True) + print 'write ./param_card.dat' + -- GitLab From c85fd69c5f23f96f189205b2225777cb2bc36f07 Mon Sep 17 00:00:00 2001 From: Zhen Wang <zhen.wang@cern.ch> Date: Sat, 24 Sep 2022 06:20:09 +0200 Subject: [PATCH 2/5] 2022-9-24 --- .asetup.save | 91 ++++++++++++++++++ .../feynrules/._Cabibbo.rst | Bin 193 -> 0 bytes .../feynrules/._DiagonalCKM.rst | Bin 193 -> 0 bytes .../feynrules/._Massless.rst | Bin 193 -> 0 bytes .../feynrules/._Notebook.nb | Bin 82 -> 0 bytes .../feynrules/._SM.fr | Bin 193 -> 0 bytes py.py | 70 ++++++++++++++ 7 files changed, 161 insertions(+) create mode 100644 .asetup.save delete mode 100644 CHresonance_neutral_scalar_UFO/feynrules/._Cabibbo.rst delete mode 100644 CHresonance_neutral_scalar_UFO/feynrules/._DiagonalCKM.rst delete mode 100644 CHresonance_neutral_scalar_UFO/feynrules/._Massless.rst delete mode 100644 CHresonance_neutral_scalar_UFO/feynrules/._Notebook.nb delete mode 100644 CHresonance_neutral_scalar_UFO/feynrules/._SM.fr create mode 100644 py.py diff --git a/.asetup.save b/.asetup.save new file mode 100644 index 0000000..e936995 --- /dev/null +++ b/.asetup.save @@ -0,0 +1,91 @@ +#Release cmake + +export LANG="C" +export LC_ALL="C" +export COOL_ORA_ENABLE_ADAPTIVE_OPT="Y" +export ASETUP_PRINTLEVEL="0" +export BINARY_TAG="x86_64-centos7-gcc11-opt" +export CMTCONFIG="x86_64-centos7-gcc11-opt" +export ASETUP_SYSBIN=`mktemp -d /tmp/zhenw/.asetup-sysbin-XXXXXX_$$` +source $AtlasSetup/scripts/sys_exe-alias.sh '' +if [ -n "${MAKEFLAGS:+x}" ]; then + asetup_flags=`echo ${MAKEFLAGS} | \grep ' -l'` + if [ -z "${asetup_flags}" ]; then + export MAKEFLAGS="${MAKEFLAGS} -l10" + fi +else + export MAKEFLAGS="-j10 -l10" +fi +source /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-8a51a/x86_64-centos7/setup.sh +export CC=`\env which gcc 2>/dev/null` +[[ -z $CC ]] && unset CC +export CXX=`\env which g++ 2>/dev/null` +[[ -z $CXX ]] && unset CXX +export FC=`\env which gfortran 2>/dev/null` +[[ -z $FC ]] && unset FC +export CMAKE_NO_VERBOSE="1" +type lsetup >/dev/null 2>/dev/null +if [ $? -ne 0 ]; then + source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh --quiet +fi +source $ATLAS_LOCAL_ROOT_BASE/packageSetups/localSetup.sh --quiet "cmake 3.21.3" +if [ -z "${AtlasSetup:+x}" ]; then + export AtlasSetup="/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/AtlasSetup/V02-00-44/AtlasSetup" + export AtlasSetupVersion="AtlasSetup-02-00-44" +fi +export TNS_ADMIN="/eos/project/o/oracle/public/admin" +export FRONTIER_SERVER="(serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy-atlas.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127)" +export ATLAS_POOLCOND_PATH="/cvmfs/atlas-condb.cern.ch/repo/conditions" +export ATLAS_DB_AREA="/cvmfs/atlas.cern.ch/repo/sw/database" +export DBRELEASE_OVERRIDE="current" +export SITEROOT="/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt" +export AtlasBaseDir="/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/2022-09-09T2101" +export LCG_RELEASE_BASE="/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases" +export AtlasBuildStamp="2022-09-09T2101" +export AtlasReleaseType="nightly" +export AtlasBuildBranch="master" +export AtlasProject="Athena" +export TDAQ_RELEASE_BASE="/cvmfs/atlas.cern.ch/repo/sw/tdaq" +export ATLAS_RELEASE_BASE="/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/2022-09-09T2101" +export ATLAS_RELEASEDATA="/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/atlas/offline/ReleaseData" +export AtlasArea="/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/2022-09-09T2101/Athena/23.0.5" +export G4PATH="/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/Geant4" +export AtlasVersion="23.0.5" +source /cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/2022-09-09T2101/Athena/23.0.5/InstallArea/x86_64-centos7-gcc11-opt/setup.sh +asetup_status=$? +if [ ${asetup_status} -ne 0 ]; then + \echo "AtlasSetup(ERROR): sourcing release setup script (/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/2022-09-09T2101/Athena/23.0.5/InstallArea/x86_64-centos7-gcc11-opt/setup.sh) failed" +fi +export TestArea="/afs/cern.ch/work/z/zhenw/private/vbf/new_model/forked/MadGraphModels" +alias_sys_exe emacs +echo $LD_LIBRARY_PATH | egrep "LCG_[^/:]*/curl/" >/dev/null +if [ $? -eq 0 ]; then + alias_sys_exe_envU git +fi +\expr 1 \* 1 + 1 >/dev/null 2>&1 +if [ $? -ne 0 ]; then + echo -e '\nMaking workaround-alias for expr on this *OLD* machine'; alias_sys_exe expr +fi +export PATH="${ASETUP_SYSBIN}:${PATH}" + +# Check the completeness in the nightly release +for onepath in $(echo $LD_LIBRARY_PATH | tr ":" "\n"); do + if [[ $onepath == ${AtlasBaseDir}* && ! -d $onepath ]]; then + echo \!\! FATAL \!\! $onepath does not exist + return 1 + fi +done + +#Release Summary as follows: +#Release base=/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/2022-09-09T2101 +#Release project=Athena +#Release releaseNum=23.0.5 +#Release asconfig=x86_64-centos7-gcc11-opt + +# Execute user-specified epilog + +source /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/swConfig/asetup/asetupEpilog.sh +script_status=$? +if [ ${script_status} -ne 0 ]; then + \echo "AtlasSetup(ERROR): User-specified epilog (source /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/swConfig/asetup/asetupEpilog.sh) reported failure (error ${script_status})" +fi diff --git a/CHresonance_neutral_scalar_UFO/feynrules/._Cabibbo.rst b/CHresonance_neutral_scalar_UFO/feynrules/._Cabibbo.rst deleted file mode 100644 index ba703fdbd8abc8944b1d3aea228f0c866553cc6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62#d1;RaACNXHBy z)<o0Bh!7V|&d=3LEGWoH)hjGbEK1BP$;?Y-DAYFq0&7zvGYdmY!$j-g#I(esOzRqi IVu%O>04LTTg#Z8m diff --git a/CHresonance_neutral_scalar_UFO/feynrules/._DiagonalCKM.rst b/CHresonance_neutral_scalar_UFO/feynrules/._DiagonalCKM.rst deleted file mode 100644 index f9849dba7cb194697962e91d9cb7b7cdbedd341e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62#d1;U-WiNXHBy z)<o0Bh!7V|&d=3LEGWoH)hjGbEK1BP$;?Y-DAYFq0&7zvGYdmY!$j-g#I(esOzRqi IVu%O>04O{kh5!Hn diff --git a/CHresonance_neutral_scalar_UFO/feynrules/._Massless.rst b/CHresonance_neutral_scalar_UFO/feynrules/._Massless.rst deleted file mode 100644 index 46d242504858a98415ed18aba5f20aac48c90070..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62#d1;TBLSNXHBy z)<o0Bh!7V|&d=3LEGWoH)hjGbEK1BP$;?Y-DAYFq0&7zvGYdmY!$j-g#I(esOzRqi IVu%O>04Sm#hX4Qo diff --git a/CHresonance_neutral_scalar_UFO/feynrules/._Notebook.nb b/CHresonance_neutral_scalar_UFO/feynrules/._Notebook.nb deleted file mode 100644 index 6326e0f07c4b56bf4040056198300f6cfae35413..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u>uf-_(4F-5aJpU;_vI~&L9BdVFCb9 Cy#}5D diff --git a/CHresonance_neutral_scalar_UFO/feynrules/._SM.fr b/CHresonance_neutral_scalar_UFO/feynrules/._SM.fr deleted file mode 100644 index aeaa9da34a2f77df68bdd5ad967f30e04105bee6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62#d1;SNwKNXHBy z)<o0Bh!7V|&d=3LEGWoH)hjGbEK1BP$;?Y-DAYFq0&7zvGYdmY!$j-g#I(esOzRqi IVu%O>04Z)Ci2wiq diff --git a/py.py b/py.py new file mode 100644 index 0000000..d0e5cca --- /dev/null +++ b/py.py @@ -0,0 +1,70 @@ + +# py.py +# This file is automatically generated. Do not edit. +_tabversion = '3.2' + +_lr_method = 'LALR' + +_lr_signature = b'`k\xca\x14\xb4\xeb\xb8\x84\xa6:g<\xe4\xf1\xccC' + +_lr_action_items = {'-':([0,2,3,4,6,7,8,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,65,66,67,68,69,71,72,73,74,75,77,78,79,80,81,82,83,84,85,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,],[3,30,3,-12,3,-17,-18,-41,3,3,3,3,3,3,3,-40,-9,3,30,3,3,3,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,30,-3,-4,-5,-6,-19,30,3,30,-10,30,30,30,3,3,3,3,30,-13,3,3,3,3,30,30,30,30,30,30,30,3,-14,3,-23,-24,30,30,3,-15,-22,30,-16,]),'FUNCTION':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,]),'NUMBER':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,]),'VARIABLE':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,]),'COND':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,]),'COMPLEX':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,]),'RECMS':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,]),'CSC':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,]),'SEC':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,]),'ACSC':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,]),'ASEC':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,]),'RE':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,]),'IM':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,]),'ARG':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,]),'SQRT':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,]),'TAN':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,]),'ATAN':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,]),'CONJ':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,]),'REGLOG':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,]),'REGLOGP':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,]),'REGLOGM':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,]),'BUILTIN':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,]),'PI':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,]),'(':([0,3,5,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[6,6,37,6,39,40,41,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,65,6,6,6,65,65,6,6,6,65,6,6,6,6,6,6,6,]),'$end':([1,2,4,7,8,27,35,36,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,67,78,83,85,93,95,96,100,101,103,],[0,-1,-12,-17,-18,-41,-40,-9,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-2,-3,-4,-5,-6,-19,-10,-13,-21,-20,-14,-23,-24,-15,-22,-16,]),'=':([2,4,7,8,27,35,36,38,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,66,67,68,69,71,77,78,83,84,85,88,89,90,91,93,95,96,97,98,100,101,102,103,],[28,-12,-17,-18,-41,-40,-9,28,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-2,-3,-4,-5,-6,-19,28,28,-10,28,28,28,28,-13,28,28,28,28,28,28,28,-14,-23,-24,28,28,-15,-22,28,-16,]),'+':([2,4,7,8,27,35,36,38,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,66,67,68,69,71,77,78,83,84,85,88,89,90,91,93,95,96,97,98,100,101,102,103,],[29,-12,-17,-18,-41,-40,-9,29,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,29,-3,-4,-5,-6,-19,29,29,-10,29,29,29,29,-13,29,29,29,29,29,29,29,-14,-23,-24,29,29,-15,-22,29,-16,]),'*':([2,4,7,8,27,35,36,38,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,66,67,68,69,71,77,78,83,84,85,88,89,90,91,93,95,96,97,98,100,101,102,103,],[31,-12,-17,-18,-41,-40,-9,31,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,31,31,31,-5,-6,-19,31,31,-10,31,31,31,31,-13,31,31,31,31,31,31,31,-14,-23,-24,31,31,-15,-22,31,-16,]),'/':([2,4,7,8,27,35,36,38,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,66,67,68,69,71,77,78,83,84,85,88,89,90,91,93,95,96,97,98,100,101,102,103,],[32,-12,-17,-18,-41,-40,-9,32,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,32,32,32,-5,-6,-19,32,32,-10,32,32,32,32,-13,32,32,32,32,32,32,32,-14,-23,-24,32,32,-15,-22,32,-16,]),'POWER':([2,4,7,8,27,35,36,38,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,66,67,68,69,71,77,78,83,84,85,88,89,90,91,93,95,96,97,98,100,101,102,103,],[33,-12,-17,-18,-41,-40,33,33,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,33,33,33,33,33,-19,33,33,-10,33,33,33,33,-13,33,33,33,33,33,33,33,-14,-23,-24,33,33,-15,-22,33,-16,]),'IF':([2,4,7,8,27,35,36,38,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,66,67,68,69,71,77,78,83,84,85,88,89,90,91,93,95,96,97,98,100,101,102,103,],[34,-12,-17,-18,-41,-40,-9,34,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-2,-3,-4,-5,-6,-19,34,34,-10,34,34,34,34,-13,-21,34,-20,34,34,34,34,-14,-23,-24,34,34,-15,-22,34,-16,]),'RE2':([2,4,7,8,27,35,36,38,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,66,67,68,69,71,77,78,83,84,85,88,89,90,91,93,95,96,97,98,100,101,102,103,],[35,-12,-17,-18,-41,-40,-9,35,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,35,35,35,35,35,-19,35,35,-10,35,35,35,35,-13,35,35,35,35,35,35,35,-14,-23,-24,35,35,-15,-22,35,-16,]),')':([4,7,8,27,35,36,38,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,66,67,76,77,78,83,84,85,86,87,88,90,91,93,95,96,97,98,100,101,102,103,],[-12,-17,-18,-41,-40,-9,67,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-2,-3,-4,-5,-6,-19,78,-10,87,67,-13,-21,-7,-20,-8,-11,93,95,96,-14,-23,-24,100,101,-15,-22,103,-16,]),'ELSE':([4,7,8,27,35,36,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,67,78,83,84,85,86,87,93,95,96,100,101,103,],[-12,-17,-18,-41,-40,-9,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-2,-3,-4,-5,-6,-19,72,74,-10,-13,-21,-7,-20,-8,-11,-14,-23,-24,-15,-22,-16,]),'LOGICAL':([4,7,8,27,35,36,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,67,71,77,78,83,85,93,95,96,100,101,103,],[-12,-17,-18,-41,-40,-9,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-2,-3,-4,-5,-6,-19,73,-10,73,73,-13,-21,-20,-14,-23,-24,-15,-22,-16,]),',':([4,7,8,27,35,36,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,66,67,68,69,70,78,83,84,85,86,87,88,89,93,95,96,97,100,101,103,],[-12,-17,-18,-41,-40,-9,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-2,-3,-4,-5,-6,-19,79,-10,80,81,82,-13,-21,-7,-20,-8,-11,92,94,-14,-23,-24,99,-15,-22,-16,]),'LOGICALCOMB':([4,7,8,27,35,36,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,64,67,70,76,78,83,84,85,86,87,93,95,96,100,101,103,],[-12,-17,-18,-41,-40,-9,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-2,-3,-4,-5,-6,-19,75,-10,75,75,-13,-21,-7,-20,75,-11,-14,-23,-24,-15,-22,-16,]),} + +_lr_action = { } +for _k, _v in _lr_action_items.items(): + for _x,_y in zip(_v[0],_v[1]): + if not _x in _lr_action: _lr_action[_x] = { } + _lr_action[_x][_k] = _y +del _lr_action_items + +_lr_goto_items = {'statement':([0,],[1,]),'expression':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[2,36,38,57,58,59,60,61,62,63,66,68,69,71,77,83,84,85,71,88,89,90,91,97,98,102,]),'group':([0,3,6,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[4,4,4,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,]),'boolexpression':([34,41,65,75,],[64,70,76,86,]),} + +_lr_goto = { } +for _k, _v in _lr_goto_items.items(): + for _x,_y in zip(_v[0],_v[1]): + if not _x in _lr_goto: _lr_goto[_x] = { } + _lr_goto[_x][_k] = _y +del _lr_goto_items +_lr_productions = [ + ("S' -> statement","S'",1,None,None,None), + ('statement -> expression','statement',1,'p_statement_expr','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',220), + ('expression -> expression = expression','expression',3,'p_expression_binop','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',224), + ('expression -> expression + expression','expression',3,'p_expression_binop','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',225), + ('expression -> expression - expression','expression',3,'p_expression_binop','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',226), + ('expression -> expression * expression','expression',3,'p_expression_binop','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',227), + ('expression -> expression / expression','expression',3,'p_expression_binop','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',228), + ('boolexpression -> expression LOGICAL expression','boolexpression',3,'p_expression_logical','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',232), + ('boolexpression -> boolexpression LOGICALCOMB boolexpression','boolexpression',3,'p_expression_logicalcomb','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',239), + ('expression -> - expression','expression',2,'p_expression_uminus','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',246), + ('group -> ( expression )','group',3,'p_group_parentheses','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',250), + ('boolexpression -> ( boolexpression )','boolexpression',3,'p_group_parentheses_boolexpr','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',255), + ('expression -> group','expression',1,'p_expression_group','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',259), + ('expression -> FUNCTION ( expression )','expression',4,'p_expression_function1','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',263), + ('expression -> FUNCTION ( expression , expression )','expression',6,'p_expression_function2','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',271), + ('expression -> FUNCTION ( expression , expression , expression )','expression',8,'p_expression_function3','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',279), + ('expression -> FUNCTION ( expression , expression , expression , expression )','expression',10,'p_expression_function4','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',287), + ('expression -> NUMBER','expression',1,'p_expression_number','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',967), + ('expression -> VARIABLE','expression',1,'p_expression_variable','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',971), + ('expression -> expression POWER expression','expression',3,'p_expression_power','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',975), + ('expression -> expression IF boolexpression ELSE expression','expression',5,'p_expression_if','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',979), + ('expression -> expression IF expression ELSE expression','expression',5,'p_expression_ifimplicit','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',990), + ('expression -> COND ( expression , expression , expression )','expression',8,'p_expression_cond','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1001), + ('expression -> COMPLEX ( expression , expression )','expression',6,'p_expression_complex','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1007), + ('expression -> RECMS ( boolexpression , expression )','expression',6,'p_expression_recms','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1011), + ('expression -> CSC group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1015), + ('expression -> SEC group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1016), + ('expression -> ACSC group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1017), + ('expression -> ASEC group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1018), + ('expression -> RE group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1019), + ('expression -> IM group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1020), + ('expression -> ARG group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1021), + ('expression -> SQRT group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1022), + ('expression -> TAN group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1023), + ('expression -> ATAN group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1024), + ('expression -> CONJ group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1025), + ('expression -> REGLOG group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1026), + ('expression -> REGLOGP group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1027), + ('expression -> REGLOGM group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1028), + ('expression -> BUILTIN group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1029), + ('expression -> expression RE2','expression',2,'p_expression_real','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1047), + ('expression -> PI','expression',1,'p_expression_pi','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1051), +] -- GitLab From b63dd938d2112f04d2b13dabd904f90ecf1f8847 Mon Sep 17 00:00:00 2001 From: Zhen Wang <zhen.wang@cern.ch> Date: Sat, 24 Sep 2022 06:29:50 +0200 Subject: [PATCH 3/5] update --- .asetup.save | 91 ---- CHresonance_neutral_scalar_UFO/__init__.py | 2 + .../object_library.py | 6 +- .../write_param_card.py | 389 ++++++++---------- 4 files changed, 187 insertions(+), 301 deletions(-) delete mode 100644 .asetup.save diff --git a/.asetup.save b/.asetup.save deleted file mode 100644 index e936995..0000000 --- a/.asetup.save +++ /dev/null @@ -1,91 +0,0 @@ -#Release cmake - -export LANG="C" -export LC_ALL="C" -export COOL_ORA_ENABLE_ADAPTIVE_OPT="Y" -export ASETUP_PRINTLEVEL="0" -export BINARY_TAG="x86_64-centos7-gcc11-opt" -export CMTCONFIG="x86_64-centos7-gcc11-opt" -export ASETUP_SYSBIN=`mktemp -d /tmp/zhenw/.asetup-sysbin-XXXXXX_$$` -source $AtlasSetup/scripts/sys_exe-alias.sh '' -if [ -n "${MAKEFLAGS:+x}" ]; then - asetup_flags=`echo ${MAKEFLAGS} | \grep ' -l'` - if [ -z "${asetup_flags}" ]; then - export MAKEFLAGS="${MAKEFLAGS} -l10" - fi -else - export MAKEFLAGS="-j10 -l10" -fi -source /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-8a51a/x86_64-centos7/setup.sh -export CC=`\env which gcc 2>/dev/null` -[[ -z $CC ]] && unset CC -export CXX=`\env which g++ 2>/dev/null` -[[ -z $CXX ]] && unset CXX -export FC=`\env which gfortran 2>/dev/null` -[[ -z $FC ]] && unset FC -export CMAKE_NO_VERBOSE="1" -type lsetup >/dev/null 2>/dev/null -if [ $? -ne 0 ]; then - source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh --quiet -fi -source $ATLAS_LOCAL_ROOT_BASE/packageSetups/localSetup.sh --quiet "cmake 3.21.3" -if [ -z "${AtlasSetup:+x}" ]; then - export AtlasSetup="/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/AtlasSetup/V02-00-44/AtlasSetup" - export AtlasSetupVersion="AtlasSetup-02-00-44" -fi -export TNS_ADMIN="/eos/project/o/oracle/public/admin" -export FRONTIER_SERVER="(serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy-atlas.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127)" -export ATLAS_POOLCOND_PATH="/cvmfs/atlas-condb.cern.ch/repo/conditions" -export ATLAS_DB_AREA="/cvmfs/atlas.cern.ch/repo/sw/database" -export DBRELEASE_OVERRIDE="current" -export SITEROOT="/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt" -export AtlasBaseDir="/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/2022-09-09T2101" -export LCG_RELEASE_BASE="/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases" -export AtlasBuildStamp="2022-09-09T2101" -export AtlasReleaseType="nightly" -export AtlasBuildBranch="master" -export AtlasProject="Athena" -export TDAQ_RELEASE_BASE="/cvmfs/atlas.cern.ch/repo/sw/tdaq" -export ATLAS_RELEASE_BASE="/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/2022-09-09T2101" -export ATLAS_RELEASEDATA="/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/atlas/offline/ReleaseData" -export AtlasArea="/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/2022-09-09T2101/Athena/23.0.5" -export G4PATH="/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/Geant4" -export AtlasVersion="23.0.5" -source /cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/2022-09-09T2101/Athena/23.0.5/InstallArea/x86_64-centos7-gcc11-opt/setup.sh -asetup_status=$? -if [ ${asetup_status} -ne 0 ]; then - \echo "AtlasSetup(ERROR): sourcing release setup script (/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/2022-09-09T2101/Athena/23.0.5/InstallArea/x86_64-centos7-gcc11-opt/setup.sh) failed" -fi -export TestArea="/afs/cern.ch/work/z/zhenw/private/vbf/new_model/forked/MadGraphModels" -alias_sys_exe emacs -echo $LD_LIBRARY_PATH | egrep "LCG_[^/:]*/curl/" >/dev/null -if [ $? -eq 0 ]; then - alias_sys_exe_envU git -fi -\expr 1 \* 1 + 1 >/dev/null 2>&1 -if [ $? -ne 0 ]; then - echo -e '\nMaking workaround-alias for expr on this *OLD* machine'; alias_sys_exe expr -fi -export PATH="${ASETUP_SYSBIN}:${PATH}" - -# Check the completeness in the nightly release -for onepath in $(echo $LD_LIBRARY_PATH | tr ":" "\n"); do - if [[ $onepath == ${AtlasBaseDir}* && ! -d $onepath ]]; then - echo \!\! FATAL \!\! $onepath does not exist - return 1 - fi -done - -#Release Summary as follows: -#Release base=/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/2022-09-09T2101 -#Release project=Athena -#Release releaseNum=23.0.5 -#Release asconfig=x86_64-centos7-gcc11-opt - -# Execute user-specified epilog - -source /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/swConfig/asetup/asetupEpilog.sh -script_status=$? -if [ ${script_status} -ne 0 ]; then - \echo "AtlasSetup(ERROR): User-specified epilog (source /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/swConfig/asetup/asetupEpilog.sh) reported failure (error ${script_status})" -fi diff --git a/CHresonance_neutral_scalar_UFO/__init__.py b/CHresonance_neutral_scalar_UFO/__init__.py index 83ac15a..76c53d1 100644 --- a/CHresonance_neutral_scalar_UFO/__init__.py +++ b/CHresonance_neutral_scalar_UFO/__init__.py @@ -1,3 +1,5 @@ +import function_library +import object_library import particles import couplings diff --git a/CHresonance_neutral_scalar_UFO/object_library.py b/CHresonance_neutral_scalar_UFO/object_library.py index ee0a429..12278b6 100644 --- a/CHresonance_neutral_scalar_UFO/object_library.py +++ b/CHresonance_neutral_scalar_UFO/object_library.py @@ -133,7 +133,7 @@ class Particle(UFOBaseClass): if self.selfconjugate: raise Exception('%s has no anti particle.' % self.name) outdic = {} - for k,v in self.__dict__.iteritems(): + for k,v in self.__dict__.items(): if k not in self.require_args_all: outdic[k] = -v if self.color in [1,8]: @@ -269,9 +269,9 @@ class Coupling(UFOBaseClass): if not CTparam: CTparam=param else: - raise UFOError, "UFO does not support yet more than one occurence of CTParameters in the couplings values." + raise UFOError("UFO does not support yet more than one occurence of CTParameters in the couplings values.") elif numberOfMatches>1: - raise UFOError, "UFO does not support yet more than one occurence of CTParameters in the couplings values." + raise UFOError("UFO does not support yet more than one occurence of CTParameters in the couplings values.") if not CTparam: if x==0: diff --git a/CHresonance_neutral_scalar_UFO/write_param_card.py b/CHresonance_neutral_scalar_UFO/write_param_card.py index c97938a..57a85b0 100644 --- a/CHresonance_neutral_scalar_UFO/write_param_card.py +++ b/CHresonance_neutral_scalar_UFO/write_param_card.py @@ -1,207 +1,182 @@ - -__date__ = "02 Aug 2012" -__author__ = 'olivier.mattelaer@uclouvain.be' - -from function_library import * - -class ParamCardWriter(object): - - header = \ - """######################################################################\n""" + \ - """## PARAM_CARD AUTOMATICALY GENERATED BY THE UFO #####################\n""" + \ - """######################################################################\n""" - - def __init__(self, filename, list_of_parameters=None, generic=False): - """write a valid param_card.dat""" - - if not list_of_parameters: - from parameters import all_parameters - list_of_parameters = [param for param in all_parameters if \ - param.nature=='external'] - - self.generic_output = generic - if generic: - self.define_not_dep_param(list_of_parameters) - - - self.fsock = open(filename, 'w') - self.fsock.write(self.header) - - self.write_card(list_of_parameters) - self.fsock.close() - - def define_not_dep_param(self, list_of_parameters): - """define self.dep_mass and self.dep_width in case that they are - requested in the param_card.dat""" - from particles import all_particles - - self.dep_mass = [(part, part.mass) for part in all_particles \ - if part.pdg_code > 0 and \ - part.mass not in list_of_parameters] - self.dep_width = [(part, part.width) for part in all_particles\ - if part.pdg_code > 0 and \ - part.width not in list_of_parameters] - - @staticmethod - def order_param(obj1, obj2): - """ order parameter of a given block """ - - maxlen = min([len(obj1.lhacode), len(obj2.lhacode)]) - - for i in range(maxlen): - if obj1.lhacode[i] < obj2.lhacode[i]: - return -1 - elif obj1.lhacode[i] == obj2.lhacode[i]: - return 0 - else: - return 1 - #identical up to the first finish - if len(obj1.lhacode) > len(obj2.lhacode): - return 1 - elif len(obj1.lhacode) == len(obj2.lhacode): - return 0 - else: - return -1 - - def write_card(self, all_ext_param): - """ """ - - # list all lhablock - all_lhablock = set([param.lhablock for param in all_ext_param]) - - # ordonate lhablock alphabeticaly - all_lhablock = list(all_lhablock) - all_lhablock.sort() - # put at the beginning SMINPUT + MASS + DECAY - for name in ['DECAY', 'MASS','SMINPUTS']: - if name in all_lhablock: - all_lhablock.remove(name) - all_lhablock.insert(0, name) - - for lhablock in all_lhablock: - self.write_block(lhablock) - need_writing = [ param for param in all_ext_param if \ - param.lhablock == lhablock] - need_writing.sort(self.order_param) - [self.write_param(param, lhablock) for param in need_writing] - - if self.generic_output: - if lhablock in ['MASS', 'DECAY']: - self.write_dep_param_block(lhablock) - - if self.generic_output: - self.write_qnumber() - - def write_block(self, name): - """ write a comment for a block""" - - self.fsock.writelines( - """\n###################################""" + \ - """\n## INFORMATION FOR %s""" % name.upper() +\ - """\n###################################\n""" - ) - if name!='DECAY': - self.fsock.write("""Block %s \n""" % name) - - def write_param(self, param, lhablock): - - lhacode=' '.join(['%3s' % key for key in param.lhacode]) - if lhablock != 'DECAY': - text = """ %s %e # %s \n""" % (lhacode, complex(param.value).real, param.name ) - else: - text = '''DECAY %s %e \n''' % (lhacode, complex(param.value).real) - self.fsock.write(text) - - - - - def write_dep_param_block(self, lhablock): - import cmath - from parameters import all_parameters - from particles import all_particles - for parameter in all_parameters: - exec("%s = %s" % (parameter.name, parameter.value)) - text = "## Not dependent paramater.\n" - text += "## Those values should be edited following analytical the \n" - text += "## analytical expression. Some generator could simply ignore \n" - text += "## those values and use the analytical expression\n" - - if lhablock == 'MASS': - data = self.dep_mass - prefix = " " - else: - data = self.dep_width - prefix = "DECAY " - - for part, param in data: - if isinstance(param.value, str): - value = complex(eval(param.value)).real - else: - value = param.value - - text += """%s %s %f # %s : %s \n""" %(prefix, part.pdg_code, - value, part.name, param.value) - # If more than a particles has the same mass/width we need to write it here - # as well - if lhablock == 'MASS': - arg = 'mass' - done = [part for (part, param) in self.dep_mass] - else: - arg = 'width' - done = [part for (part, param) in self.dep_width] - for particle in all_particles: - if particle.pdg_code <0: - continue - is_define = True - if particle not in done: - if getattr(particle, arg).lhacode[0] != particle.pdg_code: - is_define = False - if not is_define: - value = float(particle.get(arg).value ) - name = particle.get(arg).name - text += """%s %s %f # %s : %s \n""" %(prefix, particle.pdg_code, - value, particle.name, name) - - - - - self.fsock.write(text) - - sm_pdg = [1,2,3,4,5,6,11,12,13,13,14,15,16,21,22,23,24,25] - data="""Block QNUMBERS %(pdg)d # %(name)s - 1 %(charge)d # 3 times electric charge - 2 %(spin)d # number of spin states (2S+1) - 3 %(color)d # colour rep (1: singlet, 3: triplet, 8: octet) - 4 %(antipart)d # Particle/Antiparticle distinction (0=own anti)\n""" - - def write_qnumber(self): - """ write qnumber """ - from particles import all_particles - import particles - print particles.__file__ - text="""#===========================================================\n""" - text += """# QUANTUM NUMBERS OF NEW STATE(S) (NON SM PDG CODE)\n""" - text += """#===========================================================\n\n""" - - for part in all_particles: - if part.pdg_code in self.sm_pdg or part.pdg_code < 0: - continue - text += self.data % {'pdg': part.pdg_code, - 'name': part.name, - 'charge': 3 * part.charge, - 'spin': part.spin, - 'color': part.color, - 'antipart': part.name != part.antiname and 1 or 0} - - self.fsock.write(text) - - - - - - - -if '__main__' == __name__: - ParamCardWriter('./param_card.dat', generic=True) - print 'write ./param_card.dat' - + +__date__ = "3 june 2010" +__author__ = 'olivier.mattelaer@uclouvain.be' + +class ParamCardWriter(object): + + header = \ + """######################################################################\n""" + \ + """## PARAM_CARD AUTOMATICALY GENERATED BY THE UFO #####################\n""" + \ + """######################################################################\n""" + + def __init__(self, filename, list_of_parameters=None, generic=False): + """write a valid param_card.dat""" + + if not list_of_parameters: + from parameters import all_parameters + list_of_parameters = [param for param in all_parameters if \ + param.nature=='external'] + + self.generic_output = generic + if generic: + self.define_not_dep_param(list_of_parameters) + + + self.fsock = open(filename, 'w') + self.fsock.write(self.header) + + self.write_card(list_of_parameters) + + def define_not_dep_param(self, list_of_parameters): + """define self.dep_mass and self.dep_width in case that they are + requested in the param_card.dat""" + from particles import all_particles + + self.dep_mass = [(part, part.mass) for part in all_particles \ + if part.pdg_code > 0 and \ + part.mass not in list_of_parameters] + self.dep_width = [(part, part.width) for part in all_particles\ + if part.pdg_code > 0 and \ + part.width not in list_of_parameters] + + @staticmethod + def order_param(obj1, obj2): + """ order parameter of a given block """ + + maxlen = min([len(obj1.lhacode), len(obj2.lhacode)]) + + for i in range(maxlen): + if obj1.lhacode[i] < obj2.lhacode[i]: + return -1 + elif obj1.lhacode[i] == obj2.lhacode[i]: + return 0 + else: + return 1 + #identical up to the first finish + if len(obj1.lhacode) > len(obj2.lhacode): + return 1 + elif len(obj1.lhacode) == len(obj2.lhacode): + return 0 + else: + return -1 + + def write_card(self, all_ext_param): + """ """ + + # list all lhablock + all_lhablock = set([param.lhablock for param in all_ext_param]) + + # ordonate lhablock alphabeticaly + all_lhablock = list(all_lhablock) + all_lhablock.sort() + # put at the beginning SMINPUT + MASS + DECAY + for name in ['DECAY', 'MASS','SMINPUTS']: + if name in all_lhablock: + all_lhablock.remove(name) + all_lhablock.insert(0, name) + + for lhablock in all_lhablock: + self.write_block(lhablock) + need_writing = [ param for param in all_ext_param if \ + param.lhablock == lhablock] + from functools import cmp_to_key + need_writing.sort(key=cmp_to_key(self.order_param)) + [self.write_param(param, lhablock) for param in need_writing] + + if self.generic_output: + if lhablock in ['MASS', 'DECAY']: + self.write_dep_param_block(lhablock) + + if self.generic_output: + self.write_qnumber() + + def write_block(self, name): + """ write a comment for a block""" + + self.fsock.writelines( + """\n###################################""" + \ + """\n## INFORMATION FOR %s""" % name.upper() +\ + """\n###################################\n""" + ) + if name!='DECAY': + self.fsock.write("""Block %s \n""" % name) + + def write_param(self, param, lhablock): + + lhacode=' '.join(['%3s' % key for key in param.lhacode]) + if lhablock != 'DECAY': + text = """ %s %e # %s \n""" % (lhacode, complex(param.value).real, param.name ) + else: + text = '''DECAY %s %e \n''' % (lhacode, complex(param.value).real) + self.fsock.write(text) + + + + + def write_dep_param_block(self, lhablock): + import cmath + from parameters import all_parameters + for parameter in all_parameters: + try: + exec("%s = %s" % (parameter.name, parameter.value)) + except Exception: + pass + text = "## Not dependent paramater.\n" + text += "## Those values should be edited following analytical the \n" + text += "## analytical expression. Some generator could simply ignore \n" + text += "## those values and use the analytical expression\n" + + if lhablock == 'MASS': + data = self.dep_mass + prefix = " " + else: + data = self.dep_width + prefix = "DECAY " + for part, param in data: + if isinstance(param.value, str): + value = complex(eval(param.value)).real + else: + value = param.value + + text += """%s %s %f # %s : %s \n""" %(prefix, part.pdg_code, + value, part.name, param.value) + self.fsock.write(text) + + sm_pdg = [1,2,3,4,5,6,11,12,13,13,14,15,16,21,22,23,24,25] + data="""Block QNUMBERS %(pdg)d # %(name)s + 1 %(charge)d # 3 times electric charge + 2 %(spin)d # number of spin states (2S+1) + 3 %(color)d # colour rep (1: singlet, 3: triplet, 8: octet) + 4 %(antipart)d # Particle/Antiparticle distinction (0=own anti)\n""" + + def write_qnumber(self): + """ write qnumber """ + from particles import all_particles + + text="""#===========================================================\n""" + text += """# QUANTUM NUMBERS OF NEW STATE(S) (NON SM PDG CODE)\n""" + text += """#===========================================================\n\n""" + + for part in all_particles: + if part.pdg_code in self.sm_pdg or part.pdg_code < 0: + continue + text += self.data % {'pdg': part.pdg_code, + 'name': part.name, + 'charge': 3 * part.charge, + 'spin': 2 * part.spin + 1, + 'color': part.color, + 'antipart': part.name != part.antiname and 1 or 0} + + self.fsock.write(text) + + + + + + + + +if '__main__' == __name__: + ParamCardWriter('./param_card.dat', generic=True) + print('write ./param_card.dat') + -- GitLab From d27c65ab58a9d8f46ece3e6717431bc7fb40f060 Mon Sep 17 00:00:00 2001 From: Zhen Wang <zhen.wang@cern.ch> Date: Sat, 24 Sep 2022 06:39:43 +0200 Subject: [PATCH 4/5] update --- py.py | 70 ----------------------------------------------------------- 1 file changed, 70 deletions(-) delete mode 100644 py.py diff --git a/py.py b/py.py deleted file mode 100644 index d0e5cca..0000000 --- a/py.py +++ /dev/null @@ -1,70 +0,0 @@ - -# py.py -# This file is automatically generated. Do not edit. -_tabversion = '3.2' - -_lr_method = 'LALR' - -_lr_signature = b'`k\xca\x14\xb4\xeb\xb8\x84\xa6:g<\xe4\xf1\xccC' - -_lr_action_items = {'-':([0,2,3,4,6,7,8,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,65,66,67,68,69,71,72,73,74,75,77,78,79,80,81,82,83,84,85,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,],[3,30,3,-12,3,-17,-18,-41,3,3,3,3,3,3,3,-40,-9,3,30,3,3,3,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,30,-3,-4,-5,-6,-19,30,3,30,-10,30,30,30,3,3,3,3,30,-13,3,3,3,3,30,30,30,30,30,30,30,3,-14,3,-23,-24,30,30,3,-15,-22,30,-16,]),'FUNCTION':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,]),'NUMBER':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,]),'VARIABLE':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,]),'COND':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,]),'COMPLEX':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,]),'RECMS':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,]),'CSC':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,]),'SEC':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,]),'ACSC':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,]),'ASEC':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,]),'RE':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,]),'IM':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,]),'ARG':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,]),'SQRT':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,]),'TAN':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,]),'ATAN':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,]),'CONJ':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,]),'REGLOG':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,]),'REGLOGP':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,]),'REGLOGM':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,]),'BUILTIN':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,]),'PI':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,]),'(':([0,3,5,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[6,6,37,6,39,40,41,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,65,6,6,6,65,65,6,6,6,65,6,6,6,6,6,6,6,]),'$end':([1,2,4,7,8,27,35,36,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,67,78,83,85,93,95,96,100,101,103,],[0,-1,-12,-17,-18,-41,-40,-9,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-2,-3,-4,-5,-6,-19,-10,-13,-21,-20,-14,-23,-24,-15,-22,-16,]),'=':([2,4,7,8,27,35,36,38,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,66,67,68,69,71,77,78,83,84,85,88,89,90,91,93,95,96,97,98,100,101,102,103,],[28,-12,-17,-18,-41,-40,-9,28,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-2,-3,-4,-5,-6,-19,28,28,-10,28,28,28,28,-13,28,28,28,28,28,28,28,-14,-23,-24,28,28,-15,-22,28,-16,]),'+':([2,4,7,8,27,35,36,38,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,66,67,68,69,71,77,78,83,84,85,88,89,90,91,93,95,96,97,98,100,101,102,103,],[29,-12,-17,-18,-41,-40,-9,29,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,29,-3,-4,-5,-6,-19,29,29,-10,29,29,29,29,-13,29,29,29,29,29,29,29,-14,-23,-24,29,29,-15,-22,29,-16,]),'*':([2,4,7,8,27,35,36,38,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,66,67,68,69,71,77,78,83,84,85,88,89,90,91,93,95,96,97,98,100,101,102,103,],[31,-12,-17,-18,-41,-40,-9,31,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,31,31,31,-5,-6,-19,31,31,-10,31,31,31,31,-13,31,31,31,31,31,31,31,-14,-23,-24,31,31,-15,-22,31,-16,]),'/':([2,4,7,8,27,35,36,38,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,66,67,68,69,71,77,78,83,84,85,88,89,90,91,93,95,96,97,98,100,101,102,103,],[32,-12,-17,-18,-41,-40,-9,32,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,32,32,32,-5,-6,-19,32,32,-10,32,32,32,32,-13,32,32,32,32,32,32,32,-14,-23,-24,32,32,-15,-22,32,-16,]),'POWER':([2,4,7,8,27,35,36,38,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,66,67,68,69,71,77,78,83,84,85,88,89,90,91,93,95,96,97,98,100,101,102,103,],[33,-12,-17,-18,-41,-40,33,33,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,33,33,33,33,33,-19,33,33,-10,33,33,33,33,-13,33,33,33,33,33,33,33,-14,-23,-24,33,33,-15,-22,33,-16,]),'IF':([2,4,7,8,27,35,36,38,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,66,67,68,69,71,77,78,83,84,85,88,89,90,91,93,95,96,97,98,100,101,102,103,],[34,-12,-17,-18,-41,-40,-9,34,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-2,-3,-4,-5,-6,-19,34,34,-10,34,34,34,34,-13,-21,34,-20,34,34,34,34,-14,-23,-24,34,34,-15,-22,34,-16,]),'RE2':([2,4,7,8,27,35,36,38,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,66,67,68,69,71,77,78,83,84,85,88,89,90,91,93,95,96,97,98,100,101,102,103,],[35,-12,-17,-18,-41,-40,-9,35,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,35,35,35,35,35,-19,35,35,-10,35,35,35,35,-13,35,35,35,35,35,35,35,-14,-23,-24,35,35,-15,-22,35,-16,]),')':([4,7,8,27,35,36,38,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,66,67,76,77,78,83,84,85,86,87,88,90,91,93,95,96,97,98,100,101,102,103,],[-12,-17,-18,-41,-40,-9,67,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-2,-3,-4,-5,-6,-19,78,-10,87,67,-13,-21,-7,-20,-8,-11,93,95,96,-14,-23,-24,100,101,-15,-22,103,-16,]),'ELSE':([4,7,8,27,35,36,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,67,78,83,84,85,86,87,93,95,96,100,101,103,],[-12,-17,-18,-41,-40,-9,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-2,-3,-4,-5,-6,-19,72,74,-10,-13,-21,-7,-20,-8,-11,-14,-23,-24,-15,-22,-16,]),'LOGICAL':([4,7,8,27,35,36,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,67,71,77,78,83,85,93,95,96,100,101,103,],[-12,-17,-18,-41,-40,-9,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-2,-3,-4,-5,-6,-19,73,-10,73,73,-13,-21,-20,-14,-23,-24,-15,-22,-16,]),',':([4,7,8,27,35,36,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,66,67,68,69,70,78,83,84,85,86,87,88,89,93,95,96,97,100,101,103,],[-12,-17,-18,-41,-40,-9,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-2,-3,-4,-5,-6,-19,79,-10,80,81,82,-13,-21,-7,-20,-8,-11,92,94,-14,-23,-24,99,-15,-22,-16,]),'LOGICALCOMB':([4,7,8,27,35,36,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,64,67,70,76,78,83,84,85,86,87,93,95,96,100,101,103,],[-12,-17,-18,-41,-40,-9,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-2,-3,-4,-5,-6,-19,75,-10,75,75,-13,-21,-7,-20,75,-11,-14,-23,-24,-15,-22,-16,]),} - -_lr_action = { } -for _k, _v in _lr_action_items.items(): - for _x,_y in zip(_v[0],_v[1]): - if not _x in _lr_action: _lr_action[_x] = { } - _lr_action[_x][_k] = _y -del _lr_action_items - -_lr_goto_items = {'statement':([0,],[1,]),'expression':([0,3,6,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[2,36,38,57,58,59,60,61,62,63,66,68,69,71,77,83,84,85,71,88,89,90,91,97,98,102,]),'group':([0,3,6,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,32,33,34,37,39,40,41,65,72,73,74,75,79,80,81,82,92,94,99,],[4,4,4,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,]),'boolexpression':([34,41,65,75,],[64,70,76,86,]),} - -_lr_goto = { } -for _k, _v in _lr_goto_items.items(): - for _x,_y in zip(_v[0],_v[1]): - if not _x in _lr_goto: _lr_goto[_x] = { } - _lr_goto[_x][_k] = _y -del _lr_goto_items -_lr_productions = [ - ("S' -> statement","S'",1,None,None,None), - ('statement -> expression','statement',1,'p_statement_expr','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',220), - ('expression -> expression = expression','expression',3,'p_expression_binop','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',224), - ('expression -> expression + expression','expression',3,'p_expression_binop','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',225), - ('expression -> expression - expression','expression',3,'p_expression_binop','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',226), - ('expression -> expression * expression','expression',3,'p_expression_binop','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',227), - ('expression -> expression / expression','expression',3,'p_expression_binop','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',228), - ('boolexpression -> expression LOGICAL expression','boolexpression',3,'p_expression_logical','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',232), - ('boolexpression -> boolexpression LOGICALCOMB boolexpression','boolexpression',3,'p_expression_logicalcomb','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',239), - ('expression -> - expression','expression',2,'p_expression_uminus','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',246), - ('group -> ( expression )','group',3,'p_group_parentheses','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',250), - ('boolexpression -> ( boolexpression )','boolexpression',3,'p_group_parentheses_boolexpr','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',255), - ('expression -> group','expression',1,'p_expression_group','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',259), - ('expression -> FUNCTION ( expression )','expression',4,'p_expression_function1','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',263), - ('expression -> FUNCTION ( expression , expression )','expression',6,'p_expression_function2','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',271), - ('expression -> FUNCTION ( expression , expression , expression )','expression',8,'p_expression_function3','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',279), - ('expression -> FUNCTION ( expression , expression , expression , expression )','expression',10,'p_expression_function4','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',287), - ('expression -> NUMBER','expression',1,'p_expression_number','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',967), - ('expression -> VARIABLE','expression',1,'p_expression_variable','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',971), - ('expression -> expression POWER expression','expression',3,'p_expression_power','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',975), - ('expression -> expression IF boolexpression ELSE expression','expression',5,'p_expression_if','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',979), - ('expression -> expression IF expression ELSE expression','expression',5,'p_expression_ifimplicit','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',990), - ('expression -> COND ( expression , expression , expression )','expression',8,'p_expression_cond','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1001), - ('expression -> COMPLEX ( expression , expression )','expression',6,'p_expression_complex','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1007), - ('expression -> RECMS ( boolexpression , expression )','expression',6,'p_expression_recms','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1011), - ('expression -> CSC group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1015), - ('expression -> SEC group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1016), - ('expression -> ACSC group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1017), - ('expression -> ASEC group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1018), - ('expression -> RE group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1019), - ('expression -> IM group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1020), - ('expression -> ARG group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1021), - ('expression -> SQRT group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1022), - ('expression -> TAN group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1023), - ('expression -> ATAN group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1024), - ('expression -> CONJ group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1025), - ('expression -> REGLOG group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1026), - ('expression -> REGLOGP group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1027), - ('expression -> REGLOGM group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1028), - ('expression -> BUILTIN group','expression',2,'p_expression_func','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1029), - ('expression -> expression RE2','expression',2,'p_expression_real','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1047), - ('expression -> PI','expression',1,'p_expression_pi','/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/sw/lcg/releases/MCGenerators/madgraph5amc/3.3.1.atlas3-f49f0/x86_64-centos7-gcc11-opt/madgraph/iolibs/ufo_expression_parsers.py',1051), -] -- GitLab From 0eabfaf2085970165e05cb164a29e25abf966c38 Mon Sep 17 00:00:00 2001 From: Zhen Wang <zhen.wang@cern.ch> Date: Sat, 24 Sep 2022 06:42:01 +0200 Subject: [PATCH 5/5] model list --- model_list.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/model_list.txt b/model_list.txt index f4f397c..da24eea 100644 --- a/model_list.txt +++ b/model_list.txt @@ -160,6 +160,12 @@ Contents: Axion-like particle, coupling to up-type quarks. ALP lifetime set by c Provided by Adrian Carmona [adrian@ugr.es], author of the ALPs from the Top paper Paper ALPs from the Top: https://arxiv.org/abs/2202.09371 +CHresonance_neutral_scalar_UFO +Requestor: Zhen Wang +Content: Singlet-catalyzed electroweak phase transitions from Ashutosh V. Kotwal +Paper: https://journals.aps.org/prd/abstract/10.1103/PhysRevD.94.035022 +JIRA: https://its.cern.ch/jira/browse/ATLMCPROD-6413 (old ZZ sample request) + clfvLO Requestor: Carlo Gottardo Content: Charged lepton flavour violation, with effective 4-fermion operators -- GitLab