--- DarthVader/TrackerLevel2/src/F77/reductionflight.f 2007/03/15 12:17:10 1.17 +++ DarthVader/TrackerLevel2/src/F77/reductionflight.f 2007/04/27 10:39:58 1.18 @@ -116,25 +116,30 @@ do iv=1,nviews ima=0 do ik=1,nva1_view - cn(iv,ik) = 0 - cnrms(iv,ik) = 0 - cnn(iv,ik) = -1 - iflag=0 - mask_vk_ev(iv,ik)=1 + cn(iv,ik) = 0 + cnrms(iv,ik) = 0 + cnn(iv,ik) = -1 + iflag = 0 + mask_vk_ev(iv,ik) = 1 call stripmask(iv,ik) !compute mask(i,j,k), combining VA1-masks -c NBNBNBNBNB mask per la striscia 1 !!!!!!!! - if(mask(iv,ik,1).eq.1)call cncomp(iv,ik,iflag) - if(iflag.ne.0)then - ima=ima+1 - mask_vk_ev(iv,ik)=0 - ierror = 220 +* -------------------------------------- +* if chip is not masked ---> evaluate CN +* -------------------------------------- + if( mask(iv,ik,1).eq.1 ) then !!!NBNB mask per la striscia 1 !!!!!!!! + call cncomp(iv,ik,iflag) + if(iflag.ne.0)then + ima=ima+1 + mask_vk_ev(iv,ik)=0 + ierror = 220 + endif + call stripmask(iv,ik) !compute mask(i,j,k), combining VA1-masks endif - call stripmask(iv,ik) !compute mask(i,j,k), combining VA1-masks - enddo 100 format(' * WARNING * Event ',i7,' view',i3,': VK MASK ',24i1) if(ima.ne.0.and.debug)write(*,100)eventn(1),iv $ ,(mask_vk_ev(iv,ik),ik=1,nva1_view) +c if(ima.ne.0)write(*,100)eventn(1),iv +c $ ,(mask_vk_ev(iv,ik),ik=1,nva1_view) enddo cc call stripmask !compute mask(i,j,k), combining mask_vk_ev and mask_vk @@ -632,12 +637,13 @@ subroutine stripmask(iv,ivk) +* ----------------------------------------------- * this routine set va1 and single-strip masks, * on the basis of the VA1 mask saved in the DB * * mask(nviews,nva1_view,nstrips_va1) !strip mask * mask_vk(nviews,nva1_view) !VA1 mask -* +* ----------------------------------------------- include 'commontracker.f' include 'level1.f' include 'common_reduction.f' @@ -645,15 +651,24 @@ * init mask do is=1,nstrips_va1 +* -------------------------------------------------------- +* if VA1-mask from DB is 0 or 1, three masks are combined: +* - from DB (a-priori mask) +* - run-based (chip declared bad on the basis of ) +* - event-based (failure in CN computation) +* -------------------------------------------------------- if( mask_vk(iv,ivk) .ne. -1)then mask(iv,ivk,is) = 1 - $ * mask_vk(iv,ivk) !from DB - $ * mask_vk_ev(iv,ivk) !from + $ * mask_vk(iv,ivk) !from DB + $ * mask_vk_ev(iv,ivk) !from $ * mask_vk_run(iv,ivk) !from CN +* ----------------------------------------------------------- +* if VA1-mask from DB is -1 only event-based mask is applied +* ----------------------------------------------------------- else mask(iv,ivk,is) = -1 - $ * mask_vk(iv,ivk) !from DB - $ * mask_vk_ev(iv,ivk) !from CN + $ * mask_vk(iv,ivk) !from DB + $ * mask_vk_ev(iv,ivk) !from CN endif enddo