Re: BXDRAW runtime error

From: Anna Ferrari <>
Date: Fri, 19 Feb 2010 16:39:56 +0100 (CET)

Ciao Olaf,

with your user routines (that I used in a simplified way, without filling
ntuples and without root) I could finally reproduce your crash.
It seems to me that this happen when in your BXDRAW entry you want to
store the informations about the first fragment heavier then alpha, that
crosses your boundary crossing. For this event, that is normally processed
if I don't ask about any AM(Jtrack) information, I read:

  Icode, Jtrack, Etrack = 49, -8, 5.61523894

I obtain a crash simply asking for a print of Am(Jtrack) in BXDRAW. Since
you need the Am(Jtrack) value in your BXDRAW entry, you experience the
crash. The reason is that the infos about heavy fragments produced are
stored in a special stack, you don't find it in the common TRACKR.

Suggestions (maybe somebody more experienced then me can better comment):
- to store all the informations about particles, that are NOT heavy ions,
you can cure the problem simply requiring (Jtrack.GE.-6) before all your
conditions on the energy and on the rest mass of the particles, and before
filling your ntuple (I tried and it runs without problems, at least
for 10^6 events);
- on the other hand, if you are intersted to save infos about the
fragments heavier then alpha, you have to access the common FHEAVY: there
you find for example the variables (I read in the common) Amheav and
Amnhea, respectively for the atomic and the nuclear mass of the fragment
(along with the other characteristics of the ion).

I would like, also, to bring your attention on another point.
I'm not sure that your scoring surface (the plane just before the target)
is doing always what you really want. Looking at some variables, that I
printed at your boundary crossing, I saw that in some case you have
particles with Zsco>40 (I put in attachment just an example). This means
(somebody more experienced then me can correct me, please!) that the step
in the tracking, that is needed to cross the boundary, is greater then the
distance between the scoring surface (at z=39.999) and the plane, that is
parallel to the initial face of the target (at z=40.). Since you score
between the two regions, that you call PIPE and VOID (and this last does
not contain your cylindrical target), it seems to me that in this way you
don't save all these events (many of them are muons), where the step
needed to cross the boundary is larger then the distance defined above and
the arrival point is inside the target....

that's all for the moment!



> Ciao Anna,
> yes, you're right, I confused bodies and regions at this point (PIPE
> should finish at this XYP and targt is beyond ...).
> However, the crash still appears at the very same event even with the
> region definition of PIPE you proposed.
> Bye

Received on Fri Feb 19 2010 - 18:07:10 CET

This archive was generated by hypermail 2.2.0 : Fri Feb 19 2010 - 18:07:10 CET