CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
MultiUserHook Class Reference

#include <MultiUserHook.h>

Inheritance diagram for MultiUserHook:

Public Member Functions

void addHook (Pythia8::UserHooks *hook)
 
double biasedSelectionWeight () override
 
double biasSelectionBy (const Pythia8::SigmaProcess *sigmaProcessPtr, const Pythia8::PhaseSpace *phaseSpacePtr, bool inEvent) override
 
bool canBiasSelection () override
 
bool canChangeFragPar () override
 
bool canEnhanceEmission () override
 
bool canEnhanceTrial () override
 
bool canModifySigma () override
 
bool canReconnectResonanceSystems () override
 
bool canSetResonanceScale () override
 
bool canVetoFSREmission () override
 
bool canVetoISREmission () override
 
bool canVetoMPIEmission () override
 
bool canVetoMPIStep () override
 
bool canVetoPartonLevel () override
 
bool canVetoPartonLevelEarly () override
 
bool canVetoProcessLevel () override
 
bool canVetoPT () override
 
bool canVetoResonanceDecays () override
 
bool canVetoStep () override
 
bool doChangeFragPar (Pythia8::StringFlav *flavPtr, Pythia8::StringZ *zPtr, Pythia8::StringPT *pTPtr, int idEnd, double m2Had, std::vector< int > iParton) override
 
bool doReconnectResonanceSystems (int oldSizeEvt, Pythia8::Event &event) override
 
bool doVetoFragmentation (Pythia8::Particle part) override
 
bool doVetoFSREmission (int sizeOld, const Pythia8::Event &event, int iSys, bool inResonance=false) override
 
bool doVetoISREmission (int sizeOld, const Pythia8::Event &event, int iSys) override
 
bool doVetoMPIEmission (int sizeOld, const Pythia8::Event &event) override
 
bool doVetoMPIStep (int nMPI, const Pythia8::Event &event) override
 
bool doVetoPartonLevel (const Pythia8::Event &event) override
 
bool doVetoPartonLevelEarly (const Pythia8::Event &event) override
 
bool doVetoProcessLevel (Pythia8::Event &event) override
 
bool doVetoPT (int iPos, const Pythia8::Event &event) override
 
bool doVetoResonanceDecays (Pythia8::Event &event) override
 
bool doVetoStep (int iPos, int nISR, int nFSR, const Pythia8::Event &event) override
 
double enhanceFactor (std::string str) override
 
bool initAfterBeams () override
 
double multiplySigmaBy (const Pythia8::SigmaProcess *sigmaProcessPtr, const Pythia8::PhaseSpace *phaseSpacePtr, bool inEvent) override
 
 MultiUserHook ()
 
unsigned int nHooks () const
 
int numberVetoMPIStep () override
 
int numberVetoStep () override
 
bool retryPartonLevel () override
 
double scaleResonance (int iRes, const Pythia8::Event &event) override
 
double scaleVetoPT () override
 
double vetoProbability (std::string str) override
 

Private Attributes

std::vector< Pythia8::UserHooks * > hooks_
 

Detailed Description

Definition at line 5 of file MultiUserHook.h.

Constructor & Destructor Documentation

MultiUserHook::MultiUserHook ( )
inline

Definition at line 10 of file MultiUserHook.h.

10 {}

Member Function Documentation

void MultiUserHook::addHook ( Pythia8::UserHooks *  hook)
inline

Definition at line 13 of file MultiUserHook.h.

References hooks_.

13 { hooks_.push_back(hook); }
std::vector< Pythia8::UserHooks * > hooks_
double MultiUserHook::biasedSelectionWeight ( )
inlineoverride

Definition at line 111 of file MultiUserHook.h.

References hooks_.

111  {
112  double factor = 1.;
113  for (Pythia8::UserHooks *hook : hooks_) {
114  if (hook->canBiasSelection()) factor *= hook->biasedSelectionWeight();
115  }
116  return factor;
117  };
std::vector< Pythia8::UserHooks * > hooks_
double MultiUserHook::biasSelectionBy ( const Pythia8::SigmaProcess *  sigmaProcessPtr,
const Pythia8::PhaseSpace *  phaseSpacePtr,
bool  inEvent 
)
inlineoverride

Definition at line 101 of file MultiUserHook.h.

References hooks_.

102  {
103  double factor = 1.;
104  for (Pythia8::UserHooks *hook : hooks_) {
105  if (hook->canBiasSelection()) factor *= hook->biasSelectionBy(sigmaProcessPtr,phaseSpacePtr,inEvent);
106  }
107  return factor;
108  };
std::vector< Pythia8::UserHooks * > hooks_
bool MultiUserHook::canBiasSelection ( )
inlineoverride

Definition at line 92 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

92  {
93  bool test = false;
94  for (Pythia8::UserHooks *hook : hooks_) {
95  test |= hook->canBiasSelection();
96  }
97  return test;
98  }
std::vector< Pythia8::UserHooks * > hooks_
bool MultiUserHook::canChangeFragPar ( )
inlineoverride

Definition at line 431 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

431  {
432  bool test = false;
433  for (Pythia8::UserHooks *hook : hooks_) {
434  test |= hook->canChangeFragPar();
435  }
436  return test;
437  }
std::vector< Pythia8::UserHooks * > hooks_
bool MultiUserHook::canEnhanceEmission ( )
inlineoverride

Definition at line 398 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

398  {
399  bool test = false;
400  for (Pythia8::UserHooks *hook : hooks_) {
401  test |= hook->canEnhanceEmission();
402  }
403  return test;
404  }
std::vector< Pythia8::UserHooks * > hooks_
bool MultiUserHook::canEnhanceTrial ( )
inlineoverride

Definition at line 408 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

408  {
409  bool test = false;
410  for (Pythia8::UserHooks *hook : hooks_) {
411  test |= hook->canEnhanceTrial();
412  }
413  return test;
414  }
std::vector< Pythia8::UserHooks * > hooks_
bool MultiUserHook::canModifySigma ( )
inlineoverride

Definition at line 73 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

73  {
74  bool test = false;
75  for (Pythia8::UserHooks *hook : hooks_) {
76  test |= hook->canModifySigma();
77  }
78  return test;
79  }
std::vector< Pythia8::UserHooks * > hooks_
bool MultiUserHook::canReconnectResonanceSystems ( )
inlineoverride

Definition at line 376 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

376  {
377  bool test = false;
378  for (Pythia8::UserHooks *hook : hooks_) {
379  test |= hook->canReconnectResonanceSystems();
380  }
381  return test;
382  }
std::vector< Pythia8::UserHooks * > hooks_
bool MultiUserHook::canSetResonanceScale ( )
inlineoverride

Definition at line 292 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

292  {
293  bool test = false;
294  for (Pythia8::UserHooks *hook : hooks_) {
295  test |= hook->canSetResonanceScale();
296  }
297  return test;
298  }
std::vector< Pythia8::UserHooks * > hooks_
bool MultiUserHook::canVetoFSREmission ( )
inlineoverride

Definition at line 333 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

333  {
334  bool test = false;
335  for (Pythia8::UserHooks *hook : hooks_) {
336  test |= hook->canVetoFSREmission();
337  }
338  return test;
339  }
std::vector< Pythia8::UserHooks * > hooks_
bool MultiUserHook::canVetoISREmission ( )
inlineoverride

Definition at line 312 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

312  {
313  bool test = false;
314  for (Pythia8::UserHooks *hook : hooks_) {
315  test |= hook->canVetoISREmission();
316  }
317  return test;
318  }
std::vector< Pythia8::UserHooks * > hooks_
bool MultiUserHook::canVetoMPIEmission ( )
inlineoverride

Definition at line 356 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

356  {
357  bool test = false;
358  for (Pythia8::UserHooks *hook : hooks_) {
359  test |= hook->canVetoMPIEmission();
360  }
361  return test;
362  }
std::vector< Pythia8::UserHooks * > hooks_
bool MultiUserHook::canVetoMPIStep ( )
inlineoverride

Definition at line 216 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

216  {
217  bool test = false;
218  for (Pythia8::UserHooks *hook : hooks_) {
219  test |= hook->canVetoMPIStep();
220  }
221  return test;
222  }
std::vector< Pythia8::UserHooks * > hooks_
bool MultiUserHook::canVetoPartonLevel ( )
inlineoverride

Definition at line 273 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

273  {
274  bool test = false;
275  for (Pythia8::UserHooks *hook : hooks_) {
276  test |= hook->canVetoPartonLevel();
277  }
278  return test;
279  }
std::vector< Pythia8::UserHooks * > hooks_
bool MultiUserHook::canVetoPartonLevelEarly ( )
inlineoverride

Definition at line 243 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

243  {
244  bool test = false;
245  for (Pythia8::UserHooks *hook : hooks_) {
246  test |= hook->canVetoPartonLevelEarly();
247  }
248  return test;
249  }
std::vector< Pythia8::UserHooks * > hooks_
bool MultiUserHook::canVetoProcessLevel ( )
inlineoverride

Definition at line 120 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

120  {
121  bool test = false;
122  for (Pythia8::UserHooks *hook : hooks_) {
123  test |= hook->canVetoProcessLevel();
124  }
125  return test;
126  }
std::vector< Pythia8::UserHooks * > hooks_
bool MultiUserHook::canVetoPT ( )
inlineoverride

Definition at line 159 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

159  {
160  bool test = false;
161  for (Pythia8::UserHooks *hook : hooks_) {
162  test |= hook->canVetoPT();
163  }
164  return test;
165  }
std::vector< Pythia8::UserHooks * > hooks_
bool MultiUserHook::canVetoResonanceDecays ( )
inlineoverride

Definition at line 139 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

139  {
140  bool test = false;
141  for (Pythia8::UserHooks *hook : hooks_) {
142  test |= hook->canVetoResonanceDecays();
143  }
144  return test;
145  }
std::vector< Pythia8::UserHooks * > hooks_
bool MultiUserHook::canVetoStep ( )
inlineoverride

Definition at line 188 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

188  {
189  bool test = false;
190  for (Pythia8::UserHooks *hook : hooks_) {
191  test |= hook->canVetoStep();
192  }
193  return test;
194  }
std::vector< Pythia8::UserHooks * > hooks_
bool MultiUserHook::doChangeFragPar ( Pythia8::StringFlav *  flavPtr,
Pythia8::StringZ *  zPtr,
Pythia8::StringPT *  pTPtr,
int  idEnd,
double  m2Had,
std::vector< int >  iParton 
)
inlineoverride

Definition at line 441 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

442  {
443  bool test = true;
444  for (Pythia8::UserHooks *hook : hooks_) {
445  if (hook->canChangeFragPar()) test &= hook->doChangeFragPar(flavPtr, zPtr, pTPtr, idEnd, m2Had, iParton);
446  }
447  return test;
448  }
std::vector< Pythia8::UserHooks * > hooks_
bool MultiUserHook::doReconnectResonanceSystems ( int  oldSizeEvt,
Pythia8::Event &  event 
)
inlineoverride

Definition at line 389 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

389  {
390  bool test = true;
391  for (Pythia8::UserHooks *hook : hooks_) {
392  if (hook->canReconnectResonanceSystems()) test &= hook->doReconnectResonanceSystems(oldSizeEvt,event);
393  }
394  return test;
395  }
std::vector< Pythia8::UserHooks * > hooks_
Definition: event.py:1
bool MultiUserHook::doVetoFragmentation ( Pythia8::Particle  part)
inlineoverride

Definition at line 451 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

451  {
452  bool test = false;
453  for (Pythia8::UserHooks *hook : hooks_) {
454  if (hook->canChangeFragPar()) test |= hook->doVetoFragmentation(part);
455  }
456  return test;
457  }
std::vector< Pythia8::UserHooks * > hooks_
part
Definition: HCALResponse.h:20
bool MultiUserHook::doVetoFSREmission ( int  sizeOld,
const Pythia8::Event &  event,
int  iSys,
bool  inResonance = false 
)
inlineoverride

Definition at line 347 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

347  {
348  bool test = false;
349  for (Pythia8::UserHooks *hook : hooks_) {
350  if (hook->canVetoFSREmission()) test |= hook->doVetoFSREmission(sizeOld,event,iSys,inResonance);
351  }
352  return test;
353  }
std::vector< Pythia8::UserHooks * > hooks_
Definition: event.py:1
bool MultiUserHook::doVetoISREmission ( int  sizeOld,
const Pythia8::Event &  event,
int  iSys 
)
inlineoverride

Definition at line 324 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

324  {
325  bool test = false;
326  for (Pythia8::UserHooks *hook : hooks_) {
327  if (hook->canVetoISREmission()) test |= hook->doVetoISREmission(sizeOld,event,iSys);
328  }
329  return test;
330  }
std::vector< Pythia8::UserHooks * > hooks_
Definition: event.py:1
bool MultiUserHook::doVetoMPIEmission ( int  sizeOld,
const Pythia8::Event &  event 
)
inlineoverride

Definition at line 367 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

367  {
368  bool test = false;
369  for (Pythia8::UserHooks *hook : hooks_) {
370  if (hook->canVetoMPIEmission()) test |= hook->doVetoMPIEmission(sizeOld,event);
371  }
372  return test;
373  }
std::vector< Pythia8::UserHooks * > hooks_
Definition: event.py:1
bool MultiUserHook::doVetoMPIStep ( int  nMPI,
const Pythia8::Event &  event 
)
inlineoverride

Definition at line 234 of file MultiUserHook.h.

References hooks_.

234  {
235  for (Pythia8::UserHooks *hook : hooks_) {
236  if (hook->canVetoMPIStep()) return hook->doVetoMPIStep(nMPI,event);
237  }
238  return false;
239  }
std::vector< Pythia8::UserHooks * > hooks_
Definition: event.py:1
bool MultiUserHook::doVetoPartonLevel ( const Pythia8::Event &  event)
inlineoverride

Definition at line 283 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

283  {
284  bool test = false;
285  for (Pythia8::UserHooks *hook : hooks_) {
286  if (hook->canVetoPartonLevel()) test |= hook->doVetoPartonLevel(event);
287  }
288  return test;
289  }
std::vector< Pythia8::UserHooks * > hooks_
Definition: event.py:1
bool MultiUserHook::doVetoPartonLevelEarly ( const Pythia8::Event &  event)
inlineoverride

Definition at line 253 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

253  {
254  bool test = false;
255  for (Pythia8::UserHooks *hook : hooks_) {
256  if (hook->canVetoPartonLevelEarly()) test |= hook->doVetoPartonLevelEarly(event);
257  }
258  return test;
259  }
std::vector< Pythia8::UserHooks * > hooks_
Definition: event.py:1
bool MultiUserHook::doVetoProcessLevel ( Pythia8::Event &  event)
inlineoverride

Definition at line 130 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

130  {
131  bool test = false;
132  for (Pythia8::UserHooks *hook : hooks_) {
133  if (hook->canVetoProcessLevel()) test |= hook->doVetoProcessLevel(event);
134  }
135  return test;
136  }
std::vector< Pythia8::UserHooks * > hooks_
Definition: event.py:1
bool MultiUserHook::doVetoPT ( int  iPos,
const Pythia8::Event &  event 
)
inlineoverride

Definition at line 179 of file MultiUserHook.h.

References hooks_.

179  {
180  for (Pythia8::UserHooks *hook : hooks_) {
181  if (hook->canVetoPT()) return hook->doVetoPT(iPos,event);
182  }
183  return false;
184  }
std::vector< Pythia8::UserHooks * > hooks_
Definition: event.py:1
bool MultiUserHook::doVetoResonanceDecays ( Pythia8::Event &  event)
inlineoverride

Definition at line 149 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

149  {
150  bool test = false;
151  for (Pythia8::UserHooks *hook : hooks_) {
152  if (hook->canVetoResonanceDecays()) test |= hook->doVetoResonanceDecays(event);
153  }
154  return test;
155  }
std::vector< Pythia8::UserHooks * > hooks_
Definition: event.py:1
bool MultiUserHook::doVetoStep ( int  iPos,
int  nISR,
int  nFSR,
const Pythia8::Event &  event 
)
inlineoverride

Definition at line 207 of file MultiUserHook.h.

References hooks_.

207  {
208  for (Pythia8::UserHooks *hook : hooks_) {
209  if (hook->canVetoStep()) return hook->doVetoStep(iPos,nISR,nFSR,event);
210  }
211  return false;
212  }
std::vector< Pythia8::UserHooks * > hooks_
Definition: event.py:1
double MultiUserHook::enhanceFactor ( std::string  str)
inlineoverride

Definition at line 416 of file MultiUserHook.h.

References hooks_.

416  {
417  for (Pythia8::UserHooks *hook : hooks_) {
418  if (hook->canEnhanceEmission() || hook->canEnhanceTrial()) return hook->enhanceFactor(str);
419  }
420  return 1.;
421  };
std::vector< Pythia8::UserHooks * > hooks_
#define str(s)
bool MultiUserHook::initAfterBeams ( )
inlineoverride

Definition at line 16 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

16  {
17  bool test = true;
18  for (Pythia8::UserHooks *hook : hooks_) {
19  hook->initPtr(infoPtr, settingsPtr,
20  particleDataPtr, rndmPtr,
21  beamAPtr, beamBPtr,
22  beamPomAPtr, beamPomBPtr,
23  coupSMPtr, partonSystemsPtr,
24  sigmaTotPtr);
25  test &= hook->initAfterBeams();
26  }
27 
28  //Certain types of hooks can only be handled by one UserHook at a time.
29  //Check for this and return an error if needed
30  int nCanVetoPT = 0;
31  int nCanVetoStep = 0;
32  int nCanVetoMPIStep = 0;
33  int nCanSetResonanceScale = 0;
34  int nCanEnhance = 0;
35  for (Pythia8::UserHooks *hook : hooks_) {
36  if (hook->canVetoPT()) ++nCanVetoPT;
37  if (hook->canVetoStep()) ++nCanVetoStep;
38  if (hook->canVetoMPIStep()) ++nCanVetoMPIStep;
39  if (hook->canSetResonanceScale()) ++nCanSetResonanceScale;
40  if (hook->canEnhanceEmission() || hook->canEnhanceTrial()) ++nCanEnhance;
41  }
42 
43  if (nCanVetoPT>1) {
44  infoPtr->errorMsg("Error in MultiUserHook::initAfterBeams "
45  "multiple UserHooks with canVetoPT() not allowed");
46  test = false;
47  }
48  if (nCanVetoStep>1) {
49  infoPtr->errorMsg("Error in MultiUserHook::initAfterBeams "
50  "multiple UserHooks with canVetoStep() not allowed");
51  test = false;
52  }
53  if (nCanVetoMPIStep>1) {
54  infoPtr->errorMsg("Error in MultiUserHook::initAfterBeams "
55  "multiple UserHooks with canVetoMPIStep() not allowed");
56  test = false;
57  }
58  if (nCanSetResonanceScale>1) {
59  infoPtr->errorMsg("Error in MultiUserHook::initAfterBeams "
60  "multiple UserHooks with canSetResonanceScale() not allowed");
61  test = false;
62  }
63  if (nCanEnhance>1) {
64  infoPtr->errorMsg("Error in MultiUserHook::initAfterBeams "
65  "multiple UserHooks with canEnhanceEmission() or canEnhanceTrial() not allowed");
66  test = false;
67  }
68 
69  return test;
70  }
std::vector< Pythia8::UserHooks * > hooks_
double MultiUserHook::multiplySigmaBy ( const Pythia8::SigmaProcess *  sigmaProcessPtr,
const Pythia8::PhaseSpace *  phaseSpacePtr,
bool  inEvent 
)
inlineoverride

Definition at line 82 of file MultiUserHook.h.

References hooks_.

83  {
84  double factor = 1.;
85  for (Pythia8::UserHooks *hook : hooks_) {
86  if (hook->canModifySigma()) factor *= hook->multiplySigmaBy(sigmaProcessPtr,phaseSpacePtr,inEvent);
87  }
88  return factor;
89  }
std::vector< Pythia8::UserHooks * > hooks_
unsigned int MultiUserHook::nHooks ( ) const
inline

Definition at line 12 of file MultiUserHook.h.

References hooks_.

12 { return hooks_.size(); }
std::vector< Pythia8::UserHooks * > hooks_
int MultiUserHook::numberVetoMPIStep ( )
inlineoverride

Definition at line 225 of file MultiUserHook.h.

References hooks_.

225  {
226  for (Pythia8::UserHooks *hook : hooks_) {
227  if (hook->canVetoMPIStep()) return hook->numberVetoMPIStep();
228  }
229  return 1;
230  };
std::vector< Pythia8::UserHooks * > hooks_
int MultiUserHook::numberVetoStep ( )
inlineoverride

Definition at line 197 of file MultiUserHook.h.

References hooks_.

197  {
198  for (Pythia8::UserHooks *hook : hooks_) {
199  if (hook->canVetoStep()) return hook->numberVetoStep();
200  }
201  return 1;
202  };
std::vector< Pythia8::UserHooks * > hooks_
bool MultiUserHook::retryPartonLevel ( )
inlineoverride

Definition at line 264 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

264  {
265  bool test = false;
266  for (Pythia8::UserHooks *hook : hooks_) {
267  test |= hook->retryPartonLevel();
268  }
269  return test;
270  }
std::vector< Pythia8::UserHooks * > hooks_
double MultiUserHook::scaleResonance ( int  iRes,
const Pythia8::Event &  event 
)
inlineoverride

Definition at line 304 of file MultiUserHook.h.

References hooks_.

304  {
305  for (Pythia8::UserHooks *hook : hooks_) {
306  if (hook->canSetResonanceScale()) return hook->scaleResonance(iRes,event);
307  }
308  return 0.;
309  };
std::vector< Pythia8::UserHooks * > hooks_
Definition: event.py:1
double MultiUserHook::scaleVetoPT ( )
inlineoverride

Definition at line 168 of file MultiUserHook.h.

References hooks_.

168  {
169  for (Pythia8::UserHooks *hook : hooks_) {
170  if (hook->canVetoPT()) return hook->scaleVetoPT();
171  }
172  return 0.;
173  };
std::vector< Pythia8::UserHooks * > hooks_
double MultiUserHook::vetoProbability ( std::string  str)
inlineoverride

Definition at line 423 of file MultiUserHook.h.

References hooks_.

423  {
424  for (Pythia8::UserHooks *hook : hooks_) {
425  if (hook->canEnhanceEmission() || hook->canEnhanceTrial()) return hook->vetoProbability(str);
426  }
427  return 0.;
428  };
std::vector< Pythia8::UserHooks * > hooks_
#define str(s)

Member Data Documentation

std::vector<Pythia8::UserHooks*> MultiUserHook::hooks_
private