Hi Rooters,
I am using Root 3.01.03 on a Debian machine. I just started using
TGenPhaseSpace to generate some events. I thought I was doing it
correctly but perhaps not.
I want to generate gamma p -> p pi+ pi-, flat in phase space. No
other physics. So I run...
target.SetXYZM(0.0, 0.0, 0.0, 0.938);
beam.SetXYZT(0.0, 0.0, .65, .65);
W = beam + target;
masses[0] = 0.938;
masses[1] = 0.139;
masses[2] = 0.139;
if (event.SetDecay(W, 3, masses)) cout << "This is a possible event"
<< endl;
////// loop over events
weight = event.Generate();
pProton = event.GetDecay(0);
pPip = event.GetDecay(1);
pPim = event.GetDecay(2);
*pPPip = *pProton + *pPip;
*pPPim = *pProton + *pPim;
*pPipPim = *pPip + *pPim;
Where pProton, pPPip and such are pointers to TLorentzVectors
representing the final state particles and other mass combinations as
shown.
It all seems to work admirably. However, when I look at Dalitz plots
involving the final state particles, for example p pi- vs. p pi+, the
plot does not seem quite uniformly populates. At the edges I seem to see
some sort accumulation. I don't think I've turned on any physics that
would lead to this, have I? Shouldn't the plot be completely flat? Am
I using the program properly? Or is this a mistake in my understanding
of the physics? Any help is greatly appreciated.
Matt Bellis
RPI
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:51 MET