A module is a collection of subroutines that perform a specific analysis task. A module may be as simple as a single subroutine that is called for every event in order to dump the contents of a specific bank, or it can be a complicated set of code that requires specified tasks to be performed at program initialization and termination, at the start and end of each run and for each event. A module can also contain (if the author wishes) user set-able parameters or switches.
Dividing an analysis job into independent modules allows the user the ability to independently manipulate these modules from within his executable image. An author who does not wish to use this feature of the package can, of course, define his complete analysis job to be a single module.