Tool that will repeatedly perform time showering on the intial photons from a Higgs decay until at least one is offshell.
More...
#include <HllgamRepeatTimeShower.h>
Tool that will repeatedly perform time showering on the intial photons from a Higgs decay until at least one is offshell.
Definition at line 16 of file HllgamRepeatTimeShower.h.
◆ ~HllgamRepeatTimeShower()
virtual HllgamRepeatTimeShower::~HllgamRepeatTimeShower |
( |
| ) |
|
|
inlinevirtual |
◆ CrossSectionScaleFactor()
double HllgamRepeatTimeShower::CrossSectionScaleFactor |
( |
| ) |
const |
|
overridevirtual |
Return how much the cross section is modified.
Should only be called once all events have been processed
Definition at line 33 of file HllgamRepeatTimeShower.cxx.
36 ATH_MSG_WARNING(
"Are you sure that this code has been called correctly?? " );
◆ finalize()
StatusCode HllgamRepeatTimeShower::finalize |
( |
| ) |
|
|
override |
AlgTool finalize method.
Definition at line 22 of file HllgamRepeatTimeShower.cxx.
24 ATH_MSG_INFO(
"*************************************************************" );
27 ATH_MSG_INFO(
"*************************************************************" );
30 return StatusCode::SUCCESS;
◆ initialize()
StatusCode HllgamRepeatTimeShower::initialize |
( |
| ) |
|
|
override |
AlgTool initialize method.
Definition at line 8 of file HllgamRepeatTimeShower.cxx.
11 ATH_MSG_INFO(
"********************************************************************************" );
12 ATH_MSG_INFO(
"********************************************************************************" );
13 ATH_MSG_INFO(
"*** Will run with repeated time showers of H decay ***" );
14 ATH_MSG_INFO(
"*** N.B. only make sense for gamma gamma decays ***" );
15 ATH_MSG_INFO(
"********************************************************************************" );
16 ATH_MSG_INFO(
"********************************************************************************" );
18 return StatusCode::SUCCESS;
◆ ModifyPythiaEvent()
StatusCode HllgamRepeatTimeShower::ModifyPythiaEvent |
( |
Pythia8::Pythia & |
pythia | ) |
const |
|
override |
Update the pythia event.
Definition at line 43 of file HllgamRepeatTimeShower.cxx.
46 std::vector<int> photons;
50 bool checkEvent =
true;
57 for(
int ii=0; ii !=
event.size(); ++ii){
71 return StatusCode::FAILURE;
74 std::vector<int> daughters =
event[higgsIndex].daughterList();
75 while(daughters.size()==1){
76 daughters=
event[daughters[0]].daughterList();
79 std::vector<int> photons;
81 for(
const auto d: daughters){
87 if(photons.size() < 2){
89 return StatusCode::FAILURE;
92 for(
const auto p: photons){
93 daughters =
event[
p].daughterList();
94 while(daughters.size() == 1){
95 daughters =
event[daughters[0]].daughterList();
98 if(daughters.size() < 2)
continue;
101 for(
const auto d: daughters){
112 pythia.forceTimeShower( photons[0], photons[1], 1000000);
115 if(trials % 1000 == 0 ){
116 ATH_MSG_WARNING(
"Has the decay been setup in Pythia correctly? Possibly stuck in loop so far " << trials <<
" attempts have been made");
119 pythia.forceHadronLevel();
124 return StatusCode::SUCCESS;
◆ m_nPass
unsigned long HllgamRepeatTimeShower::m_nPass {0} |
|
mutableprivate |
◆ m_nVetos
unsigned long HllgamRepeatTimeShower::m_nVetos {0} |
|
mutableprivate |
The documentation for this class was generated from the following files: