
(* description = "pp -> HV+jets|pp -> HZ/W(->ll/ln)+jets|pp -> Hllj|Higgs plus off-shell Z/W-boson production with leptonic decays (l+l-/nn/l+n/l-n) and one jet at NLO EW." *)

SetParameters = JoinOptions[{ME -> 0}];

(* O(as a^3) + O(as a^4) *)

(*
SelectInterference = {gQCD -> 2};
*)
(* l+l- *)

(* eexuuxhg *) AddProcess[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], V[5]}, UnitaryGauge -> False, SelectInterference -> {gQCD -> 2}];
(* eexddxhg *) AddProcess[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], V[5]}, UnitaryGauge -> False, SelectInterference -> {gQCD -> 2}];
(* eexbbxhg *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {S[1], F[2,{1}], -F[2,{1}], V[5]}, UnitaryGauge -> False, SelectInterference -> {gQCD -> 2}];

(* eexuuxhag *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], V[5], V[1]}, SelectInterference -> {gQCD -> 2}];
(* eexddxhag *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], V[5], V[1]}, SelectInterference -> {gQCD -> 2}];
(* eexbbxhag *) AddReal[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {S[1], F[2,{1}], -F[2,{1}], V[5], V[1]}, SelectInterference -> {gQCD -> 2}];

(* eexdddxdxh *) AddReal[FeynArtsProcess -> {F[4,{1}], F[4,{1}]}  -> {S[1], F[2,{1}], -F[2,{1}], F[4,{1}],F[4,{1}]}, SelectInterference -> {gQCD -> 2}];
(* eexuuxddxh *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], F[3,{1}],-F[3,{1}]}, SelectInterference -> {gQCD -> 2}];
(* eexddxssxh *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], F[4,{2}],-F[4,{2}]}, SelectInterference -> {gQCD -> 2}];
(* eexccxddxh *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], F[3,{2}],-F[3,{2}]}, SelectInterference -> {gQCD -> 2}];
(* eexuxcdsxh *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[3,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], F[4,{2}],-F[3,{2}]}, SelectInterference -> {gQCD -> 2}];
(* eexuuuxuxh *) AddReal[FeynArtsProcess -> {F[3,{1}], F[3,{1}]}  -> {S[1], F[2,{1}], -F[2,{1}], F[3,{1}],F[3,{1}]}, SelectInterference -> {gQCD -> 2}];
(* eexuuxccxh *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], F[3,{2}],-F[3,{2}]}, SelectInterference -> {gQCD -> 2}];
(* eexddxbbxh *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], F[4,{3}],-F[4,{3}]}, SelectInterference -> {gQCD -> 2}];
(* eexuuxbbxh *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], F[4,{3}],-F[4,{3}]}, SelectInterference -> {gQCD -> 2}];
(* eexbbbxbxh *) AddReal[FeynArtsProcess -> {F[4,{3}], F[4,{3}]}  -> {S[1], F[2,{1}], -F[2,{1}], F[4,{3}],F[4,{3}]}, SelectInterference -> {gQCD -> 2}];

(* nn *)

(* nnxuuxhg *) AddProcess[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], V[5]}, UnitaryGauge -> False, SelectInterference -> {gQCD -> 2}];
(* nnxddxhg *) AddProcess[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], V[5]}, UnitaryGauge -> False, SelectInterference -> {gQCD -> 2}];
(* nnxbbxhg *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {S[1], F[1,{1}], -F[1,{1}], V[5]}, UnitaryGauge -> False, SelectInterference -> {gQCD -> 2}];

(* nnxuuxhag *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], V[5], V[1]}, SelectInterference -> {gQCD -> 2}];
(* nnxddxhag *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], V[5], V[1]}, SelectInterference -> {gQCD -> 2}];
(* nnxbbxhag *) AddReal[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {S[1], F[1,{1}], -F[1,{1}], V[5], V[1]}, SelectInterference -> {gQCD -> 2}];

(* nenexdddxdxh *) AddReal[FeynArtsProcess -> {F[4,{1}], F[4,{1}]}  -> {S[1], F[1,{1}], -F[1,{1}], F[4,{1}],F[4,{1}]}, SelectInterference -> {gQCD -> 2}];
(* nenexuuxddxh *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], F[3,{1}],-F[3,{1}]}, SelectInterference -> {gQCD -> 2}];
(* nenexddxssxh *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], F[4,{2}],-F[4,{2}]}, SelectInterference -> {gQCD -> 2}];
(* nenexccxddxh *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], F[3,{2}],-F[3,{2}]}, SelectInterference -> {gQCD -> 2}];
(* nenexuxcdsxh *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[3,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], F[4,{2}],-F[3,{2}]}, SelectInterference -> {gQCD -> 2}];
(* nenexuuuxuxh *) AddReal[FeynArtsProcess -> {F[3,{1}], F[3,{1}]}  -> {S[1], F[1,{1}], -F[1,{1}], F[3,{1}],F[3,{1}]}, SelectInterference -> {gQCD -> 2}];
(* nenexuuxccxh *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], F[3,{2}],-F[3,{2}]}, SelectInterference -> {gQCD -> 2}];
(* nenexddxbbxh *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], F[4,{3}],-F[4,{3}]}, SelectInterference -> {gQCD -> 2}];
(* nenexuuxbbxh *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], F[4,{3}],-F[4,{3}]}, SelectInterference -> {gQCD -> 2}];
(* nenexbbbxbxh *) AddReal[FeynArtsProcess -> {F[4,{3}], F[4,{3}]}  -> {S[1], F[1,{1}], -F[1,{1}], F[4,{3}],F[4,{3}]}, SelectInterference -> {gQCD -> 2}];



(* O(a^4) + O(as a^4) *)

(* l+l- *)

(* eexuuxha *) AddProcess[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], V[1]}, UnitaryGauge -> True, SelectInterference -> {eQED -> 8}];
(* eexddxha *) AddProcess[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[2,{1}], -F[2,{1}], V[1]}, UnitaryGauge -> True, SelectInterference -> {eQED -> 8}];
(* eexbbxha *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {S[1], F[2,{1}], -F[2,{1}], V[1]}, UnitaryGauge -> True, SelectInterference -> {eQED -> 8}];

(* nn *)

(* nenexuuxha *) AddProcess[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], V[1]}, UnitaryGauge -> True, SelectInterference -> {eQED -> 8}];
(* nenexddxha *) AddProcess[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[1,{1}], -F[1,{1}], V[1]}, UnitaryGauge -> True, SelectInterference -> {eQED -> 8}];
(* nenexbbxha *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {S[1], F[1,{1}], -F[1,{1}], V[1]}, UnitaryGauge -> True, SelectInterference -> {eQED -> 8}];

(* ln *)

(* neexuxdhg *) AddProcess[FeynArtsProcess -> { F[4,{1}], -F[3,{1}]} -> {S[1], F[2,{1}], -F[1,{1}], V[5]}, UnitaryGauge -> False, SelectInterference -> {gQCD -> 2}];
(* nexeudxhg *) AddProcess[FeynArtsProcess -> {-F[4,{1}],  F[3,{1}]} -> {S[1], F[1,{1}], -F[2,{1}], V[5]}, UnitaryGauge -> False, SelectInterference -> {gQCD -> 2}];

(* nexeudxhag *)  AddReal[FeynArtsProcess -> {F[3,{1}], -F[4,{1}]} -> {S[1], -F[2,{1}], F[1,{1}], V[5], V[1]}, SelectInterference -> {gQCD -> 2}];
(* nexeuddxdxh *) AddReal[FeynArtsProcess -> {F[3,{1}], F[4,{1}]} -> {S[1], F[4,{1}], F[4,{1}], -F[2,{1}], F[1,{1}]}, SelectInterference -> {gQCD -> 2}];
(* nexecddxsxh *) AddReal[FeynArtsProcess -> {F[3,{2}], F[4,{1}]} -> {S[1], F[4,{1}], F[4,{2}], -F[2,{1}], F[1,{1}]}, SelectInterference -> {gQCD -> 2}];
(* nexeuuuxdxh *) AddReal[FeynArtsProcess -> {F[3,{1}], F[3,{1}]} -> {S[1], F[3,{1}], F[4,{1}], -F[2,{1}], F[1,{1}]}, SelectInterference -> {gQCD -> 2}];
(* nexeuccxdxh *) AddReal[FeynArtsProcess -> {F[3,{1}], F[3,{2}]} -> {S[1], F[3,{2}], F[4,{1}], -F[2,{1}], F[1,{1}]}, SelectInterference -> {gQCD -> 2}];
(* nexeudxbbxh *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[4,{1}]} -> {S[1], -F[4,{3}], F[4,{3}], -F[2,{1}], F[1,{1}]}, SelectInterference -> {gQCD -> 2}];
(* nexeudxssxh *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[4,{1}]} -> {S[1], -F[4,{2}], F[4,{2}], -F[2,{1}], F[1,{1}]}, SelectInterference -> {gQCD -> 2}];

(* neexuxdhag *)  AddReal[FeynArtsProcess -> {-F[3,{1}], F[4,{1}]} -> {S[1], F[2,{1}], -F[1,{1}], V[5], V[1]}, SelectInterference -> {gQCD -> 2}];
(* neexuxdddxh *) AddReal[FeynArtsProcess -> {-F[3,{1}], -F[4,{1}]} -> {S[1], -F[4,{1}],-F[4,{1}], F[2,{1}], -F[1,{1}]}, SelectInterference -> {gQCD -> 2}];
(* neexcxddxsh *) AddReal[FeynArtsProcess -> {-F[3,{2}], -F[4,{1}]} -> {S[1], -F[4,{1}],-F[4,{2}], F[2,{1}], -F[1,{1}]}, SelectInterference -> {gQCD -> 2}];
(* neexuuxuxdh *) AddReal[FeynArtsProcess -> {-F[3,{1}], -F[3,{1}]} -> {S[1], -F[3,{1}],-F[4,{1}], F[2,{1}], -F[1,{1}]}, SelectInterference -> {gQCD -> 2}];
(* neexuxccxdh *) AddReal[FeynArtsProcess -> {-F[3,{1}], -F[3,{2}]} -> {S[1], -F[3,{2}],-F[4,{1}], F[2,{1}], -F[1,{1}]}, SelectInterference -> {gQCD -> 2}];
(* neexuxdbbxh *) AddReal[FeynArtsProcess -> {-F[3,{1}], F[4,{1}]} -> {S[1], F[4,{3}],-F[4,{3}], F[2,{1}], -F[1,{1}]}, SelectInterference -> {gQCD -> 2}];
(* neexuxdssxh *) AddReal[FeynArtsProcess -> {-F[3,{1}], F[4,{1}]} -> {S[1], F[4,{2}],-F[4,{2}], F[2,{1}], -F[1,{1}]}, SelectInterference -> {gQCD -> 2}];

(* O(a^4) + O(as a^4) *)

(* nexeudxha *)  AddProcess[FeynArtsProcess -> {F[3,{1}], -F[4,{1}]} -> {S[1], -F[2,{1}], F[1,{1}], V[1]}, UnitaryGauge -> True, SelectInterference -> {eQED -> 8}];
(* neexuxdha *)  AddProcess[FeynArtsProcess -> {-F[3,{1}], F[4,{1}]} -> {S[1], F[2,{1}], -F[1,{1}], V[1]}, UnitaryGauge -> True, SelectInterference -> {eQED -> 8}];


