
(* description = "pp -> VV+jets|pp -> VV+jets|gg -> VVj|Loop-squared matrix elements for on-shell vector boson pair production (Photon, W, Z in all combinations) plus one jet." *)

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

spliqq = {
  SelectTreeDiagrams -> (False &),
  SelectLoopDiagrams -> ContainsFermionLoop,
  SelectCTDiagrams -> NFieldPropagators[V[5],1]
  (* Approximation where the vector boson only couples to the loop: *)
  (* SelectLoopDiagrams -> (ContainsFermionLoop[##] && NFieldPropagators[F[3|4],0,"Type"->Internal][##] &) *)
};

(* aaggg  *) AddProcess[FeynArtsProcess -> {V[5], V[5]} -> {V[1],  V[1], V[5]}];
(* azggg  *) AddProcess[FeynArtsProcess -> {V[5], V[5]} -> {V[1],  V[2], V[5]}];
(* zzggg  *) AddProcess[FeynArtsProcess -> {V[5], V[5]} -> {V[2],  V[2], V[5]}];
(* wwxggg *) AddProcess[FeynArtsProcess -> {V[5], V[5]} -> {V[3], -V[3], V[5]}];

(* uuxaag  *) AddProcess[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {V[1],  V[1], V[5]}, Sequence @@ spliqq];
(* uuxazg  *) AddProcess[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {V[1],  V[2], V[5]}, Sequence @@ spliqq];
(* uuxzzg  *) AddProcess[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {V[2],  V[2], V[5]}, Sequence @@ spliqq];
(* uuxwwxg *) AddProcess[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {V[3], -V[3], V[5]}, Sequence @@ spliqq];

(* ddxaag  *) AddProcess[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {V[1],  V[1], V[5]}, Sequence @@ spliqq];
(* ddxazg  *) AddProcess[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {V[1],  V[2], V[5]}, Sequence @@ spliqq];
(* ddxzzg  *) AddProcess[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {V[2],  V[2], V[5]}, Sequence @@ spliqq];

(* bbxaag  *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {V[1],  V[1], V[5]}, Sequence @@ spliqq];
(* bbxazg  *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {V[1],  V[2], V[5]}, Sequence @@ spliqq];
(* bbxzzg  *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {V[2],  V[2], V[5]}, Sequence @@ spliqq];
(* bbxwwxg *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {V[3], -V[3], V[5]}, Sequence @@ spliqq];

ChannelMap = {
  "bbxaag"  -> "ddxaag MB=0 YB=0",
  "bbxazg"  -> "ddxazg MB=0 YB=0",
  "bbxzzg"  -> "ddxzzg MB=0 YB=0",
  "ddxwwxg" -> "uuxwwxg",
  "bbxwwxg" -> "uuxwwxg MB=0 YB=0"
};
