
(* description = "pp -> VV+jets|pp -> W(->ln)A+jets|pp -> lnAjj|Off-shell W+/W- boson and on-shell photon production plus two jets with leptonic decays" *)

SelectInterference = {eQED -> 6};
CreateTopologiesOptions = {ExcludeTopologies -> {Snails, WFCorrectionCTs, TadpoleCTs, Loops[7]}};
SetParameters = JoinOptions[{ME -> 0}];
OTFColourCorrelations = False;

(* W+ A *)
(* nexeuddxdxa *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], -F[2,{1}],  F[1,{1}],  F[4,{1}], -F[3,{1}]}];
(* nexecddxsxa *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], -F[2,{1}],  F[1,{1}],  F[4,{2}], -F[3,{2}]}];
(* nexeuuuxdxa *) AddProcess[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> { V[1], -F[2,{1}],  F[1,{1}],  F[3,{1}], -F[3,{1}]}];
(* nexeuccxdxa *) AddProcess[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> { V[1], -F[2,{1}],  F[1,{1}],  F[3,{2}], -F[3,{2}]}];
(* nexeudxagg  *) AddProcess[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> { V[1], -F[2,{1}],  F[1,{1}],  V[5]    ,  V[5]    }];
(* nexeudxbbxa *) AddProcess[FeynArtsProcess -> { F[3,{1}], -F[4,{1}]} -> { V[1], -F[2,{1}],  F[1,{1}],  F[4,{3}], -F[4,{3}]}];

(* W- A *)
(* neexuxdddxa *) AddProcess[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> { V[1],  F[2,{1}], -F[1,{1}],  F[4,{1}],  F[3,{1}]}];
(* neexcxddxsa *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1],  F[2,{1}], -F[1,{1}],  F[3,{2}], -F[4,{2}]}];
(* neexuuxuxda *) AddProcess[FeynArtsProcess -> { F[4,{1}],  F[3,{1}]} -> { V[1],  F[2,{1}], -F[1,{1}],  F[3,{1}],  F[3,{1}]}];
(* neexuxccxda *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> { V[1],  F[2,{1}], -F[1,{1}],  F[3,{2}], -F[3,{2}]}];
(* neexuxdagg  *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> { V[1],  F[2,{1}], -F[1,{1}],  V[5]    ,  V[5]    }];
(* neexuxdbbxa *) AddProcess[FeynArtsProcess -> {-F[3,{1}],  F[4,{1}]} -> { V[1],  F[2,{1}], -F[1,{1}],  F[4,{3}], -F[4,{3}]}];

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

(* W+ A *)
(* nexeuddxdxag *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], -F[2,{1}],  F[1,{1}],  F[4,{1}], -F[3,{1}], V[5]}];
(* nexecddxsxag *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1], -F[2,{1}],  F[1,{1}],  F[4,{2}], -F[3,{2}], V[5]}];
(* nexeuuuxdxag *) AddReal[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> { V[1], -F[2,{1}],  F[1,{1}],  F[3,{1}], -F[3,{1}], V[5]}];
(* nexeuccxdxag *) AddReal[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> { V[1], -F[2,{1}],  F[1,{1}],  F[3,{2}], -F[3,{2}], V[5]}];
(* nexeudxaggg  *) AddReal[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> { V[1], -F[2,{1}],  F[1,{1}],  V[5]    ,  V[5]    , V[5]}];
(* nexeudxbbxag *) AddReal[FeynArtsProcess -> { F[3,{1}], -F[4,{1}]} -> { V[1], -F[2,{1}],  F[1,{1}],  F[4,{3}], -F[4,{3}], V[5]}];

(* W- A *)
(* neexuxdddxag *) AddReal[FeynArtsProcess -> { F[4,{1}],  F[4,{1}]} -> { V[1],  F[2,{1}], -F[1,{1}],  F[4,{1}],  F[3,{1}], V[5]}];
(* neexcxddxsag *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[4,{1}]} -> { V[1],  F[2,{1}], -F[1,{1}],  F[3,{2}], -F[4,{2}], V[5]}];
(* neexuuxuxdag *) AddReal[FeynArtsProcess -> { F[4,{1}],  F[3,{1}]} -> { V[1],  F[2,{1}], -F[1,{1}],  F[3,{1}],  F[3,{1}], V[5]}];
(* neexuxccxdag *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> { V[1],  F[2,{1}], -F[1,{1}],  F[3,{2}], -F[3,{2}], V[5]}];
(* neexuxdaggg  *) AddReal[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> { V[1],  F[2,{1}], -F[1,{1}],  V[5]    ,  V[5]    , V[5]}];
(* neexuxdbbxag *) AddReal[FeynArtsProcess -> {-F[3,{1}],  F[4,{1}]} -> { V[1],  F[2,{1}], -F[1,{1}],  F[4,{3}], -F[4,{3}], V[5]}];

ChannelMap = {
  "nexeudxbbxa" -> "nexecddxsxa[1,2,3,6,4,5,7] MB=0",
  "neexuxdbbxa" -> "neexcxddxsa[1,2,3,6,4,5,7] MB=0",
  (* reals *)
  "nexeudxbbxag" -> "nexecddxsxag[1,2,3,6,4,5,7,8] MB=0",
  "neexuxdbbxag" -> "neexcxddxsag[1,2,3,6,4,5,7,8] MB=0"
};
