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;
24 ATH_MSG_INFO(
"*************************************************************" );
27 ATH_MSG_INFO(
"*************************************************************" );
30 return StatusCode::SUCCESS;
36 ATH_MSG_WARNING(
"Are you sure that this code has been called correctly?? " );
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;