ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
Pythia8::SuppressMPI Class Reference
Inheritance diagram for Pythia8::SuppressMPI:
Collaboration diagram for Pythia8::SuppressMPI:

Public Member Functions

 SuppressMPI ()
 
 ~SuppressMPI ()
 
bool doVetoMPIStep (int nMPI, const Event &event)
 
bool canVetoMPIStep ()
 Switch on calling of doVetoMPIStep. More...
 
int numberVetoMPIStep ()
 Call doVetoMIStep three times First is the hard process second is first MPI emission or the second part of a double diffractive event or the second hard process if there is on. More...
 
bool canVetoISREmission ()
 Switch on veto of ISR. More...
 
bool canVetoFSREmission ()
 Switch off veto of FSR. More...
 

Private Attributes

Pythia8_UserHooks::UserSetting< double > m_pTCut
 
int m_nMPIVeto
 

Detailed Description

Definition at line 19 of file SuppressMPI.cxx.

Constructor & Destructor Documentation

◆ SuppressMPI()

Pythia8::SuppressMPI::SuppressMPI ( )
inline

Definition at line 23 of file SuppressMPI.cxx.

23  :
24  m_pTCut("SuppressMPI:PTCut", 10.), m_nMPIVeto(3){
25 
26  std::cout<<"************************************************************"<<std::endl;
27  std::cout<<"* *"<<std::endl;
28  std::cout<<"* Suppressing MPI emissions with UserHook! *"<<std::endl;
29  std::cout<<"* *"<<std::endl;
30  std::cout<<"************************************************************"<<std::endl;
31 
32  }

◆ ~SuppressMPI()

Pythia8::SuppressMPI::~SuppressMPI ( )
inline

Definition at line 34 of file SuppressMPI.cxx.

34 {}

Member Function Documentation

◆ canVetoFSREmission()

bool Pythia8::SuppressMPI::canVetoFSREmission ( )
inline

Switch off veto of FSR.

Definition at line 73 of file SuppressMPI.cxx.

73 {return false;}

◆ canVetoISREmission()

bool Pythia8::SuppressMPI::canVetoISREmission ( )
inline

Switch on veto of ISR.

Definition at line 71 of file SuppressMPI.cxx.

71 {return false;}

◆ canVetoMPIStep()

bool Pythia8::SuppressMPI::canVetoMPIStep ( )
inline

Switch on calling of doVetoMPIStep.

Definition at line 60 of file SuppressMPI.cxx.

60 {return true;}

◆ doVetoMPIStep()

bool Pythia8::SuppressMPI::doVetoMPIStep ( int  nMPI,
const Event event 
)
inline

Definition at line 36 of file SuppressMPI.cxx.

36  {
37 
38  // MPI 1 is the hard process. We do not veto that!
39  if(nMPI < 2){
40  return false;
41  }
42 
43  // start at the end of the event record and work back
44  // This is prior to showering, so there should be at most 2 new MPI emissions
45  // event[0] is documentation, so stop before that.
46  size_t nEmissions=0;
47  for(int ii=event.size()-1; ii > 0 && nEmissions != 2; --ii){
48  if(event[ii].status() != 33) continue;
49  if(event[ii].pT() > m_pTCut(settingsPtr)){
50  return true;
51  }
52 
53  ++nEmissions;
54  }
55 
56  return false;
57  }

◆ numberVetoMPIStep()

int Pythia8::SuppressMPI::numberVetoMPIStep ( )
inline

Call doVetoMIStep three times First is the hard process second is first MPI emission or the second part of a double diffractive event or the second hard process if there is on.

Therefore check up to 3

Definition at line 69 of file SuppressMPI.cxx.

69 {return m_nMPIVeto;}

Member Data Documentation

◆ m_nMPIVeto

int Pythia8::SuppressMPI::m_nMPIVeto
private

Definition at line 79 of file SuppressMPI.cxx.

◆ m_pTCut

Pythia8_UserHooks::UserSetting<double> Pythia8::SuppressMPI::m_pTCut
private

Definition at line 77 of file SuppressMPI.cxx.


The documentation for this class was generated from the following file:
CalculateHighPtTerm.pT
pT
Definition: ICHEP2016/CalculateHighPtTerm.py:57
event
POOL::TEvent event(POOL::TEvent::kClassAccess)
Pythia8::SuppressMPI::m_nMPIVeto
int m_nMPIVeto
Definition: SuppressMPI.cxx:79
Pythia8::SuppressMPI::m_pTCut
Pythia8_UserHooks::UserSetting< double > m_pTCut
Definition: SuppressMPI.cxx:77
merge.status
status
Definition: merge.py:17