Class DiagramTag
source code
object --+
|
DiagramTag
- Known Subclasses:
-
Class to tag diagrams based on objects with some __lt__ measure, e.g.
PDG code/interaction id (for comparing diagrams from the same amplitude),
or Lorentz/coupling/mass/width (for comparing AMPs from different MEs).
Algorithm: Create chains starting from external particles:
1 \ / 6
2 /\______/\ 7
3_ / | \_ 8
4 / 5 \_ 9
\ 10
gives ((((9,10,id910),8,id9108),(6,7,id67),id910867)
(((1,2,id12),(3,4,id34)),id1234),
5,id91086712345)
where idN is the id of the corresponding interaction. The ordering within
chains is based on chain length (depth; here, 1234 has depth 2, 910867 has
depth 3, 5 has depht 0), and if equal on the ordering of the chain elements.
The determination of central vertex is based on minimizing the chain length
for the longest subchain.
This gives a unique tag which can be used to identify diagrams
(instead of symmetry), as well as identify identical matrix elements from
different processes.
|
|
|
get_external_numbers(self)
Get the order of external particles in this tag |
source code
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Inherited from object :
__delattr__ ,
__format__ ,
__getattribute__ ,
__hash__ ,
__new__ ,
__reduce__ ,
__reduce_ex__ ,
__setattr__ ,
__sizeof__ ,
__subclasshook__
|
|
|
|
|
|
vertex_id_from_vertex(vertex,
last_vertex,
model,
ninitial)
Returns the default vertex id: just the interaction id |
source code
|
|
|
flip_vertex(new_vertex,
old_vertex)
Returns the default vertex flip: just the new_vertex |
source code
|
|
Inherited from object :
__class__
|
__init__(self,
diagram,
model=None,
ninitial=2)
(Constructor)
| source code
|
Initialize with a diagram. Create DiagramTagChainLinks according to
the diagram, and figure out if we need to shift the central vertex.
- Overrides:
object.__init__
|
reorder_permutation(perm,
start_perm)
Static Method
| source code
|
Reorder a permutation with respect to start_perm. Note that both need
to start from 1.
|
Returns the default end link for a leg: ((id, state), number). Note
that the number is not taken into account if tag comparison, but is used
only to extract leg permutations.
|
__str__(self)
(Informal representation operator)
| source code
|
str(x)
- Overrides:
object.__str__
- (inherited documentation)
|
str(x)
- Overrides:
object.__repr__
- (inherited documentation)
|