CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EmissionVetoHook1.h
Go to the documentation of this file.
1 #include "Pythia8/Pythia.h"
2 
3 class EmissionVetoHook1 : public Pythia8::UserHooks {
4 
5 public:
6 
7  // Constructor and destructor.
8  EmissionVetoHook1(int nFinalIn, bool vetoOnIn, int vetoCountIn,
9  int pThardModeIn, int pTemtModeIn, int emittedModeIn,
10  int pTdefModeIn, bool MPIvetoOnIn, int VerbosityIn) :
11  nFinalExt(nFinalIn),
12  vetoOn(vetoOnIn), vetoCount(vetoCountIn),
13  pThardMode(pThardModeIn), pTemtMode(pTemtModeIn),
14  emittedMode(emittedModeIn), pTdefMode(pTdefModeIn),
15  MPIvetoOn(MPIvetoOnIn), nISRveto(0), nFSRveto(0),
16  Verbosity(VerbosityIn) {}
18  cout << "Number of ISR vetoed = " << nISRveto << endl;
19  cout << "Number of FSR vetoed = " << nFSRveto << endl;
20  }
21 
22 //--------------------------------------------------------------------------
23 
24  bool canVetoMPIStep() { return true; }
25  int numberVetoMPIStep() { return 1; }
26  bool doVetoMPIStep(int nMPI, const Pythia8::Event &e);
27 
28  bool canVetoISREmission() { return vetoOn; }
29  bool doVetoISREmission(int, const Pythia8::Event &e, int iSys);
30 
31  bool canVetoFSREmission() { return vetoOn; }
32  bool doVetoFSREmission(int, const Pythia8::Event &e, int iSys, bool);
33 
34  bool canVetoMPIEmission() { return MPIvetoOn; }
35  bool doVetoMPIEmission(int, const Pythia8::Event &e);
36 
37  void fatalEmissionVeto(string message);
38 
39  double pTpythia(const Pythia8::Event &e, int RadAfterBranch,
40  int EmtAfterBranch, int RecAfterBranch, bool FSR);
41 
42  double pTpowheg(const Pythia8::Event &e, int i, int j, bool FSR);
43 
44  double pTcalc(const Pythia8::Event &e, int i, int j, int k, int r, int xSRin);
45 
46 //--------------------------------------------------------------------------
47 
48 private:
51  int nFinal;
52  double pThard, pTMPI;
53  bool accepted;
54  // The number of accepted emissions (in a row)
56  // Statistics on vetos
57  unsigned long int nISRveto, nFSRveto;
58  int Verbosity;
59 };
int i
Definition: DBlmapReader.cc:9
EmissionVetoHook1(int nFinalIn, bool vetoOnIn, int vetoCountIn, int pThardModeIn, int pTemtModeIn, int emittedModeIn, int pTdefModeIn, bool MPIvetoOnIn, int VerbosityIn)
bool doVetoMPIEmission(int, const Pythia8::Event &e)
bool doVetoISREmission(int, const Pythia8::Event &e, int iSys)
void fatalEmissionVeto(string message)
unsigned long int nISRveto
int j
Definition: DBlmapReader.cc:9
double pTpowheg(const Pythia8::Event &e, int i, int j, bool FSR)
unsigned long int nFSRveto
double pTcalc(const Pythia8::Event &e, int i, int j, int k, int r, int xSRin)
bool doVetoMPIStep(int nMPI, const Pythia8::Event &e)
double pTpythia(const Pythia8::Event &e, int RadAfterBranch, int EmtAfterBranch, int RecAfterBranch, bool FSR)
bool doVetoFSREmission(int, const Pythia8::Event &e, int iSys, bool)
tuple cout
Definition: gather_cfg.py:121