Experiment File¶
Each hutch repository has an experiments
directory for storing
experiment-specific code. To have the hutch-python
loader automatically
pick up your experiment’s code, you will need to follow some conventions.
An experiment name will be something like xppls2516
which is composed of
the hutch xpp
, the proposal ls25
, and the run 16
. Hutch python is
looking for a file named experiments/ls2516.py
, which is simply the
proposal name and the run concatenated, all lowercase.
The import rules for this file can be thought of as:
from experiments.ls2516 import User
user = User()
x = user
So, you are expected to organize your experiment-specific objects, plans, and
macros into a cohesive User
class.
If your conf.yml
file does not include an experiment
specification,
the current experiment is picked up automatically. If you want to use an
experiment other than the current experiment, you can override this as:
experiment:
proposal: ls25
run: 16
See Yaml Files for more information.
You can also override for a single session with a command-line argument:
hutch-python --exp ls2516
Questionnaire¶
The CDS section of the questionnaire is read by hutch-python
, and objects
with defined python names are created. Links to the questionnaire for each run
can be found at https://pswww.slac.stanford.edu.
These questionnaire objects will make it into the main namespace like all the
other objects, and will also be attached to the User()
object.