whizard is hosted by Hepforge, IPPP Durham

Opened 13 years ago

Closed 13 years ago

#442 closed defect (fixed)

Wrong mother/daughter connections in HEPEVT output

Reported by: sschmidt Owned by: kilian
Priority: P3 Milestone: v2.0.6
Component: core Version: 2.0.5
Severity: normal Keywords:
Cc:

Description

WHIZARD is incapable of producing correct HEPEVT output for certain processes due to the internal sorting of incoming before virtual before outgoing particles in the particle_set, while HEPEVT demands the daughters to be stored sequentially.

An (moot) example where this plays a role, is

process hard = "e+", "e-" => Z, Z
process decay1 = Z => "tau+", "tau-"
process decay2 = "tau+" => "e+", n1, N3

unstable Z (decay1)
unstable "tau+" (decay2)

but letting the "tau-" be stable. The hepevt output will then contain the following particles

1    incoming e+
2    incoming e-
3+4  Z
5+6  decayed tau+
7+8  "stable" tau-
9-14 tau+ decay products

As both tau+ are listed before both tau-, it is impossible to assign first and last daughters to the Zs, with all particles between the first and last also daughters of the Z. The daughters as given in HEPEVT for the two Zs are 5 to 7 and 6 to 8.

The straightforward way to circumvent this would be to stop sorting the particle_set by the particles' status.

Attachments (1)

ticket442.sin (313 bytes) - added by sschmidt 13 years ago.

Download all attachments as: .zip

Change History (3)

Changed 13 years ago by sschmidt

Attachment: ticket442.sin added

comment:1 Changed 13 years ago by kilian

Status: newassigned

The requirements of the various event formats are conflicting, unfortunately.

  • HEPEVT allows at most two mothers for a particle, which can be anywhere. The daughters have to be stored consecutively. This requirement is not satisfied with the current WHIZARD particle set implementation.
  • HEPEUP allows for an arbitrary number of mothers which have to be stored consecutively. Daughters are not stored.
  • HepEVT allows for arbitrary schemes, just as WHIZARD internally.

The current WHIZARD implementation is ok for HEPEUP but in conflict with HEPEVT. Reordering the particles such that daughters are stored consecutively breaks HEPEUP. Satisfying both would be possible only if particle entries are cloned. This is feasible, but the cloned particles have to be traced and properly treated in subevt calculations. Moreover, it is not entirely guaranteed that such entries are treated correctly by all programs.

However, the current shower setup with many 'mothers' is not supported by HEPEVT in any case.

Comments?

comment:2 Changed 13 years ago by kilian

Resolution: fixed
Status: assignedclosed

In r3625, I extend the particle set by intermediate entries, such that both mother and daughter arrays are always contiguous. This satisfies the requirements of the HEPEVT format (and HEPEUP, which is not as strict).

The transformation routine is called particle_set_to_hepevt_format.

Note: See TracTickets for help on using tickets.