CMS 3D CMS Logo

EmissionVetoHook1.h
Go to the documentation of this file.
2 
3 class EmissionVetoHook1 : public Pythia8::UserHooks {
4 public:
5  // Constructor and destructor.
6  EmissionVetoHook1(int nFinalIn,
7  bool vetoOnIn,
8  int vetoCountIn,
9  int pThardModeIn,
10  int pTemtModeIn,
11  int emittedModeIn,
12  int pTdefModeIn,
13  bool MPIvetoOnIn,
14  int QEDvetoModeIn,
15  int nFinalModeIn,
16  int VerbosityIn)
17  : nFinalExt(nFinalIn),
18  vetoOn(vetoOnIn),
19  vetoCount(vetoCountIn),
20  pThardMode(pThardModeIn),
21  pTemtMode(pTemtModeIn),
22  emittedMode(emittedModeIn),
23  pTdefMode(pTdefModeIn),
24  MPIvetoOn(MPIvetoOnIn),
25  QEDvetoMode(QEDvetoModeIn),
26  nFinalMode(nFinalModeIn),
27  nISRveto(0),
28  nFSRveto(0),
29  Verbosity(VerbosityIn) {}
30  ~EmissionVetoHook1() override {
31  std::cout << "Number of ISR vetoed = " << nISRveto << std::endl;
32  std::cout << "Number of FSR vetoed = " << nFSRveto << std::endl;
33  }
34 
35  //--------------------------------------------------------------------------
36 
37  bool canVetoMPIStep() override { return true; }
38  int numberVetoMPIStep() override { return 1; }
39  bool doVetoMPIStep(int nMPI, const Pythia8::Event &e) override;
40 
41  bool canVetoISREmission() override { return vetoOn; }
42  bool doVetoISREmission(int, const Pythia8::Event &e, int iSys) override;
43 
44  bool canVetoFSREmission() override { return vetoOn; }
45  bool doVetoFSREmission(int, const Pythia8::Event &e, int iSys, bool) override;
46 
47  bool canVetoMPIEmission() override { return MPIvetoOn; }
48  bool doVetoMPIEmission(int, const Pythia8::Event &e) override;
49 
50  void fatalEmissionVeto(std::string message);
51 
52  double pTpythia(const Pythia8::Event &e, int RadAfterBranch, int EmtAfterBranch, int RecAfterBranch, bool FSR);
53 
54  double pTpowheg(const Pythia8::Event &e, int i, int j, bool FSR);
55 
56  double pTcalc(const Pythia8::Event &e, int i, int j, int k, int r, int xSRin);
57 
58  //--------------------------------------------------------------------------
59 
60 private:
62  int nFinal;
63  double pThard, pTMPI;
64  bool accepted, isEmt;
65  // The number of accepted emissions (in a row)
67  // Statistics on vetos
68  unsigned long int nISRveto, nFSRveto;
69  int Verbosity;
70 };
EmissionVetoHook1::doVetoMPIEmission
bool doVetoMPIEmission(int, const Pythia8::Event &e) override
Definition: EmissionVetoHook1.cc:534
EmissionVetoHook1::canVetoMPIStep
bool canVetoMPIStep() override
Definition: EmissionVetoHook1.h:37
mps_fire.i
i
Definition: mps_fire.py:428
EmissionVetoHook1::fatalEmissionVeto
void fatalEmissionVeto(std::string message)
Definition: EmissionVetoHook1.cc:8
PowhegHooksBB4L.h
EmissionVetoHook1::nAcceptSeq
int nAcceptSeq
Definition: EmissionVetoHook1.h:66
gather_cfg.cout
cout
Definition: gather_cfg.py:144
EmissionVetoHook1::pThardMode
int pThardMode
Definition: EmissionVetoHook1.h:61
EmissionVetoHook1::pTdefMode
int pTdefMode
Definition: EmissionVetoHook1.h:61
EmissionVetoHook1::canVetoISREmission
bool canVetoISREmission() override
Definition: EmissionVetoHook1.h:41
EmissionVetoHook1
Definition: EmissionVetoHook1.h:3
EmissionVetoHook1::nFinalExt
int nFinalExt
Definition: EmissionVetoHook1.h:61
EmissionVetoHook1::accepted
bool accepted
Definition: EmissionVetoHook1.h:64
EmissionVetoHook1::doVetoFSREmission
bool doVetoFSREmission(int, const Pythia8::Event &e, int iSys, bool) override
Definition: EmissionVetoHook1.cc:439
EmissionVetoHook1::nFinal
int nFinal
Definition: EmissionVetoHook1.h:62
EmissionVetoHook1::Verbosity
int Verbosity
Definition: EmissionVetoHook1.h:69
EmissionVetoHook1::doVetoISREmission
bool doVetoISREmission(int, const Pythia8::Event &e, int iSys) override
Definition: EmissionVetoHook1.cc:373
EmissionVetoHook1::vetoOn
int vetoOn
Definition: EmissionVetoHook1.h:61
EmissionVetoHook1::numberVetoMPIStep
int numberVetoMPIStep() override
Definition: EmissionVetoHook1.h:38
EmissionVetoHook1::pThard
double pThard
Definition: EmissionVetoHook1.h:63
dqmdumpme.k
k
Definition: dqmdumpme.py:60
EmissionVetoHook1::QEDvetoMode
int QEDvetoMode
Definition: EmissionVetoHook1.h:61
EmissionVetoHook1::canVetoFSREmission
bool canVetoFSREmission() override
Definition: EmissionVetoHook1.h:44
EmissionVetoHook1::vetoCount
int vetoCount
Definition: EmissionVetoHook1.h:61
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
EmissionVetoHook1::EmissionVetoHook1
EmissionVetoHook1(int nFinalIn, bool vetoOnIn, int vetoCountIn, int pThardModeIn, int pTemtModeIn, int emittedModeIn, int pTdefModeIn, bool MPIvetoOnIn, int QEDvetoModeIn, int nFinalModeIn, int VerbosityIn)
Definition: EmissionVetoHook1.h:6
EmissionVetoHook1::doVetoMPIStep
bool doVetoMPIStep(int nMPI, const Pythia8::Event &e) override
Definition: EmissionVetoHook1.cc:253
EmissionVetoHook1::nISRveto
unsigned long int nISRveto
Definition: EmissionVetoHook1.h:68
EmissionVetoHook1::nFinalMode
int nFinalMode
Definition: EmissionVetoHook1.h:61
EmissionVetoHook1::pTpowheg
double pTpowheg(const Pythia8::Event &e, int i, int j, bool FSR)
Definition: EmissionVetoHook1.cc:74
EmissionVetoHook1::isEmt
bool isEmt
Definition: EmissionVetoHook1.h:64
EmissionVetoHook1::nFSRveto
unsigned long int nFSRveto
Definition: EmissionVetoHook1.h:68
alignCSCRings.r
r
Definition: alignCSCRings.py:93
EmissionVetoHook1::emittedMode
int emittedMode
Definition: EmissionVetoHook1.h:61
EmissionVetoHook1::canVetoMPIEmission
bool canVetoMPIEmission() override
Definition: EmissionVetoHook1.h:47
EmissionVetoHook1::~EmissionVetoHook1
~EmissionVetoHook1() override
Definition: EmissionVetoHook1.h:30
EmissionVetoHook1::pTcalc
double pTcalc(const Pythia8::Event &e, int i, int j, int k, int r, int xSRin)
Definition: EmissionVetoHook1.cc:112
EmissionVetoHook1::MPIvetoOn
int MPIvetoOn
Definition: EmissionVetoHook1.h:61
EmissionVetoHook1::pTemtMode
int pTemtMode
Definition: EmissionVetoHook1.h:61
EmissionVetoHook1::pTpythia
double pTpythia(const Pythia8::Event &e, int RadAfterBranch, int EmtAfterBranch, int RecAfterBranch, bool FSR)
Definition: EmissionVetoHook1.cc:20
EmissionVetoHook1::pTMPI
double pTMPI
Definition: EmissionVetoHook1.h:63
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37