whizard is hosted by Hepforge, IPPP Durham

Opened 10 years ago

Closed 9 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 10 years ago by Juergen Reuter

Milestone: v2.2.1v2.4.0

comment:2 Changed 10 years ago by Juergen Reuter

ISR PDF table initialization should be shown on screen and maybe cached (at least for the tests).

comment:3 Changed 9 years ago by Juergen Reuter

Milestone: v2.4.0v2.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 9 years ago by Juergen Reuter

Summary: Improvement of shower setupAbstract 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 9 years ago by kilian

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 Changed 9 years ago by Juergen 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.

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 in reply to:  6 Changed 9 years ago by kilian

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 9 years ago by Juergen Reuter

Milestone: v2.3.0v2.2.6

comment:9 Changed 9 years ago by Juergen Reuter

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 9 years ago by Juergen Reuter

Owner: changed from kilian to Juergen Reuter
Priority: P3P0
Severity: normalmajor
Status: newassigned

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 9 years ago by Juergen Reuter

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 9 years ago by Juergen Reuter

Resolution: fixed
Status: assignedclosed

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.

Note: See TracTickets for help on using tickets.