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

SelectInterference = {gQCD -> 2};
OTFColourCorrelations = False;

(* ZZ *)

(* ddxzzg *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2], V[2], V[5]}, UnitaryGauge -> False];
(* uuxzzg *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[2], V[2], V[5]}, UnitaryGauge -> False];
(* bbxzzg *) AddProcess[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[2], V[2], V[5]}, UnitaryGauge -> False];

(* ddxzzga *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2], V[2], V[5], V[1]}];
(* uuxzzga *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[2], V[2], V[5], V[1]}];
(* bbxzzga *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[2], V[2], V[5], V[1]}];

(* dddxdxzz *) AddReal[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> { V[2], V[2], F[4,{1}],  F[4,{1}]}];
(* uuuxuxzz *) AddReal[FeynArtsProcess -> { F[3,{1}],  F[3,{1}]} -> { V[2], V[2], F[3,{1}],  F[3,{1}]}];
(* uuxddxzz *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2], V[2], F[3,{1}], -F[3,{1}]}];
(* ccxddxzz *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2], V[2], F[3,{2}], -F[3,{2}]}];
(* ddxssxzz *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2], V[2], F[4,{2}], -F[4,{2}]}];
(* uuxccxzz *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[2], V[2], F[3,{2}], -F[3,{2}]}];

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

(* WW *)

(* ddxwwxg *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {-V[3], V[3], V[5]}, UnitaryGauge -> False];
(* uuxwwxg *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> {-V[3], V[3], V[5]}, UnitaryGauge -> False];
(* bbxwwxg *) AddProcess[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> {-V[3], V[3], V[5]}, UnitaryGauge -> False];

(* ddxwwxag *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {-V[3], V[3], V[5], V[1]}];
(* uuxwwxag *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> {-V[3], V[3], V[5], V[1]}];
(* bbxwwxag *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> {-V[3], V[3], V[5], V[1]}];

(* dddxdxwwx  *) AddReal[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> {-V[3],  V[3],  F[4,{1}],  F[4,{1}]}];
(* uuxddxwwx  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {-V[3],  V[3],  F[3,{1}], -F[3,{1}]}];
(* ddxssxwwx  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {-V[3],  V[3],  F[4,{2}], -F[4,{2}]}];
(* ccxddxwwx  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {-V[3],  V[3],  F[3,{2}], -F[3,{2}]}];
(* uuuxuxwwx  *) AddReal[FeynArtsProcess -> { F[3,{1}],  F[3,{1}]} -> {-V[3],  V[3],  F[3,{1}],  F[3,{1}]}];
(* uuxccxwwx  *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> {-V[3],  V[3],  F[3,{2}], -F[3,{2}]}];
(* uxcdsxwwx  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> {-V[3],  V[3],  F[4,{2}], -F[3,{2}]}];

(* ddxbbxwwx  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {-V[3],  V[3],  F[4,{3}], -F[4,{3}]}];
(* uuxbbxwwx  *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> {-V[3],  V[3],  F[4,{3}], -F[4,{3}]}];
(* bbbxbxwwx  *) AddReal[FeynArtsProcess -> { F[4,{3}],  F[4,{3}]} -> {-V[3],  V[3],  F[4,{3}],  F[4,{3}]}];

(* ZW *)

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

(* udxzwag  *) AddReal[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> { V[2], -V[3], V[5], V[1]}];
(* uxdzwxag *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> { V[2],  V[3], V[5], V[1]}];

(* uddxdxzw  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2], -V[3],  F[4,{1}], -F[3,{1}]}];
(* cddxsxzw  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2], -V[3],  F[4,{2}], -F[3,{2}]}];
(* uuuxdxzw  *) AddReal[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> { V[2], -V[3],  F[3,{1}], -F[3,{1}]}];
(* uccxdxzw  *) AddReal[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> { V[2], -V[3],  F[3,{2}], -F[3,{2}]}];
(* udxbbxzw  *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[4,{1}]} -> { V[2], -V[3],  F[4,{3}], -F[4,{3}]}];

(* uxdddxzwx *) AddReal[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> { V[2],  V[3],  F[4,{1}],  F[3,{1}]}];
(* cxddxszwx *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[2],  V[3],  F[3,{2}], -F[4,{2}]}];
(* uuxuxdzwx *) AddReal[FeynArtsProcess -> { F[4,{1}],  F[3,{1}]} -> { V[2],  V[3],  F[3,{1}],  F[3,{1}]}];
(* uxccxdzwx *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> { V[2],  V[3],  F[3,{2}], -F[3,{2}]}];
(* uxdbbxzwx *) AddReal[FeynArtsProcess -> {-F[3,{1}],  F[4,{1}]} -> { V[2],  V[3],  F[4,{3}], -F[4,{3}]}];

(* ZA *)

(* ddxazg *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[2], V[5]}, UnitaryGauge -> False];
(* uuxazg *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[2], V[5]}, UnitaryGauge -> False];
(* bbxazg *) AddProcess[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[1], V[2], V[5]}, UnitaryGauge -> False];

(* ddxazag *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[2], V[5], V[1]}];
(* uuxazag *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[2], V[5], V[1]}];
(* bbxazag *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[1], V[2], V[5], V[1]}];

(* dddxdxaz *) AddReal[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> { V[1], V[2], F[4,{1}],  F[4,{1}]}];
(* uuuxuxaz *) AddReal[FeynArtsProcess -> { F[3,{1}],  F[3,{1}]} -> { V[1], V[2], F[3,{1}],  F[3,{1}]}];
(* uuxddxaz *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[2], F[3,{1}], -F[3,{1}]}];
(* ccxddxaz *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[2], F[3,{2}], -F[3,{2}]}];
(* ddxssxaz *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[2], F[4,{2}], -F[4,{2}]}];
(* uuxccxaz *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[2], F[3,{2}], -F[3,{2}]}];

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


(* WA *)

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

(* udxawag  *) AddReal[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> { V[1], -V[3], V[5], V[1]}];
(* uxdawxag *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> { V[1],  V[3], V[5], V[1]}];

(* uddxdxaw  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], -V[3],  F[4,{1}], -F[3,{1}]}];
(* cddxsxaw  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], -V[3],  F[4,{2}], -F[3,{2}]}];
(* uuuxdxaw  *) AddReal[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> { V[1], -V[3],  F[3,{1}], -F[3,{1}]}];
(* uccxdxaw  *) AddReal[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> { V[1], -V[3],  F[3,{2}], -F[3,{2}]}];
(* udxbbxaw  *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[4,{1}]} -> { V[1], -V[3],  F[4,{3}], -F[4,{3}]}];

(* uxdddxawx *) AddReal[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> { V[1],  V[3],  F[4,{1}],  F[3,{1}]}];
(* cxddxsawx *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1],  V[3],  F[3,{2}], -F[4,{2}]}];
(* uuxuxdawx *) AddReal[FeynArtsProcess -> { F[4,{1}],  F[3,{1}]} -> { V[1],  V[3],  F[3,{1}],  F[3,{1}]}];
(* uxccxdawx *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> { V[1],  V[3],  F[3,{2}], -F[3,{2}]}];
(* uxdbbxawx *) AddReal[FeynArtsProcess -> {-F[3,{1}],  F[4,{1}]} -> { V[1],  V[3],  F[4,{3}], -F[4,{3}]}];


(* AA *)

(* ddxaag *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[1], V[5]}, UnitaryGauge -> False];
(* uuxaag *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[1], V[5]}, UnitaryGauge -> False];
(* bbxaag *) AddProcess[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[1], V[1], V[5]}, UnitaryGauge -> False];

(* ddxaaag *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[1], V[5], V[1]}];
(* uuxaaag *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[1], V[5], V[1]}];
(* bbxaaag *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[1], V[1], V[5], V[1]}];

(* dddxdxaa *) AddReal[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> { V[1], V[1], F[4,{1}],  F[4,{1}]}];
(* uuuxuxaa *) AddReal[FeynArtsProcess -> { F[3,{1}],  F[3,{1}]} -> { V[1], V[1], F[3,{1}],  F[3,{1}]}];
(* uuxddxaa *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[1], F[3,{1}], -F[3,{1}]}];
(* ccxddxaa *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[1], F[3,{2}], -F[3,{2}]}];
(* ddxssxaa *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[1], F[4,{2}], -F[4,{2}]}];
(* uuxccxaa *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[1], F[3,{2}], -F[3,{2}]}];

(* bbbxbxaa *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> { V[1], V[1], F[4,{3}], -F[4,{3}]}];
(* uuxbbxaa *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> { V[1], V[1], F[4,{3}], -F[4,{3}]}];
(* ddxbbxaa *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], V[1], F[4,{3}], -F[4,{3}]}];



