ATLAS Offline Software
Loading...
Searching...
No Matches
CheckForFinalPartons Class Reference

#include <CheckForFinalPartons.h>

Inheritance diagram for CheckForFinalPartons:
Collaboration diagram for CheckForFinalPartons:

Public Member Functions

StatusCode ModifyPythiaEvent (Pythia8::Pythia &pythia) const override

Private Member Functions

bool acceptEvent (Pythia8::Event &event) const

Private Attributes

Gaudi::Property< int > m_maxFailures {this, "MaxFailures", 5}
int m_nFailures {0}

Detailed Description

Definition at line 13 of file CheckForFinalPartons.h.

Member Function Documentation

◆ acceptEvent()

bool CheckForFinalPartons::acceptEvent ( Pythia8::Event & event) const
private

Definition at line 28 of file CheckForFinalPartons.cxx.

28 {
29
30 for(int ii=0; ii != event.size(); ++ii){
31
32 if(!event[ii].isFinal()) continue;
33
34 if(abs(event[ii].id()) < 7 || event[ii].id() == 21 ) return false;
35
36 }
37
38 return true;
39}

◆ ModifyPythiaEvent()

StatusCode CheckForFinalPartons::ModifyPythiaEvent ( Pythia8::Pythia & pythia) const
override

Definition at line 8 of file CheckForFinalPartons.cxx.

8 {
9
10 bool status = true;
11 while( !(acceptEvent(pythia.event) && status) && m_nFailures <= m_maxFailures ){
12 status = pythia.next();
13 ++ m_nFailures;
14 ATH_MSG_WARNING("Event rejected due to unhadronised partons");
15 ATH_MSG_WARNING("Events rejected so far: "<<m_nFailures<< " (limit "<<m_maxFailures<<")");
16 }
17
19 ATH_MSG_ERROR("Too many failures due to unhadronised partons in a single job.");
20 ATH_MSG_ERROR("Maximum allowed failures per job = " << m_maxFailures);
21 return StatusCode::FAILURE;
22 }
23
24 return StatusCode::SUCCESS;
25}
#define ATH_MSG_ERROR(x)
#define ATH_MSG_WARNING(x)
bool acceptEvent(Pythia8::Event &event) const
Gaudi::Property< int > m_maxFailures
status
Definition merge.py:16

Member Data Documentation

◆ m_maxFailures

Gaudi::Property<int> CheckForFinalPartons::m_maxFailures {this, "MaxFailures", 5}
private

Definition at line 24 of file CheckForFinalPartons.h.

24{this, "MaxFailures", 5};

◆ m_nFailures

int CheckForFinalPartons::m_nFailures {0}
mutableprivate

Definition at line 25 of file CheckForFinalPartons.h.

25{0};

The documentation for this class was generated from the following files: