
(* description = "pp -> H+jets|pp -> H+jets|pp -> Hjjj|EW production of Higgs plus three jets (no VBF approximation)." *)

OpenLoopsModel = "SM_yuksel";
SelectCoupling = (Exponent[#1, eQED] === 3 &);
SelectInterference = {eQED -> 6};
SetParameters = JoinOptions[{MB -> 0, YB -> 0}];
OTFColourCorrelations = False;

(* dddxdxhg *) AddProcess[FeynArtsProcess -> {F[4,{1}], F[4,{1}]} -> {S[1], F[4,{1}], F[4,{1}], V[5]}, UnitaryGauge -> False];
(* uuuxuxhg *) AddProcess[FeynArtsProcess -> {F[3,{1}], F[3,{1}]} -> {S[1], F[3,{1}], F[3,{1}], V[5]}, UnitaryGauge -> False];
(* uuxddxhg *) AddProcess[FeynArtsProcess -> {F[4,{1}],-F[4,{1}]} -> {S[1], F[3,{1}],-F[3,{1}], V[5]}, UnitaryGauge -> False];
(* ccxddxhg *) AddProcess[FeynArtsProcess -> {F[4,{1}], F[3,{2}]} -> {S[1], F[4,{1}], F[3,{2}], V[5]}, UnitaryGauge -> False];
(* uuxccxhg *) AddProcess[FeynArtsProcess -> {F[3,{1}], F[3,{2}]} -> {S[1], F[3,{1}], F[3,{2}], V[5]}, UnitaryGauge -> False];
(* ddxssxhg *) AddProcess[FeynArtsProcess -> {F[4,{1}], F[4,{2}]} -> {S[1], F[4,{1}], F[4,{2}], V[5]}, UnitaryGauge -> False];
(* uxcdsxhg *) AddProcess[FeynArtsProcess -> {F[4,{1}],-F[4,{2}]} -> {S[1], F[3,{1}],-F[3,{2}], V[5]}, UnitaryGauge -> False];

(* dddxdxhgg *) AddReal[FeynArtsProcess -> {F[4,{1}], F[4,{1}]} -> {S[1], F[4,{1}], F[4,{1}], V[5], V[5]}];
(* uuuxuxhgg *) AddReal[FeynArtsProcess -> {F[3,{1}], F[3,{1}]} -> {S[1], F[3,{1}], F[3,{1}], V[5], V[5]}];
(* uuxddxhgg *) AddReal[FeynArtsProcess -> {F[4,{1}],-F[4,{1}]} -> {S[1], F[3,{1}],-F[3,{1}], V[5], V[5]}];
(* ccxddxhgg *) AddReal[FeynArtsProcess -> {F[4,{1}], F[3,{2}]} -> {S[1], F[4,{1}], F[3,{2}], V[5], V[5]}];
(* uuxccxhgg *) AddReal[FeynArtsProcess -> {F[3,{1}], F[3,{2}]} -> {S[1], F[3,{1}], F[3,{2}], V[5], V[5]}];
(* ddxssxhgg *) AddReal[FeynArtsProcess -> {F[4,{1}], F[4,{2}]} -> {S[1], F[4,{1}], F[4,{2}], V[5], V[5]}];
(* uxcdsxhgg *) AddReal[FeynArtsProcess -> {F[4,{1}],-F[4,{2}]} -> {S[1], F[3,{1}],-F[3,{2}], V[5], V[5]}];

(* ddddxdxdxh *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[4,{1}], -F[4,{1}], F[4,{1}], -F[4,{1}]}];
(* uuxdddxdxh *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[4,{1}], -F[4,{1}], F[3,{1}], -F[3,{1}]}];
(* dddxdxssxh *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[4,{1}], -F[4,{1}], F[4,{2}], -F[4,{2}]}];

(* uuuuxuxuxh *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {S[1], F[3,{1}], -F[3,{1}], F[3,{1}], -F[3,{1}]}];
(* uuuxuxddxh *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[3,{1}], -F[3,{1}], F[3,{1}], -F[3,{1}]}];
(* uuuxuxccxh *) AddReal[FeynArtsProcess -> {F[3,{2}], -F[3,{2}]} -> {S[1], F[3,{1}], -F[3,{1}], F[3,{1}], -F[3,{1}]}];

(* uuxccxddxh *) AddReal[FeynArtsProcess -> {F[4,{1}],-F[4,{1}]} -> {S[1], F[3,{1}],-F[3,{1}], F[3,{2}], -F[3,{2}]}];
(* uuxddxssxh *) AddReal[FeynArtsProcess -> {F[4,{1}],-F[4,{1}]} -> {S[1], F[3,{1}],-F[3,{1}], F[4,{2}], -F[4,{2}]}];

(* uuxuxcdsxh *) AddReal[FeynArtsProcess -> {F[4,{1}],-F[4,{2}]} -> {S[1], F[3,{1}],-F[3,{2}], F[3,{1}], -F[3,{1}]}];
(* uxcddddxsxh *) AddReal[FeynArtsProcess -> {F[4,{1}],-F[4,{2}]} -> {S[1], F[3,{1}],-F[3,{2}], F[4,{1}], -F[4,{1}]}];
(* uxcddssxsxh *) AddReal[FeynArtsProcess -> {F[4,{1}],-F[4,{2}]} -> {S[1], F[3,{1}],-F[3,{2}], F[4,{2}], -F[4,{2}]}];
(* uxcccxddsxh *) AddReal[FeynArtsProcess -> {F[4,{1}],-F[4,{2}]} -> {S[1], F[3,{1}],-F[3,{2}], F[3,{2}], -F[3,{2}]}];

(* uuxuxcdsxh *) AddReal[FeynArtsProcess -> {-F[4,{1}],F[4,{2}]} -> {S[1], -F[3,{1}],F[3,{2}], F[3,{1}], -F[3,{1}]}];
(* uxcddddxsxh *) AddReal[FeynArtsProcess -> {-F[4,{1}],F[4,{2}]} -> {S[1], -F[3,{1}],F[3,{2}], F[4,{1}], -F[4,{1}]}];
(* uxcddssxsxh *) AddReal[FeynArtsProcess -> {-F[4,{1}],F[4,{2}]} -> {S[1], -F[3,{1}],F[3,{2}], F[4,{2}], -F[4,{2}]}];
(* uxcccxddsxh *) AddReal[FeynArtsProcess -> {-F[4,{1}],F[4,{2}]} -> {S[1], -F[3,{1}],F[3,{2}], F[3,{2}], -F[3,{2}]}];



ChannelMap = {
  "bbbxbxhg" -> "dddxdxhg MB=0",
  "uuxbbxhg" -> "ccxddxhg MB=0",
  "ddxbbxhg" -> "ddxssxhg MB=0"
(* reals *)
  "ddxbbxhgg"  -> "uuxddxhgg MB=0",
  "bbbxbxhgg"  -> "dddxdxhgg MB=0",
  "ccxddxhgg"  -> "uuxddxhgg",
  "cccxcxddxh"  -> "uuuxuxddxh",
  "ccxdddxdxh"  -> "uuxdddxdxh",
  "uuxsssxdxh"  -> "uuxsssxsxh",
  "bbbbxbxbxh" -> "ddddxdxdxh MB=0",
  "uuuxuxbbxh" -> "uuuxuxddxh MB=0",
  "uuxddxbbxh" -> "uuxddxssxh MB=0",
  "cccxcxddxh" -> "uuuxuxddxh",
};
