[Frost] About momcor.F in eloss correction

Eugene Pasyuk pasyuk at jlab.org
Fri May 14 17:58:38 EDT 2010


Sung,

Great! You found a bug in this function!
Indeed, the way it is written the losses in the air and start counter 
are not accounted for.
Thanks for looking into this!

Brian,

The latest version is not in CVS yet, only you have it. Here is what 
needs to be changed.

After the statement:

	if (icell .eq. 9) then

insert:
	do i=1,3
	po(i) = pi(i)
	enddo

Then, everywhere after that till the end of the function replace "pout" 
with "po" and "pin" with "pi".

Just before RETURN statement insert:

	do i=1,3
	pin(i) = pi(i)
	enddo

-Eugene


On 5/14/10 4:52 PM, Sungkyun Park wrote:
> Hi Eugene,
>
> I have a question in momcor.F of eloss correction.
>
> The following part is the energy loss correction for the air and Start Counter in FROST:
> (There is the momcor.F code part in ###.)
> ###########################################################
>        mate = 8                          ! air
>        ierr = loss(mate, gap, pmass, po, p)
>        do i = 1,3
>           pi(i) = p(i)
>        enddo
>
>        mate = 2                           ! Start Counter scintillator
>        ierr = loss(mate, dist, pmass, pi, p)
>
>        do i = 1,3
>           pi(i) = p(i)
>        enddo
> #############################################################
>
> I know pout is the input 4 vector and pin is the output 4 vector.
> The last variable for the 4 vector in the upper part is pi. That is, eloss calculates the energy loss in the air and Start Counter and save the new 4 vector in the pi. But In the part for FROST,
>
> ###############################################################
>        if (icell .eq. 9) then
>        call FROST(vertex, cdir, L) ! target cell
>        call targets(vertex, cdir, targ) !targets
>
>        flag = 2
>        le = L(17) / 10
>        ierr = loss(flag, le, pmass, pout, pin) ! scattering chamber end
>        do i=1,3
>         pout(i) = pin(i)
>        enddo
>   ###########################################################
>
> eloss use pout as the input 4 vector, not pi.
> I check this pout is the initial 4 vector we give  an eloss program.
>
> We do not need to use the eloss part for air and Start Counter so do we use the pout as the initial variable in the FROST part? or is it incorrect?
>
> Sung
> _______________________________________________
> Frost mailing list
> Frost at jlab.org
> https://mailman.jlab.org/mailman/listinfo/frost


More information about the Frost mailing list