[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