
(* description = "pp -> Vtt+jets|pp -> Vtt+jets|pp -> Zttj|Photon plus t t-bar jet production at NLO EW (including all subleading one-loop orders)." *)


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

(* ttxaggg *)  AddProcess[FeynArtsProcess -> {F[3,{3}], -F[3,{3}]} -> {V[5],V[5],V[5], V[1]}, UnitaryGauge -> False, SelectInterference -> {gQCD -> 6}, SelectCoupling -> (Exponent[#1, eQED] == 1 + 2 * #2 &)];
(* uuxttxag *) AddProcess[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]}  -> {F[3,{3}],-F[3,{3}], V[1],V[5]}, UnitaryGauge -> False, SelectInterference -> {gQCD -> 6}, SelectCoupling -> (Exponent[#1, eQED] == 3 - 2 * #2 || Exponent[#1, eQED] == 1 + 2 * #2 &)];
(* ttxddxag *) AddProcess[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],V[5]}, UnitaryGauge -> False, SelectInterference -> {gQCD -> 6}, SelectCoupling -> (Exponent[#1, eQED] == 3 - 2 * #2 || Exponent[#1, eQED] == 1 + 2 * #2 &)];
(* ttxbbxag *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {F[3,{3}],-F[3,{3}], V[1],V[5]}, UnitaryGauge -> False, SelectInterference -> {gQCD -> 6}, SelectCoupling -> (Exponent[#1, eQED] == 3 - 2 * #2 || Exponent[#1, eQED] == 1 + 2 * #2 &)];


(* ttxgggaa *)  AddReal[FeynArtsProcess -> {F[3,{3}], -F[3,{3}]} -> {V[5],V[5],V[5],V[1], V[1]}, SelectInterference -> {gQCD -> 6}];
(* uuxttxgaa *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]}  -> {F[3,{3}],-F[3,{3}],V[5],V[1], V[1]}, SelectInterference -> {gQCD -> 6}];
(* ttxddxgaa *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}],V[5],V[1], V[1]}, SelectInterference -> {gQCD -> 6}];
(* ttxbbxgaa *) AddReal[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {F[3,{3}],-F[3,{3}],V[5],V[1], V[1]}, SelectInterference -> {gQCD -> 6}];


(* dddxdxttxa *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[4,{1}], -F[4,{1}]}, SelectInterference -> {gQCD -> 6}];
(* uuxttxddxa *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[3,{1}], -F[3,{1}]}, SelectInterference -> {gQCD -> 6}];
(* ddxssxttxa *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[4,{2}], -F[4,{2}]}, SelectInterference -> {gQCD -> 6}];
(* ccxddxttxa *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[3,{1}], -F[3,{1}]}, SelectInterference -> {gQCD -> 6}];
(* uuuxuxttxa *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[3,{1}], -F[3,{1}]}, SelectInterference -> {gQCD -> 6}];
(* uuxccxttxa *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[3,{2}], -F[3,{2}]}, SelectInterference -> {gQCD -> 6}];
(* ddxbbxttxa *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[4,{3}], -F[4,{3}]}, SelectInterference -> {gQCD -> 6}];
(* uuxbbxttxa *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[4,{3}], -F[4,{3}]}, SelectInterference -> {gQCD -> 6}];
(* bbbxbxttxa *) AddReal[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {F[3,{3}],-F[3,{3}],F[4,{3}], -F[4,{3}]}, SelectInterference -> {gQCD -> 6}];

(* ttxddxagg  *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}], -F[3,{3}], V[1], V[5],      V[5]    }, SelectInterference -> {gQCD -> 6}];
(* uuxttxagg  *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {F[3,{3}], -F[3,{3}], V[1], V[5],      V[5]    }, SelectInterference -> {gQCD -> 6}];
(* ttxbbxagg  *) AddReal[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {F[3,{3}], -F[3,{3}], V[1], V[5],      V[5]    }, SelectInterference -> {gQCD -> 6}];



(* O(as^2*a^2) *)

(* uuxttxag *) AddTree[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],V[5]}, SelectInterference -> {gQCD -> 4}];
(* ttxddxag *) AddTree[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],V[5]}, SelectInterference -> {gQCD -> 4}];
(* bbxttxag *) AddTree[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {F[3,{3}],-F[3,{3}], V[1],V[5]}, SelectInterference -> {gQCD -> 4}];

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

(* uuxttxag *) AddProcess[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],V[5]}, SelectInterference -> {eQED -> 6}, SelectCoupling -> (Exponent[#1, gQCD] == 3 - 2 * #2 || Exponent[#1, gQCD] == 1 + 2 * #2 &),  UnitaryGauge -> False];
(* ttxddxag *) AddProcess[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],V[5]}, SelectInterference -> {eQED -> 6}, SelectCoupling -> (Exponent[#1, gQCD] == 3 - 2 * #2 || Exponent[#1, gQCD] == 1 + 2 * #2 &),  UnitaryGauge -> False];
(* bbxttxag *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {F[3,{3}],-F[3,{3}], V[1],V[5]}, SelectInterference -> {eQED -> 6}, SelectCoupling -> (Exponent[#1, gQCD] == 3 - 2 * #2 || Exponent[#1, gQCD] == 1 + 2 * #2 &),  UnitaryGauge -> False];
(* ttxaaag *) AddProcess[FeynArtsProcess -> {V[1], V[1]} -> {F[3,{3}],-F[3,{3}], V[1],V[5]}, SelectInterference -> {eQED -> 6}];



(* uuxttxaag *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],V[5], V[1]}, SelectInterference -> {eQED -> 6}];
(* ttxddxaag *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],V[5], V[1]}, SelectInterference -> {eQED -> 6}];
(* bbxttxaag *) AddReal[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {F[3,{3}],-F[3,{3}], V[1],V[5], V[1]}, SelectInterference -> {eQED -> 6}];


(* dddxdxttxa *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[4,{1}], -F[4,{1}]}, SelectInterference -> {eQED -> 6}];
(* uuxddxttxa *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[3,{1}], -F[3,{1}]}, SelectInterference -> {eQED -> 6}];
(* ddxssxttxa *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[4,{2}], -F[4,{2}]}, SelectInterference -> {eQED -> 6}];
(* ccxddxttxa *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[3,{1}], -F[3,{1}]}, SelectInterference -> {eQED -> 6}];
(* uuuxuxttxa *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[3,{1}], -F[3,{1}]}, SelectInterference -> {eQED -> 6}];
(* uuxccxttxa *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[3,{2}], -F[3,{2}]}, SelectInterference -> {eQED -> 6}];
(* ddxbbxttxa *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[4,{3}], -F[4,{3}]}, SelectInterference -> {eQED -> 6}];
(* uuxbbxttxa *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[4,{3}], -F[4,{3}]}, SelectInterference -> {eQED -> 6}];
(* bbbxbxttxa *) AddReal[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {F[3,{3}],-F[3,{3}], V[1],F[4,{3}], -F[4,{3}]}, SelectInterference -> {eQED -> 6}];

(* ttxaaagg *) AddReal[FeynArtsProcess -> {V[1], V[1]} -> {F[3,{3}],-F[3,{3}], V[1],V[5],V[5]}, SelectInterference -> {eQED -> 6}];



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

(* uuxttxag *) AddProcess[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],V[5]}, SelectInterference -> {gQCD -> 2}, SelectCoupling -> (Exponent[#1, eQED] == 3 + 2 * #2 &),  UnitaryGauge -> False];
(* ttxddxag *) AddProcess[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],V[5]}, SelectInterference -> {gQCD -> 2}, SelectCoupling -> (Exponent[#1, eQED] == 3 + 2 * #2 &),  UnitaryGauge -> False];
(* bbxttxag *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {F[3,{3}],-F[3,{3}], V[1],V[5]}, SelectInterference -> {gQCD -> 2}, SelectCoupling -> (Exponent[#1, eQED] == 3 + 2 * #2 &),  UnitaryGauge -> False];
(* ttxaaag *) AddProcess[FeynArtsProcess -> {V[1], V[1]} -> {F[3,{3}],-F[3,{3}], V[1],V[5]}, SelectInterference -> {gQCD -> 2}, SelectCoupling -> (Exponent[#1, eQED] == 3 + 2 * #2 &),  UnitaryGauge -> False];

(* uuxttxaag *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],V[5],V[1]}, SelectInterference -> {gQCD -> 2}];
(* ttxddxaag *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],V[5],V[1]}, SelectInterference -> {gQCD -> 2}];
(* bbxttxaag *) AddReal[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {F[3,{3}],-F[3,{3}], V[1],V[5],V[1]}, SelectInterference -> {gQCD -> 2}];
(* ttxaaaag *) AddReal[FeynArtsProcess -> {V[1], V[1]} -> {F[3,{3}],-F[3,{3}], V[1],V[1],V[5]}, SelectInterference -> {gQCD -> 2}];


(* dddxdxttxa *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[4,{1}], -F[4,{1}]}, SelectInterference -> {gQCD -> 2}];
(* uuxddxttxa *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[3,{1}], -F[3,{1}]}, SelectInterference -> {gQCD -> 2}];
(* ddxssxttxa *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[4,{2}], -F[4,{2}]}, SelectInterference -> {gQCD -> 2}];
(* ccxddxttxa *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[3,{1}], -F[3,{1}]}, SelectInterference -> {gQCD -> 2}];
(* uuuxuxttxa *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[3,{1}], -F[3,{1}]}, SelectInterference -> {gQCD -> 2}];
(* uuxccxttxa *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[3,{2}], -F[3,{2}]}, SelectInterference -> {gQCD -> 2}];
(* ddxbbxttxa *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[4,{3}], -F[4,{3}]}, SelectInterference -> {gQCD -> 2}];
(* uuxbbxttxa *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[4,{3}], -F[4,{3}]}, SelectInterference -> {gQCD -> 2}];
(* bbbxbxttxa *) AddReal[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {F[3,{3}],-F[3,{3}], V[1],F[4,{3}], -F[4,{3}]}, SelectInterference -> {gQCD -> 2}];


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

(* ttxaaaa *) AddProcess[FeynArtsProcess -> {V[1], V[1]} -> {F[3,{3}],-F[3,{3}], V[1],V[1]}, SelectInterference -> {eQED -> 8}, SelectCoupling -> (Exponent[#1, gQCD] == 0 + 2 * #2 &),  UnitaryGauge -> False];


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

(* ttxaaaa *) AddProcess[FeynArtsProcess -> {V[1], V[1]} -> {F[3,{3}],-F[3,{3}], V[1],V[1]}, SelectInterference -> {gQCD -> 0}, SelectCoupling -> (Exponent[#1, eQED] == 4 + 2 * #2 &),  UnitaryGauge -> False];

(* ttxaaaaa *) AddReal[FeynArtsProcess -> {V[1], V[1]} -> {F[3,{3}],-F[3,{3}], V[1],V[1],V[1]}, SelectInterference -> {gQCD -> 0}];


(* dddxdxttxa *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[4,{1}], -F[4,{1}]}, SelectInterference -> {gQCD -> 0}];
(* uuxddxttxa *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[3,{1}], -F[3,{1}]}, SelectInterference -> {gQCD -> 0}];
(* ddxssxttxa *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[4,{2}], -F[4,{2}]}, SelectInterference -> {gQCD -> 0}];
(* ccxddxttxa *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[3,{1}], -F[3,{1}]}, SelectInterference -> {gQCD -> 0}];
(* uuuxuxttxa *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[3,{1}], -F[3,{1}]}, SelectInterference -> {gQCD -> 0}];
(* uuxccxttxa *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[3,{2}], -F[3,{2}]}, SelectInterference -> {gQCD -> 0}];
(* ddxbbxttxa *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[4,{3}], -F[4,{3}]}, SelectInterference -> {gQCD -> 0}];
(* uuxbbxttxa *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {F[3,{3}],-F[3,{3}], V[1],F[4,{3}], -F[4,{3}]}, SelectInterference -> {gQCD -> 0}];
(* bbbxbxttxa *) AddReal[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {F[3,{3}],-F[3,{3}], V[1],F[4,{3}], -F[4,{3}]}, SelectInterference -> {gQCD -> 0}];



ChannelMap = {
  "ccxttxddxa" -> "uuxttxddxa"
};












