+PATCH,$CORR. +DECK,CORR3. Updates version: 5.00/00 to 5.03/00 +REP,*TITLE*,TITLE,1. CBGEANT 5.03/00 15/03/95 15.26.48 +REP,$VERSION,V5_00,1-2. *CMZU: 5.00/06 05/12/94 07.21.01 by Curtis A. Meyer *CMZ : 5.00/05 29/11/94 07.23.54 by Curtis A. Meyer *CMZ : 5.00/04 24/11/94 09.15.01 by Curtis A. Meyer *CMZ : 5.00/03 23/11/94 15.04.29 by Curtis A. Meyer *CMZ : 5.00/02 22/11/94 23.23.45 by Curtis A. Meyer *CMZU: 5.00/01 14/09/94 08.15.16 by CBGEANT HACKERS * Bug fixes and smearing of the JDC dE/dx resolution. * Also, the hardware bit has now been set as in data. *CMZ : 5.00/00 21/07/94 11.29.57 by CBGEANT HACKERS *-- Author : CBGEANT HACKERS 21/07/94 * *::> VERSION 5.00/06 05/12/94 07.21.01 * * Fixed a typo in kispec. Index out of bounds. * *::> VERSION 5.00/05 29/11/94 07.23.54 * * Cleaned up the VAX/ALPHA install procedure. * *::> VERSION 5.00/04 24/11/94 09.15.01 * * I have tried to clean up the random number generators * in cbgeant by ONLY calling GRNDM(*vec(n),n). I have * noticed that the same events are not produced on an * Alpha-AXP (Open-VMS) and a SUN-IPC (SUNOS 4.1.3). * This probably implies some sort of hidden bug in * our cbgeant code! * * Replace all calls to RNDM() with explicit calls to * GRNDM(). * * Replcae all calls to NORRAN with a call to GRNDM() * plus in-line code to produce the gaussian distribution. * * Replace all calls to RNDNOR with a call to GRNDM() * plus in-line code to produce the gaussian distribution. * * There were calls to a routine GARNDM() which I could * find no documentation for. I assume that this was * a gaussian distributed random number. I have replaced * the calls as per NORRAN and RNDNOR above. * *::> VERSION 5.00/03 23/11/94 15.04.29 * * Deselect the FIXGEANT material. This has * been superceeded by geant 3.21/02. In fact * the local glvolu is buggy! * * Extract the random number overwrite routines * as part of the main code. These may have been * taken from the wrong place on some machines * due to link ordering. * *::> VERSION 5.00/02 22/11/94 23.23.45 * * See the history patch for details. * *::> VERSION 5.00/01 14/09/94 08.15.13 * +ADD,$VERSION,V5_03,*. &DECK,V5_03. *CMZ : 5.03/00 15/03/95 15.26.48 by Curtis A. Meyer *-- Author : Curtis A. Meyer 15/03/95 * *::> VERSION 5.03/00 15/03/95 15.26.48 * *> Produce an official release version for * general distribution. * +ADD,$VERSION,V5_02,*. &DECK,V5_02. *CMZ : 5.02/01 15/03/95 10.11.15 by Curtis A. Meyer *CMZ : 5.02/00 13/03/95 15.51.13 by Curtis A. Meyer *-- Author : Curtis A. Meyer 13/03/95 * *::> VERSION 5.02/01 15/03/95 10.11.14 * *> Smearing of JDC is now performed in locater * for both drift time, and amplitude. This has * now been removed from the MonteCarlo * *::> VERSION 5.02/00 13/03/95 15.51.13 * *> Merge Rafik's Vertex chamber code and my fixes * into one version. Corrections should be made * relative to version 5.00/00 and not 5.01/01. * *> Unix flags are now implemented for Alliant, * Decstations, HP unix boxes, IBM Risc, Sun, * SGI and Alpha/OSF. * +ADD,$VERSION,V5_01,*. &DECK,V5_01. *CMZ : 5.01/01 13/12/94 15.30.42 by RAFIK OUARED *CMZ : 5.01/00 12/12/94 18.28.24 by RAFIK OUARED *-- Author : RAFIK OUARED 12/12/94 * *::> VERSION 5.01/01 13/12/94 15.30.41 * SVTX ENCODED IN THE THE WORD RUNHDR WHICH STORES THE HARDWARE SETUP * AND READOUT INFORMATION. * *::> VERSION 5.01/00 12/12/94 18.28.24 * * IN THIS VERSION THE SILICON VERTEX CODE HAS BEEN INCLUDED IN THE * FORMER VERSION WITH EXTRA MINOR MODIFICATIONS IMPLEMENTED ON. +ADD,$HISTORY,CARDS,0. *CMZ : 5.01/00 22/09/94 22.18.11 by RAFIK OUARED *CMZ : 11/09/94 22.28.06 by RAFIK OUARED * Added new cards for SVTX: * SVTX to include SVTX * SVSG to digitize SVTX signal * there are also new related variables: * 'SV ','NDSVX,KRSVX +REP,$HISTORY,CARDS,44-49. DIGI c1...c6 'GH ' <-> QDIGI(1) = .FALSE. GHT digitized iff .T. 'PW ' <-> QDIGI(2) = .TRUE. PWC " " " 'JD ' <-> QDIGI(3) = .TRUE. JDC " " " 'BC ' <-> QDIGI(4) = .TRUE. BC " " " 'VE ' <-> QDIGI(9) = .FALSE. Veto " " " 'SV ' <-> QDIGI(10) = .FALSE. SVTX " " " +REP,$HISTORY,CARDS,64. 'SV ' <-> QGEOM(10) = .FALSE. " SVTX " " " +ADD,$HISTORY,CARDS,191. SVTX i1 NDSVX = 0 SVTX included 0: Do not include SVTX 1: Include SVTX +ADD,$HISTORY,CARDS,205. SVSG i1,r1...r3 NSSV = 0 Max. possible number of noise hits SVNOI = 0.10 Prob. a possible noise hit occurs SVCHE = 0.96 Chamber efficiency of SVTX SVNXT = 0.20 Prob. a hit wire fires adjacent wire +ADD,$HISTORY,CARDS,216. 'SV ' <-> QPREC(10) = " SVTX " " " " +REP,$HISTORY,CARDS,236-237. 'ALL ' <-> QRAWD(KALL )=.FALSE. Output EVHD, RPWC OR RSVX,RJDC RBCL,RBCF and MCIN data banks +ADD,$HISTORY,CARDS,257. 'RSVX' <-> QRAWD(KRSVX)= " " RSVX " " " " +REP,$HISTORY,CARDS,263-267. SETS c1...c6 'GH ' <-> QSETS(1) = .FALSE. GHT sensitive iff .T. 'PW ' <-> QSETS(2) = .TRUE. PWC " " " 'JD ' <-> QSETS(3) = .TRUE. JDC " " " 'BC ' <-> QSETS(4) = .TRUE. BC " " " 'VE ' <-> QSETS(9) = .TRUE. Veto ctr. " " " 'SV ' <-> QSETS(10) = .FALSE. SVTX " " " +ADD,$HISTORY,HISTORY,0. *CMZ : 5.03/00 15/03/95 15.26.32 by Curtis A. Meyer *CMZ : 5.00/02 22/11/94 22.53.13 by Curtis A. Meyer *CMZU: 5.00/01 14/09/94 08.12.18 by CBGEANT HACKERS +ADD,$HISTORY,HISTORY,332. CNext version: 5.00/01 C -Encode the hardware configuration a la offline, and save it C in the runheader and eventheader. C -Fix the bug in JDSROP, changing IO to I0 where necessary. C -Fix bug in a few JDC routines which did not properly C resolve the SELF. SELF END structures for the 'physical C JDC' C -The addition of three more 'particles', with special C decay chains. Proposed by Roy Bossingham. C -Add smearing of the dE/dx for the JDC hits. From Christoph C Strassburger and Bernd Kalteyer. The smearing is done by C multiplying the energy by 1.8*(X*0.2+1) where X is drawn C from a gaussian distribution truncated to a sigma of 3. AJN +ADD,$HISTORY,HISTORY,448. CNext Version 5.00/02 -- C.A.Meyer C C The random number seeds are now stored in the RMCB data bank, and C are available in cboff: C IQ(LRMCB+1,+2) SEED1,SEED2 at the start of the event. C IQ(LRMCB+3,+4) SEED3,SEED4 at the end of the event. C C The Z-smearing of the JDC was being performed twice in the JDCIN C routine. Once using the ZRESJD,ZMAXJD cards, and secondly using C Landau smearing. I have removed the Landau Smearing. The defaults C for ZRESJD is 0.64cm, and ZMAXJD is 1.40 cm. C C The code can now be installed using the cmz -install cbgeant C procedure. This has a built in help. The defaaults are *sensible* C from this procedure. C CNext Version 5.03/00 -- C.A.Meyer C C The first version of the Silicon vertex detector has been C implemented. This is not the final version, as digitisation C of hits is not yet implemented. C C The JDC resolution has been tuned to *agree* with the real C data for the old JDC. The smearing of drift times and C amplitudes has been moved from cbgeant into locater to C facilitate the reuse of already generated data. C +ADD,$HISTORY,PARTICLE,0. *CMZU: 5.00/01 10/08/94 13.40.13 by CBGEANT HACKERS * New decay modes of eta, from Roy Bossingham. AJN. +ADD,$HISTORY,PARTICLE,157. 73 eta000 0.54745 0 5.485E-19 pi0 pi0 pi0 100.0000 74 eta+-0 0.54745 0 5.485E-19 pi+ pi- pi0 100.0000 75 eta+-G 0.54745 0 5.485E-19 pi+ pi- gamma 100.0000 +ADD,$KUMACS,00_PATCH,*. &PATCH,$KUMACS. *CMZ : 5.00/02 02/11/94 16.49.26 by Curtis A. Meyer +ADD,$KUMACS,INSTALL,*. &DECK,install. *CMZ : 5.02/00 13/03/95 15.13.38 by Curtis A. Meyer *CMZU: 5.00/05 28/11/94 14.30.44 by Curtis A. Meyer *CMZU: 5.00/03 23/11/94 15.01.31 by Curtis A. Meyer *CMZ : 5.00/02 22/11/94 23.22.55 by Curtis A. Meyer *-- Author : Curtis A. Meyer 02.Nov.1994 * * This macro is similar to the install macro developed by * Mark Lakata for the Crystal Barrel Event Display * * Modified: 13.December.1994: Distinguish between VMS Alpha's and OSF Alpha's * Both yield $MACHINE=ALPHA OSF give $OS=UNIX AXP give $OS=VMS. * Macro INSTALL src=X * * [src] = src directory * [2-4] = options * * options: FASTJDC (default) * NOFASTJDC * DEBUG * TYPE * FIXGEANT * NOFIXGEANT (default) * INTERACTIVE * GEA315 = select GEANT 3.15 version * GEA316 = select GEANT 3.16 version * GEA321 = select GEANT 3.21 version (default) * ALL = create everything * TEXT = create only text files * LIB = create only library * if [src]='X' Then Exec help Goto END Endif If [src]='?' Then Exec help Goto END Endif * * CODEDIR Source code directory * CODEDIR = $Lower([src]) message Putting source code files in [CODEDIR] * * set defaults * DEBUGFLAG = FALSE TEXTFLAG = FALSE LIBFLAG = TRUE FXGEANT = TRUE Select . * * Take Geant 321 as the default. * Select GEA321 Select FASTJDC * * check options * FAIL = FALSE Do I = 2,[#] Case $Upper([%I]) In (DEBUG) DEBUGFLAG = TRUE (ALL) TEXTFLAG = TRUE LIBFLAG = TRUE (TEXT) TEXTFLAG = TRUE LIBFLAG = FALSE (LIB) TEXTFLAG = FALSE LIBFLAG = TRUE (FIXGEANT) FXGEANT = FALSE message ' Geant Overwrite routines selected ' (NOFIXGEANT) FXGEANT = TRUE message ' Geant Overwrite routines deselected ' (INTERACTIVE) Select INTER Select GRAPHICS (NOFASTJDC) Select -FASTJDC message ' Slow JDC simulation selected ' (FASTJDC) Select FASTJDC message ' Fast JDC simulation selected ' (TYPE) Select TYPE (GEA315) Select -GEA321 Select GEA315 Select -GEA316 message ' Geant Version 3.15 Selected ' (GEA316) Select -GEA321 Select -GEA315 Select GEA316 message ' Geant Version 3.16 Selected ' message 'Warning: Geant 3.16 is considered very buggy' (GEA321) Select GEA321 Select -GEA315 Select -GEA316 message ' Geant Version 3.21 Selected ' (*) message '****************************************' message Error: Option $Upper([%I]) not understood. message '****************************************' FAIL = TRUE Endcase Enddo If [FAIL] = TRUE then exec help goto end Endif Select $MACHINE Case $Machine In (ALPHA) Case $OS In (VMS) Select VAX (UNIX) Select UNIX Endcase (IBMRT) Select UNIX Endcase * Mess ' ' Mess Installation of CBGEANT on $MACHINE $OS starting at $DATE $TIME . Select Mess ' ' * * Set up the FORTRAN compiling extensions * Case $MACHINE In (APOLLO) Alias/Create ext ftn (IBM) Alias/Create ext fortran (VAX) Alias/Create ext for (ALPHA) Case $OS In (VMS) Alias/Create ext for (UNIX) Alias/Create ext f Endcase (*) Alias/Create ext f Endcase Set FORTRAN -LAN * * Set up filenames * Case $OS In (UNIX) Set [CODEDIR]/mkcbgeant.sh -XADCL 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 -XADCL Set [CODEDIR]*.ext -F Set CBGEANT.OLB -L Alias/create cbgeant_run_script CBGEANT_RUN.COM Alias/create cbgeant_link_script CBGEANT_LINK.COM Endcase * * Set up the debug options * If [DEBUGFLAG] = TRUE Then Case $MACHINE In (APOLLO) DEBUGOPT=' -dba' (HPUX,SGI,SUN,DECS,IBMRT) DEBUGOPT=' -g' (VAX) DEBUGOPT='/NOOP/DEB' (ALPHA) Case $OS In (VMS) DEBUGOPT='/NOOP/DEB' (UNIX) DEBUGOPT=' -g' Endcase Endcase Else DEBUGOPT=' ' Endif * * choose fortran compiler options and other stuff * If [LIBFLAG] = TRUE Then Case $MACHINE In (APOLLO) Set '/com/ftn $compfile'//[DEBUGOPT]//' -indexl -save' -C f77 (HPUX) Set 'f77 -c'//[DEBUGOPT]//' +ppu $compfile' -C f77 (SUN) Set 'f77 -c'//[DEBUGOPT]//' -fnonstd -O -Nl100 -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 -O -w -Nl99 '//[DEBUGOPT]//' $compfile' -C f77 (VAX) Set 'FOR/OBJ=$compfile.OBJ'//[DEBUGOPT]//' $compfile' -C f77 (ALT) Set 'fortran -c -nc -Og -save '//[DEBUGOPT]//' $compfile' -C f77 Select ZUERICH (ALPHA) Case $OS In (VMS) Set 'FOR/SEPAR/OBJ=$compfile.OBJ'//[DEBUGOPT]//' $compfile' -C f77 (UNIX) Set 'f77 -c -O -w -Nl99 '//[DEBUGOPT]//' $compfile' -C f77 Endcase Endcase * * Sequence //cbgeant/commcb Sequence //cbgeant/gcdes * * make the library... * Cd //cbgeant CFLib * * * Extract the Main code, cbmain.[ext] * Set cbmain.ext -F buffer . buffer //cbgeant/cbbase/main buffer //cbgeant/cbbase/rndm buffer //cbgeant/cbbase/norran buffer //cbgeant/cbbase/rndnor buffer //cbgeant/cbuser/* buffer //cbgeant/cbbase/gudigi buffer //cbgeant/mg/gufld buffer //cbgeant/cbbase/guhadr buffer //cbgeant/cbbase/gukine buffer //cbgeant/cbbase/guout buffer //cbgeant/cbbase/guphad buffer //cbgeant/cbbase/gustep buffer //cbgeant/cbbase/gutrev * If [FXGEANT] = TRUE Then message ' Geant Overwrite routines being extracted ' select FIXGEA buffer //cbgeant/fixgeant/* Endif * message ' Extracting the cbgeant Main code block ' * ctof -B * * output link file * cd exec_shells Set cbgeant_link_script -f text Ctot -s @make_it Case $OS In (UNIX) shell chmod +x cbgeant_link_script EndCase Message ************************** READ THIS ****************** Message * * Message * The following files were created: * Message * * Message * libcbgeant.a - the object library * Message * cbmain.ext - the fortran code * Message * cbgeant_link_script - this file must be edited * Message * and then run to do the final linking.* Message * * Message * You Must use the shell cbmain.ext produced by this * Message * script. Otherwise, you may get irregular results. * Message * * Message ************************** READ THIS ****************** Endif * output the necessary kumac files used by CBGEANT at run time. If [TEXTFLAG] = TRUE then CD //cbgeant/dfiles Set mcfera.lut -f text CTOT -s fera Set mc2282.lut -f text CTOT -s 2282 set cbgea.crd -f text CTOT cardfile * * run scripts. these are used to set up the Logicals and environment var * when you run cbgeant. * CD //cbgeant/exec_shells Set cbgeant_run_script -f text CTOT -s @run_it Case $OS In (UNIX) shell chmod +x cbgeant_run_script EndCase Message ************************** READ THIS ****************** Message * * message * The following TEXT files were created: * Message * * message * mcfera.lut - Fera look up table * Message * mc2282.lut - 2282 look up table * Message * cbgea.crd - Example Card file for cbgeant * Message * * Message * cbgeant_run_script - run script. This may need to * Message * be modified. * Message * * Message ************************** READ THIS ****************** Endif END: Return +ADD,$KUMACS,HELP,*. &DECK,help. *CMZ : 5.02/00 13/03/95 15.13.39 by Curtis A. Meyer *CMZ : 5.00/03 23/11/94 15.02.42 by Curtis A. Meyer *CMZ : 5.00/02 20/11/94 08.30.03 by Curtis A. Meyer *-- Author : Curtis A. Meyer 02.Nov.1994 Macro HELP mess 'Command template:' mess 'UNIX: cmz -install cbgeant [