Marlin GUI is a graphical user interface that allows you to interactively create or repair Marlin XML steering files.
It has various separate sections equivalent to the ones you are already familiar with from the XML
steering files: (global section, execute section, GEAR file, LCIO Input files, etc...)
It has an automatic consistency-checking feature that allows you to constantly and instantly check if the
steering file contains errors.
The consistency check tests if every active processor is installed and has all the required input
collections
available from previous processors or from the LCIO files declared in the global section.
It also checks if there are duplicate collections defined in the event, or if every file or symbolic link
specified
in the steering is valid.
This GUI is based on the Marlin steering check command line tool which you can run by:
"Marlin -c steeringFile.xml".
Altough this tool is enough for checking the consistency of a steering file, it
doesn't give you the chance to modify it and repair the errors found, if any.
The GUI also provides you with the possibility to create a new steering file from scratch, where you can
add the processors you need with
a few clicks and change their default parameter values to the ones you require for your job.
Marlin GUI was designed with the main goal of substituting the somewhat tidious and error-prone task of
editing Marlin XML
steering files by hand with a productive, error-free and intuitive way for physicists.
The MarlinGUI is available starting from Marlin v00-09-06.
The consistency check works for all processors that use the new methods:
registerInputCollection(LCIO::_TYPE_,...),
registerInputCollections(LCIO::_TYPE_,...) and
registerOutputCollection(LCIO::_TYPE_,...)
to register the parameters that refer to input and output collections
respectively.
(LCIO::_TYPE_ denotes the LCIO type of the collection, e.g. LCIO::RECONSTRUCTEDPARTICLE)
In order to use the new checking feature in your own processors simply replace all calls to
registerParameter(...) for collection parameters with the corresponding call to one of the above functions.
All processors that use these functions will be taken into account for checking the consistency of collection
names and type by the MarlinGUI and command line version.
You can convert older steering files to the new format with:
"Marlin -f old.xml steer.xml"
This will automatically add the collection type information needed for all processors that properly define the
input and output collections with the above functions.
There are some useful tips you should take into account for better working with Marlin GUI:
This table located at the upper left corner of the layout is only a list of all collections
found in the first 30 Events from each of the LCIO Files added in the
Global Section .
The number of events read each time you load an LCIO file can be defined in the
header file "$MARLIN/include/marlin/MarlinSteerCheck.h" under the variable
"MAXEVENTS" in the top of the file. Please note that if you change this value
you need to recompile Marlin and the GUI so that changes take effect.
This 2 buttons allow you to hide the
Error Description Section of the Active Processors
as well as the Inactive Processors for visibility purposes.