@@ -51,25 +51,23 @@ protected:
5151 {
5252 // GeneratorPythia8::generateEvent();
5353 bool genOk = false;
54- if (mGeneratedEvents % mInverseTriggerRatio == 0 ){ // add injected prompt signals to the stack
55- // bool found = false;
56- std ::cout <<"generating event with injected signals" <<std ::endl ;
57- while (!genOk ){
58- genOk = GeneratorPythia8 ::generateEvent ();
54+ while (!genOk ) {
55+ genOk = GeneratorPythia8 ::generateEvent ();
56+ if (mGeneratedEvents % mInverseTriggerRatio == 0 ) {
57+ std ::cout <<"generating event with injected signals" <<std ::endl ;
5958 bool found = false;
6059 while (!found ) {
6160 mGeneratorParam -> generateEvent ();
6261 mGeneratorParam -> importParticles ();
6362 found = findSignalInAcceptance ();
64- mGeneratorParam -> clearParticles ();
63+ if (!found ) {
64+ mGeneratorParam -> clearParticles ();
65+ }
6566 }
67+ notifySubGenerator (1 );
68+ } else { // gap event
69+ notifySubGenerator (0 );
6670 }
67- notifySubGenerator (1 );
68- } else { // gap event
69- while (!genOk ) {
70- genOk = GeneratorPythia8 ::generateEvent ();
71- }
72- notifySubGenerator (0 );
7371 }
7472 mGeneratedEvents ++ ;
7573 std ::cout <<"generated events: " <<mGeneratedEvents <<std ::endl ;
@@ -82,7 +80,7 @@ protected:
8280
8381 bool genOk = false;
8482 if ((mGeneratedEvents - 1 ) % mInverseTriggerRatio == 0 ){ // add injected prompt signals to the stack
85- mGeneratorParam -> importParticles ();
83+ // mGeneratorParam->importParticles();
8684 int originalSize = mParticles .size ();
8785 std ::cout <<"adding " <<mGeneratorParam -> getParticles ().size ()<<" particles to the stack" <<std ::endl ;
8886 for (int ipart = 0 ; ipart < mGeneratorParam -> getParticles ().size (); ipart ++ ){
@@ -117,15 +115,6 @@ protected:
117115 }
118116 }
119117 }
120- // if (std::find(mSignalsPDGs.begin(), mSignalsPDGs.end(), part.GetPdgCode()) != mSignalsPDGs.end()) {
121- // std::cout<<"found signal with pdg: "<<part.GetPdgCode()<<", mother: "<<part.GetFirstMother()<<std::endl;
122- // if (part.GetFirstMother() == -1) {
123- // std::cout<<"found signal with pdg: "<<part.GetPdgCode()<<", rapidity: "<<part.Y()<<std::endl;
124- // if (part.Y() < mHadronRapidityMin || part.Y() > mHadronRapidityMax) {
125- // return false;
126- // }
127- // }
128- // }
129118 }
130119 std ::cout <<"generated signal in acceptance" <<std ::endl ;
131120 return true;
0 commit comments