Reading generated events from an external file

To read events from an external file, add
-DEXTREAD
as the third argument to cresgvexe, and add the either GENERATOR_INPUT_UNIT or INPUT_FILENAMES into the steering file. The value of the first option is clearly the logical unit number of the file to read the events form. Make sure that the file is indeed assigned/soft-linked to the unit. The second option should contain the name of the file(s) with them; it can contain glob-type wild-cards. The read events can be in stdhep-format, LCIO MCParticles, output from GUINEAPIG or raw PYJETS. Obviously, to read stdhep or LCIO formatted events, support to these packages must have been compiled in, see [*]. IN the last case, the PYJETS common-block should previously have been writen by the event-generator program by the write statement
          WRITE (LUNIT) &
           N,((K(I,J),J=1,5),(P(I,J),J=1,5),(V(I,J),J=1,5),I=1,N)
to be executed once per generated event. The format is specified by the variable GENERATOR_INPUT_TYPE in the steering file, with values STDH, LCIO or PYJ as possible values.

An example steering file can be found in SGV_DIR/sgv_ex_extread.steer.

Note that this method will, just as using ntuples, compromise the real-time performance of SGV, since it implies large amounts of I/O. In addition, doing a large scale simulation in this mode will demand large amounts of disk-space: A single track in PYJETS uses 45 Bytes, so a single typical hadronic event with around 200 entries in LUJETS takes 10 kB.

Hence, the method of integrating the generator into SGV (see chapter 4.1.7 ) should be preferred whenever possible.