
(* description = "pp -> jets|pp -> jets|pp -> jjjj|Production of four jets; no real corrections included." *)

SelectInterference = {eQED -> 0};

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

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

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

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

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

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

(* dddxdxggg  *) AddReal[FeynArtsProcess -> {F[4,{1}],  F[4,{1}]} -> {F[4,{1}],  F[4,{1}], V[5]    ,  V[5]    , V[5]}];
(* uuxddxggg  *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{1}], -F[3,{1}], V[5]    ,  V[5]    , V[5]}];
(* bbbxbxggg  *) AddReal[FeynArtsProcess -> {F[4,{3}],  F[4,{3}]} -> {F[4,{3}],  F[4,{3}], V[5]    ,  V[5]    , V[5]}];
(* ddxbbxggg  *) AddReal[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {F[4,{1}], -F[4,{1}], V[5]    ,  V[5]    , V[5]}];

(* ddddxdxdxg *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[4,{1}], -F[4,{1}], F[4,{1}], -F[4,{1}], V[5]}];
(* uuuxuxddxg *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{1}], -F[3,{1}], F[3,{1}], -F[3,{1}], V[5]}];
(* uuxddxssxg *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{1}], -F[3,{1}], F[4,{2}], -F[4,{2}], V[5]}];
(* bbbbxbxbxg *) AddReal[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {F[4,{3}], -F[4,{3}], F[4,{3}], -F[4,{3}], V[5]}];
(* uuuxuxbbxg *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {F[3,{1}], -F[3,{1}], F[4,{3}], -F[4,{3}], V[5]}];
(* uuxbbbxbxg *) AddReal[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {F[4,{3}], -F[4,{3}], F[4,{3}], -F[4,{3}], V[5]}];
(* uuxddxbbxg *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {F[3,{1}], -F[3,{1}], F[4,{3}], -F[4,{3}], V[5]}];
*)

ChannelMap = {
  "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"(*,
  (* reals *)
  "uuxggggg"   -> "ddxggggg",
  "bbxggggg"   -> "ddxggggg MB=0",

  "ddxbbxggg"  -> "uuxddxggg MB=0",
  "bbbxbxggg"  -> "dddxdxggg MB=0",
  "ddxssxggg"  -> "uuxddxggg",
  "uuuxuxggg"  -> "dddxdxggg",
  "uuxccxggg"  -> "uuxddxggg",
  "ccxddxggg"  -> "uuxddxggg",
  "uuxbbxggg"  -> "ddxbbxggg",

  "bbbbxbxbxg" -> "ddddxdxdxg MB=0",
  "uuuxuxbbxg" -> "uuuxuxddxg MB=0",
  "uuxbbbxbxg" -> "uuuxuxddxg[5,6,1,2,3,4,7] MB=0",
  "uuxddxbbxg" -> "uuxddxssxg MB=0",
  "uuuuxuxuxg" -> "ddddxdxdxg",
  "uuxdddxdxg" -> "uuuxuxddxg[5,6,1,2,3,4,7]",
  "dddxdxssxg" -> "uuuxuxddxg",
  "ccxdddxdxg" -> "uuuxuxddxg[5,6,1,2,3,4,7]",
  "cccxcxddxg" -> "uuuxuxddxg",
  "uuuxuxccxg" -> "uuuxuxddxg",
  "uuxccxddxg" -> "uuxddxssxg",
  "dddxdxbbxg" -> "uuuxuxbbxg",
  "ddxbbbxbxg" -> "uuxbbbxbxg",
  "uuxccxbbxg" -> "uuxddxbbxg",
  "ddxssxbbxg" -> "uuxddxbbxg",
  "ccxddxbbxg" -> "uuxddxbbxg"
*)
};
