
(* description = "pp -> tt+jets|pp -> tt+jets|pp -> ttjj|Top-quark pair production with two additional jets." *)

SelectInterference = {eQED -> 0};

(* ttxdddxdx *) AddProcess[FeynArtsProcess -> {F[4,{1}],  F[4,{1}]} -> {F[3,{3}], -F[3,{3}], F[4,{1}],  F[4,{1}]}];
(* uuxttxddx *) AddProcess[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}], -F[3,{3}], F[3,{1}], -F[3,{1}]}];
(* ttxddxgg  *) AddProcess[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}], -F[3,{3}], V[5],      V[5]    }];
(* ttxgggg   *) AddProcess[FeynArtsProcess -> {V[5],      V[5]    } -> {F[3,{3}], -F[3,{3}], V[5],      V[5]    }];

(* ttxbbbxbx *) AddProcess[FeynArtsProcess -> {F[4,{3}],  F[4,{3}]} -> {F[3,{3}], -F[3,{3}], F[4,{3}],  F[4,{3}]}];
(* ttxddxbbx *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {F[3,{3}], -F[3,{3}], F[4,{1}], -F[4,{1}]}];
(* ttxbbxgg  *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {F[3,{3}], -F[3,{3}], V[5]    ,  V[5]    }];

(* ttxdddxdxg *) AddReal[FeynArtsProcess -> {F[4,{1}],  F[4,{1}]} -> {F[3,{3}], -F[3,{3}], F[4,{1}],  F[4,{1}], V[5]}];
(* uuxttxddxg *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}], -F[3,{3}], F[3,{1}], -F[3,{1}], V[5]}];
(* ttxddxggg  *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{3}], -F[3,{3}], V[5],      V[5]    , V[5]}];
(* ttxggggg   *) AddReal[FeynArtsProcess -> {V[5],      V[5]    } -> {F[3,{3}], -F[3,{3}], V[5],      V[5]    , V[5]}];

(* ttxbbbxbxg *) AddReal[FeynArtsProcess -> {F[4,{3}],  F[4,{3}]} -> {F[3,{3}], -F[3,{3}], F[4,{3}],  F[4,{3}], V[5]}];
(* ttxddxbbxg *) AddReal[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {F[3,{3}], -F[3,{3}], F[4,{1}], -F[4,{1}], V[5]}];
(* ttxbbxggg  *) AddReal[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {F[3,{3}], -F[3,{3}], V[5]    ,  V[5]    , V[5]}];

ChannelMap = {
  "ttxddxbbx" -> "uuxttxddx[3,4,1,2,5,6] MB=0",
  "uuxttxbbx" -> "uuxttxddx MB=0",
  "ttxbbbxbx" -> "ttxdddxdx MB=0",
  "ttxbbxgg"  -> "ttxddxgg MB=0",
  "ttxddxssx" -> "uuxttxddx[3,4,1,2,5,6]",
  "uuuxuxttx" -> "ttxdddxdx[3,4,5,6,1,2]",
  "uuxccxttx" -> "uuxttxddx[1,2,5,6,3,4]",
  "ccxttxddx" -> "uuxttxddx",
  "uuxttxgg"  -> "ttxddxgg[3,4,1,2,5,6]",
  "uuxttxbbx" -> "ttxddxbbx[3,4,1,2,5,6]",
  (* reals *)
  "ttxddxbbxg" -> "uuxttxddxg[3,4,1,2,5,6,7] MB=0",
  "uuxttxbbxg" -> "uuxttxddxg MB=0",
  "ttxbbbxbxg" -> "ttxdddxdxg MB=0",
  "ttxbbxggg"  -> "ttxddxggg MB=0",
  "ttxddxssxg" -> "uuxttxddxg[3,4,1,2,5,6,7]",
  "uuuxuxttxg" -> "ttxdddxdxg[3,4,5,6,1,2,7]",
  "uuxccxttxg" -> "uuxttxddxg[1,2,5,6,3,4,7]",
  "ccxttxddxg" -> "uuxttxddxg",
  "uuxttxggg"  -> "ttxddxggg[3,4,1,2,5,6,7]",
  "uuxttxbbxg" -> "ttxddxbbxg[3,4,1,2,5,6,7]"
};
