
(* description = "pp -> V+jets|pp -> Z/A(->ll)+jets|pp -> lljjj|Off-shell Z/A boson plus three jets production with leptonic decays (l+l-)" *)

SelectInterference = {eQED -> 4};
CreateTopologiesOptions = {ExcludeTopologies -> {Snails, WFCorrectionCTs, TadpoleCTs, Loops[7]}};
SetParameters = JoinOptions[{ME -> 0}];

(* eexuuxggg  *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> {F[2,{1}], -F[2,{1}], V[5], V[5], V[5]}];
(* eexddxggg  *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {F[2,{1}], -F[2,{1}], V[5], V[5], V[5]}];
(* eexbbxggg  *) AddProcess[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> {F[2,{1}], -F[2,{1}], V[5], V[5], V[5]}];

(* eexdddxdxg *) AddProcess[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> {F[2,{1}], -F[2,{1}], V[5],  F[4,{1}],  F[4,{1}]}];
(* eexuuxddxg *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {F[2,{1}], -F[2,{1}], V[5],  F[3,{1}], -F[3,{1}]}];
(* eexddxssxg *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {F[2,{1}], -F[2,{1}], V[5],  F[4,{2}], -F[4,{2}]}];
(* eexuuuxuxg *) AddProcess[FeynArtsProcess -> { F[3,{1}],  F[3,{1}]} -> {F[2,{1}], -F[2,{1}], V[5],  F[3,{1}],  F[3,{1}]}];
(* eexuuxccxg *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> {F[2,{1}], -F[2,{1}], V[5],  F[3,{2}], -F[3,{2}]}];
(* eexddxbbxg *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {F[2,{1}], -F[2,{1}], V[5], -F[4,{3}],  F[4,{3}]}];
(* eexuuxbbxg *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> {F[2,{1}], -F[2,{1}], V[5], -F[4,{3}],  F[4,{3}]}];
(* eexbbbxbxg *) AddProcess[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> {F[2,{1}], -F[2,{1}], V[5], -F[4,{3}],  F[4,{3}]}];


(* eexbbxgggg   *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { F[2,{1}], -F[2,{1}], V[5], V[5], V[5], V[5]}];
(* eexuuxgggg   *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { F[2,{1}], -F[2,{1}], V[5], V[5], V[5], V[5]}];
(* eexddxgggg   *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { F[2,{1}], -F[2,{1}], V[5], V[5], V[5], V[5]}];

(* eexdddxdxgg  *) AddReal[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> { F[2,{1}], -F[2,{1}], V[5], V[5],  F[4,{1}],  F[4,{1}]}];
(* eexuuxddxgg  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { F[2,{1}], -F[2,{1}], V[5], V[5],  F[3,{1}], -F[3,{1}]}];
(* eexddxssxgg  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { F[2,{1}], -F[2,{1}], V[5], V[5],  F[4,{2}], -F[4,{2}]}];
(* eexuuuxuxgg  *) AddReal[FeynArtsProcess -> { F[3,{1}],  F[3,{1}]} -> { F[2,{1}], -F[2,{1}], V[5], V[5],  F[3,{1}],  F[3,{1}]}];
(* eexuuxccxgg  *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { F[2,{1}], -F[2,{1}], V[5], V[5],  F[3,{2}], -F[3,{2}]}];
(* eexddxbbxgg  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { F[2,{1}], -F[2,{1}], V[5], V[5], -F[4,{3}],  F[4,{3}]}];
(* eexuuxbbxgg  *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { F[2,{1}], -F[2,{1}], V[5], V[5], -F[4,{3}],  F[4,{3}]}];
(* eexbbbxbxgg  *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { F[2,{1}], -F[2,{1}], V[5], V[5], -F[4,{3}],  F[4,{3}]}];

(* eexuuuuxuxux *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { F[2,{1}], -F[2,{1}], F[3,{1}], -F[3,{1}], F[3,{1}], -F[3,{1}]}];
(* eexddddxdxdx *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { F[2,{1}], -F[2,{1}], F[4,{1}], -F[4,{1}], F[4,{1}], -F[4,{1}]}];
(* eexuuuxuxddx *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { F[2,{1}], -F[2,{1}], F[3,{1}], -F[3,{1}], F[3,{1}], -F[3,{1}]}];
(* eexuuxdddxdx *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { F[2,{1}], -F[2,{1}], F[4,{1}], -F[4,{1}], F[3,{1}], -F[3,{1}]}];
(* eexuuuxuxccx *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { F[2,{1}], -F[2,{1}], F[3,{1}], -F[3,{1}], F[3,{2}], -F[3,{2}]}];
(* eexdddxdxssx *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { F[2,{1}], -F[2,{1}], F[4,{1}], -F[4,{1}], F[4,{2}], -F[4,{2}]}];
(* eexuuxddxssx *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { F[2,{1}], -F[2,{1}], F[3,{1}], -F[3,{1}], F[4,{2}], -F[4,{2}]}];
(* eexuuxccxddx *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { F[2,{1}], -F[2,{1}], F[3,{1}], -F[3,{1}], F[3,{2}], -F[3,{2}]}];
(* eexddxssxbbx *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { F[2,{1}], -F[2,{1}], F[4,{2}], -F[4,{2}], F[4,{3}], -F[4,{3}]}];
(* eexbbbbxbxbx *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { F[2,{1}], -F[2,{1}], F[4,{3}], -F[4,{3}], F[4,{3}], -F[4,{3}]}];
(* eexuuuxuxbbx *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { F[2,{1}], -F[2,{1}], F[3,{1}], -F[3,{1}], F[4,{3}], -F[4,{3}]}];
(* eexdddxdxbbx *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { F[2,{1}], -F[2,{1}], F[4,{1}], -F[4,{1}], F[4,{3}], -F[4,{3}]}];
(* eexuuxbbbxbx *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { F[2,{1}], -F[2,{1}], F[4,{3}], -F[4,{3}], F[4,{3}], -F[4,{3}]}];
(* eexddxbbbxbx *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { F[2,{1}], -F[2,{1}], F[4,{3}], -F[4,{3}], F[4,{3}], -F[4,{3}]}];
(* eexuuxccxbbx *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { F[2,{1}], -F[2,{1}], F[3,{2}], -F[3,{2}], F[4,{3}], -F[4,{3}]}];
(* eexuuxddxbbx *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { F[2,{1}], -F[2,{1}], F[3,{1}], -F[3,{1}], F[4,{3}], -F[4,{3}]}];

ChannelMap = {
  "eexccxddxg" -> "eexuuxddxg",
  "eexddxbbxg" -> "eexddxssxg MB=0",
  "eexuuxbbxg" -> "eexuuxddxg MB=0",
  "eexbbbxbxg" -> "eexdddxdxg MB=0",
  "eexbbxggg"  -> "eexddxggg MB=0",
  (* reals *)
  "eexbbxgggg"   -> "eexddxgggg MB=0",

  "eexccxddxgg"  -> "eexuuxddxgg",
  "eexddxbbxgg"  -> "eexddxssxgg MB=0",
  "eexuuxbbxgg"  -> "eexuuxddxgg MB=0",
  "eexbbbxbxgg"  -> "eexdddxdxgg MB=0",

  "eexbbbbxbxbx" -> "eexddddxdxdx MB=0",
  "eexuuuxuxbbx" -> "eexuuuxuxddx MB=0",
  "eexdddxdxbbx" -> "eexdddxdxssx MB=0",
  "eexuuxbbbxbx" -> "eexuuxdddxdx MB=0",
  "eexddxbbbxbx" -> "eexdddxdxssx[1,2,7,8,3,4,5,6] MB=0",
  "eexuuxccxbbx" -> "eexuuxccxddx MB=0",
  "eexuuxddxbbx" -> "eexuuxddxssx MB=0",
  "eexccxdddxdx" -> "eexuuxdddxdx",
  "eexcccxcxddx" -> "eexuuuxuxddx",
  "eexccxddxbbx" -> "eexuuxddxbbx"
};
