![]() |
ATLAS Offline Software
|
POWHEG resonance-veto hooks for single-top t- and s-channel events. More...
Classes | |
| struct | EmissionScale |
Public Member Functions | |
| PowhegHooksST () | |
| Constructor and destructor for Athena UserHooksFactory. | |
| ~PowhegHooksST () override | |
| bool | initAfterBeams () override |
| Initialize settings for the POWHEG resonance-veto strategy. | |
| double | pTpowhegFromRes (const Event &event, int iEmt, int iRad, int iRes) |
| Compute the POWHEG transverse scale of a resonance splitting. | |
| bool | canSetResonanceScale () override |
| Disable Pythia's ordinary resonance-scale assignment. | |
| double | scaleResonance (int iRes, const Event &event) override |
| Reconstruct a resonance scale from the Pythia event record. | |
| bool | canVetoProcessLevel () override |
| Advertise support for process-level processing. | |
| bool | doVetoProcessLevel (Event &event) override |
| Build resonance veto scales before showering starts. | |
| bool | doVetoFSREmission (int sizeOld, const Event &e, int iSys, bool inResonance) override |
| Veto too-hard QCD radiation from a decayed resonance. | |
Private Member Functions | |
| std::vector< int > | resonanceKey (int iRes, const Event &event) const |
| Construct the stable signed-ID ancestry key for a resonance. | |
| void | storeResonanceScale (const std::vector< int > &key, double scale) |
| Store a scale for a resonance ancestry and reject ambiguity. | |
| int | getEventType () const |
| Extract rad_type / eventtype from LHE event comments. | |
| void | fillReadScales () |
| Populate POWHEG emission scales for the current event. | |
| double | readScale (int ires, double fallback) const |
| Look up a POWHEG scale by original LHA resonance index. | |
Private Attributes | |
| Pythia8_UserHooks::UserSetting< double > | m_pTcutoffSetting |
| Pythia8_UserHooks::UserSetting< int > | m_emscalesSetting |
| Pythia8_UserHooks::UserSetting< int > | m_emscalesAltSetting |
| Pythia8_UserHooks::UserSetting< bool > | m_debugSetting |
| int | m_eventtype |
| double | m_pTcutoff |
| int | m_emscalesMode |
| int | m_vetoMode |
| int | m_QEDvetoMode |
| int | m_vetoCount |
| std::map< std::vector< int >, double > | m_vetoResScale |
| std::vector< EmissionScale > | m_readScales |
POWHEG resonance-veto hooks for single-top t- and s-channel events.
Production radiation is delegated to PowhegHooks. This class handles QCD radiation from decayed resonances and vetoes emissions harder than the corresponding POWHEG resonance scale.
Resonance vetoes are enabled only for eventtype == 1 (the btilde contribution). Remnant and regular events (eventtype == 2 and 3) are not subject to this resonance veto, even if they contain a top.
emscales == 0 reconstructs scales from Pythia decay kinematics. emscales == 1 reads POWHEG's recorded scales using the original LHA resonance index. In mode 1, a resonance with no coloured daughters is unrestricted (1e30), while an unrecorded coloured decay uses pTcutoff.
Resonances are identified by signed-ID ancestry rather than Pythia's system number, which supports nested s-channel histories and event reordering.
In Athena, UserHooks are loaded dynamically via UserHooksFactory without direct access to LHAupPtr, so eventtype and #emscales information are retrieved directly from the LHE event comments via infoPtr->getEventComments().
Definition at line 70 of file PowhegHooksST.cxx.
|
inline |
Constructor and destructor for Athena UserHooksFactory.
Initializes Pythia8_UserHooks::UserSetting handles for configuration via Athena JobOptions (e.g. POWHEG:single-top:emscales, POWHEG:pTcutoff).
Definition at line 80 of file PowhegHooksST.cxx.
|
inlineoverride |
Definition at line 100 of file PowhegHooksST.cxx.
|
inlineoverride |
Disable Pythia's ordinary resonance-scale assignment.
Scales are assigned in doVetoProcessLevel(), before resonance showers are interleaved, so the result is independent of Pythia's system order.
Definition at line 191 of file PowhegHooksST.cxx.
|
inlineoverride |
Advertise support for process-level processing.
Definition at line 272 of file PowhegHooksST.cxx.
|
inlineoverride |
Veto too-hard QCD radiation from a decayed resonance.
Production radiation and radiation outside a resonance are delegated to PowhegHooks. For eventtype == 1, resonance radiation is compared with the scale prepared by doVetoProcessLevel(). A scale of 1e30 is unrestricted. The colour test uses colType(), so top radiation such as t -> t g is kept.
| sizeOld | Event-record size before the emission. |
| e | Event record after the emission. |
| iSys | Pythia parton-system index. |
| inResonance | Whether the emission is inside a resonance. |
Definition at line 332 of file PowhegHooksST.cxx.
|
inlineoverride |
Build resonance veto scales before showering starts.
No resonance scales are built for eventtype != 1. Otherwise scales are reconstructed from the event record or read using original LHA ires values.
| event | Pythia event record for the current LHE event. |
Definition at line 283 of file PowhegHooksST.cxx.
|
inlineprivate |
Populate POWHEG emission scales for the current event.
In Athena, event comments recorded in the LHE event record are parsed for #emscales lines without needing the Fortran common block c_emscales_.
Definition at line 472 of file PowhegHooksST.cxx.
|
inlineprivate |
Extract rad_type / eventtype from LHE event comments.
In Athena, UserHooks run without the Fortran common block powhegeventssettings_. The event type (1 = btilde, 2 = remnant, 3 = regular) is parsed from the per-event comments (#rwgt <type> ... or # <type> rad_type).
Definition at line 444 of file PowhegHooksST.cxx.
|
inlineoverride |
Initialize settings for the POWHEG resonance-veto strategy.
Reads the Pythia veto settings and prepares the selected scale source. In emscales mode 1, scales will be parsed from the LHE event comments.
Definition at line 110 of file PowhegHooksST.cxx.
|
inline |
Compute the POWHEG transverse scale of a resonance splitting.
| event | Event record containing the branching and resonance. |
| iEmt | Index of the post-branching emitter. |
| iRad | Index of the radiated parton. |
| iRes | Index of the parent resonance. |
Definition at line 151 of file PowhegHooksST.cxx.
|
inlineprivate |
Look up a POWHEG scale by original LHA resonance index.
| ires | Original LHA resonance index. |
| fallback | Value returned when no scale was recorded for ires. |
Definition at line 502 of file PowhegHooksST.cxx.
|
inlineprivate |
Construct the stable signed-ID ancestry key for a resonance.
Only status-22 entries are included, so shower/recoil copies do not create a second identity for the same physical resonance history.
| iRes | Index of the resonance or its shower copy. |
| event | Pythia event record. |
Definition at line 410 of file PowhegHooksST.cxx.
Reconstruct a resonance scale from the Pythia event record.
Used for emscales == 0. Top scales are computed from the b/gluon decay system; leptonic W/Z decays are unrestricted; coloured W/Z decays without a resolved gluon use pTcutoff. Other resonance types are unrestricted.
Definition at line 204 of file PowhegHooksST.cxx.
|
inlineprivate |
Store a scale for a resonance ancestry and reject ambiguity.
| key | Stable resonance ancestry key. |
| scale | Resonance veto scale. |
Definition at line 426 of file PowhegHooksST.cxx.
|
private |
Definition at line 375 of file PowhegHooksST.cxx.
|
private |
Definition at line 374 of file PowhegHooksST.cxx.
|
private |
Definition at line 379 of file PowhegHooksST.cxx.
|
private |
Definition at line 373 of file PowhegHooksST.cxx.
|
private |
Definition at line 377 of file PowhegHooksST.cxx.
|
private |
Definition at line 378 of file PowhegHooksST.cxx.
|
private |
Definition at line 372 of file PowhegHooksST.cxx.
|
private |
Definition at line 381 of file PowhegHooksST.cxx.
|
private |
Definition at line 398 of file PowhegHooksST.cxx.
|
private |
Definition at line 382 of file PowhegHooksST.cxx.
|
private |
Definition at line 380 of file PowhegHooksST.cxx.
|
private |
Definition at line 385 of file PowhegHooksST.cxx.