
(* description = "pp -> VV+jets|pp -> ZA+jets|pp -> ZAjj|On-shell Z boson and photon plus two jets production" *)

SelectInterference = {eQED -> 4};
OTFColourCorrelations = False;

(* dddxdxaz *) AddProcess[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> { V[1], V[2], F[4,{1}],  F[4,{1}]}];
(* uuuxuxaz *) AddProcess[FeynArtsProcess -> { F[3,{1}],  F[3,{1}]} -> { V[1], V[2], F[3,{1}],  F[3,{1}]}];
(* uuxddxaz *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[2], F[3,{1}], -F[3,{1}]}];
(* ddxssxaz *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[2], F[4,{2}], -F[4,{2}]}];
(* uuxccxaz *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[2], F[3,{2}], -F[3,{2}]}];
(* ddxazgg  *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[2], V[5]    ,  V[5]    }];
(* uuxazgg  *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[2], V[5]    ,  V[5]    }];

(* bbbxbxaz *) AddProcess[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[1], V[2], F[4,{3}], -F[4,{3}]}];
(* uuxbbxaz *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[2], F[4,{3}], -F[4,{3}]}];
(* ddxbbxaz *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[2], F[4,{3}], -F[4,{3}]}];
(* bbxazgg  *) AddProcess[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[1], V[2], V[5]    ,  V[5]    }];

(* dddxdxazg *) AddReal[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> { V[1], V[2], F[4,{1}],  F[4,{1}], V[5]}];
(* uuuxuxazg *) AddReal[FeynArtsProcess -> { F[3,{1}],  F[3,{1}]} -> { V[1], V[2], F[3,{1}],  F[3,{1}], V[5]}];
(* uuxddxazg *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[2], F[3,{1}], -F[3,{1}], V[5]}];
(* ddxssxazg *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[2], F[4,{2}], -F[4,{2}], V[5]}];
(* uuxccxazg *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[2], F[3,{2}], -F[3,{2}], V[5]}];
(* ddxazggg  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[2], V[5]    ,  V[5]    , V[5]}];
(* uuxazggg  *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[2], V[5]    ,  V[5]    , V[5]}];

(* bbbxbxazg *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[1], V[2], F[4,{3}], -F[4,{3}], V[5]}];
(* uuxbbxazg *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[2], F[4,{3}], -F[4,{3}], V[5]}];
(* ddxbbxazg *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[2], F[4,{3}], -F[4,{3}], V[5]}];
(* bbxazggg  *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[1], V[2], V[5]    ,  V[5]    , V[5]}];

ChannelMap = {
  "ccxddxaz" -> "uuxddxaz",
  "ddxbbxaz" -> "ddxssxaz MB=0",
  "uuxbbxaz" -> "uuxddxaz MB=0",
  "bbbxbxaz" -> "dddxdxaz MB=0",
  "bbxazgg"  -> "ddxazgg MB=0",
  (* reals *)
  "ccxddxazg" -> "uuxddxazg",
  "ddxbbxazg" -> "ddxssxazg MB=0",
  "uuxbbxazg" -> "uuxddxazg MB=0",
  "bbbxbxazg" -> "dddxdxazg MB=0",
  "bbxazggg"  -> "ddxazggg MB=0"
};
