CBGEANT V5.05/01: ------------------------USER DATA CARDS FOR CBGEANT--------------------------- AGHT r1 ANGGHT = 0. deg Rotation of GHT sector 0 from +Y axis AJDC r1 ANGJDC = 0.97 deg Rotation of JDC Sec. 1 sense plane from +Y axis (wires staggered across plane) ALOR r1 ANGLOR =-7.0 deg JDC Lorentz angle: depends on B and gas APWC r1 r2 ANGPWC(1) = 0. deg Rotation of PWC1 wire 0 from +Y axis ANGPWC(2) = 0. deg " " PWC2 " " " " " AUTO i1 IGAUTO = 1 (for FASTJDC) IGAUTO = 0 (for -FASTJDC; user cannot override) AUTO 0 enables user tracking param. AUTO 1 means they are ignored BCCC l1 LBCCC = ON Copper cooling collars included if ON BWID r1 r2 r3 WIDIN(1) = 0. Sigma of vertices in X (SETV 90->93) WIDIN(2) = 0. " " " " " " " " WIDIN(3) = 0. " " " " " (SETV 90->91) or Z halfwidth of vertices (SETV 92,93) 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. CCUT l1 LCECUT = OFF Material-independent energy cuts if ON 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 " " " Note: if the DIGI card is used, defaults are ignored --- ALL desired detector elements must then be explicitly listed. Use upper case letters; trailing blanks are significant. Defaults can be affected by GEOM and SETS cards. Veto counter digitization is not yet implemented. GEOM c1...c9 'GH ' <-> QGEOM(1) = .FALSE. Include GHT detector iff .T. 'PW ' <-> QGEOM(2) = .TRUE. " PWC " " " 'JD ' <-> QGEOM(3) = .TRUE. " JDC " " " 'BC ' <-> QGEOM(4) = .TRUE. " BC " " " 'MG ' <-> QGEOM(5) = .TRUE. " magnet " " 'TGLH' <-> QGEOM(7) = .TRUE. " LH2 target " " 'TGHP' <-> QGEOM(8) = .FALSE. " HP " " " 'VE ' <-> QGEOM(9) = .TRUE. " veto counter " " 'SV ' <-> QGEOM(10) = .FALSE. " SVTX " " " Note: if the GEOM card is used, defaults are ignored --- ALL desired detector elements must then be explicitly listed. Use upper case letters; trailing blanks are significant. GHT/PWC and GHT/TGLH/TGHP are mutually exclusive. Defaults can be affected by SETS and DIGI cards. GET c1... 'VERT' <-> QPRIN(KVERT)=.FALSE. CALL GPVERT iff .T. 'KINE' <-> QZGET(KKINE)= " Get KINE bank iff .T. 'HITS' <-> QZGET(KHITS)= " Hits read from tape iff .T. 'DIGI' <-> QZGET(KDIGI)= " Digits read from tape iff .T. 'SETS' <-> QZGET(KSETS)= " 'VOLU' <-> QZGET(KVOLU)= " 'GEOM' <-> QZGET(KGEOM)= " 'MATE' <-> QZGET(KMATE)= " 'TMED' <-> QZGET(KTMED)= " 'CXYZ' <-> QZGET(KCXYZ)= " 'JXYZ' <-> QZGET(KJXYZ)= " 'ROTM' <-> QZGET(KROTM)= " 'PART' <-> QZGET(KPART)= " HDTG i1 IVHDTG = 0 Trigger number - not implemented IDEN l1 LIDENT = OFF "ON" enables some (mostly setup) subroutines to identify themselves IFLD i1 IFLDPJ = 3 IFIELD to use in target, PWC and JDC 1 : Runge-Kutta for inhomogeneous field 2 : Helix: homo. field not along axis 3 : Helix: homo. field is along axis JDC s(20) FILEJ = ' ' File of JDC drift data (Use correct letter case with UNIX.) Note: new drift tables available with B-field pointing along -Z axis for JDC voltages in use since December 1990 (November 1990 was similar) in the patch DFILES: jdc00.dat for 0.0 Kilogauss jdc10.dat " 10.0 " jdc15.dat " 15.0 " JDNS r1,r2 RSIGJD = 0.24 Random JDC signal fractional variation RNOIJD = 15.0 JDC signal noise per amplifier JDRS r1,r2 SIGXJD = 0.000 Cm Landau smear in JDC (X); disabled SIGYJD = 0.000 Cm Landau smear in JDC (Y); disabled ZRESJD = 0.64 Cm Gaussian smear in JDC (Z) ZMAXJD = 1.40 Cm Limit: Gaussian smear in JDC (Z) JDSG i1,r1...r5 KTHRES = 250 JDC threshold either end AVALA = 0.735 JDC amplitude normal. AVALS = 0.2 Width of avalanche distribution PDOUBL = 0. Fraction of JDC signals = double PTRIPL = 0. Fraction of JDC signals = triple HWLEN = 23.68 Cm 0.5 x JDC electical wire length KILL i1...i11 NPKILL = 1 Number of GEANT particle types to kill IDKILL(1) = 4 Kill neutrinos by default KINE i1,r1...rn IKINE = 3 Default: use -KIBIBA generator PKINE( 1) = 1. -with hit/miss Monte Carlo PKINE( 2) = 0. -for decays at rest PKINE( 3) =-8. -into pi+/pi-/pi0. PKINE( 4) = 0. : PKINE(10) = 0. IKINE= 2 -> KIUSER: either a user-supplier generator, or the simple, one- particle generator that is included. In the included generator, PKINE is interpreted as: PKINE(1) = particle type PKINE(2) = lower momentum limit (GeV/c) PKINE(3) = upper " " " PKINE(4) = theta (deg.) (isotropic theta,phi if < 0) PKINE(5) = phi (deg.) " " " " " " IKINE= 3 -> KIBIBA: "Big Bang" particle generator. PKINE(1) = 0. (use normal FOWL generator) = 1. (use hit/miss Monte Carlo) PKINE(2) = P_z of beam (GeV/c) PKINE(3) < 0. : Event ID (BIGTID defines ID's 1-30) = 0. : Event chosen from weighted table (table may be obsolete; be careful) > 0. : Number of specified particles PKINE(4) = particle type for first specified particle PKINE(5-7) = P,theta,phi for PKINE(3)=1 (theta or phi<0: isotropic distribution) PKINE(5-9) = remaining particle types for PKINE(3)>1. IKINE= 31-> KIDEUT: Deuterium annihilation particle generator. PKINE(1) = 0. (use normal FOWL generator) = 1. (use hit/miss Monte Carlo) PKINE(2) = P_z of beam (GeV/c) PKINE(3) > 1. : Number of specified particles PKINE(4) = ID of spectator particle (proton/neutron) PKINE(5) = ID for first produced particle PKINE(6-10) = remaining particle ID's IKINE=50 -> KIRFQ: RFQ isotropic gamma generator PKINE(1) = energy of gammas (0-100 GeV) PKINE(2) = number of gammas (1-1000) IKINE=99 -> KITWOB: two-body Pbar-P annihilations at rest in lab; isotropic distribution with 12. degQPREC(1) = .FALSE. GHT prec. tracking iff .T. 'PW ' <-> QPREC(2) = " PWC " " " " 'JD ' <-> QPREC(3) = " JDC " " " " 'BC ' <-> QPREC(4) = " BC " " " " 'MG ' <-> QPREC(5) = " Magnet " " " " 'TGLH' <-> QPREC(7) = " LH2 targ. " " " " 'TGHP' <-> QPREC(8) = " HP targ. " " " " 'VE ' <-> QPREC(9) = " Veto ctr. " " " " 'SV ' <-> QPREC(10) = " SVTX " " " " Note: Use upper case letters; trailing blanks are significant. PRIN c1...c13 (Most options cause information to be printed.) 'VERT' <-> QPRIN(KVERT)=.FALSE. CALL GPVERT iff .T. 'KINE' <-> QPRIN(KKINE)= " CALL GPKINE " " 'HITS' <-> QPRIN(KHITS)= " CALL GPHITS " " 'DIGI' <-> QPRIN(KDIGI)= " CALL GPDIGI " " 'SETS' <-> QPRIN(KSETS)= " CALL GPSETS " " 'VOLU' <-> QPRIN(KVOLU)= " CALL GPVOLU " " 'GEOM' <-> QPRIN(KGEOM)= " ? 'MATE' <-> QPRIN(KMATE)= " CALL GPMATE " " 'TMED' <-> QPRIN(KTMED)= " CALL GPTMED " " 'CXYZ' <-> QPRIN(KCXYZ)= " CALL GPCXYZ " " (each step) 'JXYZ' <-> QPRIN(KJXYZ)= " ISWIT(10)=1: store JXYZ struc. 'ROTM' <-> QPRIN(KROTM)= " CALL GPROTM iff .T. 'PART' <-> QPRIN(KPART)= " CALL GPPART " " RAWD i1 c1-c20 IORAWD = 20 LUN for raw data banks 'ALL ' <-> QRAWD(KALL )=.FALSE. Output EVHD, RPWC OR RVTX,RJDC RBCL,RBCF and MCIN data banks 'EVHD' <-> QRAWD(KEVHD)= " Output EVHD data bank iff .T. 'RRAW' <-> QRAWD(KRRAW)= " " RRAW " " " " 'RBCF' <-> QRAWD(KRBCF)= " " RBCF " " " " 'RBCL' <-> QRAWD(KRBCL)= " " RBCL " " " " 'RGHC' <-> QRAWD(KRGHC)= " " RGHC " " " " 'RGHF' <-> QRAWD(KRGHF)= " " RGHF " " " " 'RJDC' <-> QRAWD(KRJDC)= " " RJDC " " " " 'RJDF' <-> QRAWD(KRJDF)= " " RJDF " " " " 'RPWC' <-> QRAWD(KRPWC)= " " RPWC " " " " 'RMON' <-> QRAWD(KRMON)= " " RMON " " " " 'ROTR' <-> QRAWD(KROTR)= " " ROTR " " " " 'RMCB' <-> QRAWD(KRMCB)= " " RMCB " " " " 'DISK' <-> QRAWD(KDISK)=.FALSE. DISK (written to iff .T.) 'TAPE' <-> QRAWD(KTAPE)=.TRUE. TAPE (written to iff .T.) (Use TAPE when writing to disk for later transfer to tape.) 'NATI' <-> QRAWD(KNATI)=.TRUE. NATIve format by default 'EXCH' <-> QRAWD(KEXCH)=.FALSE. EXCHange format if .T. 'ALFA' <-> QRAWD(KALFA)= " ALFA format iff .T. (implies the use of exchange format) 'RVTX' <-> QRAWD(KRSVX)= " " RVTX " " " " Note: Use upper case letters; trailing blanks are significant. RMAX r1 RMAX = 500.0 cm Kill if SQRT(x**2+y**2)>RMAX 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 " " " Note: if the SETS card is used, defaults are ignored --- ALL desired detector elements must then be explicitly listed. Use upper case letters; trailing blanks are significant. Defaults can be affected by GEOM and DIGI cards. SETV i1 r1...r3 IVERTI = 0 Sets vertex type, positioned at r1-r3 i1 = 0: Origin fixed at (0,0,0) i1 = 2: ASTERIX distribution i1 = 3: ASTERIX dist.; target cut i1 = 6: CB TGHP distribution i1 = 7: CB TGHP dist.; target cut i1 = 8: CB TGLH distribution i1 = 9: CB TGLH dist.; target cut i1 = 60-69: User distributions in USVERT i1 = 80: r1-r3=sigmas around (0,0,0) i1 = 81: r1-r3=sigmas; target cut i1 = 90: Use BWID widths i1 = 91: Use BWID widths; target cut i1 = 92: Use BWID widths; uniform Z i1 = 93: Use BWID widths; uniform Z; target cut Note: Reminder: clearly, distributions 2-9 should not be taken too literally, since the target position, bubble content, etc. vary significantly from run to run. IVERTI=90,91,92 or 93 are more general, but still make assumptions about the shape of the distributions. The user may find it necessary to provide an override routine to implement the real stopping distribution for a given run. STAT GEANT user card: giving this card an argument will cause Geant to create some statistics banks. SVTX i1 Send email to Rafik about the meaning. SVXY r1 r2 Send email to Rafik about the meaning. SVAD i1 i2 Send email to Rafik about the meaning SWIT i1...i10 ISWIT( 1) = 0 =1 -> print primary vertex, kinematics ISWIT( 2) = 0 ISWIT( 3) = 0 ISWIT( 4) = 0 ISWIT( 5) = 0 ISWIT( 6) = 0 0 -> print all tracks, if PRIN JXYZ i6 -> " i6 th track, " " " ISWIT( 7) = 0 i7 -> " i7 " " " " ISWIT( 8) = 0 i8 -> " i8 " " " " ISWIT( 9) = 0 ISWIT(10) = 0 1 -> store the JXYZ data structure 10 -> forget about the JXYZ structure TGLH c1 C2 TGFILL ='LH2 ' 'LH2 ' -> TGLH target filled with LH2 'LD2 ' -> " " " " LD2 (The annihilation physics is unchanged; it is left to the user to provide the proper treatment.) TGYEAR ='1990' '1989' or '1990' -> Design 1 '1991' or '1992' -> Design 2 VCTR r1 r2 PVETO(1) = 200.0 cm Z position of "pi" counter face PVETO(2) = 1.E6 MeV Veto threshold (not implemented yet) XCAF s(20) XCFILE = ' ' Xtal calibration table (Use correct letter case with UNIX.) XCVA r1 CONXVA = 0.01 Random crystal calibration sigma XNFE r1 r2 CONXF(1) = 0.060 MeV Fera noise, coherent (RMS) CONXF(2) = 0.500 MeV " " incoherent " XNFF s(20) XFFILE = ' ' Fera noise table name (Use correct letter case with UNIX.) XN2F s(20) X2FILE = ' ' 2282 noise table name (Use correct letter case with UNIX.) XN22 r1 r2 CONX2(1) = 0.060 MeV 2282 noise, coherent (RMS) CONX2(2) = 0.250 MeV " " incoherent " XRAY i1 IVXRAY = 0 (no Xray) Requests protonium Xrays at vertex ZTAR r1 ZTARG = 0. cm Offset of target from nominal position ------------FILE FORMAT FOR CRYSTAL NOISE AND CALIBRATION FILES-------------- The files associated with the XCAF, XNFF and XN2F data cards are ASCII files. They are read with a list-directed read, with entries ordered by compound crystal number, each on a separate line. The compound crystal number is: NCOMP = IPHI + (ITHETA-1)*60, with ITHETA: 1-26, starting at +Z axis IPHI: 1,2,3, 60, starting at +Y axis, for ITHETA=4-23 IPHI: 2,4,6,...,60, starting at +Y axis, for ITHETA=1-3,24-26 The files begin with three header lines of up to 79 characters/line for file identification and comments. These are echoed to the LOUT unit by BCSET during the CBGEANT set-up period. (A blank is added in front of each comment line on the output.) -----------------------------END OF CARDS FILE-------------------------------
Last updated on the 16'th of December, 1995 by Curtis A. Meyer