@@ -211,4 +211,43 @@ FairGenerator*
211211 // gen->PrintDebug();
212212
213213 return gen ;
214- }
214+ }
215+ // Predefined generators:
216+ FairGenerator *
217+ GeneratorInclusiveJpsiPsi2SChiC_EvtGenMidY (int triggerGap , double rapidityMin = -1.5 , double rapidityMax = 1.5 , bool verbose = false)
218+ {
219+ auto gen = new o2 ::eventgen ::GeneratorEvtGen < o2 ::eventgen ::GeneratorPythia8HadronTriggeredWithGap > ( );
220+ gen -> setTriggerGap (triggerGap );
221+ gen -> setRapidityRange (rapidityMin , rapidityMax );
222+ gen -> addHadronPDGs (443 );
223+ gen -> addHadronPDGs (100443 );
224+ gen -> addHadronPDGs (445 );
225+ gen -> addHadronPDGs (200443 );
226+ gen -> setVerbose (verbose );
227+
228+ TString pathO2table = gSystem -> ExpandPathName ("${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGDQ/pythia8/decayer/switchOffJpsi.cfg" );
229+ gen -> readFile (pathO2table .Data ());
230+ gen -> setConfigMBdecays (pathO2table );
231+ gen -> PrintDebug (true);
232+
233+ gen -> SetSizePdg (4 );
234+ gen -> AddPdg (443 , 0 );
235+ gen -> AddPdg (100443 , 1 );
236+ gen -> AddPdg (443 , 2 );
237+ gen -> AddPdg (100443 , 3 );
238+
239+ gen -> SetForceDecay (kEvtDiElectron );
240+
241+ // set random seed
242+ gen -> readString ("Random:setSeed on" );
243+ uint random_seed ;
244+ unsigned long long int random_value = 0 ;
245+ ifstream urandom ("/dev/urandom" , ios ::in |ios ::binary );
246+ urandom .read (reinterpret_cast < char * > (& random_value ), sizeof (random_seed ));
247+ gen -> readString (Form ("Random:seed = %llu" , random_value % 900000001 ));
248+
249+ // print debug
250+ // gen->PrintDebug();
251+
252+ return gen ;
253+ }
0 commit comments