ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Generators
Pythia8_i
src
UserHooks
SettableColourReconnection.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
#include "
Pythia8_i/UserHooksFactory.h
"
5
#include "Pythia8Plugins/ColourReconnectionHooks.h"
6
#include "
UserSetting.h
"
7
8
namespace
Pythia8
{
9
10
class
SettableColourReconnectionBase
:
public
UserHooks{
11
12
public
:
13
14
SettableColourReconnectionBase
() :
m_crHook
(0){}
15
16
virtual
~SettableColourReconnectionBase
(){
17
if
(
m_crHook
!= 0)
delete
m_crHook
;
18
}
19
20
// Allow colour reconnection after resonance decays (early or late)...
21
bool
canReconnectResonanceSystems
() {
return
true
;}
22
23
bool
doReconnectResonanceSystems
(
int
oldSizeEvent,
Event
& event) {
24
25
if
(
m_crHook
== 0){
26
_init
();
27
PYTHIA8_INITUSERHOOK_WRAP
(
m_crHook
);
28
29
}
30
return
m_crHook
->doReconnectResonanceSystems(oldSizeEvent, event);
31
}
32
33
protected
:
34
35
virtual
void
_init
() = 0;
36
37
UserHooks *
m_crHook
;
38
39
40
};
41
42
// Minimum bias colour reconnection hook
43
class
SettableMBColourReconnection
:
public
SettableColourReconnectionBase
{
44
45
public
:
46
SettableMBColourReconnection
() :
SettableColourReconnectionBase
(),
47
m_modeIn
(
"MBReconnection:Mode"
, 0),
48
m_flipIn
(
"MBReconnection:Flip"
, 0),
49
m_dLamCutIn
(
"MBReconnection:DeltaLambda"
, 0.),
50
m_fracGluonIn
(
"MBReconnection:GluonFraction"
, 1.){}
51
52
protected
:
53
54
void
_init
(){
55
if
(
m_crHook
!= 0)
return
;
56
m_crHook
=
new
MBReconUserHooks(
m_modeIn
(settingsPtr),
m_flipIn
(settingsPtr),
m_dLamCutIn
(settingsPtr),
m_fracGluonIn
(settingsPtr));
57
return
;
58
}
59
60
private
:
61
62
Pythia8_UserHooks::UserSetting<int>
m_modeIn
;
63
Pythia8_UserHooks::UserSetting<int>
m_flipIn
;
64
Pythia8_UserHooks::UserSetting<double>
m_dLamCutIn
;
65
Pythia8_UserHooks::UserSetting<double>
m_fracGluonIn
;
66
67
};
68
70
// Top colour reconnection hook
71
class
SettableTopColourReconnection
:
public
SettableColourReconnectionBase
{
72
73
public
:
74
SettableTopColourReconnection
() :
SettableColourReconnectionBase
(),
75
m_modeIn
(
"TopReconnection:Mode"
, 0),
76
m_strengthIn
(
"TopReconnection:Strength"
, 1){
77
std::cout <<
"**********************************************************"
<< std::endl;
78
std::cout <<
"* *"
<< std::endl;
79
std::cout <<
"* Using TopReconUserHooks *"
<< std::endl;
80
std::cout <<
"* See first ATHENA implementation study here: *"
<< std::endl;
81
std::cout <<
"* https://its.cern.ch/jira/browse/ATLMCPROD-9367 *"
<< std::endl;
82
std::cout <<
"* *"
<< std::endl;
83
std::cout <<
"**********************************************************"
<< std::endl;
84
}
85
86
protected
:
87
88
void
_init
(){
89
if
(
m_crHook
!= 0)
return
;
90
m_crHook
=
new
TopReconUserHooks(
m_modeIn
(settingsPtr),
m_strengthIn
(settingsPtr));
91
return
;
92
}
93
94
private
:
95
96
Pythia8_UserHooks::UserSetting<int>
m_modeIn
;
97
Pythia8_UserHooks::UserSetting<double>
m_strengthIn
;
98
99
};
100
101
102
}
103
104
Pythia8_UserHooks::UserHooksFactory::Creator<Pythia8::SettableMBColourReconnection>
settableMBColourReconnectionCreator
(
"MBReconUserHooks_Unvalidated"
);
105
Pythia8_UserHooks::UserHooksFactory::Creator<Pythia8::SettableTopColourReconnection>
settableTopColourReconnectionCreator
(
"TopReconUserHooks"
);
settableTopColourReconnectionCreator
Pythia8_UserHooks::UserHooksFactory::Creator< Pythia8::SettableTopColourReconnection > settableTopColourReconnectionCreator("TopReconUserHooks")
settableMBColourReconnectionCreator
Pythia8_UserHooks::UserHooksFactory::Creator< Pythia8::SettableMBColourReconnection > settableMBColourReconnectionCreator("MBReconUserHooks_Unvalidated")
UserHooksFactory.h
PYTHIA8_INITUSERHOOK_WRAP
#define PYTHIA8_INITUSERHOOK_WRAP(A)
Definition
UserHooksFactory.h:15
UserSetting.h
Pythia8::SettableColourReconnectionBase::canReconnectResonanceSystems
bool canReconnectResonanceSystems()
Definition
SettableColourReconnection.cxx:21
Pythia8::SettableColourReconnectionBase::m_crHook
UserHooks * m_crHook
Definition
SettableColourReconnection.cxx:37
Pythia8::SettableColourReconnectionBase::SettableColourReconnectionBase
SettableColourReconnectionBase()
Definition
SettableColourReconnection.cxx:14
Pythia8::SettableColourReconnectionBase::doReconnectResonanceSystems
bool doReconnectResonanceSystems(int oldSizeEvent, Event &event)
Definition
SettableColourReconnection.cxx:23
Pythia8::SettableColourReconnectionBase::~SettableColourReconnectionBase
virtual ~SettableColourReconnectionBase()
Definition
SettableColourReconnection.cxx:16
Pythia8::SettableColourReconnectionBase::_init
virtual void _init()=0
Pythia8::SettableMBColourReconnection::m_dLamCutIn
Pythia8_UserHooks::UserSetting< double > m_dLamCutIn
Definition
SettableColourReconnection.cxx:64
Pythia8::SettableMBColourReconnection::SettableMBColourReconnection
SettableMBColourReconnection()
Definition
SettableColourReconnection.cxx:46
Pythia8::SettableMBColourReconnection::m_fracGluonIn
Pythia8_UserHooks::UserSetting< double > m_fracGluonIn
Definition
SettableColourReconnection.cxx:65
Pythia8::SettableMBColourReconnection::m_flipIn
Pythia8_UserHooks::UserSetting< int > m_flipIn
Definition
SettableColourReconnection.cxx:63
Pythia8::SettableMBColourReconnection::m_modeIn
Pythia8_UserHooks::UserSetting< int > m_modeIn
Definition
SettableColourReconnection.cxx:62
Pythia8::SettableMBColourReconnection::_init
void _init()
Definition
SettableColourReconnection.cxx:54
Pythia8::SettableTopColourReconnection::SettableTopColourReconnection
SettableTopColourReconnection()
Definition
SettableColourReconnection.cxx:74
Pythia8::SettableTopColourReconnection::m_modeIn
Pythia8_UserHooks::UserSetting< int > m_modeIn
Definition
SettableColourReconnection.cxx:96
Pythia8::SettableTopColourReconnection::m_strengthIn
Pythia8_UserHooks::UserSetting< double > m_strengthIn
Definition
SettableColourReconnection.cxx:97
Pythia8::SettableTopColourReconnection::_init
void _init()
Definition
SettableColourReconnection.cxx:88
Pythia8_UserHooks::UserHooksFactory::Creator
Definition
UserHooksFactory.h:54
Pythia8_UserHooks::UserSetting
Definition
UserSetting.h:17
Pythia8
Author: James Monk (jmonk@cern.ch).
Definition
IPythia8Custom.h:10
Event
Definition
trigbs_orderedMerge.cxx:42
Generated on
for ATLAS Offline Software by
1.17.0