
(* 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;

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

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

(* ddddxdxdxh *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[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], 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], 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], 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], 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], 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], 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], 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], 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], 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], 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], 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",
};
