On this page you'll find instructions on how to make a new run configuration.
The sbnd-daq-fcls GitHub repository
We have a GitHub repository that Amy made where you can find all the configurations and relevant FHiCL files. Just follow the link below!
Not found
The sbnd-daq-fcls directory
The working directory for where all the FHiCLs are made is shown below:
/home/nfs/sbnd/fcl_configs_safe/sbnd-daq-fcls
You could also use fcl_configs_dev, but this is a mess at the moment.
When making a new config, you should make a feature branch and once you've tested it, submit a pull request for it to be added to the main branch.
There's also an area checkout on the DAQ machines at
home/nfs/sbnd/fcl_configs_dev/sbnd-daq-fcls
For both of these directories, make sure that area has the most up-to-date HEAD version of main before you make changes/add to the database!
The general structure of a configuration
The main folders inherit their configurations from standard via the default subdirectory, which contains soft links to standard.
The ptb01PULL.fcl file
The ptb01PULL.fcl file is one of the most important files to know about when making a configuration. This is where the trigger type is set. An example ptb01PULL.fcl file from opsFullTriggerMenuP2_ExtraMTCA5- is shown below:
It's hard to tell with the lack of syntax highlighting here, but ln 52 is where the trigger type is chosen (one # to uncomment in FHiCLs, and two hashtags is something commented out).
The trigger type depends on what you're working on - the trigger experts will tell you which to use if you're making something for them.
Different ways of making a new config
There are two different ways of making a new config...
If you want to make your config from scratch, you can do this using a simple script.
Sometimes, if you're building multiple configs that have set parameters, it's easier to copy and paste an old one and rename it.
Making a new config using the newConfig.sh script
One of the easiest ways to make a new config outright is to run the newConfig.sh script. The instructions are shown below.
Run the newConfig.sh script as shown below:
where <configuationBaseName> is what goes into the database without the numbers at the end, (i.e. bnbZeroBias, not bnbZeroBias1- ). This will create a new directory and fill it with all of the soft links to standard and skeleton FHiCLs.
If you’re a DAQ expert shifter and need to make a temporary configuration, when importing it to the database always use a name ending in TMP_YYYY_MM_DD- (eg. bnbZeroBiasTMP_2024_07_25-).
Adding your config to the database
Once you've made your config and would like to add it to the database for the shifter to see, check out the 'Using the Database' page.
If you need to make long-term changes to standard that propagate to all the other configurations and update all the configs you care about in the standard directory, you'll need to use the script below to update the configurations in the database:
This won't work unless you've sourced setupdatabase.sh! See 'Using the Database' for more info.