
(* description = "pp -> VV+jets|pp -> VV+jets|pp -> VV|On-shell boson pair production (Photon, W, Z in all combinations) at NLO EW." *)

SelectInterference = {gQCD -> 0};

(* ZZ *)

(* ddxzz *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2], V[2]}, UnitaryGauge -> False];
(* uuxzz *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[2], V[2]}, UnitaryGauge -> False];
(* bbxzz *) AddProcess[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[2], V[2]}, UnitaryGauge -> False];

(* ddxzza *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2], V[2], V[1]}];
(* uuxzza *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[2], V[2], V[1]}];
(* bbxzza *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[2], V[2], V[1]}];

(* WW *)

(* ddxwwx *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {-V[3], V[3]}, UnitaryGauge -> False];
(* uuxwwx *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> {-V[3], V[3]}, UnitaryGauge -> False];
(* bbxwwx *) AddProcess[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> {-V[3], V[3]}, UnitaryGauge -> False];

(* ddxwwxa *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {-V[3], V[3], V[1]}];
(* uuxwwxa *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> {-V[3], V[3], V[1]}];
(* bbxwwxa *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> {-V[3], V[3], V[1]}];

(* ZW *)

(* udxzw  *) AddProcess[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> { V[2], -V[3]}, UnitaryGauge -> False];
(* uxdzwx *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> { V[2],  V[3]}, UnitaryGauge -> False];

(* udxzwa  *) AddReal[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> { V[2], -V[3], V[1]}];
(* uxdzwxa *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> { V[2],  V[3], V[1]}];


(* ZA *)

(* ddxaz *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[2]}, UnitaryGauge -> False];
(* uuxaz *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[2]}, UnitaryGauge -> False];
(* bbxaz *) AddProcess[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[1], V[2]}, UnitaryGauge -> False];

(* ddxaza *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[2], V[1]}];
(* uuxaza *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[2], V[1]}];
(* bbxaza *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[1], V[2], V[1]}];

(* WA *)

(* udxaw  *) AddProcess[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> { V[1], -V[3]}, UnitaryGauge -> False];
(* uxdawx *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> { V[1],  V[3]}, UnitaryGauge -> False];

(* udxawa  *) AddReal[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> { V[1], -V[3], V[1]}];
(* uxdawxa *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> { V[1],  V[3], V[1]}];

(* AA *)

(* ddxaa *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[1]}, UnitaryGauge -> False];
(* uuxaa *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[1]}, UnitaryGauge -> False];
(* bbxaa *) AddProcess[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[1], V[1]}, UnitaryGauge -> False];

(* ddxaaa *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[1], V[1]}];
(* uuxaaa *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[1], V[1]}];
(* bbxaaa *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[1], V[1], V[1]}];

