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)
Change History (3)
Changed 13 years ago by
Attachment: | ticket442.sin added |
---|
comment:1 Changed 13 years ago by
Status: | new → assigned |
---|
comment:2 Changed 13 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
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.
The requirements of the various event formats are conflicting, unfortunately.
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?