ATLAS Offline Software
Generators
Pythia8_i
src
Pythia8Custom
CheckForFinalPartons.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
CheckForFinalPartons.h
"
6
7
8
StatusCode
CheckForFinalPartons::ModifyPythiaEvent
(
Pythia8::Pythia
&pythia)
const
{
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
18
if
(
m_nFailures
>
m_maxFailures
){
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
}
26
27
28
bool
CheckForFinalPartons::acceptEvent
(
Pythia8::Event
&
event
)
const
{
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
}
40
CheckForFinalPartons::ModifyPythiaEvent
StatusCode ModifyPythiaEvent(Pythia8::Pythia &pythia) const override
Definition:
CheckForFinalPartons.cxx:8
JiveXML::Event
struct Event_t Event
Definition:
ONCRPCServer.h:65
bTosllAli.Pythia
Pythia
Definition:
bTosllAli.py:46
CheckForFinalPartons::acceptEvent
bool acceptEvent(Pythia8::Event &event) const
Definition:
CheckForFinalPartons.cxx:28
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition:
AthMsgStreamMacros.h:33
event
POOL::TEvent event(POOL::TEvent::kClassAccess)
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CheckForFinalPartons::m_maxFailures
Gaudi::Property< int > m_maxFailures
Definition:
CheckForFinalPartons.h:24
CheckForFinalPartons.h
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition:
AthMsgStreamMacros.h:32
merge.status
status
Definition:
merge.py:16
CheckForFinalPartons::m_nFailures
int m_nFailures
Definition:
CheckForFinalPartons.h:25
Generated on Tue Sep 2 2025 21:08:33 for ATLAS Offline Software by
1.8.18