Simulation steering is provided for
and includes:
* | |->C_INITH (*) Initialisation of HBOOK * | | |->C_INITU (*) Initialise NTuples * | | | |->T_INITU (*) for Tracker * | | | |->E_INITU (*) for ECAL * | | | |->....... (*) ... * | | | |->....... (*) ... * | | | |->V_INITU (*) for VCAL * | | | |->R_INITU (*) for reconstruction * | | | |->U_INITU (*) for user * | | | * | | |->G_INITH (*) books GEANT standard histograms (data card HSTA) * | | |->T_INITH (*) initialise histograms for Tracker * | | |->E_INITH (*) .... for ECAL * | | |->....... (*) .... * | | |->....... (*) .... * | | |->V_INITH (*) .... for VCAL * | | |->U_INITH (*) initialise user histograms * | | |->SCMAIN (*) SCAN program * | | * | |->IO_OPEN_FILE(*) Open fz-file for input/output: * | | |->GROPEN(*) fz input file with trigger events if any; * | | | fz input file with with pile-up events; * | | |->IO_OPEN_EVT_FILE(*) * | | |->IO_OPEN_FZ_FILE(*) * | | * | |->ZPHASE(1) Flag end of initialisation stage * | * |->Q N E X T E loops over events * | (G R U N) * | | * | |->TIMEX gets time left after initialisation * | | * | |-> GTRIGI initialisation for event processing * | |-> GTRIG (*) event processing * | | |->GCFIN(*) try to read information from FZ file * | | |->UTEVSL(*) select event from FZ-file * | | | * | | |->GUKINE(*) generates or reads event input kinematics * | | | * | | |->GUTREV(*) controls tracking of a complete event * | | | | * | | | |->GTREVE * | | | |-> store initial tracks in stack * | | | | (-> GFKINE,GSSTAK,GUSKIP) * | | | | ( loop over tracks ) * | | | |->GLTRAC prepare commons for tracking * | | | | | ->GMEDIA finds current volume * | | | | * | | | |->GUTRAK (*) calls GTRACK * | | | | * | | | |->GTRACK controls tracking of current * | | | | track * | | | | * | | | |->GTMEDI finds current volume * | | | | * | | | | GTGAMA or * | | | | GTELEC extrapolation of particle * | | | | GTNEUT * | | | |->GTHADR track by one step * | | | | GTNINO * | | | | GTMUON * | | | | |->GUDCAY(*) decay of particles * | | | | |->LU1ENT * | | | | |->LUEXEC * | | | | |->LUDECY * | | | | * | | | |->GFINDS Compute SET and DET number * | | | | if volume is sensitive * | | | | * | | | |->GUSTEP(*) special operations at the * | | | |->GSCANU(*) * | | | | |->GSSCAN(*) * | | | |->GDEBUG * | | | |->CMTHIT(*) stores hits * | | | |->CMCHIT(*) for current detector * | | | |->USSTEP(*) user action on this step * | | | |->GSKING Store any secondary particles * | | | generated during step * | | | * | | |->CM_PILE (*) Control logic for handling pile-up * | | | | * | | | |->GPOISS * | | | | * | | | |->IO_OPEN_FILE(*) Opens file with pile-up events * | | | | * | | | |->GCFIN (*) Reads Pile-up event hits and * | | | | kinematics * | | | |->IO_CLOSE_FILE (*)Reopens the file if end of file reached * | | | | * | | | |->GFATT/GFDETU * | | | | * | | | |->GFHITS Fetches hits from pile-up events * | | | | * | | | |->GSAHIT (*) Saves them in the main branch * | | | | * | | | |->ZSHUNT Saves the kinematics information * | | | * | | |->CM_JUNK (*) Controls creation of junk hits * | | | | (due to neutrons) * | | | |->GFATT/GFPARA/GFDETU * | | | | * | | | |->GFNHIT * | | | | * | | | |->UTDNEXT (*) * | | | | * | | | |->GLVOLU (*) * | | | | * | | | |->T_RADB (*) Junk hits in the tracker * | | | | * | | | |->M_JUNK (*) .... muon chambers * | | | | | * | | | | |->MB_JUNK (*) .... barrel muon * | | | | | * | | | | |->MC_JUNK (*) .... forward muon * | | | | | * | | | | |->MR_JUNK (*) .... RPC's * | | | * | | |->GUDIGI (*) fan-out routine for digitisation * | | | | * | | | |->GFATT * | | | | * | | | |->CMHL2D(*) main steering routine for digitisation * | | | | | * | | | | |->CMHITL(*) get list of hit detector elements * | | | | | * | | | | |->GFPARA/GFDETU * | | | | | * | | | | |->ECNOIS (*) noise in ECAL * | | | | | * | | | | |->GFHITS * | | | | | * | | | | |->CMH2D (*) for calorimeters * | | | | | | * | | | | | |->ECH2D (*) digitisation for ECAL * | | | | | | * | | | | | |->HCH2D (*) digitisation for HCAL * | | | | | | * | | | | | |->VCH2D (*) digitisation for VCAL * | | | | | | * | | | | | |->GSDIGI (*) * | | | | | * | | | | |->UTDNEXT (*) loop over detectors * | | | | | | * | | | | | |->UTDETV (*) get list of paths * | | | | | * | | | | |->GLVOLU * | | | | | * | | | | |->GFHITS Fetch the hits * | | | | | * | | | | |->CMH2D (*) for tracker/muons * | | | | | | * | | | | | |->TPH2D (*) digitisation for pixel * | | | | | | | * | | | | | | |->TPH2D_BAR (*) digitisation for pixel * | | | | | | | (barrel) * | | | | | | |->TPH2D_FB (*) digitisation for pixel * | | | | | | (forward) * | | | | | |->TSH2D (*) digitisation for silicon * | | | | | | (barrel) * | | | | | |->TSH2DF (*) digitisation for silicon * | | | | | | (forward) * | | | | | |->TGH2D (*) digitisation for MSGC * | | | | | | * | | | | | |->MD_DIG (*) digitisation for DTBX * | | | | | | * | | | | | |->MCH2D (*) digitisation for CSC * | | | | | | * | | | | | |->MRDIGI (*) digitisation for RPC * | | | | | | * | | | | | |->GSDIGI (*) * | | | | * | | | |->GPDIGI * | | | * | | |->CMD2T (*) Create trigger primitives * | | | | * | | | |->GFATT/GFPARA/GFDETU * | | | | * | | | |->MCD2T * | | | * | | |->CML1TRG (*) Trigger reconstruction (Level 1) * | | | * | | |->CML2TRG (*) Trigger reconstruction (Level 2) * | | | * | | |->CMRHIT(*) Create RHIT structure * | | | * | | |->CM_PILR (*) Pile-up of reconstructed hits * | | | | (if any) * | | | |->FZIN Reads in reconstructed hits * | | | | * | | | |->ZTOPSY Rearranges the RHIT banks * | | | * | | |->CMRECO(*) Reconstruction * | | | * | | |->GUOUT(*) * | | | |->GSCANO(*) * | | | |->TR_OUT(*) * | | | |->EC_OUT(*) * | | | |->HC_OUT(*) * | | | |->VC_OUT(*) * | | | |->US_OUT(*) * | | | |->SC_OUT(*) * | | | |->GCFOUT(*) create EVNT structure and write it out * | | | |->FZOUT(*) * | | | * | | |->CMFHIS(*) Fill standard GEANT histograms * | | |->CMHSAV(*) save histograms if needed * | | * | |->GTRIGC Clear event partition