c This is the control file for the GEANT simulation. Parameters defined c in this file control the kind and extent of simulation that is performed. c The full list of options is given in section BASE-40 of the GEANT manual. c c In addition, some new cards have been defined to set up the input source c for the simulation. Three kinds of simulation runs are available, selected c by which of the following three "cards" are present below. c 1. Input from Monte Carlo generator (card INFILE) c 2. Built-in coherent bremsstrahlung source (card BEAM) c 3. Built-in single-track event generator (card KINE) c The order of the list is significant, that is if INFILE is present then the c BEAM and KINE cards are ignored, otherwise if BEAM is present then KINE is c ignored. For example, the 3-card sequence: c INFILE 'phi-1680.hddm' c SKIP 25 c TRIG 100 c instructs HDGeant to open ./phi-1680.hddm, skip the first 25 events and then c process the following 100 input events and stop. If the end of the file is c reached before the event count specified in card TRIG is exhausted then the c processing will stop at the end of file. cINFILE 'bggen.hddm' TRIG 40000 c The RUNG card is one of the ways to set the run number that is written to c the output events. The simulation run number determines which geometry and c magnetic field settings are used in the simulation, and also a variety of c detector readout and digitization parameters that are read from ccdb. c The simulation run number is selected according to the following rules: c 1) if it is specified on the command line with the -r option c then this overrides all other sources; c 2) if is it specified in this control.in file on a line starting with the c letters runno or RUNNO then the second field in that line is interpreted c as an unsigned integer and assigned as the simulation run number; c 3) if there is no RUNNO line in control.in but there is a line starting c with rung or RUNG then the second field on the RUNG line is taken c as the simulation run number and written to the output events; c 4) if there is no RUNNO or RUNG card in control.in but there is an c external input event file specified by a line starting with INFI[le] c then the run number that is written in the input events in that input c file is carried over to the simulation output events, and used by the c simulation; c 5) if none of the above conditions is met then the simulation run number c is taken to be zero. Normally this is not considered valid, and a c warning message is printed at startup. RUNG 71000 c Normally the position of the primary event vertex is read from the input c file that is produced by an external Monte Carlo generator. In the special c case that the primary vertex is set to (0,0,0) by the generator, a random c offset is added by the simulation, generated uniformely along a cylinder to c represent the beam-target overlap volume. This 3d offset is added to the c primary vertex position and all of the secondary vertices as well, so that c the complete event is shifted to originate at the random assigned point. c The vertex times are likewise shifted according to the shift in z, so c that the time of the primary vertex coincides with the instant that one c of the beam bunches is passing through the z-plane of the shifted vertex. c By default, this cylinder is centered on the z axis extending from z=50.25 c to 79.75 cm, with a uniform transverse density and a diameter of 0.5 cm. c The VERTEX card allows this default behavior to be superseded by a c Gaussian transverse beam spot specified in one of the following ways. c 'beam_spot(x,y,z,var_xx,var_xy,var_yy,dxdz,dydz) * length' c or c 'beam_spot(ccdb) * length' c where the symbols x,y,z,var_xx,var_xy,var_yy,dxdz,dydz and length are c numerical values that specify the vertex distribution, as follows. c x,y,z = center of random cylinder that defines the c distribution of generated vertex points; c var_xx, var_xy, var_yy = parameters of an ellipse in the xy c plane that defines the transverse Gaussian distribution; c dxdz = slope of the cylinder axis in the zx plane; c dydz = slope of the cylinder axis in the zy plane; c length = length of the target along z, assumed uniform. c All spatial dimensions are given in cm, and variances in cm^2. The second c form with beam_spot(ccdb) supports lookup of x,y,z,var_xx,var_xy,var_yy, c dxdz,dydz in ccdb, according to the run number being simulated. The c length parameter still needs to be specified independently because it is c not included in the beam_spot table in ccdb. The beam_spot parameter c list (x,y...) may be truncated at any point, in which case the remaining c unstated values will be assigned to zero. Whatever values you assign, c the entire string MUST BE ENCLOSED IN SINGLE QUOTES ''. cVERTEX 'beam_spot(0.20,-0.02,65.,0.06,0.,0.06,-0.0007,0.0004) * 29.5' VERTEX 'beam_spot(ccdb) * 29.5' c The BEAM card configures the built-in coherent bremsstralung photon c beam generator in HDGeant. If the INFILE card is not present and BEAM c is specified, the internal coherent bremsstralung generator is the primary c source of events for the simulation. If INFILE is specified, the primary c event source is the external Monte Carlo generator that produced the file, c but the BEAM card may still be present, and it is needed if beam-related c backgrounds are being superimposed on top of the primary event signals, c as requested with the BGRATE card (see below). The beam card accepts c the following parameters. c Emax - end-point energy of the electron beam (GeV) c Epeak - energy of the primary coherent peak edge (GeV) c Emin - minimum energy of the coherent bremsstrahlung beam (GeV) c collz - z position of collimator in m c colld - diameter of collimator in m c Eemit - electron beam emittance in m.rad c radthick - dimaond radiator thickneess in m c spotRMS - virtual spot rms size at the collimator (m) c spotX - x offset of virtual spot from collimator axis (m) c spotY - y offset of virtual spot from collimator axis (m) c Omitting the final parameter Emin results in the default value being used. c Setting Epeak to zero selects an amorphous radiator instead of diamond. cBEAM 12. 9.0 0.0012 76.00 0.005 10.e-9 20.e-6 1e-3 -0.0 +0.0 c The GENBEAM card configures the simulation program to act purely as a c Monte Carlo event generator, and not to actually track any of the particles c that it generates. The events are written to the output file with only the c MC section filled out (reactions tag). This file can be fed back later to c HDGeant using the INFILE card above to carry out the actual simulation. c This provides access to the built-in photon beam generator of HDGeant to c someone who wants to study the properties of the beam apart from its c interactions in the target. Three keywords are currently supported. c 'precol' - single-photon events starting upstream of the primary c collimator, with correlated spatial and momentum c distributions for the well-tuned GlueX beamline. c 'postcol' - single-photon events starting downstream of the secondary c collimator. Beam photons have been tracked through the c system of collimators and sweep magnets but then stopped c before entry into the pair spectrometer. c 'postconv' - e+e- pair and e+e-/e-recoil events generated in the c TPOL target. Beam photons have been tracked through c the system of collimators and then pair-converted in c the TPOL coverter using a custom polarization-sensitive c pair/triplet production generator. They are saved as c a single vertex within the PTAR target. c 'BHgen' - beam photons are followed from the source to the target c where they are forced to undergo e+e- conversion through c the Bethe-Heitler process. These pairs are saved in the c output file for possible simulation later. If the first c argument 'BHgen' is followed by a floating point value c then it is taken as the minimum mass of the generated c pair in GeV/c^2 (default zero). The event weight saved as c an attribute of the tag in the output event c allows the user to run the generated events through an c accept-reject filter before they are simulated. The c weight is in microbarns, such that the average value c is the total cross section for Bethe-Heitler pairs c above the stated pair threshold. c The first two modes are supported by both HDGeant and HDGeant4, while c postconv and BHgen are only supported by HDGeant4. cGENBEAM 'postconv' cGENBEAM 'BHgen' 1.0 c Commenting out the following line will disable simulated hits output. OUTFILE 'samplegun.hddm' c Uncomment the following line to turn off geometry optimization. Generally c you do NOT want to turn this off. Doing so may result in a significantly c faster startup, but slower event processing. Faster startup is useful c when running interactively to inspect the geometry or visualize a few c events. It may also be useful when developing HDGeant4 itself. Otherwise c leave geometry optimization on (the default). c GEOMOPT 0 c The following are used to automatically invoke the mcsmear program c to do the final stage digitization of hits after the simulation c stage is complete. This simply invokes the mcsmear program passing c it any optional arguments supplied here and then optionally deletes c the OUTFILE specified above leaving only the smeared file. This stage c can be invoked by hand afterwards, but having it done automatically c here allows hdgeant and mcsmear to function as though it were a single c program. The specific keys are as follows. c c POSTSMEAR - set this 1 to auto-invoke the mcsmear program and 0 to not c DELETEUNSMEARED - set this to 1 to delete the OUTFILE after running mcsmear c MCSMEAROPTS - String to specify additional arguments to pass to mcsmear POSTSMEAR 0 DELETEUNSMEARED 0 c MCSMEAROPTS '-t1000 -d0' c The following card enables single-track generation (for testing). c For a single-particle gun, set the momentum (GeV/c), direction c theta,phi (degrees) and vertex position (cm), and for the particle c type insert the Geant particle type code plus 100 (eg. 101=gamma, c 103=electron, 107=pi0, 108=pi+, 109=pi-, 114=proton). If you use c the particle code but do not add 100 then theta,phi are ignored c and the particle direction is generated randomly over 4pi sr. c For a listing of the Geant particle types, see the following URL. c http://wwwasdoc.web.cern.ch/wwwasdoc/geant_html3/node72.html c The meaning of the arguments to KINE are as follows. c - particle = GEANT particle type of primary track + 100 c - momentum = initial track momentum, central value (GeV/c) c - theta = initial track polar angle, central value (degrees) c - phi = initial track azimuthal angle, central value (degrees) c - delta_momentum = spread in initial track momentum, full width (GeV/c) c - delta_theta = spread in initial track polar angle, full width (degrees) c - delta_phi = spread in initial track azimuthal angle, full width (degrees) c c If you do explicitly specify the momentum/angle (by adding 100 as c described above, you may also choose to distibute tracks evenly in c log(P) or log(theta) by setting the appropriate PLOG and TLOG flags c to a non-zero value. c PLOG 1 c TLOG 1 c c particle momentum theta phi delta_momentum delta_theta delta_phi KINE 112 0.5 80. 180. 1. 160. 360. c The SCAP card determines the vertex position for the particle gun. It c supports the following three arguments, all of which default to 0. c c vertex_x vertex_y vertex_z SCAP 0. 0. 65. c The TGTWIDTH card is used to determine an extended volume from c which the particle gun will generate vertexes. The vertex position c is sampled evenly from a cylindrical volume whose radius is given c by the first parameter and whose full z-extent is given by the second. c The volume is centered on the coordinates specified by SCAP above. c If the card is not specified, then both the r and z extent default c to zero meaning the vertex is always located at the point specified c by SCAP. Note that this only affects the particle gun. Events read c from a file contain their own vertex information. c c vertex_extent_r vertex_extent_z TGTWIDTH 0.5 29.5 c If you specify a non-zero value for vertex_x and/or vertex_y above then c all tracks will emerge from the given point. If you leave them at zero, c you have the option of specifying the HALO card which causes the simulation c to generate events with a transverse profile modeled after the 12 GeV c electron beam. The argument only argument to HALO is fhalo, the fraction c of the beam that lies in the halo region surrounding the core gaussian. c The nominal value taken from CASA technical note JLAB-TN-06-048 is 5e-5. c This card is only effective for electron beam simulations with gxtwist. c c fhalo HALO 5e-5 c The following lines control the rate (GHz) of background beam photons c that are overlayed on each event in the simulation, in addition to the c particles produced by the standard generation mechanism. BGGATE expects c two values in ns, which define the window around the trigger time that c background beam photons are overlaid on the simulation. The value you c should enter for BGRATE depends on many details of the photon beam: the c endpoint energy, the low-energy cutoff to be used in generating beam c photons, the location of coherent edge, the electron beam spot size and c emittance at the primary collimator, the electron beam current, etc. To c find the setting that is right for you, follow these steps in order. c 1) Check the BEAM card above that it has correct values for the electron c beam energy (field 1) and the low-energy cutoff that you want to use c in your simulation (field 3). Remember these values. c 2) Open a new tab in a web browser and enter the following URL, c http://zeus.phys.uconn.edu/halld/cobrems/ratetool.cgi which displays c a form containing many fields describing the electron beam and the c photon beamline. Enter the correct values in all fields in the c left-most column of parameters. The right column of parameters c defines the windows over which the tool will compute integrals of c the beam rate. Set the "end-point" window to span the full range c from your beamEmin (see step 1 above) to the electron beam endpoint, c Then click the Plot Spectrum button. After a few seconds, the form will c respond with a few plots and rate numbers in bold text. Record the c value given for the "end-point rate". This is your BGRATE value. c 3) Enter your BGRATE value found in step 2 after BGRATE in the line c below, and remove any characters before the BGRATE keyword. You are c now ready to go. If you ever change anything in the beamline geometry c eg. the collimator diameter, the coherent edge position, or the value c of beamEmin, do not forget to come back and change your BGRATE. cBGGATE -200. 200. cBGRATE 2.67 c The above cards BGRATE, BGGATE normally cause the simulation to add c accidental tagger hits to the simulated output record, in addition to c adding these beam photons to the list of particles to be tracked through c the detector. If you want the accidental tagger hits to be added to the c simulated output record but you do not want to track the background c beam photons, remove the comment in front of BGTAGONLY below. c NOTICE: If you turn on BGTAGONLY then you might as well raise the c minimum energy of beam photons being generated to the lower bound of c the tagger energy range you are interested in, which might be 3 GeV for c low-intensity running, 7 GeV for high-intensity running, or even 8 GeV c if you are only interested in the region of the coherent peak. This c minimum is the third field of the BEAM card above. Remember that if c you change beamEmin, you also need to change BGRATE to match, as c described above. BGTAGONLY 1 c The following line controls the uncertainty of the event time reference c relative to the RF structure of the beam. The event time reference is c normally set by the level 1 trigger, whose transitions are synced to c a clock in the trigger processor whose resolution is more coarse than c the accelerator RF clock. Using a digitized copy of the RF clock signal, c all times in the event can be synchronized offline to a nearby RF bucket, c but the RF bucket closest to the trigger time will not in general be the c one that contained the beam photon that produced the trigger. The spread c of trigger RF buckets times relative to the interaction RF bucket is c set by the TREFSIGMA card below, specified as a RMS value in ns. The c the displacement of the (unknown) true RF bucket from the trigger RF c bucket will be generated by the simulation in multiples of 2 ns. If c this line is commented out, a default value of 10ns is assumed. The c decimal point is significant. TREFSIGMA 10. c The following card seeds the random number generator, though it may be c overridden if seeds are found in the input file (see below). It must be c unique for each run. There are two ways to specify the random seed here. c 1. One argument, must be an integer in the range [1,215] c 2. Two arguments, must be a pair of positive Integer*4 numbers c In the first case, one of a limited set of prepared starting seeds is c chosen from a list. These seeds have been certified to produce random c sequences that do not repeat within the first 10^9 or so random numbers. c For cases where more choices are needed, the two-argument form gives c access to a total of 2^62 choices, with no guarantees about closed loops. c c NOTE: If one uses events read from an HDDM file and that file contains c random number seeds for the event, those seeds will be used, overwriting c any value(s) specified here. Most event generators do not include the c seeds. The seeds are written to the output HDDM file though so if one c uses the output file for input to another invocation of hdgeant(++) c then the same seeds will be used. You may check for seeds in the input c file using hddm-xml file.hddm | grep random . RNDM 691877424 281623319 c The following line controls the cutoffs for tracking of particles. c CUTS cutgam cutele cutneu cuthad cutmuo bcute bcutm dcute dcutm ppcutm tofmax c - cutgam = Cut for gammas (0.001 GeV) c - cutele = Cut for electrons (0.001 GeV) c - cutneu = Cut for neutral hadrons (0.01 GeV) c - cuthad = Cut for charged hadrons (0.01 GeV) c - cutmuo = Cut for muons (0.01 GeV) c - bcute = Cut for electron brems. (CUTGAM) c - bcutm = Cut for muon brems. (CUTGAM) c - dcute = Cut for electron delta-rays. (10 TeV) c - dcutm = Cut for muon delta-rays. (10 TeV) c - ppcutm = Cut for e+e- pairs by muons. (0.01 GeV) c - tofmax = Time of flight cut (1.E+10 sec) c - gcuts = 5 user words (0.) c Only the first 5 fields (the ones that start with 'cut') c are supported by hdgeant4. cCUTS 1e-4 1e-4 1e-3 1e-3 1e-4 c Geant4 introduced the concept of ?a unique cut in range? which allows the user c to specify the threshold for secondaries production in terms of the range that c the secondary would have in the medium in which it is generated, rather than c in terms of a threshold energy. The RANGECUT card below supports the same c sequence as the first 5 arguments of the CUTS card above, except that the c values are interpreted as threshold ranges (cm) instead of kinetic energies. c This card is supported by hdgeant4 only. It is complementary to the CUTS card c in that CUTS are applied to the corresponding particles when they are being c tracked, whereas RANGECUTS are used to decide whether they should be c generated (as secondaries) in the first place. cRANGECUTS 0.1 0.1 1.0 1.0 0.1 c Geant4 physics models are more comprehensive than the ones provided in G3, c and one consequence of this is that some particles (eg. neutrons) seem to go c on and on in Geant4 for lifetimes of many seconds in some cases. The following c card tells the simulation to stop tracks that are still being followed after c this much time (seconds) has gone by. This card is only supported by hdgeant4. c There is an equivalent feature in hdgeant3 (see field 12 of CUTS card above) c but normally it is not needed to get efficient operation, so it is almost c never needed. TOFMAX 1e-5 c The following line controls a set of generic flags that are used to c control aspects of the simulation generally related to debugging. c For normal debugging runs these should be left at zero (or omitted). c At present the following functionality is defined (assumes debug on). c SWIT(2) = 0 turns off trajectory tracing c = 2 turns on step-by-step trace during tracking (verbose!) c = 3 turns on trajectory plotting after tracking is done c = 4 turns on step-by-step plotting during tracking c SWIT(3) = 1 stores track trajectories for plotting after tracking is done c SWIT(4) = 0 trace trajectories of all particle types c = 3 trace only charged particle trajectories c This card is only supported by hdgeant3. SWIT 0 0 0 0 0 0 0 0 0 0 c The following card enables the GelHad package (from BaBar) c on/off ecut scale mode thresh c This card is only supported by hdgeant3. GELH 1 0.2 1.0 4 0.160 c The following card selects the hadronic physics package c HADR 0 no hadronic interactions c HADR 4 GHEISHA only (default) c HADR 2 GHEISHA only, with no generation of secondaries c HADR 3 FLUKA (with GHEISHA for neutrons below 20MeV) c HADR 4 FLUKA (with MICAP for neutrons below 20MeV) HADR 4 c The following cards are needed if optical photons are being c being generated and tracked in the simulation. The CKOV directive c enables Cerenkov generation in materials for which the refractive c index table has been specified. The LABS card enables absorption c of optical photons. The ABAN directive controls a special feature c of Geant which allows it to "abandon" tracking of charged particles c once their remaining range drops below the distance to the next c discrete interaction or geometric boundary. Particles abandoned c during tracking are stopped immediately and dump all remaining energy c where they lie. The remaining energy is dumped in the correct volume c so this is OK in most cases, but it can cut into the yield of c Cerenkov photons (eg. in a lead glass calorimeter) at the end of c a particle track. If this might be important, set ABAN to 0. CKOV 0 LABS 1 c The following card prevents GEANT tracking code from abandoning the c tracking of particles near the end of their range, once it determines c that their fate is just to stop (i.e. electrons and protons). This c behaviour is normal in most cases, but in the case of Cerenkov light c generation it leads to an underestimate for the yields. c ABAN 1 abandon stopping tracks (default) c ABAN 0 do not abandon stopping tracks c This card is only supported by hdgeant3. ABAN 0 c The following card sets up the simulation to perform debugging on c a subset of the simulated events. Debugging produces extra output c of information from the simulation, with specific content controlled c by the SWIT card (see above). c DEBUG first last step c - first (int) = event number of first event to debug c - last (int) = event number of last event to debug c - step (int) = after event last, minimal printout every step events c This card is only supported by hdgeant3. DEBU 1 10 1000 c The following card can be used to turn off generation of secondary c particles in the simulation, ordinarily it should be 0 (or omitted). NOSECONDARIES 0 c The following card tells the simulation to store particle trajectories c in the event output stream. This output can be verbose, use with caution. c The value set here determines the amount of output recorded: c c TRAJECTORIES = 0 don't store trajectory info c TRAJECTORIES = 1 store birth and death points of primary tracks c TRAJECTORIES = 2 store birth and death points of all particles c TRAJECTORIES = 3 store full trajectory of primary tracks c TRAJECTORIES = 4 store full trajectory of primary tracks and birth/death points of secondaries c TRAJECTORIES = 5 store full trajectory for all particles c TRAJECTORIES 1 c The following tracking parameters are defined for each tracking medium c TMAXFD (REAL) maximum angular deviation due to the magnetic field c permitted in one step (degrees) c DEEMAX (REAL) maximum fractional energy loss in one step (0< DEEMAX <=0.1) c STEMAX (REAL) maximum step permitted (cm) c STMIN (REAL) minimum value for the maximum step imposed by energy loss, c multiple scattering, Cerenkov or magnetic field effects (cm) c Normally they are assigned appropriate values calculated automatically by c Geant when the geometry is defined, overwriting the values declared by c the user code in the GSTMED() call. Users who know what they are doing can c force Geant to instead use the values passed in the arguments to GSTMED() c by removing the comment in front of the following card. Any parameters with c zero values are still assigned automatic values even when AUTO is turned off. c This card is only supported by hdgeant3. cAUTO 0 c The magnetic field map is accessed through the HDGEOMETRY library c so that the same map can be used for both simulation and reconstruction. c There are multiple map types and for each type, more than one map may c exist. The map types consist of the default type of "CalibDB", the c constant type of "Const", the spoiled field type of "Spoiled", or c "NoField" if the simulation should be performed with the solenoid off. c The type is set using the BFIELDTYPE card. If no BFIELDTYPE card is c present, then no the default type "CalibDB" is used. c The specific parameters used for the field can be specified using the c BFIELDMAP card. If undefined, then the default that is hardcoded into c the HDGEOMETRY library is used. Note that these correspond to the c similarly named configuration parameters used in the reconstruction, c the difference being that underscores are not allowed here. To c specify the values to the reconstruction code used here, use the c -PBFIELD_TYPE=CalibDB and -PBFIELD_MAP=Magnets/Solenoid/solenoid_1500 cBFIELDMAP 'Magnets/Solenoid/solenoid_1200A_poisson_20140520' cBFIELDTYPE 'NoField' c The pair spectrometer magnetic field map can also be accessed through the c HDGGEOMTRY library in a similar fashion to the solenoid field. The cards c PSBFIELDMAP and PSBFIELDTYPE correspond in form and meaning to BFIELDMAP c and BFIELDTYPE, except that only "Const" and "CalibDB" (default) are c supported values for PSBFIELDTYPE. To specify the values used here to c the reconstruction code, use options -PPSBFIELD_TYPE=CalibDB and c -PPSBFIELD_MAP=Magnets/PairSpectrometer/PS_1.8T_20150513_test c on the jana command line. cPSBFIELDMAP 'Magnets/PairSpectrometer/PS_1.8T_20150513_test' cPSBFIELDTYPE 'Const' c Use this card to enable/disable ( SAVEHITS 1/0 ) writing events with no c hits in the detector to the hddm output file. Default value is 0. SAVEHITS 0 c This card is used to enable/disable ( SHOWERS_IN_COL 1/0 ) simulation of c showers in the primary and secondary collimators placed in the collimator cave. c The default value is set to 0. SHOWERSINCOL 0 c This card enables/disables (DRIFTCLUSTERS 1/0) simulation of electron c clusters within a drift cell in the FDC or the CDC c The default value is 0. DRIFTCLUSTERS 0 c The following cards allow one to switch on/off some physics processes in GEANT: c MULS 0 no multiple scattering c 1 Moliere or Coulomb scattering (default) c c BREM 0 no bremsstrahlung c 1 bremsstrahlung (default) c c COMP 0 no Compton c 1 Compton scattering (default) c c PAIR 0 no pair production c 1 pair production (default) c c LOSS 0 (controls energy losses) no energy loss c 1 delta-rays are produced above the threshold. Reduced fluctuations from c delta-rays below the threshold are added to the energy losses. The threshold c energies for delta-ray production can be set using the CUTS card (see above). c The fields 'dcute' and 'dcutm' in the CUTS card correspond to energy thresholds c for electron and muon delta-rays, respectively. The default energy threshold c value is 100 keV (default see uginit.F 12/16/2011 DL). c 2 no delta-rays are produced. Complete fluctuations are calculated . c c DCAY 0 no decay in flight c 1 decay in flight with generation of secondaries (default) c 2 decay in flight without generation of secondaries c c DRAY 0 no delta ray production c 1 delta ray production with generation of secondaries (default) c 2 delta ray production without generation of secondaries END