Steering cards for Cbgeant
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. deg QPREC(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-------------------------------
Back to the CMU Crystal Barrel Home Page.
Last updated on the 16'th of December, 1995 by Curtis A. Meyer