
(* description = "pp -> VVV+jets|pp -> V(->ll/ln)AA+jets|pp -> llAAj|Off-shell Z/W/A boson and on-shell di-photon poduction with one jet and leptonic decays (l+l-/nn/l+n/l-n)" *)


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

(* eexddxaag   *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[1], F[2,{1}], -F[2,{1}], V[5]}];
(* eexuuxaag   *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[1], F[2,{1}], -F[2,{1}], V[5]}];
(* eexbbxaag   *) AddProcess[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[1], V[1], F[2,{1}], -F[2,{1}], V[5]}];

(* nenexddxaag *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[1], F[1,{1}], -F[1,{1}], V[5]}];
(* nenexuuxaag *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[1], F[1,{1}], -F[1,{1}], V[5]}];
(* nenexbbxaag *) AddProcess[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[1], V[1], F[1,{1}], -F[1,{1}], V[5]}];

(* eexdddxdxaa   *) AddReal[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> { V[1], V[1], F[2,{1}], -F[2,{1}], F[4,{1}],  F[4,{1}]}];
(* eexuuuxuxaa   *) AddReal[FeynArtsProcess -> { F[3,{1}],  F[3,{1}]} -> { V[1], V[1], F[2,{1}], -F[2,{1}], F[3,{1}],  F[3,{1}]}];
(* eexuuxddxaa   *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[1], F[2,{1}], -F[2,{1}], F[3,{1}], -F[3,{1}]}];
(* eexddxssxaa   *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[1], F[2,{1}], -F[2,{1}], F[4,{2}], -F[4,{2}]}];
(* eexuuxccxaa   *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[1], F[2,{1}], -F[2,{1}], F[3,{2}], -F[3,{2}]}];
(* eexddxaagg    *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[1], F[2,{1}], -F[2,{1}], V[5]    ,  V[5]    }];
(* eexuuxaagg    *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[1], F[2,{1}], -F[2,{1}], V[5]    ,  V[5]    }];

(* eexbbbxbxaa   *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[1], V[1], F[2,{1}], -F[2,{1}], F[4,{3}], -F[4,{3}]}];
(* eexuuxbbxaa   *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[1], F[2,{1}], -F[2,{1}], F[4,{3}], -F[4,{3}]}];
(* eexddxbbxaa   *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[1], F[2,{1}], -F[2,{1}], F[4,{3}], -F[4,{3}]}];
(* eexbbxaagg    *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[1], V[1], F[2,{1}], -F[2,{1}], V[5]    ,  V[5]    }];

(* nenexdddxdxaa *) AddReal[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> { V[1], V[1], F[1,{1}], -F[1,{1}], F[4,{1}],  F[4,{1}]}];
(* nenexuuuxuxaa *) AddReal[FeynArtsProcess -> { F[3,{1}],  F[3,{1}]} -> { V[1], V[1], F[1,{1}], -F[1,{1}], F[3,{1}],  F[3,{1}]}];
(* nenexuuxddxaa *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[1], F[1,{1}], -F[1,{1}], F[3,{1}], -F[3,{1}]}];
(* nenexddxssxaa *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[1], F[1,{1}], -F[1,{1}], F[4,{2}], -F[4,{2}]}];
(* nenexuuxccxaa *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[1], F[1,{1}], -F[1,{1}], F[3,{2}], -F[3,{2}]}];
(* nenexddxaagg  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[1], F[1,{1}], -F[1,{1}], V[5]    ,  V[5]    }];
(* nenexuuxaagg  *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[1], F[1,{1}], -F[1,{1}], V[5]    ,  V[5]    }];

(* nenexbbbxbxaa *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[1], V[1], F[1,{1}], -F[1,{1}], F[4,{3}], -F[4,{3}]}];
(* nenexuuxbbxaa *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[1], F[1,{1}], -F[1,{1}], F[4,{3}], -F[4,{3}]}];
(* nenexddxbbxaa *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[1], F[1,{1}], -F[1,{1}], F[4,{3}], -F[4,{3}]}];
(* nenexbbxaagg  *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[1], V[1], F[1,{1}], -F[1,{1}], V[5]    ,  V[5]    }];

ChannelMap = {
  "eexbbxaag"   -> "eexddxaag MB=0",
  "nenexbbxaag" -> "nenexddxaag MB=0",
  (* reals *)
  "eexccxddxaa" -> "eexuuxddxaa",
  "eexddxbbxaa" -> "eexddxssxaa MB=0",
  "eexuuxbbxaa" -> "eexuuxddxaa MB=0",
  "eexbbbxbxaa" -> "eexdddxdxaa MB=0",
  "eexbbxaagg"  -> "eexddxaagg MB=0",
  "nenexccxddxaa" -> "nenexuuxddxaa",
  "nenexddxbbxaa" -> "nenexddxssxaa MB=0",
  "nenexuuxbbxaa" -> "nenexuuxddxaa MB=0",
  "nenexbbbxbxaa" -> "nenexdddxdxaa MB=0",
  "nenexbbxaagg"  -> "nenexddxaagg MB=0"
};
