•Generation of topologies and insertion of fields

This FeynArts filter discards topologies with more than one odd vertex:

$ExcludeTopologies[SeveralOddVertices] = ((Length[Union[Cases[#, (Vertex[__ ? (OddQ[#1] &)][_ ? ((# > 99) &)]) | (Vertex[_ ? (OddQ[#] &), _][_]), Infinity]]] < 2) &) ;

Construction of topologies:

mesonstop = CreateCTTopologies[2, 1 -> 2, Adjacencies -> {3, 4, 5, 6}, ExcludeTopologies -> {SelfEnergyCTs, WFCorrectionCTs, SeveralOddVertices}] // DiscardCT // Union[#, AddExternalLegs[#]] & ;

Length[mesonstop]

55

Paint[Take[mesonstop, {1, -1}], AutoEdit -> False, SheetHeader -> False, Numbering -> True, ColumnsXRows -> {3, 1}] ;

Field insertion:

$VerticesSpecifications = {{VertexFields -> {PhiMeson[0]}, PhiModel -> ChPTW3, PerturbationOrder -> {2}, CouplingSign -> 1, XFileName -> Automatic}, {VertexFields -> {AxialVector[0][0], PhiMeson[0]}, PhiModel -> ChPT3, PerturbationOrder -> {2}, CouplingSign -> 1, XFileName -> Automatic}, {VertexFields -> {AxialVector[0][0], PhiMeson[0], PhiMeson[0]}, PhiModel -> ChPTW3, PerturbationOrder -> {2}, CouplingSign -> 1, XFileName -> Automatic}, {VertexFields -> {PhiMeson[0], PhiMeson[0], PhiMeson[0]}, PhiModel -> ChPTW3, PerturbationOrder -> {2}, CouplingSign -> 1, XFileName -> Automatic}, {VertexFields -> {AxialVector[0][0], PhiMeson[0], PhiMeson[0], PhiMeson[0]}, PhiModel -> ChPT3, PerturbationOrder -> {2}, CouplingSign -> 1, XFileName -> Automatic}, {VertexFields -> {PhiMeson[0], PhiMeson[0], PhiMeson[0], PhiMeson[0]}, PhiModel -> ChPT3, PerturbationOrder -> {2}, CouplingSign -> 1, XFileName -> Automatic}, {VertexFields -> {AxialVector[0][0], PhiMeson[0], PhiMeson[0], PhiMeson[0], PhiMeson[0]}, PhiModel -> ChPTW3, PerturbationOrder -> {2}, CouplingSign -> 1, XFileName -> Automatic}, {VertexFields -> {PhiMeson[0], PhiMeson[0], PhiMeson[0], PhiMeson[0], PhiMeson[0]}, PhiModel -> ChPTW3, PerturbationOrder -> {2}, CouplingSign -> 1, XFileName -> Automatic}, {VertexFields -> {AxialVector[0][0], PhiMeson[0], PhiMeson[0], PhiMeson[0], PhiMeson[0], PhiMeson[0]}, PhiModel -> ChPT3, PerturbationOrder -> {2}, CouplingSign -> 1, XFileName -> Automatic}, {VertexFields -> {PhiMeson[0], PhiMeson[0], PhiMeson[0], PhiMeson[0], PhiMeson[0], PhiMeson[0]}, PhiModel -> ChPT3, PerturbationOrder -> {2}, CouplingSign -> 1, XFileName -> Automatic}} ;

InitializeModel["Automatic", GenericModel -> "Automatic", Reinitialize -> True] ;

mesoninsert = InsertFields[mesonstop, {AxialVector[0][0, {in1}]} -> {PhiMeson[0, {in2}], PhiMeson[0, {in3}]}, Model -> "Automatic", GenericModel -> "Automatic", InsertionLevel -> Classes] ;

Self-energy loops are eliminated:

mesonins = Select[mesoninsert, (FreeQ[#[[1]] /. List @@ #[[2, 1, 1]], Topology[_][___, Propagator[Loop[_]][Vertex[4][lv__], Vertex[4][lv__], f_], ___]] &)] ;

mesonins // Length

18

Making things look nice:

boxrules1 = {Propagator[Internal][Vertex[l_ ? OddQ][n_], v2 : Vertex[__][_], f_] -> Propagator[Internal][Vertex[l, 1][n], v2, f], Propagator[Internal][v2 : Vertex[__][_], Vertex[l_ ? OddQ][n_], f_] -> Propagator[Internal][v2, Vertex[l, 1][n], f]} ;

boxrules2 = {Propagator[ty_][Vertex[l_ ? OddQ][n_], v2 : Vertex[__][_], f_] /; l > 2 -> Propagator[ty][Vertex[l, 1][n], v2, f], Propagator[ty_][v2 : Vertex[__][_], Vertex[l_ ? OddQ][n_], f_] /; l > 2 -> Propagator[ty][v2, Vertex[l, 1][n], f]} ;

Graphical representation of the process:

Paint[mesonins /. boxrules1 //. boxrules2 /. {in1 -> i1, in2 -> i2, in3 -> i3}, PaintLevel -> {Classes}, AutoEdit -> False, SheetHeader -> False, Numbering -> False, ColumnsXRows -> {2, 1}] ;


Converted by Mathematica  (July 10, 2003)