
(* description = "pp -> H+jets|pp -> Hbb+jets|pp -> Hbb|Higgs production plus two jets with b/c quarks in the initial and/or final state. Can be used with massless b/c quarks with finite Yukawa coupling. nf=5,6." *)

OpenLoopsModel = "SM_yuksel";
SelectInterference = {eQED -> 2};

nf6 = {
        SetParameters -> JoinOptions[{YukB -> 1, YukC -> 1, MB -> MB, MC -> MC, YB -> YB, YC -> YC, MB -> MB}]
};


nf5 = {
        SetParameters -> JoinOptions[{YukB -> 1, YukC -> 1, MB -> 0, MC -> 0, YB -> YB, YC -> YC, YT -> 0, nf -> 5}],
	InsertFieldsOptions -> {Restrictions -> {ExcludeParticles -> {F[3,{3}]}, NoQuarkMixing}}
};



(* bbxhgg  *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {S[1], V[5]    ,  V[5]    }, Sequence @@ nf6];

(* ddxbbxh *) AddProcess[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[4,{3}], -F[4,{3}]}, Sequence @@ nf6];
(* bbbxbxh *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {S[1], F[4,{3}], -F[4,{3}]}, Sequence @@ nf6];

(* ccxhgg  *) AddProcess[FeynArtsProcess -> {F[3,{2}], -F[3,{2}]} -> {S[1], V[5]    ,  V[5]    }, Sequence @@ nf6];
(* ddxccxh *) AddProcess[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[3,{2}], -F[3,{2}]}, Sequence @@ nf6];
(* cccxcxh *) AddProcess[FeynArtsProcess -> {F[3,{2}], -F[3,{2}]} -> {S[1], F[3,{2}], -F[3,{2}]}, Sequence @@ nf6];

(* ccxbbxh *) AddProcess[FeynArtsProcess -> {F[3,{2}], -F[3,{2}]} -> {S[1], F[4,{3}], -F[4,{3}]}, Sequence @@ nf6];

(* bbxhggg  *) AddReal[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {S[1], V[5]    ,  V[5]    , V[5]}, Sequence @@ nf6];
(* ddxbbxhg *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[4,{3}], -F[4,{3}], V[5]}, Sequence @@ nf6];
(* bbbxbxhg *) AddReal[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {S[1], F[4,{3}], -F[4,{3}], V[5]}, Sequence @@ nf6];

(* bbxhgg   *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {S[1], V[5]    ,  V[5]    }, Sequence @@ nf5];
(* ddxbbxh *) AddProcess[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[4,{3}], -F[4,{3}]}, Sequence @@ nf5];
(* bbbxbxh *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {S[1], F[4,{3}], -F[4,{3}]}, Sequence @@ nf5];
(* ccxbbxh *) AddProcess[FeynArtsProcess -> {F[3,{2}], -F[3,{2}]} -> {S[1], F[4,{3}], -F[4,{3}]}, Sequence @@ nf5];

(* bbxhggg  *) AddReal[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {S[1], V[5]    ,  V[5]    , V[5]}, Sequence @@ nf5];
(* ddxbbxhg *) AddReal[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {S[1], F[4,{3}], -F[4,{3}], V[5]}, Sequence @@ nf5];
(* bbbxbxhg *) AddReal[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {S[1], F[4,{3}], -F[4,{3}], V[5]}, Sequence @@ nf5];
(* ccxbbxhg *) AddReal[FeynArtsProcess -> {F[3,{2}], -F[3,{2}]} -> {S[1], F[4,{3}], -F[4,{3}], V[5]}, Sequence @@ nf5];


ChannelMap = {
  "uuxbbxh" -> "ddxbbxh",
  "uuxccxh" -> "ccxddxh[3,4,1,2,5]",
  (* real *)
  "uuxbbxhg" -> "ddxbbxhg",
  "uuxccxhg" -> "ccxddxhg[3,4,1,2,5,6]"
};


