
(* description = "pp -> V+jets|pp -> Z+jets|pp -> Zjj|On-shell Z boson plus two jets production" *)

SelectInterference = {eQED -> 2};

(* dddxdxz *) AddProcess[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> { V[2],  F[4,{1}],  F[4,{1}]}];
(* uuxddxz *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2],  F[3,{1}], -F[3,{1}]}];
(* ddxssxz *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2],  F[4,{2}], -F[4,{2}]}];
(* ddxzgg  *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2],  V[5]    ,  V[5]    }];
(* uuxzgg  *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[2],  V[5]    ,  V[5]    }];
(* uuuxuxz *) AddProcess[FeynArtsProcess -> { F[3,{1}],  F[3,{1}]} -> { V[2],  F[3,{1}],  F[3,{1}]}];
(* uuxccxz *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[2],  F[3,{2}], -F[3,{2}]}];

(* ddxbbxz *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2], -F[4,{3}],  F[4,{3}]}];
(* uuxbbxz *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[2], -F[4,{3}],  F[4,{3}]}];
(* bbbxbxz *) AddProcess[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[2], -F[4,{3}],  F[4,{3}]}];
(* bbxzgg  *) AddProcess[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[2],  V[5]    ,  V[5]    }];

(* dddxdxzg *) AddReal[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> { V[2], V[5],  F[4,{1}],  F[4,{1}]}];
(* uuxddxzg *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2], V[5],  F[3,{1}], -F[3,{1}]}];
(* ddxssxzg *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2], V[5],  F[4,{2}], -F[4,{2}]}];
(* ddxzggg  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2], V[5],  V[5]    ,  V[5]    }];
(* uuxzggg  *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[2], V[5],  V[5]    ,  V[5]    }];
(* uuuxuxzg *) AddReal[FeynArtsProcess -> { F[3,{1}],  F[3,{1}]} -> { V[2], V[5],  F[3,{1}],  F[3,{1}]}];
(* uuxccxzg *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[2], V[5],  F[3,{2}], -F[3,{2}]}];

(* ddxbbxzg *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2], V[5], -F[4,{3}],  F[4,{3}]}];
(* uuxbbxzg *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[2], V[5], -F[4,{3}],  F[4,{3}]}];
(* bbbxbxzg *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[2], V[5], -F[4,{3}],  F[4,{3}]}];
(* bbxzggg  *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[2], V[5],  V[5]    ,  V[5]    }];

ChannelMap = {
  "ccxddxz" -> "uuxddxz",
  "ddxbbxz" -> "ddxssxz MB=0",
  "uuxbbxz" -> "uuxddxz MB=0",
  "bbbxbxz" -> "dddxdxz MB=0",
  "bbxzgg"  -> "ddxzgg MB=0",
  (* reals *)
  "ccxddxzg" -> "uuxddxzg",
  "ddxbbxzg" -> "ddxssxzg MB=0",
  "uuxbbxzg" -> "uuxddxzg MB=0",
  "bbbxbxzg" -> "dddxdxzg MB=0",
  "bbxzggg"  -> "ddxzggg MB=0"
};
