| 1 |
mocchiut |
1.1 |
subroutine ptlevel1() |
| 2 |
|
|
|
| 3 |
|
|
c LOGICAL CHAIN |
| 4 |
|
|
c CHARACTER*128 CFILE |
| 5 |
|
|
c INTEGER IDNEVT,NCHEVT,ICHEVT |
| 6 |
|
|
c REAL OBS(13) |
| 7 |
|
|
* |
| 8 |
|
|
c COMMON /PAWIDN/ IDNEVT,OBS |
| 9 |
|
|
c COMMON /PAWCHN/ CHAIN, NCHEVT, ICHEVT |
| 10 |
|
|
c COMMON /PAWCHC/ CFILE |
| 11 |
|
|
* |
| 12 |
|
|
*-- Ntuple Variable Declarations |
| 13 |
|
|
* |
| 14 |
|
|
REAL DEDX(500),CLSIGNAL(8500),CNEV(12,24) |
| 15 |
|
|
INTEGER NEV1,NCLSTR1,VIEW(500),LADDER(500),MAXS(500),MULT(500) |
| 16 |
|
|
& ,INDSTART(500),INDMAX(500),TOTCLLENGTH |
| 17 |
|
|
LOGICAL GOOD1 |
| 18 |
|
|
* |
| 19 |
|
|
integer ncl(2) |
| 20 |
|
|
real clp(3,500) |
| 21 |
|
|
real cls(2,500) |
| 22 |
|
|
real clz(2,500) |
| 23 |
|
|
real sigma_matrix(12,3072) |
| 24 |
|
|
c |
| 25 |
|
|
Integer pkt_type1; |
| 26 |
|
|
Integer pkt_num1; |
| 27 |
|
|
Integer obt1; |
| 28 |
|
|
Integer which_calib1; |
| 29 |
|
|
|
| 30 |
|
|
c |
| 31 |
|
|
c parameter(NWPAWC=8) |
| 32 |
|
|
c common/pawc/hmem(NWPAWC) |
| 33 |
|
|
c save/pawc/ |
| 34 |
|
|
c common/quest/iquest(1) |
| 35 |
|
|
c save/quest/ |
| 36 |
|
|
c |
| 37 |
|
|
c |
| 38 |
|
|
|
| 39 |
|
|
COMMON /PWCR4/ GOOD1,NEV1, |
| 40 |
|
|
& pkt_type1,pkt_num1,obt1,which_calib1, |
| 41 |
|
|
& NCLSTR1,VIEW,LADDER,MAXS,MULT,DEDX |
| 42 |
|
|
& ,INDSTART,INDMAX,TOTCLLENGTH,CLSIGNAL,CNEV, |
| 43 |
|
|
& ncl,clp,cls,clz,sigma_matrix |
| 44 |
|
|
SAVE /PWCR4/ |
| 45 |
|
|
|
| 46 |
|
|
* |
| 47 |
|
|
|
| 48 |
|
|
*-- Enter user code here |
| 49 |
|
|
* |
| 50 |
|
|
c integer ,nstripsview(12) |
| 51 |
|
|
integer ind,ic,cllength,lows,highs,nstrips,is |
| 52 |
|
|
c integer sflag(12,3072) !to avoid putting more than one time a |
| 53 |
|
|
c strip in a histogram when a cluster is more than one time contained in |
| 54 |
|
|
c clsignal array (usually these are the double peaked clusters) |
| 55 |
|
|
real sign,noise,clinclcut |
| 56 |
|
|
|
| 57 |
|
|
real zlevel(12) |
| 58 |
|
|
data zlevel/22.28,22.28,13.38,13.38,4.48,4.48, |
| 59 |
|
|
+ -4.42,-4.42,-13.32,-13.32,-22.23,-22.23/ |
| 60 |
|
|
|
| 61 |
|
|
parameter(incut=5) |
| 62 |
|
|
parameter(signcut=50.) |
| 63 |
|
|
|
| 64 |
|
|
c parameter(traslys=2151) |
| 65 |
|
|
parameter(traslys=2115) !INVERSIONE????????????? |
| 66 |
|
|
|
| 67 |
|
|
c call hlimit(nwpawc) |
| 68 |
|
|
|
| 69 |
|
|
|
| 70 |
|
|
* *********** |
| 71 |
|
|
|
| 72 |
|
|
c PRINT *,'TRACKER: evento ',nev1 |
| 73 |
|
|
c event_num_trk(1) = nev1 |
| 74 |
|
|
c event_num_trk(1) = mod(nev1,1000000) |
| 75 |
|
|
c |
| 76 |
|
|
c do i = 1, 12 |
| 77 |
|
|
c do j = 1, 3072 |
| 78 |
|
|
c if ( sigma_matrix(i,j).ne.0. ) |
| 79 |
|
|
c & print *,'sigma(',i,',',j,') = ',sigma_matrix(i,j) |
| 80 |
|
|
c enddo |
| 81 |
|
|
c enddo |
| 82 |
|
|
c print *,' nclstr = ',nclstr1 |
| 83 |
|
|
c do i = 1, nclstr1 |
| 84 |
|
|
c print *,' view(',i,') ',view(i) |
| 85 |
|
|
c print *,' ladder(',i,') ',ladder(i) |
| 86 |
|
|
c enddo |
| 87 |
|
|
c |
| 88 |
|
|
|
| 89 |
|
|
ind=0 |
| 90 |
|
|
|
| 91 |
|
|
nclx = 0 |
| 92 |
|
|
ncly = 0 |
| 93 |
|
|
|
| 94 |
|
|
c print*,'acidenti a me ',event_num_trk(1),nclstr1 |
| 95 |
|
|
|
| 96 |
|
|
do ic=1,nclstr1 |
| 97 |
|
|
|
| 98 |
|
|
if(ic.ne.nclstr1) then |
| 99 |
|
|
cllength=indstart(ic+1)-indstart(ic) |
| 100 |
|
|
else |
| 101 |
|
|
cllength=(totCLlength+1)-indstart(ic) |
| 102 |
|
|
endif |
| 103 |
|
|
|
| 104 |
|
|
lows=maxs(ic)-(indmax(ic)-indstart(ic)) |
| 105 |
|
|
highs=lows+cllength-1 |
| 106 |
|
|
|
| 107 |
|
|
sign=0. |
| 108 |
|
|
noise=0. |
| 109 |
|
|
nstrips=0 |
| 110 |
|
|
posx = 0. |
| 111 |
|
|
posy1 = 0. |
| 112 |
|
|
posy2 = 0. |
| 113 |
|
|
posz = 0. |
| 114 |
|
|
pposx = 0. |
| 115 |
|
|
pposy1 = 0. |
| 116 |
|
|
pposy2 = 0. |
| 117 |
|
|
pposz = 0. |
| 118 |
|
|
|
| 119 |
|
|
C print *,'qua ',ic |
| 120 |
|
|
do is=lows,highs |
| 121 |
|
|
ind=ind+1 |
| 122 |
|
|
C print *,'qui view(ic) ',view(ic),' is ',is |
| 123 |
|
|
C print *,'qui clsignal(ind) ',clsignal(ind),' ind ',is |
| 124 |
|
|
clinclcut=incut*sigma_matrix(view(ic),is) |
| 125 |
|
|
if (clsignal(ind).gt.clinclcut) then |
| 126 |
|
|
C print *,'qua ci arrivo' |
| 127 |
|
|
sign=sign+clsignal(ind) |
| 128 |
|
|
noise=noise+sigma_matrix(view(ic),is) |
| 129 |
|
|
nstrips=nstrips+1 |
| 130 |
|
|
posz = zlevel(view(ic)) |
| 131 |
|
|
C print *,'qua anche sign ',sign,' noise ',noise |
| 132 |
|
|
if (mod(view(ic),2).eq.1) then !!! Y Y Y Y |
| 133 |
|
|
if (view(ic).ne.11) then |
| 134 |
|
|
str=float(mod(is-1,1024)+1) !Y |
| 135 |
|
|
posy1 = -6.9541 + (str-1)*0.00665 |
| 136 |
|
|
posy2 = 0.1 + (str-1)*0.00665 |
| 137 |
|
|
else !??????????????????INVERSIONE?????????? |
| 138 |
|
|
str=float(mod(is-1,1024)+1) !Y11 |
| 139 |
|
|
c str=traslys-str |
| 140 |
|
|
str=1024-str + 67 |
| 141 |
|
|
posy1 = -6.9541 + (str-1)*0.00665 !-0.5 |
| 142 |
|
|
posy2 = 0.1 + (str-1)*0.00665 !-0.5 |
| 143 |
|
|
endif |
| 144 |
|
|
pposy1 = pposy1 + posy1*clsignal(ind) |
| 145 |
|
|
pposy2 = pposy2 + posy2*clsignal(ind) |
| 146 |
|
|
else |
| 147 |
|
|
str=float(is) !X |
| 148 |
|
|
srt = mod(is-1,1024)+1 |
| 149 |
|
|
lad = int((is-1)/1024) + 1 |
| 150 |
|
|
if(lad.eq.1) posx=-7.8798+(srt-1)*0.005 |
| 151 |
|
|
if(lad.eq.2) posx=-2.5575+(srt-1)*0.005 |
| 152 |
|
|
if(lad.eq.3) posx= 2.7648+(srt-1)*0.005 |
| 153 |
|
|
pposx = pposx + posx*clsignal(ind) |
| 154 |
|
|
endif |
| 155 |
|
|
endif |
| 156 |
|
|
enddo |
| 157 |
|
|
if(mod(view(ic),2).eq.1)then |
| 158 |
|
|
C print *,'qui ci sono e pposy1 ',pposy1,' pposy2 ',pposy2,' sign ',sign |
| 159 |
|
|
ncly = ncly + 1 |
| 160 |
|
|
clp(2,ncly) = pposy1/sign |
| 161 |
|
|
clp(3,ncly) = pposy2/sign |
| 162 |
|
|
clz(2,ncly) = posz |
| 163 |
|
|
cls(2,ncly) = sign |
| 164 |
|
|
else |
| 165 |
|
|
nclx = nclx + 1 |
| 166 |
|
|
clp(1,nclx) = pposx/sign |
| 167 |
|
|
clz(1,nclx) = posz |
| 168 |
|
|
cls(1,nclx) = sign |
| 169 |
|
|
c call hfill(99,posx,posz,sign) |
| 170 |
|
|
endif |
| 171 |
|
|
enddo |
| 172 |
|
|
c do i = 1, 19 |
| 173 |
|
|
c print *,'cls(2,',i,') = ',cls(2,i) |
| 174 |
|
|
c print *,'cls(1,',i,') = ',cls(1,i) |
| 175 |
|
|
c enddo |
| 176 |
|
|
ncl(1) = nclx |
| 177 |
|
|
ncl(2) = ncly |
| 178 |
|
|
c project_trk_level1 = 1 |
| 179 |
|
|
C print *,'****' |
| 180 |
|
|
return |
| 181 |
|
|
end |