ATLAS Offline Software
Loading...
Searching...
No Matches
SettableColourReconnection.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
5#include "Pythia8Plugins/ColourReconnectionHooks.h"
6#include "UserSetting.h"
7
8namespace Pythia8{
9
10 class SettableColourReconnectionBase : public UserHooks{
11
12 public:
13
15
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();
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
44
45 public:
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
66
67 };
68
70 // Top colour reconnection hook
72
73 public:
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
98
99 };
100
101
102}
103
Pythia8_UserHooks::UserHooksFactory::Creator< Pythia8::SettableTopColourReconnection > settableTopColourReconnectionCreator("TopReconUserHooks")
Pythia8_UserHooks::UserHooksFactory::Creator< Pythia8::SettableMBColourReconnection > settableMBColourReconnectionCreator("MBReconUserHooks_Unvalidated")
#define PYTHIA8_INITUSERHOOK_WRAP(A)
bool doReconnectResonanceSystems(int oldSizeEvent, Event &event)
Pythia8_UserHooks::UserSetting< double > m_dLamCutIn
Pythia8_UserHooks::UserSetting< double > m_fracGluonIn
Pythia8_UserHooks::UserSetting< int > m_flipIn
Pythia8_UserHooks::UserSetting< int > m_modeIn
Pythia8_UserHooks::UserSetting< int > m_modeIn
Pythia8_UserHooks::UserSetting< double > m_strengthIn
Author: James Monk (jmonk@cern.ch)