
(* description = "pp -> HV+jets|pp -> HZ/W(->ll/ln)+jets|pp -> Hllj|Higgs plus off-shell Z/W boson and one jet production with leptonic decays (l+l-/nn/l+n/l-n, nf=5 and nf=6)" *)

OpenLoopsModel = "SM_yuksel";
SelectInterference = {eQED -> 6};
CreateTopologiesOptions = {ExcludeTopologies -> {Snails, WFCorrectionCTs, TadpoleCTs, Loops[6]}};
SetParameters = JoinOptions[{ME -> 0, YE -> 0, YukB -> 1, YukT -> 1}];
ColourCorrelations = True;

nf5 = {
	SetParameters -> JoinOptions[{ME -> 0, MB -> 0, YB -> 0, nf -> 5}],
	InsertFieldsOptions -> {Restrictions -> {ExcludeParticles -> {F[3,{3}]}, NoQuarkMixing}}
};

(* HZ *)

(* eexddxhg   *) AddProcess[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], V[5]}];
(* eexuuxhg   *) AddProcess[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], V[5]}];
(* eexbbxhg   *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {S[1], F[2,{1}], -F[2,{1}], V[5]}];
(* nenexddxhg *) AddProcess[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], V[5]}];
(* nenexuuxhg *) AddProcess[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], V[5]}];
(* nenexbbxhg *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {S[1], F[1,{1}], -F[1,{1}], V[5]}];

(* eexddxhg   *) AddProcess[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], V[5]}, Sequence @@ nf5];
(* eexuuxhg   *) AddProcess[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], V[5]}, Sequence @@ nf5];
(* eexbbxhg   *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {S[1], F[2,{1}], -F[2,{1}], V[5]}, Sequence @@ nf5];
(* nenexddxhg *) AddProcess[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], V[5]}, Sequence @@ nf5];
(* nenexuuxhg *) AddProcess[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], V[5]}, Sequence @@ nf5];
(* nenexbbxhg *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {S[1], F[1,{1}], -F[1,{1}], V[5]}, Sequence @@ nf5];

(* eexdddxdxh   *) AddReal[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], F[4,{1}],  F[4,{1}]}];
(* eexuuxddxh   *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], F[3,{1}], -F[3,{1}]}];
(* eexddxssxh   *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], F[4,{2}], -F[4,{2}]}];
(* eexddxhgg    *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], V[5]    ,  V[5]    }];
(* eexuuuxuxh   *) AddReal[FeynArtsProcess -> { F[3,{1}],  F[3,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], F[3,{1}],  F[3,{1}]}];
(* eexuuxccxh   *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], F[3,{2}], -F[3,{2}]}];
(* eexuuxhgg    *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], V[5]    ,  V[5]    }];
(* nenexdddxdxh *) AddReal[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], F[4,{1}],  F[4,{1}]}];
(* nenexuuxddxh *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], F[3,{1}], -F[3,{1}]}];
(* nenexddxssxh *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], F[4,{2}], -F[4,{2}]}];
(* nenexddxhgg  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], V[5]    ,  V[5]    }];
(* nenexuuuxuxh *) AddReal[FeynArtsProcess -> { F[3,{1}],  F[3,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], F[3,{1}],  F[3,{1}]}];
(* nenexuuxccxh *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], F[3,{2}], -F[3,{2}]}];
(* nenexuuxhgg  *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], V[5]    ,  V[5]    }];

(* eexddxbbxh   *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], F[4,{3}], -F[4,{3}]}];
(* eexuuxbbxh   *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], F[4,{3}], -F[4,{3}]}];
(* eexbbbxbxh   *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> {S[1], F[2,{1}], -F[2,{1}], F[4,{3}], -F[4,{3}]}];
(* eexbbxhgg    *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> {S[1], F[2,{1}], -F[2,{1}], V[5]    ,  V[5]    }];
(* nenexddxbbxh *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], F[4,{3}], -F[4,{3}]}];
(* nenexuuxbbxh *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], F[4,{3}], -F[4,{3}]}];
(* nenexbbbxbxh *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> {S[1], F[1,{1}], -F[1,{1}], F[4,{3}], -F[4,{3}]}];
(* nenexbbxhgg  *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> {S[1], F[1,{1}], -F[1,{1}], V[5]    ,  V[5]    }];

(* HW *)

(* neexuxdhg *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> {S[1], F[2,{1}], -F[1,{1}], V[5]}];
(* nexeudxhg *) AddProcess[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> {S[1], F[1,{1}], -F[2,{1}], V[5]}];

(* neexuxdhg *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> {S[1], F[2,{1}], -F[1,{1}], V[5]}, Sequence @@ nf5];
(* nexeudxhg *) AddProcess[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> {S[1], F[1,{1}], -F[2,{1}], V[5]}, Sequence @@ nf5];

(* nexeuddxdxh *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {S[1], F[1,{1}], -F[2,{1}], F[4,{1}], -F[3,{1}]}];
(* nexecddxsxh *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {S[1], F[1,{1}], -F[2,{1}], F[4,{2}], -F[3,{2}]}];
(* nexeuuuxdxh *) AddReal[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> {S[1], F[1,{1}], -F[2,{1}], F[3,{1}], -F[3,{1}]}];
(* nexeudxhgg  *) AddReal[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> {S[1], F[1,{1}], -F[2,{1}], V[5]    ,  V[5]    }];
(* nexeudxbbxh *) AddReal[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> {S[1], F[1,{1}], -F[2,{1}], F[4,{2}], -F[4,{2}]}];

(* neexuxdddxh *) AddReal[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> {S[1], F[2,{1}], -F[1,{1}], F[4,{1}],  F[3,{1}]}];
(* neexcxddxsh *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {S[1], F[2,{1}], -F[1,{1}], F[3,{2}], -F[4,{2}]}];
(* neexuuxuxdh *) AddReal[FeynArtsProcess -> { F[4,{1}],  F[3,{1}]} -> {S[1], F[2,{1}], -F[1,{1}], F[3,{1}],  F[3,{1}]}];
(* neexuxdhgg  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> {S[1], F[2,{1}], -F[1,{1}], V[5]    ,  V[5]    }];
(* neexuxdbbxh *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> {S[1], F[2,{1}], -F[1,{1}], F[4,{2}], -F[4,{2}]}];


ChannelMap = {
  "eexbbxhg"   -> "eexddxhg MB=0 YB=0",
  "nenexbbxhg" -> "nenexddxhg MB=0 YB=0",
  (* reals *)
  "eexccxddxh"   -> "eexuuxddxh",
  "eexddxbbxh"   -> "eexddxssxh MB=0 YB=0",
  "eexuuxbbxh"   -> "eexuuxddxh MB=0 YB=0",
  "eexbbbxbxh"   -> "eexdddxdxh MB=0 YB=0",
  "eexbbxhgg"    -> "eexddxhgg MB=0 YB=0",
  "nenexccxddxh" -> "nenexuuxddxh",
  "nenexddxbbxh" -> "nenexddxssxh MB=0 YB=0",
  "nenexuuxbbxh" -> "nenexuuxddxh MB=0 YB=0",
  "nenexbbbxbxh" -> "nenexdddxdxh MB=0 YB=0",
  "nenexbbxhgg"  -> "nenexddxhgg MB=0 YB=0",
  "nexeuccxdxh" -> "nexecddxsxh",
  "nexeudxbbxh" -> "nexecddxsxh[1,2,3,6,4,5,7] MB=0 YB=0",
  "neexuxccxdh" -> "neexcxddxsh",
  "neexuxdbbxh" -> "neexcxddxsh[1,2,3,6,4,5,7] MB=0 YB=0"
};
