
(* description = "pp -> VVV+jets|pp -> VVV+jets|gg -> VVVj|Loop-squared matrix elements for on-shell production of three photons plus one jet." *)

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

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[1], V[5]}];

(* uuxaag  *) AddProcess[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {V[1],  V[1], V[1], V[5]}, Sequence @@ spliqq];
(* ddxaag  *) AddProcess[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {V[1],  V[1], V[1], V[5]}, Sequence @@ spliqq];
(* bbxaag  *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {V[1],  V[1], V[1], V[5]}, Sequence @@ spliqq];

nf5 = {
	SetParameters -> JoinOptions[{ME -> 0, MB -> 0, nf -> 5}],
	InsertFieldsOptions -> {Restrictions -> {ExcludeParticles -> {F[3,{3}]}, NoQuarkMixing}}
};


(* aaggg  *) AddProcess[FeynArtsProcess -> {V[5], V[5]} -> {V[1],  V[1], V[1], V[5]}, Sequence @@ nf5];
(* uuxaag  *) AddProcess[FeynArtsProcess -> {F[3,{1}], -F[3,{1}]} -> {V[1],  V[1], V[1], V[5]}, Sequence @@ spliqq, Sequence @@ nf5];
(* ddxaag  *) AddProcess[FeynArtsProcess -> {F[4,{1}], -F[4,{1}]} -> {V[1],  V[1], V[1], V[5]}, Sequence @@ spliqq, Sequence @@ nf5];
(* bbxaag  *) AddProcess[FeynArtsProcess -> {F[4,{3}], -F[4,{3}]} -> {V[1],  V[1], V[1], V[5]}, Sequence @@ spliqq, Sequence @@ nf5];


ChannelMap = {
  "bbxaaag"  -> "ddxaaag MB=0 YB=0"
};
