Re: BXDRAW runtime error

From: Anna Ferrari <anna.ferrari_at_lnf.infn.it>
Date: Fri, 19 Feb 2010 18:49:54 +0100 (CET)

Dear Olaf,

for your purpose personally I would not touch at all the step size...
I would use a different scoring plane: a XY plane exactly at z=40.,where
your target begins (and not at 39.999, where is now). In this way your two
regions PIPE and VOID are the void before the plane containing the initial
face of the target and the void around the target, after this plane.
I think this choice simplifies a lot the things: it seems to me that at
the boundary crossing between PIPE and VOID you find in this way just the
particles that miss the target, as you want (plus, eventually, events with
particles, that are backscattered a first time from the target and a
second time from one of your detectors...). In this way you can use also
the boundary crossing between PIPE and TARGET to count only these events
that really enter the target...now you don't score only these events.

Hope it helps,

 ciao!

 Anna

> Dear Anna,
>
> thank you very much for your effort.
> In practice those fragments are not of importance, though excluding them
> from the writeout should not hurt.
>
> The entries with z>40cm I've observed, too, in fact this would have been
> my next question. Naively thought the boundary crossing should always
> appear exactly at z=40cm. Actually I'm also interested in those
> particles which missed the target, i.e. continue to travel in vacuum.
> Is it an option/possible to adjust the step size? Or I could redefine
> the regions, the material of the target does not count at this point
> because only the boundary crossing should be counted.
>
> Cheers
> Olaf.
>
>
>
>
>
> On 02/19/2010 04:39 PM, Anna Ferrari wrote:
>> 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!
>>
>> Cheers,
>>
>> Anna
>>
>
>
Received on Sat Feb 20 2010 - 12:07:24 CET

This archive was generated by hypermail 2.2.0 : Sat Feb 20 2010 - 12:07:55 CET