Go to the documentation of this file.00001 #include <Pythia.h>
00002
00003 class EmissionVetoHook : public Pythia8::UserHooks {
00004
00005 public:
00006
00007
00008 EmissionVetoHook(int argVerbosity, bool argCheckHard) : last(-1), nISRveto(0), nFSRveto(0),
00009 Verbosity(argVerbosity), CheckHard(argCheckHard), firstNoRad(true) { }
00010 ~EmissionVetoHook() {
00011 cout << "Number of ISR vetoed = " << nISRveto << endl;
00012 cout << "Number of FSR vetoed = " << nFSRveto << endl;
00013 }
00014
00015
00016
00017 bool canVetoMPIStep() { return true; }
00018 int numberVetoMPIStep() { return 1; }
00019 bool doVetoMPIStep(int, const Pythia8::Event &e);
00020
00021
00022
00023 bool canVetoISREmission() { return true; }
00024 bool doVetoISREmission(int, const Pythia8::Event &e, int);
00025
00026 bool canVetoFSREmission() { return true; }
00027 bool doVetoFSREmission(int, const Pythia8::Event &e, int, bool=false);
00028
00029 void fatalEmissionVeto(string message);
00030
00031
00032 double getPTpowheg() { return pTpowheg; }
00033 double getPTshower() { return pTshower; }
00034 int getNISRveto() { return nISRveto; }
00035 int getNFSRveto() { return nFSRveto; }
00036 bool getNoRad() { return noRad; }
00037
00038 private:
00039
00040 double pTveto, pTpowheg, pTshower;
00041 int last, nISRveto, nFSRveto, Verbosity;
00042 bool CheckHard, noRad, firstNoRad;
00043 };