ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Generators
Pythia8_i
src
UserHooks
WZVetoedShower.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
UserHooksUtils.h
"
6
#include "
Pythia8_i/UserHooksFactory.h
"
7
#include <stdexcept>
8
#include <iostream>
9
10
namespace
Pythia8
{
11
class
WZVetoedShower
;
12
}
13
14
Pythia8_UserHooks::UserHooksFactory::Creator<Pythia8::WZVetoedShower>
wzVetoedShowerCreator
(
"WZVetoedShower"
);
15
16
namespace
Pythia8
{
17
43
44
class
WZVetoedShower
:
public
UserHooks{
45
46
public
:
47
48
WZVetoedShower
():
m_powhegScale
(0.){
49
50
std::cout<<
"*******************************************************************"
<<std::endl;
51
std::cout<<
"* *"
<<std::endl;
52
std::cout<<
"* Using vetoed shower for PoWHEG colourless resonance production! *"
<<std::endl;
53
std::cout<<
"* *"
<<std::endl;
54
std::cout<<
"*******************************************************************"
<<std::endl;
55
56
}
57
58
~WZVetoedShower
(){}
59
66
bool
doVetoMPIStep
(
int
nMPI,
const
Event
&){
67
68
// Only do anything on the first call.
69
if
(nMPI > 1)
return
false
;
70
71
m_powhegScale
= infoPtr->QRen();
72
// m_powhegScale = infoPtr->QFac();
73
74
// std::cout<<" ******** veto scale = "<<m_powhegScale<<", "<<infoPtr->QRen() <<" *********"<<std::endl;
75
76
return
false
;
77
}
78
85
bool
doVetoISREmission
(
int
,
const
Event
&evt,
int
iSys){
86
87
// only veto emissions from the hard system
88
if
(iSys != 0)
return
false
;
89
90
size_t
emission =
Pythia8_UserHooks::findLastISREmission
(evt);
91
92
// Veto emission above the veto scale
93
if
(evt[emission].pT() >
m_powhegScale
)
return
true
;
94
95
return
false
;
96
}
97
101
bool
doVetoFSREmission
(
int
,
const
Event
&evt,
int
iSys,
bool
){
102
103
// only veto emissions from the hard system
104
if
(iSys != 0)
return
false
;
105
106
size_t
emission =
Pythia8_UserHooks::findLastFSREmission
(evt);
107
108
// Veto if above the POWHEG scale
109
if
(evt[emission].pT() >
m_powhegScale
)
return
true
;
110
111
return
false
;
112
}
113
115
bool
canVetoMPIStep
(){
return
true
;}
117
int
numberVetoMPIStep
(){
return
1;}
119
bool
canVetoISREmission
(){
return
true
;}
121
bool
canVetoFSREmission
(){
return
true
;}
122
123
private
:
124
125
double
m_powhegScale
;
126
};
127
}
128
UserHooksFactory.h
UserHooksUtils.h
wzVetoedShowerCreator
Pythia8_UserHooks::UserHooksFactory::Creator< Pythia8::WZVetoedShower > wzVetoedShowerCreator("WZVetoedShower")
Pythia8::WZVetoedShower
This UserHook should be used when showering W, Z or other colourless resonances generated with PoWHEG...
Definition
WZVetoedShower.cxx:44
Pythia8::WZVetoedShower::doVetoFSREmission
bool doVetoFSREmission(int, const Event &evt, int iSys, bool)
This is similar to the ISR veto.
Definition
WZVetoedShower.cxx:101
Pythia8::WZVetoedShower::~WZVetoedShower
~WZVetoedShower()
Definition
WZVetoedShower.cxx:58
Pythia8::WZVetoedShower::canVetoMPIStep
bool canVetoMPIStep()
Switch on calling of doVetoMPIStep.
Definition
WZVetoedShower.cxx:115
Pythia8::WZVetoedShower::numberVetoMPIStep
int numberVetoMPIStep()
Call doVetoMIStep once.
Definition
WZVetoedShower.cxx:117
Pythia8::WZVetoedShower::canVetoISREmission
bool canVetoISREmission()
Switch on veto of ISR.
Definition
WZVetoedShower.cxx:119
Pythia8::WZVetoedShower::WZVetoedShower
WZVetoedShower()
Definition
WZVetoedShower.cxx:48
Pythia8::WZVetoedShower::doVetoISREmission
bool doVetoISREmission(int, const Event &evt, int iSys)
This is called after the generation of each new ISR emission Can use it to test if the last generated...
Definition
WZVetoedShower.cxx:85
Pythia8::WZVetoedShower::m_powhegScale
double m_powhegScale
Definition
WZVetoedShower.cxx:125
Pythia8::WZVetoedShower::doVetoMPIStep
bool doVetoMPIStep(int nMPI, const Event &)
doVetoMPIStep is called immediately after the MPI generation In this case it never actually vetoes th...
Definition
WZVetoedShower.cxx:66
Pythia8::WZVetoedShower::canVetoFSREmission
bool canVetoFSREmission()
Switch off veto of FSR.
Definition
WZVetoedShower.cxx:121
Pythia8_UserHooks::UserHooksFactory::Creator
Definition
UserHooksFactory.h:54
Pythia8_UserHooks::findLastISREmission
size_t findLastISREmission(const Pythia8::Event &evt)
Definition
UserHooksUtils.h:80
Pythia8_UserHooks::findLastFSREmission
size_t findLastFSREmission(const Pythia8::Event &evt)
Definition
UserHooksUtils.h:89
Pythia8
Author: James Monk (jmonk@cern.ch).
Definition
IPythia8Custom.h:10
Event
Definition
trigbs_orderedMerge.cxx:42
Generated on
for ATLAS Offline Software by
1.17.0