2 #include "chookHybAS.f" 3 #include "ctemplCeren.f" 4 #if defined (KEKB) || defined (KEKA) 16 #include "Zmanagerp.h" 26 write(0,*)
'rank=',
mpirank,
' time start=',etime1
34 if(mpirank .le. 0)
then 64 write(msg, *)
'Skeleton is judged at obs.pos=',
Where 66 write(msg, *)
' Ngmin=',ngmin,
67 *
' SumEGmin=',sumegmin/1000.,
'TeV' 69 write(msg, *)
' Nhmin=',nhmin,
70 *
' SumEHmin=',sumehmin/1000.,
'TeV' 74 inquire(file=mskel(1:klena(mskel)), opened=opn, exist=ex)
77 call cerrormsg(
' already opened: starange', 0)
79 * append(1:klena(append)) .eq.
'append' )
then 80 open(mdev, file=mskel, form=
'unformatted',status=
'old')
81 call cerrormsg(
'skeleton node info. will be appended', 1)
88 * append(1:klena(append)) .ne.
'append' )
then 90 *
'Old skeleton node info. file exists', 1)
92 *
'but node info. will NOT be appended', 1)
94 open(mdev, file=mskel(1:klena(mskel)), form=
'unformatted',
100 open(wdev, file=wskel(1:klena(wskel)), form=
'unformatted',
115 #include "Zprivate.h" 126 type(
track)::incident
133 real*8 svEasWait, svEthin(4), kepn
138 kepn = incident.
p.fm.
p(4)
142 ethresh = kepn * waitratio
145 svethin(1) = ethin(1)
146 svethin(2) = ethin(2)
147 svethin(3) = ethin(3)
148 svethin(4) = ethin(4)
149 call csetemin(generate2, keminobs2(1), cutneg, cuteg)
151 ethin(1) = svethin(1)
152 ethin(2) = svethin(2)
153 ethin(3) = svethin(3)
154 ethin(4) = svethin(4)
160 eventno = eventno + 1
163 * sngl(obssites(i).pos.
depth),
172 1000
format(f10.3,i9,3i4,e15.5,3(1
x,f12.8))
194 #include "Zprivate.h" 206 common /testcos/sumg,
ng(20),
nth, eventno
208 integer ng, nth, EventNo
211 if( id .eq. 2 .and. atrack.
p.
code .ne.
kneumu .and.
214 if( np .gt. npmax)
then 216 *
'# of particles >NpMax in observation', 0)
218 o(np).
where = atrack.
where 222 o(np).atime = atrack.
t 223 o(np).
erg = atrack.
p.fm.
p(4)
225 o(np).
x = atrack.pos.
xyz.
r(1)
226 o(np).
y = atrack.pos.
xyz.
r(2)
227 o(np).wx =atrack.vec.w.
r(1)
228 o(np).wy =atrack.vec.w.
r(2)
229 o(np).wz =atrack.vec.w.
r(3)
232 if(
o(np).
code .le. 6 .and.
o(np).
code .ne. 3 )
then 238 * (
o(np).
x ), (
o(np).
y ) ,
243 959
format(3i3, g14.3,2f16.6,4(1
x,f12.8))
265 #include "Zmanagerp.h" 266 #include "Zprivate.h" 282 if(
o(i).
where .eq.
where)
then 285 sumeg = sumeg +
o(i).
erg 291 sumeh = sumeh +
o(i).
erg 297 memorize =(ng .ge. ngmin .and. sumeg .ge. sumegmin) .or.
298 * ( nh .ge. nhmin .and. sumeh .ge. sumehmin)
301 write(0,*)
' memo=', memorize,
302 *
' ng=',ng,
' seg=',sumeg,
' nh=',nh,
' seh=',sumeh
308 accepted = accepted + 1
323 #include "Zprivate.h" 330 write(msg,
'(i8, a)') accepted,
331 *
' events are memorized as skeleton' 333 call cerrormsg(
'their seeds are also memorized', 1)
374 h1 = trackbefmove.pos.
height- obssites(noofsites).pos.
height 375 h2 = movedtrack.pos.
height - obssites(noofsites).pos.
height 383 #include "Zprivate.h" 413 if(never .lt. 0)
then 416 pwork(1) = movedtrack.
p 423 if( movedtrack.
asflag .eq. 0 )
then 424 if( movedtrack.
p.fm.
p(4) .lt. ethresh )
then 431 if(movedtrack.
asflag .eq. -1)
then 445 #include "Zprivate.h" 471 #include "Zprivate.h" 499 #include "Zprivate.h" 548 ke = pwork(i).fm.
p(4) - pwork(i).
mass 550 * ke .ge. cuteg ) .or.
552 * ke .ge. cutneg ) )
then 554 if(flag .ne. -3)
then 555 if( ke .lt. keminobs(1))
then 571 if(nlow .eq. 0 .and. movedtrack.
asflag .ne. -1)
return 574 p.posx = movedtrack.pos.
xyz.
r(1)
575 p.posy = movedtrack.pos.
xyz.
r(2)
576 p.posz = movedtrack.pos.
xyz.
r(3)
579 if( movedtrack.pos.
colheight .gt. 1.e36)
then 584 p.atime = movedtrack.
t 585 p.
where = movedtrack.
where 588 p.
erg = movedtrack.
p.fm.
p(4)
609 ke = pwork(i).fm.
p(4) - pwork(i).
mass 611 * ke .ge. cuteg ) .or.
613 * ke .ge. cutneg ) )
then 615 if(flag .eq. -3 .or. ke .lt. keminobs(1))
then 619 c.fm(1) = pwork(i).fm.
p(1)
620 c.fm(2) = pwork(i).fm.
p(2)
621 c.fm(3) = pwork(i).fm.
p(3)
622 c.fm(4) = pwork(i).fm.
p(4)
641 integer::mpirank = -1
649 integer num, cumnum, irevent(2)
662 write(to) cumnum, num, irevent,
663 #if defined (KEKB) || defined (KEKA) 664 #include "ZavoidUnionMap.h" 669 write(0,*)
'rank=',mpirank,
670 *
' first Z=',zfirst.pos.
depth*0.1,
' g/cm2',
671 * zfirst.pos.
height,
' m ir=', irevent
679 #include "Zprivate.h" 696 #include "Zprivate.h" 703 do while ( nlow .ge. 0 )
subroutine cgetfname(fnin, fn)
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz Zfirst pos xyz *Zfirst pos *Zfirst pos depth
subroutine cerrormsg(msg, needrtn)
subroutine cqincident(incident, AngleAtObs)
subroutine chookgint(never)
subroutine cputnodinfo(from, to)
dE dx *! Nuc Int sampling table e
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz Zfirst pos xyz *Zfirst pos *Zfirst pos Zfirst pos *Zfirst pos colheight
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz r
max ptcl codes in the kgnuc
subroutine cmemorize(from, to)
latitude latitude this system is used *****************************************************************! type coord sequence union map real z z in m endmap xyz map real ! latitude in deg is to the north ! longitude in deg is to the east *h ! height in m endmap llh map real ! polar angle ! azimuthal angle *radius ! radial distance endmap sph endunion character *sys ! which system xyz
max ptcl codes in the kelec
subroutine chooknepint(never)
block data cblkElemag data *AnihiE ! Eposi< 1 TeV, anihilation considered *X0/365.667/, ! radiation length of air in kg/m2 *Ecrit/81.e-3/, ! critical energy of air in GeV *MaxComptonE/1./, ! compton is considered below 1 GeV *MaxPhotoE/1.e-3/, ! above this, PhotoElectric effect neg. *MinPhotoProdE/153.e-3/, ! below 153 MeV, no gp --> hadrons ! scattering const not MeV *Knockon true
subroutine cprintprim(out)
max ptcl codes in the kneue
subroutine cwriteparam(io, force)
subroutine csetemin(gen, eminob, emin, emCas)
********************block data cblkHeavy ********************integer j data *HeavyG2symbol p
subroutine cquhookr(i, rv)
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz Zfirst pos xyz *Zfirst pos *Zfirst pos Zfirst pos *Zfirst pos *Zfirst Zfirst vec w *Zfirst vec w Zfirst vec *Zfirst Zfirst Zfirst asflag
*Zfirst p fm *Zfirst p Zfirst p code
subroutine cmemonode(dev, flag)
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code knuc
max ptcl codes in the kneumu
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz Zfirst pos xyz *Zfirst pos *Zfirst pos Zfirst pos height
latitude latitude this system is used *****************************************************************! type coord sequence union map real y
subroutine cqeventno(num, cumnum)
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz Zfirst pos xyz *Zfirst pos *Zfirst pos Zfirst pos *Zfirst pos *Zfirst Zfirst vec w *Zfirst vec w Zfirst vec coszenith
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p charge
subroutine chookobs(aTrack, id)
subroutine cquhooki(i, iv)
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz Zfirst pos xyz *Zfirst pos *Zfirst pos Zfirst pos *Zfirst pos *Zfirst Zfirst vec w *Zfirst vec w Zfirst vec *Zfirst Zfirst where
subroutine cquhookc(i, cv)
*Zfirst p fm *Zfirst p mass
max ptcl codes in the kpion
subroutine chookeint(never)
! structure defining a particle at production ! Basic idea of what is to be contained in ! the particle structue is that dynamical ones should be included those derivable from the particle code ! is not included ******************************************************type fmom momentum sequence union map real e endmap map real * x
*Zfirst p fm *Zfirst p Zfirst p Zfirst p subcode
dE dx *! Nuc Int sampling table c