+PATCH,$CORR. +DECK,CORR3. Updates version: 5.05/00 to 5.05/11 +REP,*TITLE*,TITLE,1. CBGEANT 5.05/11 03/09/97 07.33.05 +REP,$VERSION,V5_05,1-2. *CMZ : 5.05/11 03/09/97 07.33.05 by Curtis A. Meyer *CMZU: 5.05/10 07/08/97 13.28.47 by Rafik Ouared *CMZ : 5.05/09 17/04/97 18.04.06 by Curtis A. Meyer *CMZ : 5.05/08 17/04/97 17.54.34 by Curtis A. Meyer *CMZU: 5.05/07 29/03/97 11.59.50 by RAFIK OUARED *CMZ : 5.05/06 03/10/96 07.51.24 by Curtis A. Meyer *CMZ : 5.05/05 30/09/96 12.12.27 by Curtis A. Meyer *CMZ : 5.05/04 04/06/96 08.28.42 by Curtis A. Meyer *CMZ : 5.05/03 11/04/96 07.43.47 by Curtis A. Meyer *CMZ : 5.05/02 19/03/96 16.29.56 by Curtis A. Meyer *CMZ : 5.05/01 16/12/95 17.56.05 by Curtis A. Meyer *CMZ : 5.05/00 29/08/95 10.42.10 by Curtis A. Meyer *-- Author : Curtis A. Meyer 29/08/95 * *::> VERSION 5.05/11 03/09/97 07.33.05 * *> Small correction which transposed x and y in the si vtx * detector. *________________________________________________________________________ * *::> VERSION 5.05/10 07/08/97 13.28.47 * *> SVGTAB modified to let job crashing if LUSV not used or misused. * *> SV alignment files for Nov95 and Sept.-Dec. 96 added in DFILES. * *> INSTALL modified to extract these new calibration files. * *::> VERSION 5.05/09 17/04/97 18.04.06 * *> Remove trash at the end of svshif. * *> Add extraction of sv calibration files to the install script. * *::> VERSION 5.05/08 17/04/97 17.54.34 * *> kivert was using the wrong random numbers in several places. * *> Added the silicon vertex chamber calibration file to the * DFILES area. * *::> VERSION 5.05/07 29/03/97 11.59.49 * *> Realistic SV alignment loaded in and LHT alignment * wrt JDC adjusted. * *::> VERSION 5.05/06 03/10/96 07.51.24 * *> Install SCript now does Solaris and Linux. * *::> VERSION 5.05/05 30/09/96 12.12.27 * *> Fixes by Rafik for the vertex detector SVX... * *::> VERSION 5.05/04 04/06/96 08.28.42 * *> Added SOlaris patches to cbgeant installation. * *::> VERSION 5.05/03 11/04/96 07.43.47 * *> CBgeant was storing Hours:Minutes as Minutes:Seconds. * FHH implemented small corrections to GUOUT and UGZRUN * to fix this. * *::> VERSION 5.05/02 19/03/96 16.29.56 * *> Disabled a number of debug print lines in the vertex * chamber Monte Carlo code. * *::> VERSION 5.05/01 16/12/95 17.56.05 * *> Modified the code to allow Breit-Wigner masses to fall * anywhere, rather than the +/- 3 gamma as before. +ADD,$HISTORY,CARDS,0. *CMZU: 5.05/01 16/12/95 17.00.14 by Curtis A. Meyer * Add the BRTW card. +ADD,$HISTORY,CARDS,49. BRTW l1 LGBWWD = .true. If set false, then Masses of Breit-Wigner resonances are limited to be within 3 Gamma of the nominal mass. The default is .true., which has no such limit. +ADD,$KUMACS,INSTALL,0. *CMZU: 5.05/10 07/08/97 13.28.41 by Rafik Ouared *CMZ : 5.05/09 17/04/97 18.02.29 by Curtis A. Meyer *CMZU: 5.05/06 02/10/96 13.49.09 by M.T. Lakata *CMZU: 5.05/04 29/05/96 18.31.40 by F.-H.Heinsius +ADD,$KUMACS,INSTALL,13. * Implemented the extration of the svx calibration files. * +REP,$KUMACS,INSTALL,112-115. (VMS) Select VAX (UNIX) Select UNIX Select DECS Endcase (IBMRT) Select $OS (SGI) Select $OS (SOLARIS,LINUX) Select SUN +REP,$KUMACS,INSTALL,140-145. (UNIX) Set [CODEDIR]/mkcbgeant.sh -XADCLP Set [CODEDIR]/*.ext -F Set libcbgeant.a -L Alias/create cbgeant_run_script cbgeant_run Alias/create cbgeant_link_script cbgeant_link (VMS) Set [CODEDIR]mkcbgeant.com -XADCLP +REP,$KUMACS,INSTALL,157. (HPUX,SGI,SUN,DECS,IBMRT,SOLARIS,LINUX) DEBUGOPT=' -g -C' +REP,$KUMACS,INSTALL,165. Case $OS In (VMS) DEBUGOPT=' ' (UNIX) DEBUGOPT=' -O ' Endcase +REP,$KUMACS,INSTALL,174-177. (SUN) Set 'f77 -c'//[DEBUGOPT]//' -fnonstd -Nl100 -w $compfile' -C f77 (LINUX) Set 'g77 -c'//[DEBUGOPT]//' -w $compfile' -C f77 (SOLARIS) Set 'f77 -c'//[DEBUGOPT]//' -w $compfile' -C f77 (IBMRT) Set 'xlf -c'//[DEBUGOPT]//' -O -qextname $compfile' -C f77 (SGI) Set 'f77 -c'//[DEBUGOPT]//' $compfile G 3' -C f77 (DECS) Set 'f77 -c -w -Nl99 '//[DEBUGOPT]//' $compfile' -C f77 +REP,$KUMACS,INSTALL,183. (UNIX) Set 'f77 -c -w -Nl99 '//[DEBUGOPT]//' $compfile' -C f77 +ADD,$KUMACS,INSTALL,256. set sv_apr96.dat -f text CTOT sv_apr96 set sv_aug96.dat -f text CTOT sv_aug96 set sv_jul95.dat -f text CTOT sv_jul95 set sv_sep95.dat -f text CTOT sv_sep95 set sv_sep96.dat -f text CTOT sv_sep96 set sv_nov95.dat -f text CTOT sv_nov95 +REP,COMMCB,CB_MACRO,1-12. *CMZU: 5.05/07 28/03/97 20.41.57 by RAFIK OUARED *CMZ : 28/03/97 15.09.08 by RAFIK OUARED * New common CBXVAL for SV alignment and for LHT positionning wrt MGN. *CMZ : 5.05/08 22/03/97 20.17.17 by RAFIK OUARED *CMZ : 22/03/97 15.04.59 by Unknown * New common CBSVAL to take into account SV alignment. *CMZ : 5.05/01 16/12/95 16.48.08 by Curtis A. Meyer * Added new common block /BREITW/ to control Breit-Wigner Widths. *CMZU: 5.04/00 27/06/95 12.51.16 by RAFIK OUARED * NEW VARIABLES TO INCLUDE SVTX TABLE * IN /CBLINK/ : LRTVX * IN /CBXDIV/ : IXRTVX * IN /CCFLAG/ : KRTVX=20 *CMZ : 5.00/02 22/11/94 22.38.23 by Curtis A. Meyer * Added the /GESEED/ to retain seeds at the start of events. +REP,COMMCB,CB_MACRO,27-42. *CMZ : 5.00/00 05/07/94 18.09.17 by CBGEANT HACKERS * Added relevent bits for new coding of lookup tables for 2282 and FERA * Include number of wires (NWIR1,NWIR2) in CBPWJD sequence. * Type untyped variables in CCDRIF, CENOIS. * I am creating a new common block to pass the variable NY from * subroutine dchget to jdcin. * I am adding arrays PWIR1 and PWIR2 to common block CBPWJD * I am adding arrays SINJD2 and COSJD2 to common block CCJDCD +REP,COMMCB,CB_MACRO,76-78. * /CBKILL/ - created to hold particle types to reject (i.e. neutrinos) +REP,COMMCB,CB_MACRO,91. *-- Author : Curtis A. Meyer +ADD,COMMCB,CB_MACRO,1225. * &KEEP,BREITW. * * LGBWWD: Control width of breitwigners. .true. leads * to full width possible, .false. is cut at 3 * gamma. * LOGICAL LGBWWD COMMON /BREITW/ LGBWWD SAVE /BREITW/ * &KEEP,CBSVAL. * INTEGER MXSVNU,NPAD PARAMETER (MXSVNU=12,NPAD=15) * CHARACTER*48 PERIOD REAL SVNAME(MXSVNU) REAL SVANG,SVXOFF,SVYOFF,SVZOFF,SVRAD REAL SVDX(NPAD),SVDY(NPAD),SVDZ(NPAD) REAL SVANGX(NPAD),SVANGY(NPAD),SVANGZ(NPAD) REAL XSHIFT,YSHIFT * COMMON/CBSVAL/SVNAME,SVANG,SVXOFF,SVYOFF,SVZOFF,SVRAD, &SVDX,SVDY,SVDZ,SVANGX,SVANGY,SVANGZ,XSHIFT,YSHIFT,PERIOD SAVE /CBSVAL/ * &SELF,IF=NEVER. *----------------------------------------------------------------------- * CBSVAL Common block for SV ALIGNEMENT *----------------------------------------------------------------------- * Parameters: MXSVNU : Max. number characters in SVNAME name * * Variables: SVNAME : Data set name for SV calibration constants * SVANG : Rotational offset of the 15-pad SV detector * SVXOFF : X-bias of center of 15-pad SV detector * SVYOFF : Y-bias of center of 15-pad SV detector * SVZOFF : Z-bias of center of 15-pad SV detector * SVRAD : 15-pad SV detector radius * SVDX(15) : X-bias of of every SV pad * SVDY(15) : Y-bias of of every SV pad * SVDZ(15) : Z-bias of of every SV pad * SVANGX(15): Rotation of every pad around X-axis * SVANGY(15): Rotation of every pad around Y-axis * SVANGZ(15): Rotation of every pad around Z-axis * XSHIFT : Mean X-shift of SV detector(using strips 127) * YSHIFT : Mean Y-shift of SV detector(using strips 127) * PERIOD : Run period of SV alignment calibration *************************************************************** &SELF. +ADD,CBBASE,GUOUT,0. *CMZU: 5.05/03 10/04/96 15.47.32 by F.-H.Heinsius +REP,CBBASE,GUOUT,183-184. CALL SBYT(ITIM,ICBTIM,9,8) CALL SBYT(IH, ICBTIM,17,8) +ADD,CBBASE,UGFFGO,0. *CMZU: 5.05/07 28/03/97 21.57.23 by RAFIK OUARED *CMZ : 5.05/08 24/03/97 10.39.01 by RAFIK OUARED *CMZ : 22/03/97 15.11.14 by Unknown * Define new key to catch SV alignment file: LUSV *CMZ : 5.05/01 16/12/95 16.51.46 by Curtis A. Meyer * Include new common /BREITW/ to control Breit-Wigner widths. * Add new logical card BRTW which defaults .true., which * will lead to no 3*gamma cut on the width of a resonance. * .false. will lead to the "old" configuration. +ADD,CBBASE,UGFFGO,151. &SEQ,BREITW. &SEQ,CBSVAL. +REP,CBBASE,UGFFGO,217-219. SVNOI = 0.0 SVCHE = 1.0 SVNXT = 0.0 +ADD,CBBASE,UGFFGO,359. CALL VBLANK(SVNAME,MXSVNU) +ADD,CBBASE,UGFFGO,501. C-- File from which to read SV alignment table: CALL FFKEY('LUSV',SVNAME,MXSVNU,'MIXED') +ADD,CBBASE,UGFFGO,532. C-- Steer the width's of the Breit-Wigner functions: C LGBWWD = .TRUE. CALL FFKEY('BRTW',LGBWWD,1,'LOGI') C +REP,CBBASE,UGINFO,1. *CMZU: 5.05/07 28/03/97 21.55.48 by RAFIK OUARED *CMZU: 5.04/00 20/05/95 20.33.26 by RAFIK OUARED * Added new information regarding SV alignment. +ADD,CBBASE,UGINFO,87. &SEQ,CBSVAL. +DEL,CBBASE,UGINFO,198. +DEL,CBBASE,UGINFO,206-209. +REP,CBBASE,UGINFO,223-225. 2262 FORMAT(' * SV ALIGNMENT FILE : ',A48,1X,'*') 2263 FORMAT(' * SV OVERALL ROTATION : ',F7.3,42X,'*') 2264 FORMAT(' * SV OVERALL RADIUS : ',F7.3,42X,'*') 2265 FORMAT(' * CENTER X,Y OF SV DET. : ',F7.3,1X,F7.3,34X,'*') 2266 FORMAT(' * SV OFFSET X,Y,Z : ',3(1X,F7.3),25X,'*') 2270 FORMAT(' * WARNING: NON-UNIFORMITY CORRECTION IN USE: ',33X,'*') 2280 FORMAT(' * HADRONIC PACKAGE IN USE : GHEISHA',42X,'*') 2281 FORMAT(' * HADRONIC PACKAGE IN USE : FLUKA',42X,' *') +DEL,CBBASE,UGINFO,433. +REP,CBBASE,UGINFO,468-473. C C-- Write SV alignment information. C IF (QGEOM(KSV)) THEN WRITE (LOUT,20601) NDSVX CALL UHTOC(SVNAME,4,FILE,48) WRITE (LOUT,2262) FILE WRITE (LOUT,2263) SVANG WRITE (LOUT,2264) SVRAD WRITE (LOUT,2265) XSHIFT,YSHIFT WRITE (LOUT,2266) SVXOFF,SVYOFF,SVZOFF +ADD,CBBASE,UGZRUN,0. *CMZU: 5.05/03 10/04/96 15.47.31 by F.-H.Heinsius +REP,CBBASE,UGZRUN,167-168. CALL SBYT(ITIM,ICBTIM,9,8) CALL SBYT(IH, ICBTIM,17,8) +REP,CBKINE,BIBRWI,1-2. *CMZU: 5.05/01 16/12/95 16.57.26 by Curtis A. Meyer *CMZ : 5.00/04 23/11/94 20.39.54 by Curtis A. Meyer +REP,CBKINE,BIBRWI,23-26. C. * ==> Modified: 23 November 1994 C.A.Meyer * C. * Replace RNDM() with GRNDM(). * C. * ==> Modified: 16 December 1995 C.A.Meyer * C. * Modify the width of the Breit Wigners. The * C. * old configuration limited things to 3 gamma. * C. * This can still be obtained using the BRTW F * C. * Steering card. The default will be no such * C. * limit. * C. ********************************************************* C. &SEQ,GCONST. &SEQ,BREITW. +REP,CBKINE,BIBRWI,35-42. 100 CALL GRNDM(ATEST,1) * ATEST = TAN(PI*(ATEST-0.5)) AMASSN = ATEST*AWIDTH * *---Check on physical limits on the mass, zero to 2*mass. * IF ( (AMASSN.LT.-AMASS) .OR. (AMASSN.GT. AMASS) ) GOTO 100 * *---Check to see if the 3*gamma limit is in place? * IF ((.NOT.LGBWWD).AND.(ABS(ATEST).GT.3.)) GOTO 100 +ADD,CBKINE,KIVERT,0. *CMZ : 5.05/08 17/04/97 17.54.11 by Curtis A. Meyer *CMZ : 16/04/97 13.46.08 by Curtis A. Meyer * Fix vertex distributions. +ADD,CBKINE,KIVERT,54. C * Modified 16 April 1997 C.A.Meyer C * The variable XRN2 was not computed correctly. It used the C * wrong random numbers. In addition, in the user chosen C * distribution, the y coordinate used the wrong random C * numbers. C * +REP,CBKINE,KIVERT,99-103. *---16.april.1997 -- c.a.meyer * XRN1 = SQRT(-2. * LOG(RNDMV(1)) ) & * SIN( 6.283185 * RNDMV(2) ) XRN2 = SQRT(-2. * LOG(RNDMV(3)) ) & * SIN( 6.283185 * RNDMV(4) ) +REP,CBKINE,KIVERT,172-173. *---16.apr.1997 c.a.meyer VERTEX(1)=VERTIN(1) + WIDIN(1)*XRN1 +ADD,SV,GETGLHS,0. *CMZU: 5.05/07 28/03/97 20.20.46 by RAFIK OUARED +REP,SV,GETGLHS,50-53. *. * modified : R.Ouared Mar. 28, 1996 * *. * Position of LHT wrt MGN now taken from * *. * external SV calibration file. * *. ****************************************************************** *. &SEQ,CBTTPR. &SEQ,CBSVGE. &SEQ,CBSVAL. +REP,SV,GETGLHS,86. * CALL GSPOS('LHT-',1,'MGN-',0.,0.,0.,0,'ONLY') * CALL SVSHIF CALL GSPOS('LHT-',1,'MGN-',XSHIFT,YSHIFT,0.,0,'ONLY') +ADD,SV,SVDIGI,0. *CMZU: 5.05/07 28/03/97 20.16.58 by RAFIK OUARED *CMZU: 5.05/05 30/09/96 09.49.40 by Rafik Ouared *CMZU: 5.05/02 19/03/96 10.55.55 by F.-H.Heinsius +REP,SV,SVDIGI,14. *. * new RVTX filling and new display of hits. * *. * modified March 19, 1996 F.H.Heinsius * *. * put calls to GPDIGI/GPHITS inside IF=SVDIGI * *. * produced *lots* of output. * *. * modified Sept 30, 1996 R.Ouared * *. * Minimum number of hits is now 2. * *. * Maximum number of hits is set to 100. * *. * Algorithm to compute total number of hits * *. * JNUM fixed. * *. * More comments added up. * *. * modified Mar. 28, 1997 R.Ouared * *. * dimensions of matrix IAMPL: 100*100 * +REP,SV,SVDIGI,44. INTEGER IAMPL(NHMAX,NHMAX) +ADD,SV,SVDIGI,50. INTEGER INUM +ADD,SV,SVDIGI,67. CALL VZERO (AMP,NICEL) +REP,SV,SVDIGI,75. * get minimum volume descriptors to identify uniquely the strip ISTR. +REP,SV,SVDIGI,86-106. * Was there a hit in this cell? One needs at least 2 hits to define crossing length and at most 100 hits. * IF(NHITS.LE.1) GOTO 900 IF(NHITS.GT.100) THEN WRITE(6,*) 'SVDIGI: MORE THAN 100 HITS...NHITS= ',NHITS NHITS=100 ENDIF * * * PRINT HITS IN GEANT FORMAT. * &SELF,IF=SVDIGI. CALL GPHITS('SV ','ISTR') WRITE(6,*) 'SVDIGI:NUMBER OF HITS IN IVTX :',NHITS &SELF. * &SELF,IF=SVDIGI. DO 150 I=1,NVDIM WRITE(6,*) 'SVDIGI:NUMB..',(NUMB(I,J),J=1,NHITS) ! print pad (I=1) and strip (I=2) numbers for either hit. 150 CONTINUE &SELF. * * * FIND OUT ISTR STRIP NUMBERS AND GET EFFECTIVE NUMBER OF HITS . +REP,SV,SVDIGI,114-117. DXS(JNUM)=HITS(1,I)-HITS(1,I-1) ! X2 - X1 DYS(JNUM)=HITS(2,I)-HITS(2,I-1) ! Y2 - Y1 DZS(JNUM)=HITS(3,I)-HITS(3,I-1) ! Z2 - Z1 LENSI(JNUM)=SQRT((ABS(DXS(JNUM)))**2+ ! LENGTH OF PORTION OF TRACK +REP,SV,SVDIGI,123-127. HNUM=(NUMB(1,I)-1)*128+NUMB(2,I) ! ABSOLUTE ADDRESS OF HIT (1-1920) JNUM=JNUM+1 IADD(JNUM)=HNUM JADD(JNUM)=HNUM ISTD(JNUM)=NUMB(2,I) ! LOCAL STRIP NUMBER +REP,SV,SVDIGI,141-147. 13 KDIGI(JNUM)=10000 ! AMPLITUDE: 10000 PER CM * AMP(JNUM)=FLOAT(KDIGI(JNUM))*LENSI(JNUM) +REP,SV,SVDIGI,155-156. ***HITS WITH NULL AMPLITUDES TO THE TRASH. * INUM=JNUM JNUM=0 DO 201 I=1,INUM IF(AMP(I).LE.0.) THEN GOTO 201 ELSE JNUM=JNUM+1 AMP(JNUM)=AMP(I) IADD(JNUM)=IADD(I) JADD(JNUM)=JADD(I) ISTD(JNUM)=ISTD(I) ITRVX(JNUM)=ITRVX(I) ITRS(JNUM)=ITRS(I) INUV(JNUM)=INUV(I) KDIGI(JNUM)=KDIGI(I) ENDIF 201 ENDDO * IF(JNUM.LE.0) GOTO 900 NWIRES = JNUM ! NUMBER OF FIRED STRIPS. +REP,SV,SVDIGI,162. * PREPARE TO STORE DIGITISATION. +REP,SV,SVDIGI,195. * RETRIEVE DIGITIZATON INFORMATION. +REP,SV,SVDIGI,201-204. WRITE(6,*) 'SVDIGI:ITRA= ',(ITRA(K),K=1,NHITS) ! TRACKS ASSOCIATED TO FIRED STRIPS. CALL GPDIGI('SV ','ISTR') &SELF. * +REP,SV,SVDIGI,248-274. ELSE LEQUAL=.FALSE. NCLUS=NCLUS+1 NH(NCLUS)=1 ENDIF ENDIF J=NH(NCLUS) DO K=1,NWIRES IF(JADD(K).EQ.IADD(I)) THEN IAMPL(NCLUS,J)=INT(AMP(K)) IF(LEQUAL) GOTO 207 GOTO 205 ENDIF ENDDO 205 IFIRST(NCLUS)=IADD(I) IAD=IADD(I)/128 ISTRIP(NCLUS)=MOD(IADD(I),128) IF(ISTRIP(NCLUS).EQ.0) ISTRIP(NCLUS)=128 ISTRIP(NCLUS)=ISTRIP(NCLUS)-1 IPAD(NCLUS) =IADD(I)/256 ISUBM(NCLUS) =MOD(IAD,2) 207 IMOD(I) =2*IPAD(NCLUS)+(ISUBM(NCLUS)+1) * +ADD,SV,SVGE,0. *CMZU: 5.05/11 02/09/97 18.06.01 by Rafik Ouared *CMZU: 5.05/07 28/03/97 21.44.34 by RAFIK OUARED *CMZ : 5.05/08 24/03/97 10.46.05 by RAFIK OUARED *CMZU: 5.05/07 19/03/97 20.19.54 by Unknown +ADD,SV,SVGE,13. *. * Modified : R.Ouared 03/19/97 * *. * fixing first pad positionning * *. * Modified : R.Ouared Mar. 28, 1997 * *. * SV alignment more realistic. * *. * Modified : R.Ouared September 2, 1997 * *. * correct for transverse position of centers * *. * of pads. * +REP,SV,SVGE,20-29. &SEQ,CBSVAL. * REAL ZPOS,ATETH,APHI,RADIN,SVANGS,ANGS,SVA * NMODU = 15 WR0 = 0. WRN = 63.5 RADIN = PI/180. PHI0 = PIBY2 PITCH = 0.005 AHYB = 32. ! 32 (-32 DEGREES THETA OFFSET) ALPHA= RADIN +DEL,SV,SVGE,101-102. +REP,SV,SVGE,112. ** Call external file for SV alignment * CALL SVGTAB +REP,SV,SVGE,128-180. ATETH=TETH(3)*RADIN XYZH(3)= XYZ(3)-PAR(3)-PARH(3)*COS(ATETH) * SVA=SVANG*RADIN DO 13 I=1,NMODU SVANGS=SVA-FLOAT(I-1)*ANGSEC XYA(1)=SVRAD*COS(SVANGS)+SVXOFF XYA(2)=SVRAD*SIN(SVANGS)+SVYOFF IF(XYA(1).EQ.0.) XYA(1)=1.0E-06 PHIA = ATAN2(XYA(2),XYA(1)) IF(PHIA.LT.0.) PHIA=PHIA+TWOPI XYA(1)=XYA(1)+SVDX(I) XYA(2)=XYA(2)+SVDY(I) ANGS=PHIA+PIBY2-ALPHA+SVANGZ(I) XYM(1)=XYA(1)+DELTL*COS(PHIA+PIBY2-ALPHA+SVANGZ(I)) XYM(2)=XYA(2)+DELTL*SIN(PHIA+PIBY2-ALPHA+SVANGZ(I)) IF(XYM(1).EQ.0.) XYM(1)=1.E-06 PHIM = ATAN2(XYM(2),XYM(1)) IF(PHIM.LT.0.) PHIM=PHIM+TWOPI * * get the rotational angle of the whole pad around z-axis.. * XYMA(1) = XYA(1) - XYM(1) XYMA(2) = XYA(2) - XYM(2) IF(XYMA(1).EQ.0.) XYMA(1)=1.E-06 ANGSH = ATAN2(XYMA(2),XYMA(1)) IF(ANGSH.LT.0.) ANGSH=ANGSH+TWOPI ANGROT=(ANGSH*180./PI) IF(ANGROT.GE.360.) ANGROT=ANGROT-360. +REP,SV,SVGE,218-228. 13 CONTINUE +ADD,SV,SVGTAB,*. &DECK,svgtab. *CMZU: 5.05/10 07/08/97 13.26.50 by Rafik Ouared *CMZU: 5.05/10 07/08/97 13.15.50 by Rafik Ouared *CMZU: 5.05/10 07/08/97 12.32.57 by Rafik Ouared *CMZU: 5.05/07 28/03/97 20.34.50 by RAFIK OUARED *CMZ : 5.05/08 23/03/97 11.33.36 by RAFIK OUARED *-- Author : CB Geant Hackers, et. al. *. SUBROUTINE SVGTAB *. *. ****************************************************************** *. * * *. * SUBROUTINE SVGTAB * *. * * *. * Define the SV detector positionning * *. * as worked out from SV alignment calibration * *. * * *. * ==>Called by : UGINIT * *. * Author : R.Ouared Mar. 22, 1997 * *. * * *. * modified : R.Ouared Aug 7, 1997 * *. * SVGTAB modified to let job crashing if LUSV not used or * *. * misused. * *. ****************************************************************** * * CHARACTER*48 FILE,BLNK48 * &SEQ,GCUNIT. &SEQ,CBSVAL. * DATA BLNK48 /' '/ * * Read in the SV alignment calibration file. CALL UHTOC(SVNAME,4,FILE,48) WRITE (LOUT,900) FILE IF (FILE.NE.BLNK48) THEN &SELF,IF=VAX,DECS. OPEN (UNIT=12, FILE=FILE, STATUS='OLD', ACCESS='SEQUENTIAL', 1 FORM='FORMATTED', ERR=2300, READONLY) &SELF,IF=-VAX,IF=-DECS. OPEN (UNIT=12, FILE=FILE, STATUS='OLD', ACCESS='SEQUENTIAL', 1 FORM='FORMATTED', ERR=2300) &SELF. READ(12,810,ERR=2310) PERIOD WRITE (LOUT,810) PERIOD READ(12,*,ERR=2310) SVANG,SVXOFF,SVYOFF,SVZOFF,SVRAD, & XSHIFT,YSHIFT DO I=1,15 READ(12,910,ERR=2310) SVDX(I),SVDY(I),SVDZ(I), & SVANGX(I),SVANGY(I),SVANGZ(I) ENDDO CLOSE (UNIT=12, STATUS='KEEP',ERR=2320) ELSE C No file given: use internal tables. CALL ERRMES(12,'SVGTAB: program is going to crash..') CALL ERRMES(12,'SVGTAB: You must give SV align. & file name on CARDS$') CALL PWSET END IF * 28 CONTINUE RETURN * 2300 CONTINUE CALL ERRMES(12,'SVGTAB: Error opening SV alignment FILE$') STOP * 2310 CONTINUE CALL ERRMES(12,'SVGTAB: Error reading SV alignment in FILE$') STOP * 2320 CONTINUE CALL ERRMES(12,'SVGTAB: Error closing SV alignment file$') GOTO 28 * 900 FORMAT ('Reading SV alignment from file: ',A40) 810 FORMAT (A48) 910 FORMAT (6E12.4) END +ADD,SV,SVSHIF,*. &DECK,SVSHIF. *CMZ : 5.05/09 17/04/97 18.03.16 by Curtis A. Meyer *CMZU: 5.05/07 28/03/97 20.37.18 by RAFIK OUARED *CMZ : 5.05/08 24/03/97 10.46.05 by RAFIK OUARED *CMZU: 5.05/07 19/03/97 20.19.54 by Unknown *CMZU: 5.04/00 25/05/95 13.19.22 by RAFIK OUARED *CMZ : 5.01/00 16/09/94 11.13.19 by RAFIK OUARED *-- Author : SUBROUTINE SVSHIF *. *. ****************************************************************** *. * * *. * SUBROUTINE SVSHIF * *. * * *. * SET ON SVTX Geometry * *. * * *. * ==>Called by : GETGLHS * *. * Author : OUARED SEPTEMBER 10, 1994 * *. * Modified : R.Ouared 03/19/97 * *. * finding out the center of SV detector * *. * using the last strips of all the pads. * *. ****************************************************************** *. &SEQ,CBTTPR. &SEQ,GCONSP. &SEQ,CBSVGE. &SEQ,CBSVXY. &SEQ,CBSVAL. * REAL ZPOS,ATETH,APHI,RADIN,SVANGS,ANGS REAL VPOS(3,15) * NMODU=15 RADIN = PI/180. ALPHA= RADIN XHIFT=0. YSHIF=0. ANGSEC=TWOPI/NMODU * DO I=1,3 DO J=1,15 VPOS(I,J)=0. ENDDO ENDDO * ** Call external file for SV alignment * CALL SVGTAB write(6,*) 'SVSHIF: JUST AFTER SVGTAB..' * SVANG=SVANG*RADIN DO 13 I=1,NMODU SVANGS=SVANG-FLOAT(I-1)*ANGSEC XYA(1)=SVRAD*COS(SVANGS)+SVXOFF XYA(2)=SVRAD*SIN(SVANGS)+SVYOFF WRITE(6,*) 'XYA(1),XYA(2)...',XYA(1),XYA(2) IF(XYA(1).EQ.0.) XYA(1)=1.0E-06 XYA(1)=XYA(1)+SVDX(I) XYA(2)=XYA(2)+SVDY(I) WRITE(6,*) 'XYA(1),XYA(2)...',XYA(1),XYA(2) * VPOS(1,I)=XYA(1) VPOS(2,I)=XYA(2) * XSHIFT=XSHIFT+VPOS(1,I) YSHIFT=YSHIFT+VPOS(2,I) 13 CONTINUE * XSHIFT=XSHIFT/15. YSHIFT=YSHIFT/15. WRITE(6,*) 'SVSHIF: XSHIFT,YSHIFT..',XSHIFT,YSHIFT * RETURN END +REP,DFILES,CARDFILE,1-4. *CMZ : 5.05/08 17/04/97 16.24.06 by Curtis A. Meyer *CMZ : 5.03/01 16/03/95 09.20.27 by Curtis A. Meyer *CMZ : 5.02/00 13/03/95 15.41.51 by Curtis A. Meyer *CMZ : 5.00/02 19/11/94 03.19.05 by Curtis A. Meyer *-- Author : Curtis A. Meyer 19/11/94 +REP,DFILES,CARDFILE,23. LUSV 'sv_apr96.dat' +ADD,DFILES,CARDFILE,38. SVTX 1 ****SVXY 0. 1.2 ****SVAD 2 130 !FOR SVTX RUNS AFTER MAY 95 ****SVAD 0 0 !FOR SVTX RUNS OF APRIL * HDCB 0 means GHEISHA, 1 = FLUKA, 2 = GHEISHA_C HDCB 1 +ADD,DFILES,SV_APR96,*. &DECK,sv_apr96,T=DATA. *CMZ : 5.05/08 17/04/97 17.49.52 by Curtis A. Meyer *-- Author : Curtis Meyer 16/04/97 SV calibration: april 96 21.0 -0.2 0. 0. 1.25 -0.31864 -0.01232 -0.1580E+00 0.6000E-02 0.0000E+00 0.0000E+00 0.0000E+00 -0.2530E+00 -0.1150E+00 -0.1000E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.1400E+00 -0.9500E-01 -0.1500E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.6970E-01 -0.9960E-01 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 -0.5150E-01 -0.6400E-01 0.3000E-02 0.0000E+00 0.0000E+00 0.0000E+00 -0.3000E-02 -0.1050E+00 -0.1980E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.1480E-01 -0.9400E-01 -0.3700E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.4200E-01 -0.1260E+00 -0.3700E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.6300E-01 -0.1220E+00 -0.5100E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.1630E+00 -0.1200E+00 -0.1000E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.1990E+00 -0.1110E+00 -0.5600E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.2910E+00 -0.1600E+00 0.6000E-02 0.0000E+00 0.0000E+00 0.0000E+00 -0.2920E+00 -0.1260E+00 0.5000E-02 0.0000E+00 0.0000E+00 0.0000E+00 -0.3150E+00 -0.1420E+00 0.1600E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.2970E+00 -0.1420E+00 0.1500E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.3040E+00 +ADD,DFILES,SV_AUG96,*. &DECK,sv_aug96,T=DATA. *CMZ : 5.05/08 17/04/97 17.51.01 by Curtis A. Meyer *-- Author : Curtis Meyer 16/04/97 SV calibration: August 96 20.696 -0.2 0. 0. 1.25 -0.0795 0.0066 0.4210E-01 0.7400E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.2050E+00 0.1287E+00 0.7020E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.1054E+00 0.1603E+00 0.6480E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.2520E-01 0.1913E+00 0.5540E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.4200E-02 0.2412E+00 0.4730E-01 0.0000E+00 0.0000E+00 0.0000E+00 0.3140E-01 0.1887E+00 0.6200E-02 0.0000E+00 0.0000E+00 0.0000E+00 0.3280E-01 0.2046E+00 -0.3930E-01 0.0000E+00 0.0000E+00 0.0000E+00 0.3310E-01 0.1733E+00 -0.4650E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.4490E-01 0.1326E+00 -0.9460E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.9720E-01 0.1174E+00 -0.3930E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.1279E+00 0.7960E-01 -0.7800E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.2063E+00 0.2330E-01 -0.1380E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.2543E+00 0.5300E-01 0.9000E-03 0.0000E+00 0.0000E+00 0.0000E+00 -0.2946E+00 0.2970E-01 0.3080E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.2755E+00 0.4100E-01 0.6090E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.2569E+00 +ADD,DFILES,SV_JUL95,*. &DECK,sv_jul95,T=DATA. *CMZ : 5.05/08 17/04/97 17.51.01 by Curtis A. Meyer *-- Author : Curtis Meyer 16/04/97 SV calibration: july 95 20.696 -0.2 0. 0. 1.25 -0.21887 0.00412 -0.1400E-01 0.2360E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.2126E+00 0.9000E-03 0.1700E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.1135E+00 0.1500E-02 -0.5800E-02 0.0000E+00 0.0000E+00 0.0000E+00 -0.9610E-01 0.1490E-01 -0.9700E-02 0.0000E+00 0.0000E+00 0.0000E+00 -0.2820E-01 0.2886E-01 -0.3170E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.1400E-02 -0.3000E-03 -0.3420E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.5280E-02 0.1040E-01 -0.2900E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.7820E-01 0.1310E-01 -0.2280E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.1277E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 -0.7700E-01 -0.6700E-02 0.0000E+00 0.0000E+00 0.0000E+00 -0.1382E+00 -0.7080E-01 -0.6100E-02 0.0000E+00 0.0000E+00 0.0000E+00 -0.1970E+00 -0.8630E-01 0.4800E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.2377E+00 -0.3970E-01 0.4415E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.2847E+00 -0.2860E-01 0.5770E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.2679E+00 -0.3600E-01 0.1740E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.2978E+00 +ADD,DFILES,SV_SEP95,*. &DECK,sv_sep95,T=DATA. *CMZ : 5.05/08 17/04/97 17.51.01 by Curtis A. Meyer *-- Author : Curtis Meyer 16/04/97 SV calibration: july 95 20.696 -0.2 0. 0. 1.25 -0.21887 0.00412 -0.1400E-01 0.2360E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.2126E+00 0.9000E-03 0.1700E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.1135E+00 0.1500E-02 -0.5800E-02 0.0000E+00 0.0000E+00 0.0000E+00 -0.9610E-01 0.1490E-01 -0.9700E-02 0.0000E+00 0.0000E+00 0.0000E+00 -0.2820E-01 0.2886E-01 -0.3170E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.1400E-02 -0.3000E-03 -0.3420E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.5280E-02 0.1040E-01 -0.2900E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.7820E-01 0.1310E-01 -0.2280E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.1277E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 -0.7700E-01 -0.6700E-02 0.0000E+00 0.0000E+00 0.0000E+00 -0.1382E+00 -0.7080E-01 -0.6100E-02 0.0000E+00 0.0000E+00 0.0000E+00 -0.1970E+00 -0.8630E-01 0.4800E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.2377E+00 -0.3970E-01 0.4415E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.2847E+00 -0.2860E-01 0.5770E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.2679E+00 -0.3600E-01 0.1740E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.2978E+00 +ADD,DFILES,SV_NOV95,*. &DECK,sv_nov95 ,T=DATA. *CMZU: 5.05/10 07/08/97 12.54.30 by Rafik Ouared *-- Author : SV calibration: November 95 20.970 0. 0. 0. 1.25 -0.050746586 -0.04728663 -0.2070E+00 0.4453E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.2298E+00 0.4070E-01 0.4362E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.2188E+00 0.2533E+00 0.3565E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.2214E+00 0.3927E+00 0.2128E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.1951E+00 0.4923E+00 0.4670E-01 0.0000E+00 0.0000E+00 0.0000E+00 0.1961E+00 0.4300E+00 -0.1895E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.2210E+00 0.3556E+00 -0.3857E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.2192E+00 0.1700E+00 -0.5018E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.2154E+00 -0.4050E-01 -0.5857E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.2032E+00 -0.2363E+00 -0.4934E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.2227E+00 -0.4274E+00 -0.4147E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.2547E+00 -0.5593E+00 -0.2036E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.2167E+00 -0.5484E+00 -0.1730E-01 0.0000E+00 0.0000E+00 0.0000E+00 0.1956E+00 -0.5119E+00 0.2091E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.2455E+00 -0.3650E+00 0.3758E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.2700E+00 +ADD,DFILES,SV_SEP96,*. &DECK,sv_sep96 ,T=DATA. *CMZU: 5.05/10 07/08/97 12.54.30 by Rafik Ouared *-- Author : SV calibration: Sept.-Dec. 1996 20.97 0. 0. 0. 1.25 0.048514057 -0.030343939 0.1852E-01 -0.1670E-02 0.0000E+00 0.0000E+00 0.0000E+00 -0.1826E+00 -0.3870E-01 -0.1980E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.2686E+00 -0.3090E-01 0.1086E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.2650E+00 0.5358E-01 -0.3740E-02 0.0000E+00 0.0000E+00 0.0000E+00 -0.2061E+00 0.6967E-01 0.2193E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.2314E+00 0.5260E-01 -0.1100E+00 0.0000E+00 0.0000E+00 0.0000E+00 -0.8690E-01 0.3560E-01 -0.1062E+00 0.0000E+00 0.0000E+00 0.0000E+00 -0.9675E-01 0.4179E-01 -0.6067E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.1657E+00 0.4410E-01 -0.6348E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.1759E+00 0.2096E+00 -0.7238E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.3395E+00 0.1539E+00 -0.1449E+00 0.0000E+00 0.0000E+00 0.0000E+00 -0.3161E+00 0.1200E-02 -0.2550E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.1653E+00 0.1740E-01 -0.1260E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.1750E+00 0.3122E-01 0.7163E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.7228E-01 0.6813E-01 0.6136E-01 0.0000E+00 0.0000E+00 0.0000E+00 -0.6880E-01