The user can interface with CMSIM at different stages via a set of
``USER HOOKS.'' The list of these hooks is presented below:
US_FFKEY -- FFREAD control cards and other first initialisations
U_INITG -- initialisations after reading FF cards
U_INITH -- user definition of histograms
U_INITU -- user definition of ntuples
USKINE -- user definition of kinematics called when IKINE = 9 (see
control card ``KINE'').
USSTEP -- user action in GUSTEP
USTRIG -- user action in GUOUT to prohibit event output
US_OUT -- user action in GUOUT prior to event i/o
USLAST -- user termination.
There are dummy versions of these routines in the CVS module user.
In USTRIG the user sets the variable IEOTRI to non-zero for the
event not to be output. The IEOTRI is a GEANT variable in common
GCFLAG.
The user can define a set of user ntuples which can be saved in the standard histogram file specified through the CFIL data card:
CFIL 'HBKO' 'cms113.hbook 'The file is opened and saved by the CMSIM program if the user sets the flag through HBOOK data card. If the user does not require the standard CMSIM ntuples, a recommended control flag is
HBOOK 'BEAM' 1The declaration and the filling of user ntuples should take place in the routines U_INITH and US_OUT respectively with the following controls :
TUPLE = ICFLAG ('CMSE','HBOOK') .GT. 0
IF (TUPLE) THEN
CALL HCDIR ('//PAWC/USER', ' ')
CALL HCDIR ('//HBKO', ' ')
*
* Now book CWN's using HBNT, HBNAME, etc.
*
CALL HCDIR ('//PAWC', ' ')
ENDIF
in the routine U_INITH and
TUPLE = ICFLAG ('CMSE','HBOOK') .GT. 0
IF (TUPLE) THEN
CALL HCDIR ('//PAWC/USER', ' ')
CALL HCDIR ('//HBKO', ' ')
* Fill up the ntuple using HFNT etc
ENDIF
in the routine US_OUT.