(* fermion loops are excluded *)

OpenLoopsModel = "SM_lepsel";
AllowAmplitudePrefactors = True;
QED = 2;
SetParameters = JoinOptions[{MM -> MM, ME -> ME, ML -> ML, nf -> 0, nfl -> 3}];
noQCD = True;

qed03 = {
  SelectInterference -> {gQCD -> 0},
  SelectLoopDiagrams -> ( Not[ContainsFermionLoop[##] && NLegsOnLoop[2][##]] && ParticlesInLoop[V[1]][##] && Not[ParticlesInLoop[V[6|7]][##]] && Not[ParticlesOutsideLoop[V[6|7]][##]] &),
  SelectTreeDiagrams -> ( NFieldPropagators[V[6|7],0][##] &),
  SelectCTDiagrams   -> ( NFieldPropagators[V[6|7],0][##] &)
};

qed03mixed42 = {
  SelectInterference -> {gQCD -> 0, Qtau -> 4, Qmu -> 2},
  SelectLoopDiagrams -> ( Not[ContainsFermionLoop[##] && NLegsOnLoop[2][##]] && ParticlesInLoop[V[1]][##] && Not[ParticlesInLoop[V[6|7]][##]] && Not[ParticlesOutsideLoop[V[6|7]][##]] &),
  SelectTreeDiagrams -> ( NFieldPropagators[V[6|7],0][##] &),
  SelectCTDiagrams   -> ( NFieldPropagators[V[6|7],0][##] &),
  Approximation -> "Qtaumu_42"
};

qed03mixed24 = {
  SelectInterference -> {gQCD -> 0, Qtau -> 2, Qmu -> 4},
  SelectLoopDiagrams -> ( Not[ContainsFermionLoop[##] && NLegsOnLoop[2][##]] && ParticlesInLoop[V[1]][##] && Not[ParticlesInLoop[V[6|7]][##]] && Not[ParticlesOutsideLoop[V[6|7]][##]] &),
  SelectTreeDiagrams -> ( NFieldPropagators[V[6|7],0][##] &),
  SelectCTDiagrams   -> ( NFieldPropagators[V[6|7],0][##] &),
  Approximation -> "Qtaumu_24"
};

qed03mixed22 = {
  SelectInterference -> {gQCD -> 0, Qtau -> 2, Qmu -> 2},
  SelectLoopDiagrams -> ( Not[ContainsFermionLoop[##] && NLegsOnLoop[2][##]] && ParticlesInLoop[V[1]][##] && Not[ParticlesInLoop[V[6|7]][##]] && Not[ParticlesOutsideLoop[V[6|7]][##]] &),
  SelectTreeDiagrams -> ( NFieldPropagators[V[6|7],0][##] &),
  SelectCTDiagrams   -> ( NFieldPropagators[V[6|7],0][##] &),
  Approximation -> "Qtaumu_22"
};

qed03mixed33 = {
  SelectInterference -> {gQCD -> 0, Qtau -> 3, Qmu -> 3},
  SelectLoopDiagrams -> ( Not[ContainsFermionLoop[##] && NLegsOnLoop[2][##]] && ParticlesInLoop[V[1]][##] && Not[ParticlesInLoop[V[6|7]][##]] && Not[ParticlesOutsideLoop[V[6|7]][##]] &),
  SelectTreeDiagrams -> ( NFieldPropagators[V[6|7],0][##] &),
  SelectCTDiagrams   -> ( NFieldPropagators[V[6|7],0][##] &),
  Approximation -> "Qtaumu_33"
};

qed03mixed32 = {
  SelectInterference -> {gQCD -> 0, Qtau -> 3, Qmu -> 2},
  SelectLoopDiagrams -> ( Not[ContainsFermionLoop[##] && NLegsOnLoop[2][##]] && ParticlesInLoop[V[1]][##] && Not[ParticlesInLoop[V[6|7]][##]] && Not[ParticlesOutsideLoop[V[6|7]][##]] &),
  SelectTreeDiagrams -> ( NFieldPropagators[V[6|7],0][##] &),
  SelectCTDiagrams   -> ( NFieldPropagators[V[6|7],0][##] &),
  Approximation -> "Qtaumu_32"
};

qed03mixed23 = {
  SelectInterference -> {gQCD -> 0, Qtau -> 2, Qmu -> 3},
  SelectLoopDiagrams -> ( Not[ContainsFermionLoop[##] && NLegsOnLoop[2][##]] && ParticlesInLoop[V[1]][##] && Not[ParticlesInLoop[V[6|7]][##]] && Not[ParticlesOutsideLoop[V[6|7]][##]] &),
  SelectTreeDiagrams -> ( NFieldPropagators[V[6|7],0][##] &),
  SelectCTDiagrams   -> ( NFieldPropagators[V[6|7],0][##] &),
  Approximation -> "Qtaumu_23"
};




(* mumuxeexllx *)

AddProcess[FeynArtsProcess -> {F[2,{2}], -F[2,{2}]} -> {F[2,{1}], -F[2,{1}], F[2,{3}], -F[2,{3}]}, Sequence @@ qed03];
AddProcess[FeynArtsProcess -> {F[2,{2}], -F[2,{2}]} -> {F[2,{1}], -F[2,{1}], F[2,{3}], -F[2,{3}]}, Sequence @@ qed03mixed42];
AddProcess[FeynArtsProcess -> {F[2,{2}], -F[2,{2}]} -> {F[2,{1}], -F[2,{1}], F[2,{3}], -F[2,{3}]}, Sequence @@ qed03mixed24];
AddProcess[FeynArtsProcess -> {F[2,{2}], -F[2,{2}]} -> {F[2,{1}], -F[2,{1}], F[2,{3}], -F[2,{3}]}, Sequence @@ qed03mixed22];
AddProcess[FeynArtsProcess -> {F[2,{2}], -F[2,{2}]} -> {F[2,{1}], -F[2,{1}], F[2,{3}], -F[2,{3}]}, Sequence @@ qed03mixed33];
AddProcess[FeynArtsProcess -> {F[2,{2}], -F[2,{2}]} -> {F[2,{1}], -F[2,{1}], F[2,{3}], -F[2,{3}]}, Sequence @@ qed03mixed32];
AddProcess[FeynArtsProcess -> {F[2,{2}], -F[2,{2}]} -> {F[2,{1}], -F[2,{1}], F[2,{3}], -F[2,{3}]}, Sequence @@ qed03mixed23];
