Package madgraph :: Package core :: Module helas_objects :: Class IdentifyMETag
[hide private]
[frames] | no frames]

Class IdentifyMETag

source code

                   object --+    
                            |    
diagram_generation.DiagramTag --+
                                |
                               IdentifyMETag

DiagramTag daughter class to identify processes with identical matrix elements. Need to compare leg number, color, lorentz, coupling, state, spin, self_antipart, mass, width, color, decay and is_part.

Note that we also need to check that the processes agree on has_mirror_process, process id, and identical_particle_factor. Don't allow combining decay chains.

We also don't want to combine processes with different possibly onshell s-channel propagators (i.e., with non-zero width and onshell=True or None) since we want the right propagator written in the event file in the end. This is done by the vertex.

Nested Classes [hide private]

Inherited from diagram_generation.DiagramTag: DiagramTagError

Instance Methods [hide private]

Inherited from diagram_generation.DiagramTag: __eq__, __gt__, __init__, __lt__, __ne__, __repr__, __str__, get_external_numbers

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __subclasshook__

Static Methods [hide private]
 
create_tag(amplitude, identical_particle_factor=0)
Create a tag which identifies identical matrix elements
source code
 
prepare_comp_dict(process, numbers)
Prepare a dictionary from leg number to [positions] in such a way that identical particles are treated in a symmetric way
source code
 
link_from_leg(leg, model)
Returns the end link for a leg needed to identify matrix elements: ((leg numer, state, spin, self_antipart, mass, width, color, decay and is_part), number).
source code
 
vertex_id_from_vertex(vertex, last_vertex, model, ninitial)
Returns the info needed to identify matrix elements: interaction color, lorentz, coupling, and wavefunction spin, self_antipart, mass, width, color, decay and is_part, plus PDG code if possible onshell s-channel prop.
source code
 
flip_vertex(new_vertex, old_vertex)
Move the wavefunction part of vertex id appropriately
source code

Inherited from diagram_generation.DiagramTag: reorder_permutation

Class Variables [hide private]
  dec_number = 1
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

link_from_leg(leg, model)
Static Method

source code 

Returns the end link for a leg needed to identify matrix elements: ((leg numer, state, spin, self_antipart, mass, width, color, decay and is_part), number).

Overrides: diagram_generation.DiagramTag.link_from_leg

vertex_id_from_vertex(vertex, last_vertex, model, ninitial)
Static Method

source code 

Returns the info needed to identify matrix elements: interaction color, lorentz, coupling, and wavefunction spin, self_antipart, mass, width, color, decay and is_part, plus PDG code if possible onshell s-channel prop. Note that is_part and PDG code needs to be flipped if we move the final vertex around.

Overrides: diagram_generation.DiagramTag.vertex_id_from_vertex

flip_vertex(new_vertex, old_vertex)
Static Method

source code 

Move the wavefunction part of vertex id appropriately

Overrides: diagram_generation.DiagramTag.flip_vertex