
(* description = "pp -> VV+jets|pp -> ZZ+jets|pp -> ZZjj|Z boson pair plus two jets production" *)

SelectInterference = {eQED -> 4};

(* dddxdxzz *) AddProcess[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> { V[2], V[2], F[4,{1}],  F[4,{1}]}];
(* uuuxuxzz *) AddProcess[FeynArtsProcess -> { F[3,{1}],  F[3,{1}]} -> { V[2], V[2], F[3,{1}],  F[3,{1}]}];
(* uuxddxzz *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2], V[2], F[3,{1}], -F[3,{1}]}];
(* ddxssxzz *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2], V[2], F[4,{2}], -F[4,{2}]}];
(* uuxccxzz *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[2], V[2], F[3,{2}], -F[3,{2}]}];
(* ddxzzgg  *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2], V[2], V[5]    ,  V[5]    }];
(* uuxzzgg  *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[2], V[2], V[5]    ,  V[5]    }];

(* bbbxbxzz *) AddProcess[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[2], V[2], F[4,{3}], -F[4,{3}]}];
(* uuxbbxzz *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[2], V[2], F[4,{3}], -F[4,{3}]}];
(* ddxbbxzz *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2], V[2], F[4,{3}], -F[4,{3}]}];
(* bbxzzgg  *) AddProcess[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[2], V[2], V[5]    ,  V[5]    }];

(* dddxdxzzg *) AddReal[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> { V[2], V[2], F[4,{1}],  F[4,{1}], V[5]}];
(* uuuxuxzzg *) AddReal[FeynArtsProcess -> { F[3,{1}],  F[3,{1}]} -> { V[2], V[2], F[3,{1}],  F[3,{1}], V[5]}];
(* uuxddxzzg *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2], V[2], F[3,{1}], -F[3,{1}], V[5]}];
(* ddxssxzzg *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2], V[2], F[4,{2}], -F[4,{2}], V[5]}];
(* uuxccxzzg *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[2], V[2], F[3,{2}], -F[3,{2}], V[5]}];
(* ddxzzggg  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2], V[2], V[5]    ,  V[5]    , V[5]}];
(* uuxzzggg  *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[2], V[2], V[5]    ,  V[5]    , V[5]}];

(* bbbxbxzzg *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[2], V[2], F[4,{3}], -F[4,{3}], V[5]}];
(* uuxbbxzzg *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[2], V[2], F[4,{3}], -F[4,{3}], V[5]}];
(* ddxbbxzzg *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2], V[2], F[4,{3}], -F[4,{3}], V[5]}];
(* bbxzzggg  *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[2], V[2], V[5]    ,  V[5]    , V[5]}];

ChannelMap = {
  "ccxddxzz" -> "uuxddxzz",
  "ddxbbxzz" -> "ddxssxzz MB=0",
  "uuxbbxzz" -> "uuxddxzz MB=0",
  "bbbxbxzz" -> "dddxdxzz MB=0",
  "bbxzzgg"  -> "ddxzzgg MB=0",
  (* reals *)
  "ccxddxzzg" -> "uuxddxzzg",
  "ddxbbxzzg" -> "ddxssxzzg MB=0",
  "uuxbbxzzg" -> "uuxddxzzg MB=0",
  "bbbxbxzzg" -> "dddxdxzzg MB=0",
  "bbxzzggg"  -> "ddxzzggg MB=0"
};
