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

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

(* dddxdxhhg *) AddProcess[FeynArtsProcess -> {F[4,{1}], F[4,{1}]} -> {S[1], S[1], F[4,{1}], F[4,{1}], V[5]}, UnitaryGauge -> False];
(* uuuxuxhhg *) AddProcess[FeynArtsProcess -> {F[3,{1}], F[3,{1}]} -> {S[1], S[1], F[3,{1}], F[3,{1}], V[5]}, UnitaryGauge -> False];
(* uuxddxhhg *) AddProcess[FeynArtsProcess -> {F[4,{1}],-F[4,{1}]} -> {S[1], S[1], F[3,{1}],-F[3,{1}], V[5]}, UnitaryGauge -> False];
(* ccxddxhhg *) AddProcess[FeynArtsProcess -> {F[4,{1}], F[3,{2}]} -> {S[1], S[1], F[4,{1}], F[3,{2}], V[5]}, UnitaryGauge -> False];
(* uuxccxhhg *) AddProcess[FeynArtsProcess -> {F[3,{1}], F[3,{2}]} -> {S[1], S[1], F[3,{1}], F[3,{2}], V[5]}, UnitaryGauge -> False];
(* ddxssxhhg *) AddProcess[FeynArtsProcess -> {F[4,{1}], F[4,{2}]} -> {S[1], S[1], F[4,{1}], F[4,{2}], V[5]}, UnitaryGauge -> False];
(* uxcdsxhhg *) AddProcess[FeynArtsProcess -> {F[4,{1}],-F[4,{2}]} -> {S[1], S[1], F[3,{1}],-F[3,{2}], V[5]}, UnitaryGauge -> False];

(* dddxdxhhgg *) AddReal[FeynArtsProcess -> {F[4,{1}], F[4,{1}]} -> {S[1], S[1], F[4,{1}], F[4,{1}], V[5], V[5]}];
(* uuuxuxhhgg *) AddReal[FeynArtsProcess -> {F[3,{1}], F[3,{1}]} -> {S[1], S[1], F[3,{1}], F[3,{1}], V[5], V[5]}];
(* uuxddxhhgg *) AddReal[FeynArtsProcess -> {F[4,{1}],-F[4,{1}]} -> {S[1], S[1], F[3,{1}],-F[3,{1}], V[5], V[5]}];
(* ccxddxhhgg *) AddReal[FeynArtsProcess -> {F[4,{1}], F[3,{2}]} -> {S[1], S[1], F[4,{1}], F[3,{2}], V[5], V[5]}];
(* uuxccxhhgg *) AddReal[FeynArtsProcess -> {F[3,{1}], F[3,{2}]} -> {S[1], S[1], F[3,{1}], F[3,{2}], V[5], V[5]}];
(* ddxssxhhgg *) AddReal[FeynArtsProcess -> {F[4,{1}], F[4,{2}]} -> {S[1], S[1], F[4,{1}], F[4,{2}], V[5], V[5]}];
(* uxcdsxhhgg *) AddReal[FeynArtsProcess -> {F[4,{1}],-F[4,{2}]} -> {S[1], S[1], F[3,{1}],-F[3,{2}], V[5], V[5]}];

(* ddddxdxdxhh *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], S[1], F[4,{1}], -F[4,{1}], F[4,{1}], -F[4,{1}]}];
(* uuxdddxdxhh *) AddReal[FeynArtsProcess -> {F[4,{1}], F[4,{1}]} -> {S[1], S[1], F[4,{1}], F[4,{1}], F[3,{1}], -F[3,{1}]}];
(* dddxdxssxhh *) AddReal[FeynArtsProcess -> {F[4,{1}], F[4,{1}]} -> {S[1], S[1], F[4,{1}], F[4,{1}], F[4,{2}], -F[4,{2}]}];

(* uuuuxuxuxhh *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {S[1], S[1], F[3,{1}], -F[3,{1}], F[3,{1}], -F[3,{1}]}];
(* uuuxuxddxhh *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], S[1], F[3,{1}], -F[3,{1}], F[3,{1}], -F[3,{1}]}];
(* uuuxuxccxhh *) AddReal[FeynArtsProcess -> {F[3,{2}], -F[3,{2}]} -> {S[1], S[1], F[3,{1}], -F[3,{1}], F[3,{1}], -F[3,{1}]}];

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

(* uuxuxcdsxhh *) AddReal[FeynArtsProcess -> {F[4,{1}],-F[4,{2}]} -> {S[1], S[1], F[3,{1}],-F[3,{2}], F[3,{1}], -F[3,{1}]}];
(* uxcddddxsxhh *) AddReal[FeynArtsProcess -> {F[4,{1}],-F[4,{2}]} -> {S[1], S[1], F[3,{1}],-F[3,{2}], F[4,{1}], -F[4,{1}]}];
(* uxcddssxsxhh *) AddReal[FeynArtsProcess -> {F[4,{1}],-F[4,{2}]} -> {S[1], S[1], F[3,{1}],-F[3,{2}], F[4,{2}], -F[4,{2}]}];
(* uxcccxddsxhh *) AddReal[FeynArtsProcess -> {F[4,{1}],-F[4,{2}]} -> {S[1], S[1], F[3,{1}],-F[3,{2}], F[3,{2}], -F[3,{2}]}];

(* uuxuxcdsxhh *) AddReal[FeynArtsProcess -> {-F[4,{1}],F[4,{2}]} -> {S[1], S[1], -F[3,{1}],F[3,{2}], F[3,{1}], -F[3,{1}]}];
(* uxcddddxsxhh *) AddReal[FeynArtsProcess -> {-F[4,{1}],F[4,{2}]} -> {S[1], S[1], -F[3,{1}],F[3,{2}], F[4,{1}], -F[4,{1}]}];
(* uxcddssxsxhh *) AddReal[FeynArtsProcess -> {-F[4,{1}],F[4,{2}]} -> {S[1], S[1], -F[3,{1}],F[3,{2}], F[4,{2}], -F[4,{2}]}];
(* uxcccxddsxhh *) AddReal[FeynArtsProcess -> {-F[4,{1}],F[4,{2}]} -> {S[1], S[1], -F[3,{1}],F[3,{2}], F[3,{2}], -F[3,{2}]}];




ChannelMap = {
  "bbbxbxhhg" -> "dddxdxhhg MB=0",
  "uuxbbxhhg" -> "ccxddxhhg MB=0",
  "ddxbbxhhg" -> "ddxssxhhg MB=0"
(* reals *)
  "ddxbbxhhgg"  -> "uuxddxhhgg MB=0",
  "bbbxbxhhgg"  -> "dddxdxhhgg MB=0",
  "ccxddxhhgg"  -> "uuxddxhhgg",
  "cccxcxddxhh"  -> "uuuxuxddxhh",
  "ccxdddxdxhh"  -> "uuxdddxdxhh",
  "uuxsssxdxhh"  -> "uuxsssxsxhh",
  "bbbbxbxbxhh" -> "ddddxdxdxhh MB=0",
  "uuuxuxbbxhh" -> "uuuxuxddxhh MB=0",
  "uuxddxbbxhh" -> "uuxddxssxhh MB=0",
  "cccxcxddxhh" -> "uuuxuxddxhh",
};
