1 |
************************************************************************* |
2 |
* |
3 |
* Subroutine cnoise.f!DA COMMENTARE!??? |
4 |
* |
5 |
* uses adc(nviews,nva1_view,nstrips_va1) and |
6 |
* pedestal(nviews,nva1_view,nstrips_va1) variables to compute common noise, |
7 |
* and fills cn(nviews,nva1_view) variable. in the computation only |
8 |
* not-bad and not-signal-affected strips are used |
9 |
* (bad(nviews,nva1_view,nstrips_va1) and |
10 |
* clstr(nviews,nva1_view,nstrips_va1) flags) |
11 |
* |
12 |
* needs: |
13 |
* - ./common_calib.f |
14 |
* |
15 |
* to be called inside ./cncomp.f |
16 |
* |
17 |
************************************************************************* |
18 |
|
19 |
subroutine cnoise(i,j,gulp) !(view, VA1) |
20 |
|
21 |
include '../common/commontracker.f' |
22 |
include '../common/common_reduction.f' |
23 |
include '../common/calib.f' |
24 |
|
25 |
|
26 |
integer gulp !error flag |
27 |
|
28 |
ncn=0 !number of strips in cn computation |
29 |
cn(i,j)=0 !initializes cn variable |
30 |
|
31 |
|
32 |
do k=1,nstrips_va1 !loops on strips |
33 |
iok=strange(i,j,k)*bad(i,j,k)*clstr(i,j,k) !flag to mark strange, bad |
34 |
! or signal affected strips |
35 |
c print*,i,j,k,strange(i,j,k),bad(i,j,k),clstr(i,j,k),iok !??? |
36 |
|
37 |
cn(i,j)=cn(i,j) + (DBLE(adc(i,j,k)) - pedestal(i,j,k))*iok !sums ADC-PED |
38 |
! values to compute common noise |
39 |
ncn=ncn+iok !counts number of strips in cn computation |
40 |
enddo |
41 |
|
42 |
if(ncn.eq.0) then !no signal free strips on this VA1... |
43 |
print*,'cnoise: WARNING, NO SIGNAL FREE STRIPS ON VA1 ',j, |
44 |
$ ', VIEW ',i |
45 |
gulp=1 |
46 |
else |
47 |
cn(i,j)=cn(i,j)/DBLE(ncn) !computes common noise |
48 |
gulp=0 !resets error flag |
49 |
endif |
50 |
|
51 |
return |
52 |
end |