
(* description = "pp -> VV+jets|pp -> WA+jets|pp -> WAjj|On-shell W+/W- boson and photon plus two jets production" *)

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

(* W+ A *)
(* uddxdxaw  *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], -V[3],  F[4,{1}], -F[3,{1}]}];
(* cddxsxaw  *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], -V[3],  F[4,{2}], -F[3,{2}]}];
(* uuuxdxaw  *) AddProcess[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> { V[1], -V[3],  F[3,{1}], -F[3,{1}]}];
(* uccxdxaw  *) AddProcess[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> { V[1], -V[3],  F[3,{2}], -F[3,{2}]}];
(* udxawgg   *) AddProcess[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> { V[1], -V[3],  V[5]    ,  V[5]    }];
(* udxbbxaw  *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[4,{1}]} -> { V[1], -V[3],  F[4,{3}], -F[4,{3}]}];

(* W- A *)
(* uxdddxawx *) AddProcess[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> { V[1],  V[3],  F[4,{1}],  F[3,{1}]}];
(* cxddxsawx *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1],  V[3],  F[3,{2}], -F[4,{2}]}];
(* uuxuxdawx *) AddProcess[FeynArtsProcess -> { F[4,{1}],  F[3,{1}]} -> { V[1],  V[3],  F[3,{1}],  F[3,{1}]}];
(* uxccxdawx *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> { V[1],  V[3],  F[3,{2}], -F[3,{2}]}];
(* uxdawxgg  *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> { V[1],  V[3],  V[5]    ,  V[5]    }];
(* uxdbbxawx *) AddProcess[FeynArtsProcess -> {-F[3,{1}],  F[4,{1}]} -> { V[1],  V[3],  F[4,{3}], -F[4,{3}]}];

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

(* W+ A *)
(* uddxdxawg  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], -V[3],  F[4,{1}], -F[3,{1}], V[5]}];
(* cddxsxawg  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], -V[3],  F[4,{2}], -F[3,{2}], V[5]}];
(* uuuxdxawg  *) AddReal[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> { V[1], -V[3],  F[3,{1}], -F[3,{1}], V[5]}];
(* uccxdxawg  *) AddReal[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> { V[1], -V[3],  F[3,{2}], -F[3,{2}], V[5]}];
(* udxawggg   *) AddReal[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> { V[1], -V[3],  V[5]    ,  V[5]    , V[5]}];
(* udxbbxawg  *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[4,{1}]} -> { V[1], -V[3],  F[4,{3}], -F[4,{3}], V[5]}];

(* W- A *)
(* uxdddxawxg *) AddReal[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> { V[1],  V[3],  F[4,{1}],  F[3,{1}], V[5]}];
(* cxddxsawxg *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1],  V[3],  F[3,{2}], -F[4,{2}], V[5]}];
(* uuxuxdawxg *) AddReal[FeynArtsProcess -> { F[4,{1}],  F[3,{1}]} -> { V[1],  V[3],  F[3,{1}],  F[3,{1}], V[5]}];
(* uxccxdawxg *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> { V[1],  V[3],  F[3,{2}], -F[3,{2}], V[5]}];
(* uxdawxggg  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> { V[1],  V[3],  V[5]    ,  V[5]    , V[5]}];
(* uxdbbxawxg *) AddReal[FeynArtsProcess -> {-F[3,{1}],  F[4,{1}]} -> { V[1],  V[3],  F[4,{3}], -F[4,{3}], V[5]}];

ChannelMap = {
  "udxbbxaw"  -> "cddxsxaw[1,4,2,3,5,6] MB=0",
  "uxdbbxawx" -> "cxddxsawx[1,4,2,3,5,6] MB=0",
  (* reals *)
  "udxbbxawg"  -> "cddxsxawg[1,4,2,3,5,6,7] MB=0",
  "uxdbbxawxg" -> "cxddxsawxg[1,4,2,3,5,6,7] MB=0"
};
