24 std::cout<<
"************************************************************************************************"<<std::endl;
25 std::cout<<
"Pythia8::VetoedShower: *** WARNING: THIS USER HOOK IS NOT VALIDATED FOR QCD JET PRODUCTION!! ***"<<std::endl;
26 std::cout<<
"************************************************************************************************"<<std::endl;
68 if(e[i].isFinal() && e[i].status() == 43)
break;
74 throw std::runtime_error(
"Pythia8::VetoedShower::doVetoISREmission: Could not find ISR emission");
80 int iMother = e[i].mother1();
81 if(e[iMother].status() != -41)
82 throw std::runtime_error(
"Pythia8::VetoedShower::doVetoISREmission: Unexpected status code in ISR");
84 iMother = e[iMother].daughter2();
85 if(iMother != partonSystemsPtr->getInA(0) &&
86 iMother != partonSystemsPtr->getInB(0))
return false;
89 if(e[i].pT() >
m_pTVeto)
return true;
103 int i = e.size() - 1;
106 if (e[i].isFinal() && e[i].status() == 51)
break;
112 throw std::runtime_error(
"Pythia8::VetoedShower::doVetoFSREmission: Could not find FSR emission");
119 int iMother = e[i].mother1();
120 int sysSize = partonSystemsPtr->sizeOut(0);
121 bool hardSys =
false;
123 for (
int j = 0; j < sysSize; ++j){
124 int iOut = partonSystemsPtr->getOut(0, j);
125 if (iOut == iMother) {
131 if (!hardSys)
return false;
134 if (e[i].pT() >
m_pTVeto)
return true;
Pythia8_UserHooks::UserHooksFactory::Creator< Pythia8::VetoedShower > vetoedShowerCreator("VetoedShower")
bool doVetoMPIStep(int, const Event &)
doVetoMPIStep is called immediately after the MPI generation In this case it nver actually vetoes the...
bool canVetoFSREmission()
Switch off veto of FSR.
bool canVetoISREmission()
Switch on veto of ISR.
int numberVetoMPIStep()
Call doVetoMIStep once.
bool canVetoMPIStep()
Switch on calling of doVetoMPIStep.
bool doVetoFSREmission(int, const Event &e, int, bool)
This is similar to the ISR veto, with the exception that since the ordering is in a slightly differen...
bool doVetoISREmission(int, const Event &e, int)
This is called after the generation of each new ISR emission Can use it to test if the last generated...
Author: James Monk (jmonk@cern.ch)