
(* description = "pp -> jets|pp -> jets|pp -> jjj|Production of three jets." *)

SelectInterference = {eQED -> 0};

(* dddxdxg *) AddProcess[FeynArtsProcess -> {F[4,{1}],  F[4,{1}]} -> {F[4,{1}],  F[4,{1}], V[5]}];
(* uuxddxg *) AddProcess[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{1}], -F[3,{1}], V[5]}];
(* ddxggg  *) AddProcess[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {V[5]    ,  V[5]    , V[5]}];
(* ggggg   *) AddProcess[FeynArtsProcess -> {V[5]    ,  V[5]    } -> {V[5]    ,  V[5]    , V[5]}];

(* bbbxbxg *) AddProcess[FeynArtsProcess -> {F[4,{3}],  F[4,{3}]} -> {F[4,{3}],  F[4,{3}], V[5]}];
(* ddxbbxg *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {F[4,{1}], -F[4,{1}], V[5]}];
(* bbxggg  *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {V[5]    ,  V[5]    , V[5]}];


(* gggggg    *) AddReal[FeynArtsProcess -> {V[5]    ,  V[5]    } -> {V[5]    ,  V[5]    , V[5]    ,  V[5]    }];

(* ddxgggg   *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {V[5]    ,  V[5]    , V[5]    ,  V[5]    }];
(* bbxgggg   *) AddReal[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {V[5]    ,  V[5]    , V[5]    ,  V[5]    }];

(* dddxdxgg  *) AddReal[FeynArtsProcess -> {F[4,{1}],  F[4,{1}]} -> {F[4,{1}],  F[4,{1}], V[5]    ,  V[5]    }];
(* uuxddxgg  *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{1}], -F[3,{1}], V[5]    ,  V[5]    }];
(* bbbxbxgg  *) AddReal[FeynArtsProcess -> {F[4,{3}],  F[4,{3}]} -> {F[4,{3}],  F[4,{3}], V[5]    ,  V[5]    }];
(* ddxbbxgg  *) AddReal[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {F[4,{1}], -F[4,{1}], V[5]    ,  V[5]    }];

(* ddddxdxdx *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[4,{1}], -F[4,{1}], F[4,{1}], -F[4,{1}]}];
(* uuuxuxddx *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{1}], -F[3,{1}], F[3,{1}], -F[3,{1}]}];
(* uuxddxssx *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{1}], -F[3,{1}], F[4,{2}], -F[4,{2}]}];
(* bbbbxbxbx *) AddReal[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {F[4,{3}], -F[4,{3}], F[4,{3}], -F[4,{3}]}];
(* uuuxuxbbx *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {F[3,{1}], -F[3,{1}], F[4,{3}], -F[4,{3}]}];
(* uuxbbbxbx *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {F[4,{3}], -F[4,{3}], F[4,{3}], -F[4,{3}]}];
(* uuxddxbbx *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{1}], -F[3,{1}], F[4,{3}], -F[4,{3}]}];

ChannelMap = {
  "ddxbbxg" -> "uuxddxg MB=0",
  "bbbxbxg" -> "dddxdxg MB=0",
  "bbxggg"  -> "ddxggg MB=0",
  "ddxssxg" -> "uuxddxg",
  "uuuxuxg" -> "dddxdxg",
  "uuxccxg" -> "uuxddxg",
  "ccxddxg" -> "uuxddxg",
  "uuxggg"  -> "ddxggg",
  "uuxbbxg" -> "ddxbbxg",
  (* reals *)
  "uuxgggg"   -> "ddxgggg",
  "bbxgggg"   -> "ddxgggg MB=0",

  "ddxbbxgg"  -> "uuxddxgg MB=0",
  "bbbxbxgg"  -> "dddxdxgg MB=0",
  "ddxssxgg"  -> "uuxddxgg",
  "uuuxuxgg"  -> "dddxdxgg",
  "uuxccxgg"  -> "uuxddxgg",
  "ccxddxgg"  -> "uuxddxgg",
  "uuxbbxgg"  -> "ddxbbxgg",

  "bbbbxbxbx" -> "ddddxdxdx MB=0",
  "uuuxuxbbx" -> "uuuxuxddx MB=0",
  "uuxbbbxbx" -> "uuuxuxddx[5,6,1,2,3,4] MB=0",
  "uuxddxbbx" -> "uuxddxssx MB=0",
  "uuuuxuxux" -> "ddddxdxdx",
  "uuxdddxdx" -> "uuuxuxddx[5,6,1,2,3,4]",
  "dddxdxssx" -> "uuuxuxddx",
  "ccxdddxdx" -> "uuuxuxddx[5,6,1,2,3,4]",
  "cccxcxddx" -> "uuuxuxddx",
  "uuuxuxccx" -> "uuuxuxddx",
  "uuxccxddx" -> "uuxddxssx",
  "dddxdxbbx" -> "uuuxuxbbx",
  "ddxbbbxbx" -> "uuxbbbxbx",
  "uuxccxbbx" -> "uuxddxbbx",
  "ddxssxbbx" -> "uuxddxbbx",
  "ccxddxbbx" -> "uuxddxbbx"
};
