
(* description = "pp -> VV+jets|pp -> WW+jets|pp -> WWjj|On-shell W boson pair (W+W-, W+W+, W-W-) plus two jets production" *)

SelectInterference = {eQED -> 4};

(* W+ W+ *)
(* uudxdxww   *) AddProcess[FeynArtsProcess -> {-F[4,{1}], -F[4,{1}]} -> {-V[3], -V[3], -F[3,{1}], -F[3,{1}]}];
(* ucdxsxww   *) AddProcess[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> {-V[3], -V[3],  F[4,{2}], -F[3,{2}]}];

(* W- W- *)
(* uxuxddwxwx *) AddProcess[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> { V[3],  V[3],  F[3,{1}],  F[3,{1}]}];
(* uxcxdswxwx *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> { V[3],  V[3],  F[3,{2}], -F[4,{2}]}];

(* W+ W- *)
(* dddxdxwwx  *) AddProcess[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> {-V[3],  V[3],  F[4,{1}],  F[4,{1}]}];
(* uuxddxwwx  *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {-V[3],  V[3],  F[3,{1}], -F[3,{1}]}];
(* ddxssxwwx  *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {-V[3],  V[3],  F[4,{2}], -F[4,{2}]}];
(* ccxddxwwx  *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {-V[3],  V[3],  F[3,{2}], -F[3,{2}]}];
(* uuuxuxwwx  *) AddProcess[FeynArtsProcess -> { F[3,{1}],  F[3,{1}]} -> {-V[3],  V[3],  F[3,{1}],  F[3,{1}]}];
(* uuxccxwwx  *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> {-V[3],  V[3],  F[3,{2}], -F[3,{2}]}];
(* uxcdsxwwx  *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> {-V[3],  V[3],  F[4,{2}], -F[3,{2}]}];
(* ddxwwxgg   *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {-V[3],  V[3],  V[5]    ,  V[5]    }];
(* uuxwwxgg   *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> {-V[3],  V[3],  V[5]    ,  V[5]    }];

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

(* old Sherpa *)
(* ucxdxswwx  *) AddProcess[FeynArtsProcess -> { F[4,{2}], -F[3,{2}]} -> {-V[3],  V[3],  F[4,{1}], -F[3,{1}]}];

(* W+ W+ *)
(* uudxdxwwg   *) AddReal[FeynArtsProcess -> {-F[4,{1}], -F[4,{1}]} -> {-V[3], -V[3], -F[3,{1}], -F[3,{1}], V[5]}];
(* ucdxsxwwg   *) AddReal[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> {-V[3], -V[3],  F[4,{2}], -F[3,{2}], V[5]}];

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

(* W+ W- *)
(* dddxdxwwxg  *) AddReal[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> {-V[3],  V[3],  F[4,{1}],  F[4,{1}], V[5]}];
(* uuxddxwwxg  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {-V[3],  V[3],  F[3,{1}], -F[3,{1}], V[5]}];
(* ddxssxwwxg  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {-V[3],  V[3],  F[4,{2}], -F[4,{2}], V[5]}];
(* ccxddxwwxg  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {-V[3],  V[3],  F[3,{2}], -F[3,{2}], V[5]}];
(* uuuxuxwwxg  *) AddReal[FeynArtsProcess -> { F[3,{1}],  F[3,{1}]} -> {-V[3],  V[3],  F[3,{1}],  F[3,{1}], V[5]}];
(* uuxccxwwxg  *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> {-V[3],  V[3],  F[3,{2}], -F[3,{2}], V[5]}];
(* uxcdsxwwxg  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> {-V[3],  V[3],  F[4,{2}], -F[3,{2}], V[5]}];
(* ddxwwxggg   *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {-V[3],  V[3],  V[5]    ,  V[5]    , V[5]}];
(* uuxwwxggg   *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> {-V[3],  V[3],  V[5]    ,  V[5]    , V[5]}];

(* ddxbbxwwxg  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> {-V[3],  V[3],  F[4,{3}], -F[4,{3}], V[5]}];
(* uuxbbxwwxg  *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[3,{1}]} -> {-V[3],  V[3],  F[4,{3}], -F[4,{3}], V[5]}];
(* bbbxbxwwxg  *) AddReal[FeynArtsProcess -> { F[4,{3}],  F[4,{3}]} -> {-V[3],  V[3],  F[4,{3}],  F[4,{3}], V[5]}];
(* bbxwwxggg   *) AddReal[FeynArtsProcess -> { F[4,{3}], -F[4,{3}]} -> {-V[3],  V[3],  V[5]    ,  V[5]    , V[5]}];

ChannelMap = {
  "uuxssxwwx" -> "ccxddxwwx" (* old Sherpa *)
};
