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, const Pythia8::StringEnd *SE) override
 
bool doReconnectResonanceSystems (int oldSizeEvt, Pythia8::Event &event) override
 
bool doVetoFragmentation (Pythia8::Particle part, const Pythia8::StringEnd *SE) 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
 
std::vector< Pythia8::UserHooks * > hooks () const
 
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 6 of file MultiUserHook.h.

Constructor & Destructor Documentation

MultiUserHook::MultiUserHook ( )
inline

Definition at line 11 of file MultiUserHook.h.

11 {}

Member Function Documentation

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

Definition at line 15 of file MultiUserHook.h.

References hooks_.

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

Definition at line 113 of file MultiUserHook.h.

References hooks_.

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

Definition at line 103 of file MultiUserHook.h.

References hooks_.

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

Definition at line 94 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 433 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 400 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 410 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 75 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 378 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 294 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 335 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 314 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 358 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 218 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 275 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 245 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 122 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 161 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 141 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 190 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

190  {
191  bool test = false;
192  for (Pythia8::UserHooks *hook : hooks_) {
193  test |= hook->canVetoStep();
194  }
195  return test;
196  }
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,
const Pythia8::StringEnd *  SE 
)
inlineoverride

Definition at line 443 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 391 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 453 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

453  {
454  bool test = false;
455  for (Pythia8::UserHooks *hook : hooks_) {
456  if (hook->canChangeFragPar()) test |= hook->doVetoFragmentation(part, SE);
457  }
458  return test;
459  }
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 349 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 326 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 369 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 236 of file MultiUserHook.h.

References hooks_.

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

Definition at line 285 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 255 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 132 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 181 of file MultiUserHook.h.

References hooks_.

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

Definition at line 151 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

151  {
152  bool test = false;
153  for (Pythia8::UserHooks *hook : hooks_) {
154  if (hook->canVetoResonanceDecays()) test |= hook->doVetoResonanceDecays(event);
155  }
156  return test;
157  }
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 209 of file MultiUserHook.h.

References hooks_.

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

Definition at line 418 of file MultiUserHook.h.

References hooks_.

418  {
419  for (Pythia8::UserHooks *hook : hooks_) {
420  if (hook->canEnhanceEmission() || hook->canEnhanceTrial()) return hook->enhanceFactor(str);
421  }
422  return 1.;
423  };
std::vector< Pythia8::UserHooks * > hooks_
#define str(s)
std::vector<Pythia8::UserHooks*> MultiUserHook::hooks ( ) const
inline

Definition at line 13 of file MultiUserHook.h.

References hooks_.

13 { return hooks_; }
std::vector< Pythia8::UserHooks * > hooks_
bool MultiUserHook::initAfterBeams ( )
inlineoverride

Definition at line 18 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 84 of file MultiUserHook.h.

References hooks_.

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

Definition at line 14 of file MultiUserHook.h.

References hooks_.

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

Definition at line 227 of file MultiUserHook.h.

References hooks_.

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

Definition at line 199 of file MultiUserHook.h.

References hooks_.

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

Definition at line 266 of file MultiUserHook.h.

References hooks_, and PFTauMVAInputDiscriminatorTranslator_cfi::test.

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

Definition at line 306 of file MultiUserHook.h.

References hooks_.

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

Definition at line 170 of file MultiUserHook.h.

References hooks_.

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

Definition at line 425 of file MultiUserHook.h.

References hooks_.

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

Member Data Documentation

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