[Halld-offline] problem with spread of values for particle gun

Beni Zihlmann zihlmann at jlab.org
Tue Mar 22 08:39:36 EDT 2011


Hi Kei,
the behavior you see is actually a FORTRAN thing. Any number without a 
decimal point is viewed
as an integer in FORTRAN. Therefore any FORTRAN programmer early on 
learned to put a decimal
point on any number he intends to be non integer. ;-)

cheers,
Beni
> Dear Richard,
>
> Thank you for the various tips. Although this
> behavior is quite baffling, it is good to know
> that there are experts available.
>
> Cheers,
> 	Kei
>
> (3/21/11 3:18 PM), Richard Jones wrote:
>> Kei,
>>
>> Another one of those follies from FFREAD that I recently re-learned is that it matters how
>> many letters you put in the leading word in the lines of control.in.  If the full command
>> name is more than 4 characters then any string of 4 or more characters that coincides with
>> the name works.  For example, any of the following cards will work for the INFILE command:
>>
>>      * INFI   'rhop.hddm'<--<<  ok
>>      * INFIL 'rhop.hddm'<--<<  ok
>>      * INFILE 'rhop.hddm'<--<<  ok
>>
>>
>> HOWEVER, if the specification is a shortened form, then spelling out the complete word
>> fails.  For example, the command for debug output is spelled DEBU (without the G).   The
>> first one below works, while the second one is silently ignored.
>>
>>      * DEBU   1 10 1000<--<<  ok
>>      * DEBUG 1 10 1000<--<<  bad form
>>
>> Just thought you might like to know.
>>
>> -Richard J.
>>
>>
>>
>> On 3/21/2011 2:43 PM, Kei Moriya wrote:
>>> Dear offliners,
>>>
>>> I wanted to let you know that there is a little bug
>>> when generating particles with a spread in
>>> momentum and angle with the particle gun.
>>>
>>> When generating events with the particle gun,
>>> I specify the central value of p, theta, and phi,
>>> along with the full width of each value.
>>> What I have noticed is that if I specify for
>>> example
>>> c   particle  momentum  theta  phi  delta_momentum delta_theta delta_phi
>>> KINE   114      5.0       30.   0.      0.5              30        360.
>>>
>>> which means generate protons(offset=100+PID=14) with
>>> p = 5.0 +/- 5
>>> theta = 30 +/- 15
>>> phi = 0 +/- 180.
>>>
>>> What I have noticed is that the decimal point for
>>> the momentum values are essential, since without
>>> the decimal point, the spread becomes 0!
>>> I assume this is a simple bug of taking the value
>>> as an int instead of a float.
>>>
>>> The plot attachd show the difference when
>>> a "." is added to delta_momentum so that the
>>> top plot (with decimal point) has a full width
>>> of 5 (2.5<p<7.5), while the bottom (without decimal
>>> point) has no width.
>>>
>>> I assume the place to correct this is within
>>> gukine.F in sim-recon/sim-recon/src/programs/Simulations/HDGeant/
>>> but I'll let the experts fix this so I don't
>>> break anything.
>>>
>>> One thing that comes as a consequence of this is that
>>> the plots I showed last week had theta exactly
>>> at 0.25,0.75,1.25, ... degrees, and NO spread.
>>> I'm not sure how many other people are using the
>>> particle gun, but you may want to check that you
>>> are actually getting a spread in your values.
>>>
>>> 	Kei
>>>
>>
>>
>> _______________________________________________
>> Halld-offline mailing list
>> Halld-offline at jlab.org
>> https://mailman.jlab.org/mailman/listinfo/halld-offline
> _______________________________________________
> Halld-offline mailing list
> Halld-offline at jlab.org
> https://mailman.jlab.org/mailman/listinfo/halld-offline



More information about the Halld-offline mailing list