GSI Helmholtzzentrum für Schwerionenforschung
Hi, For my ppbar->X(3872)->J/Psi pi+pi- I want to use some decay models from EvtGen. In order to do this I added the following line to evt.pdl add p Meson X3872 59 3.872 0.0001 1.0 0 2 0 0 and made some changes to my decay file. When I now run a simulation I get lines like these from the monte carlo. EvtGen:prob > probmax:(0.11882>0.08)(VVPIPI) X3872 -> J/psi pi+ pi- But all events seem to be propageted by Geant. Could someone tell me what this warning means and what I am doing wrong. Cheers, Tobias
Is there already an answer to this question? I would also like to know what it means. I simulate the X (3872) as a psi(2S) and get a similar message: EvtGen:prob > probmax:(0.252647>0.08)(VVPIPI) psi(2S) -> J/psi pi+ pi-
Hi, inside Panda we don't have such knowledge about EvtGen, the question should be asked directly to EvtGen developers. Meanwhile, I can give you my personal idea about. There are some models where the cross section has some divergence, i.e. rutherford cross section. In order to avoid such divergence, you put in EvtGen model a a cut on maximum probability. If the random prob value is higher, then the event is discarded... more or less the same things which happens to dpm when you set the minimum theta angle. In phase space this message never appears because you don't set this probmax value. Then, if i were in you, I should not be worried about if they are not very frequent, it is only a warning from the model itself and you did nothing wrong. A more detailed answer can be found only reading EvtGen documentation/code or asking to the authors.
Thank you Stefano, I get the message in 325 out of 500 simulated events. So, I would say, it occurs quite frequently. I have skimmed the documentation and could not find any reference to that output. Looking at the EvtGen source code I found the following method in trunk/pgenerators/EvtGen/EvtGenBase/EvtDecayBase.cc which I believe is responsible for the output: double EvtDecayBase::getProbMax( double prob ) { int i; //diagnostics sum_prob+=prob; if (prob>max_prob) max_prob=prob; if ( defaultprobmax && ntimes_prob<=500 ) { //We are building up probmax with this iteration ntimes_prob += 1; if ( prob > probmax ) { probmax = prob;} if (ntimes_prob==500) { probmax*=1.2; } return 1000000.0*prob; } if ( prob> probmax*1.0001) { report(INFO,"EvtGen") << "prob > probmax:("<<prob<<">"<<probmax<<")"; report(INFO,"") << "("<<_modelname.c_str()<<") "; report(INFO,"") << EvtPDL::name(_parent).c_str()<<" -> "; for(i=0;i<_ndaug;i++){ report(INFO,"") << EvtPDL::name(_daug[i]).c_str() << " "; } report(INFO,"") << endl; if (defaultprobmax) probmax = prob; } ntimes_prob += 1; return probmax; } //getProbMax The purpose and meaning of this output looks rather cryptic to me. The corresponding header file only adds the following information: Quote: //Methods to set the maximum probability. Is there a forum specifically for EvtGen? (I only found this website: http://evtgen.warwick.ac.uk/cms/contact ) Or should I write an email to the authors?
Hi, in reality we are not using Warwick evtgen, we are using the "original" one, under this link you can find the mail of the original authors, even if I am not sure if the mail address will work. Maybe we should move to the Warwick evtgen, but somebody should follow such thing and currently no one is doing it.
I have just received an answer by Anders Ryd (one of the original authors of EvtGen). It seems that Stefano was right all along and the event is discarded in favor of another one with a different kinematic configuration. Here is the email reply I got: Quote: Dear Martin, you should not ignore these messages; it means that the calculated probability for the decay is larger than the maximum assumed for this process. The effect of ignoring this is that the most likely kinematic configurations will be underrepresented in your sample. The maximum probability (0.08) is calculated assuming the psi(2S) mass. When you decay that X(3872) the probabilities can be larger. You should adjust the maximum probability accordingly. The maximum probability is set in the method: void EvtVVpipi::initProbMax() { //Hard coded... should not be hard to calculate... setProbMax(0.08); } (As you can see from the comment it would be desirable to calculate the correct maximum probability, but this was never implemented. Maybe you would feel motivated to do this?) -Anders
Very nice that they are continuing to answer... Do you feel enough motivated to do what suggested?
I was very pleased as well that they replied. :) With instructions of Anders Ryd I was able to adapt the decay model. As I do not have a very deep understanding of the algorithm used to simulate the physics of this specific decay, I have just translated the verbal instructions given to me into EvtGen code. The code seems to work and gives for the decay of \psi(2S) a similar value as the hard coded one used before: With the \psi(2S) mass of 3.68596 GeV in evt.pdl, I get a ProbMax of 0.0724191 (which looks reasonably close to the 0.08 which was hard-coded there before) and with a mass of 3.872 GeV the result is 0.273432. Anders suggested I should submit the changes to the maintainers of the EvtGen code at Warwick who I have just contacted via email in order to tell them about the changes and hear their opinion. If everything is fine, I would like to ask Björn to submit the changes to svn.
Good, then let's wait what the Warwick team will say. Are the warnings disappearing with such change, or are them less frequent?
I have simulated 10 000 events each of \psi(2S) -> J/\psi \pi^+ \pi^- with PndEvtGenDirect and here are the counts of the "prob > probmax" warnings I get: mass of psi(2S) & VVPiPi ProbMax & # of "prob > probmax" messages 3.872 GeV & new code & 0 3.872 GeV & old code & 6111 3.68596 GeV & new code & 0 3.68596 GeV & old code & 0 (Sorry, I don't know how to properly format this.) To sum up: With the old code (hard-coded value of 0.08 for ProbMax in VVPiPi) I get no warnings for the psi(2S) having its regular mass of 3.68596 GeV. I also do not get any warnings with the code that I have written. When I change the psi(2S) mass to 3.872 GeV, I get warnings in 6111 out of 10 000 events with the old code. All warnings disappear with the new code. As an aside: I also tried to just hard-code a higher value for ProbMax (I chose 0.8) and when I ran the simulations, all warnings disappeared as well. However, I am not sure of the effect this value might have on the output of EvtGen. I am still waiting for my email to be answered by the Warwick group.
I have just received an answer to my Email that I sent to the Warwick team. They believe that the VVPiPi decay model should work fine with the changes. However, they will evaluate if they find a method for setting the ProbMax value which is general enough to apply to other decay models as well. Quote: Dear Martin. Thanks for this information, we will cross-check and see whether this is best option to proceed or whether we find better way. One of the issues is that proper setting of maximum probability is not bound to VVPIPI model, but it appears on many other places, so we want to look for solution which is general and and solid for all models. What you did for now should be fine for your purposes (as long as you do not get error message again). Regards, Michal