Opened 11 years ago
Closed 10 years ago
#632 closed enhancement (fixed)
Abstract type for shower and hadronization event transforms
Reported by: | Juergen Reuter | Owned by: | Juergen Reuter |
---|---|---|---|
Priority: | P0 | Milestone: | v2.2.6 |
Component: | core | Version: | 2.2.0beta |
Severity: | major | Keywords: | |
Cc: | mail@… |
Description
There are a few minor things that have to be improved:
1) the ERROR: BUG: too many loops in simulate_children_ana (?)
is still not really understood.
2) in very rare cases, there is a Pythia infinite loop which probably results from particle masses not correctly being transferred to Pythia. This already happened in 2.1.
Most probably, this will be investigated for 2.2.1+
Change History (12)
comment:1 Changed 11 years ago by
Milestone: | v2.2.1 → v2.4.0 |
---|
comment:2 Changed 10 years ago by
comment:3 Changed 10 years ago by
Milestone: | v2.4.0 → v2.3.0 |
---|
Guys, what is the status of this? BACN is looking into this, but what's the priority. And what really is to do for this?
comment:4 Changed 10 years ago by
Summary: | Improvement of shower setup → Abstract type for shower and hadronization event transforms |
---|
This ticket should be more general: after having looked into PYTHIA 8 we should definitely split showering and hadronization into two different event transforms and make them possibly abstract in order to have different shower and hadronization implementations. Transferral into intermediate LHE scratch files might be a brilliant idea also for PYTHIA 8 and should be made independent from the event transform per se. Comments to that remark are highly welcome.
comment:5 Changed 10 years ago by
Some comments:
The type of event transforms is already abstract. Currently, the event is communicated between abstract transforms via the WHIZARD internal particle_set
type. I don't think we should replace this by LHE (after all, the particle set type is under our own control), but for seamless linking of transforms we should rewrite the LHE conversion to eliminate the involved common block(s).
What might be useful is abstraction on the user (Sindarin) level, something analogous to the beam syntax
beams = "e-", "e+" => circe2 => isr
for the final state.
Splitting transforms in stages (including also decays, etc.) is then obvious.
comment:6 follow-up: 7 Changed 10 years ago by
That was maybe a misunderstanding: I don't want to replace particle_set_t by LHE files, but we probably do need (or can use) LHE scratch file for communication not only with PYTHIA6, but also with PYTHIA8. Then we might have the ability (in analogy to Madgraph and Alpgen) to use UNLOPS, MINLOPS (and Upupa epops) matching schemes.
Concerning the abstractism I meant: event_transform_t -> event_shower_t -> {event_whizard_shower_t, event_pythia6_shower_t, event_pythia8_shower_t} etc.
comment:7 Changed 10 years ago by
Replying to jr_reuter:
That was maybe a misunderstanding: I don't want to replace particle_set_t by LHE files, but we probably do need (or can use) LHE scratch file for communication not only with PYTHIA6, but also with PYTHIA8. Then we might have the ability (in analogy to Madgraph and Alpgen) to use UNLOPS, MINLOPS (and Upupa epops) matching schemes.
Yes. If we can get rid of the common-block constructs in the code, this becomes more straightforward and transparent.
comment:8 Changed 10 years ago by
Milestone: | v2.3.0 → v2.2.6 |
---|
comment:9 Changed 10 years ago by
Several discussions today between JRR and BACN: there should be probably one evt_shower_t and one evt_fragment_t type. One shower type in order to not repeat the matching codes several times for the different shower types. evt_shower_t and evt_fragment_t should work on the particle_set_t type.
comment:10 Changed 10 years ago by
Owner: | changed from kilian to Juergen Reuter |
---|---|
Priority: | P3 → P0 |
Severity: | normal → major |
Status: | new → assigned |
The next steps:
- introduce a separate event transform evt_hadrons_t
- do this as abstract type in order to allow specific implementations: PYTHIA6, PYTHIA8,
maybe HERWIG, custom hadronization (cf. #66)
- implement the possibility to hadronize with PYTHIA6 from evt_hadrons_t
- validate this
- revoke the possibility to hadronize from evt_shower_t
- at some point unite evt_shower_t and evt_pure_shower_t
comment:11 Changed 10 years ago by
As of r6683, the hadronization has been completely moved from evt_shower_t to evt_hadrons_t. evt_shower_t is now only for showering and matching. Next step will be to unite evt_shower_t and evt_pure_shower_t.
comment:12 Changed 10 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
The contents of this ticket are resolved. There are now two independent event transforms, one for hadronization and for shower. There are abstract types for shower_base_t (whose implementations are shower_pythia6_t and shower_t. There are abstract types for matchings_settings_t and matching_data_t which can be allocated for MLM and CKKW (pseudo) matching. The RNG object is handed over to the shower type. Open points are the routines for the transferral between the shower containers and the particle_set_t event type. In most cases, going via LHE scratch files is unnecessary. Also, there might still be issues with mother-daughter relations. But these problems belong somewhere else. Closing for now.
ISR PDF table initialization should be shown on screen and maybe cached (at least for the tests).