How it works¶The core of the process currently relies on project.py which is a python script contained in larbatch.
All samples to be generated are represented by a set of generator-level fcl files contained in a sbndcode subdirectory:
An xml generation script (make_xml_MCCVERSION.sh) in sbndutil looks for all fcl files in the above directory and makes a project.py xml file for each fcl file that it finds. The found fcl file is assumed to be a generator-level fcl file and by default uses the following fcl files for the downstream stages:
g4: standard_g4_sbnd.fcl detsim: standard_detsim_sbnd.fcl reco: standard_reco_sbnd_basic.fcl anatree: standard_anatree_sbnd.fcl
Note: Prior to MCP 1.0 the name of standard_reco_sbnd.fcl was standard_reco_sbnd_basic.fcl.
- Currently standard_reco_sbnd.fcl is broken and standard_reco_sbnd_basic.fcl is the one maintained.
While the above chain is assumed to be the default, it is possible that some users may require tweaks or more severe changes to the downstream stages. For example, an end user may require a particle gun sample with transverse electron diffusion switched off. There are now alternative downstream fcl files located in the main fcl directory:
which run downstream packages (e.g. largeant) with different parameters or filters tacked on the end of the fcl path.
These alternative fcl files are linked to the MCC projects by the generator-level fcl files described above. In a nut shell, there is a schema utilised in some of the generator-level fcl files which the xml generation script understands. The schema lists the wanted alternative fcl files (can list as many alternative as you like in one generator fcl file) and creates alternative project.py project xml files to be used in the MCC.