|
| PowhegBB4L () |
|
| ~PowhegBB4L () |
|
double | findresscale (const int iRes, const Event &event) |
|
bool | match_decay (int iparticle, const Event &e, const std::vector< int > &ids, std::vector< int > &positions, std::vector< Vec4 > &momenta, bool exitOnExtraLegs=true) |
|
double | qSplittingScale (Vec4 pt, Vec4 p1, Vec4 p2) |
|
double | gSplittingScale (Vec4 pt, Vec4 p1, Vec4 p2) |
|
double | getdechardness (int topcharge, const Event &e) |
|
bool | canVetoPartonLevel () |
|
bool | doVetoPartonLevel (const Event &e) |
|
bool | canSetResonanceScale () |
|
double | scaleResonance (int iRes, const Event &e) |
|
bool | canVetoFSREmission () |
|
bool | doVetoFSREmission (int, const Event &e, int, bool inResonance) |
|
Definition at line 22 of file PowhegBB4L.cxx.
◆ PowhegBB4L()
Pythia8::PowhegBB4L::PowhegBB4L |
( |
| ) |
|
|
inline |
◆ ~PowhegBB4L()
Pythia8::PowhegBB4L::~PowhegBB4L |
( |
| ) |
|
|
inline |
◆ canSetResonanceScale()
bool Pythia8::PowhegBB4L::canSetResonanceScale |
( |
| ) |
|
|
inline |
◆ canVetoFSREmission()
bool Pythia8::PowhegBB4L::canVetoFSREmission |
( |
| ) |
|
|
inline |
◆ canVetoPartonLevel()
bool Pythia8::PowhegBB4L::canVetoPartonLevel |
( |
| ) |
|
|
inline |
◆ doVetoFSREmission()
bool Pythia8::PowhegBB4L::doVetoFSREmission |
( |
int |
, |
|
|
const Event & |
e, |
|
|
int |
, |
|
|
bool |
inResonance |
|
) |
| |
|
inline |
Definition at line 242 of file PowhegBB4L.cxx.
247 int iEmt =
e.size() - 2;
248 int iRadAft =
e.size() - 3;
249 int iRadBef =
e[iEmt].mother1();
252 int iTop =
e[iRadBef].mother1();
254 while (std::abs(
e[iTop].
id()) != 6 && iTop > 0) {
255 iTop =
e[iTop].mother1();
259 #if PYTHIA_VERSION_INTEGER >= 8310
260 loggerPtr->ERROR_MSG(
"Warning in PowhegHooksBB4L::doVetoFSREmission: emission in resonance not from top quark, not vetoing");
262 infoPtr->errorMsg(
"Warning in PowhegHooksBB4L::doVetoFSREmission: emission in resonance not from top quark, not vetoing");
266 int iTopCharge = (
e[iTop].id()>0)?1:-1;
270 Vec4
pr(
e[iRadAft].
p()),
pe(
e[iEmt].
p()),
pt(
e[iTop].
p());
273 if (
e[iRadBef].
id() == 21)
276 else if (std::abs(
e[iRadBef].
id()) <= 5)
283 if (iTopCharge > 0) {
◆ doVetoPartonLevel()
bool Pythia8::PowhegBB4L::doVetoPartonLevel |
( |
const Event & |
e | ) |
|
|
inline |
Definition at line 197 of file PowhegBB4L.cxx.
201 #if PYTHIA_VERSION_INTEGER >= 8310
202 loggerPtr->ERROR_MSG(
"Warning in PowhegHooksBB4L::doVetoPartonLevel: passed doVetoFSREmission veto, but wouldn't have passed veto based on the full event listing");
204 infoPtr->errorMsg(
"Warning in PowhegHooksBB4L::doVetoPartonLevel: passed doVetoFSREmission veto, but wouldn't have passed veto based on the full event listing");
◆ findresscale()
double Pythia8::PowhegBB4L::findresscale |
( |
const int |
iRes, |
|
|
const Event & |
event |
|
) |
| |
|
inline |
Definition at line 38 of file PowhegBB4L.cxx.
41 int nDau =
event[iRes].daughterList().size();
52 else if (std::abs(
event[iRes].
id()) == 6) {
54 int idw = -1,
idb = -1, idg = -1;
56 for (
int i = 0;
i < nDau;
i++) {
57 int iDau =
event[iRes].daughterList()[
i];
58 if (std::abs(
event[iDau].
id()) == 24) idw = iDau;
59 if (std::abs(
event[iDau].
id()) == 5)
idb = iDau;
60 if (std::abs(
event[iDau].
id()) == 21) idg = iDau;
65 pw.bstback(
event[iRes].
p());
◆ getdechardness()
double Pythia8::PowhegBB4L::getdechardness |
( |
int |
topcharge, |
|
|
const Event & |
e |
|
) |
| |
|
inline |
Definition at line 126 of file PowhegBB4L.cxx.
127 int tid = 6*topcharge, wid = 24*topcharge, bid = 5*topcharge,
gid = 21,
wildcard = 0;
130 Vec4 p_top, p_b, p_g, p_g1, p_g2;
131 for (
int i = 0;
i <
e.size();
i++)
132 if (
e[
i].
id() == tid) {
136 if (i_top == -1)
return -1.0;
158 if (
match_decay(i_top,
e, std::vector<int> {wid, bid}, positions, momenta,
false) ) {
160 int i_b = positions[1];
162 if (
match_decay(i_b,
e, std::vector<int> {bid,
gid}, positions, momenta) )
170 else if (
match_decay(i_top,
e, std::vector<int> {wid, bid,
gid}, positions, momenta,
false) ) {
172 int i_b = positions[1], i_g = positions[2];
174 if (
match_decay(i_b,
e, std::vector<int> {bid,
gid}, positions, momenta) )
◆ gSplittingScale()
double Pythia8::PowhegBB4L::gSplittingScale |
( |
Vec4 |
pt, |
|
|
Vec4 |
p1, |
|
|
Vec4 |
p2 |
|
) |
| |
|
inline |
◆ match_decay()
bool Pythia8::PowhegBB4L::match_decay |
( |
int |
iparticle, |
|
|
const Event & |
e, |
|
|
const std::vector< int > & |
ids, |
|
|
std::vector< int > & |
positions, |
|
|
std::vector< Vec4 > & |
momenta, |
|
|
bool |
exitOnExtraLegs = true |
|
) |
| |
|
inline |
Definition at line 89 of file PowhegBB4L.cxx.
91 if (
e[iparticle].daughterList().
size() !=
ids.size()) {
92 if (exitOnExtraLegs &&
e[iparticle].daughterList().
size() >
ids.size())
exit(-1);
96 for (
size_t i = 0;
i <
e[iparticle].daughterList().
size();
i++) {
97 int di =
e[iparticle].daughterList()[
i];
105 for (
size_t i = 0;
i <
e[iparticle].daughterList().
size();
i++) {
106 int di =
e[iparticle].daughterList()[
i];
107 positions.push_back(di);
108 momenta.push_back(
e[di].
p());
◆ qSplittingScale()
double Pythia8::PowhegBB4L::qSplittingScale |
( |
Vec4 |
pt, |
|
|
Vec4 |
p1, |
|
|
Vec4 |
p2 |
|
) |
| |
|
inline |
◆ scaleResonance()
double Pythia8::PowhegBB4L::scaleResonance |
( |
int |
iRes, |
|
|
const Event & |
e |
|
) |
| |
|
inline |
Definition at line 216 of file PowhegBB4L.cxx.
219 if (
e[iRes].
id() == 6){
221 }
else if (
e[iRes].
id() == -6){
◆ m_atopresscale
double Pythia8::PowhegBB4L::m_atopresscale |
|
private |
◆ m_onlyDistance1
◆ m_topresscale
double Pythia8::PowhegBB4L::m_topresscale |
|
private |
◆ m_useScaleResonanceInstead
The documentation for this class was generated from the following file:
bool match_decay(int iparticle, const Event &e, const std::vector< int > &ids, std::vector< int > &positions, std::vector< Vec4 > &momenta, bool exitOnExtraLegs=true)