A repository of scripts, configuration useful for the PCDS team
git push -u origin master
git tag -a R{tag} -m '{comment}'
git push -u origin R{tag}
# Clone the source code into a new folder
git clone https://github.com/pcdshub/engineering_tools.git R{tag}
# Enter repository
cd R{Tag}
# checkout tag number
git checkout tags/R{tag}
# Go to latest checkout
cd engineering_tools
# Pull latest from master branch
git pull origin master
ami_offline_psana |
usage: ami_offline_psana options We will run ami_offline OPTIONS: -u user (needs to be able to log into the psananeh/feh, if not on psana already) -e EXPNUMBER -R rebinning (binned to 640x640) -n no timetool plugin |
camViewer |
usage: /reg/g/pcds/engineering_tools/latest/scripts/camViewer options start the viewer for controls cameras OPTIONS: -c camera name as in camera list or gige # -m bring up the edm screen -r reboot the IOC -l print list of cameras -w # (wait for # hours to ask to renew, default 2 and 12 for GIGEs) -u # update rate limit (default 5) -H hutch: use a specific hutches camviewer config file -e enable camera ioc -d disable camera ioc |
check_host |
Usage: /reg/g/pcds/engineering_tools/latest/scripts/check_host HOSTNAME Display host info and run some checks. |
configdb_readxtc |
usage: configdb_readxtc options We will run configdb_readxtc OPTIONS: -u user (needs to be able to log into the psananeh/feh) -e expnumber |
daq_control |
daq_control COMMAND TARGET COMMAND : { start, stop, restart, status } TARGET : { daq, ami } COMMAND : ami TARGET : { [0], 1 } |
daq_waitwin | Waits for the LCLS-I daq windows to load, then exits. |
dev_conda |
Source this to activate a pcds conda environment. By default, this activates the latest environment. Use export PCDS_CONDA_VER=VERSION before running to pick a different env. Pick up EPICS environment variable settings just in case user did not |
eloggrabber |
usage: eloggrabber options start the eloggrabber, by default look at current exp OPTIONS: -e pass in an experiment to look at -x instrument logbook -c controls logbook -u username |
epicsArchChecker |
usage: epicsArchChecker [-h] [-w] [-s] filepath Checks epicsArch files for mismatches of PVs and aliases, missing files, and unconnected PVs. positional arguments: filepath Full filepath of the file to check e.g /reg/g/pcds/dist/pds/xpp/misc/epicsArch.txt optional arguments: -h, --help show this help message and exit -w, --warnings Displays: -Pvs and Aliases duplicated. -Pvs with no alias and aliases no Pvs. -s, --status Displays Pvs not connected. |
get_curr_exp |
usage: get_curr_exp options OPTIONS: -l add live status -i/H information for hutch (override autodetection) |
get_hutch_name | Returns the hutch name based on the host it is run on. See `get_info` for more information. |
get_info |
usage: get_info [-h] [--run] [--exp] [--live] [--ended] [--hutch HUTCH] [--station STATION] [--getHutch] [--gethutch] [--getstation] [--getbase] [--getinstrument] [--getcnf] [--files_for_run FILES_FOR_RUN] [--nfiles_for_run NFILES_FOR_RUN] [--setExp SETEXP] optional arguments: -h, --help show this help message and exit --run get last run --exp get experiment name --live ongoing? --ended ended --hutch HUTCH get experiment for hutch xxx --station STATION optional station for hutch with two daqs, e.g. cxi and mfx --getHutch get hutch (uppercase) --gethutch get hutch (lowercase) --getstation get hutch station (for multiple daqs) --getbase get base daq name (hutch_station if multiple daqs, otherwise hutch) --getinstrument get instrument (HUTCH_station if multiple daqs, otherwise hutch) --getcnf get cnf file name --files_for_run FILES_FOR_RUN get xtc files for run --nfiles_for_run NFILES_FOR_RUN get xtc files for run --setExp SETEXP set experiment name |
get_lastRun |
usage: get_lastRun options OPTIONS: -l add live status -i/H information for hutch (override autodetection) |
gige | Deprecated; do not use. |
grep_ioc |
usage: grep_ioc KEYWORD [hutch] hutch can be any of: xpp, xcs, cxi, mfx, mec, xrt, aux, det, fee, hpl, icl, las, lfe, tst, thz, all If no hutch is specified, all hutches will be searched |
grep_pv |
GREP SEARCHES THROUGH ALL IOCs IN /reg/d/iocData/ FOR PVs THAT MATCH GIVEN KEYWORD/HANDLE. |
iocmanager |
iocmanager [hutch] Control status of all IOCs running in a particular hutch in an interactive GUI. Current hutch is used if not provided. |
ioctool |
usage: ioctool <ioc>|<pv> [option] Script that returns information about an ioc given its name or a PV it hosts default option is 'name', list of options: status : print power status of machine, try to ping interfaces name : returns the name of the ioc dir : returns the path to the directory the ioc is running from cddir :opens the directory the ioc is running from (start with "source" before calling script with this option) cfg : returns the the file name of the ioc .cfg (or st.cmd) less: opens the ioc .cfg (or st.cmd) in less data : returns the path of the appropriate iocData directory if it exists telnet : starts a telnet session with the ioc |
ipmConfigEpics |
usage: ipmConfigEpics [-b boxname] [-H hutch] [-d] [-h] [-l] -b: specify boxname to view -H: specify a hutch to use, overriding the automated selection -d: fix issues with Bld Damage (likely camera IOC w/plugins on same machine) -h: display this help text -l: list available boxnames |
makepeds |
usage: makepeds options Make a pedestal file for offline use OPTIONS: -u user (needs to be able to log into the psananeh/feh) -r runnumber for pedestal -e EXPNAME in case you do not want pedestals for the ongoing experiment -J make pedestals for Jungfrau (default only cspad/EPIX detectors) -j make pedestals for Jungfrau - 3 run version(default only cspad/EPIX detectors) -O make pedestals for Opals (default only cspad/EPIX detectors) -Z make pedestals for Zyla (default only cspad/EPIX detectors) -p TEXT: add to elog post -c EVTCODE X use events with eventcode X set -n # : if you have created a noise file, then write pixel mask file for pixels with noise above #sigma -N # : use this number of events (default 1000) -D : dark run for XTCAV -L : lasing off run for XTCAV -v STR: validity range (if not run#-end, e.g. 123-567 or 123-end) -l: do NOT send to batch queue -F : use the FFB (default if no experiment is passed) -g : run on an FFB batch node -f : full epix10k charge injection run -C # : if noise filecreated, write pixel mask file for pixels with noise below xxx (currently integer only...) -m # : write pixel mask file for pixels with pedestal below xxx (currently integer only...) -x # : write pixel mask file for pixels with pedestal above xxx (currently integer only...) -i start calibman. -r 0: show all darks, -r n: show runs (n-25) - 25 -d give path for alternative calibdir |
makepeds_psana |
usage: makepeds_psana options Make a pedestal file OPTIONS: -r runnumber for pedestal -e EXPNAME in case you do not want pedestals for the ongoing experiment -H HUTCH in case you do not pass an experiment name -Z pedestal for zyla -O make pedestals for Opals -J pedestal for jungfrau (needs first of set of 3 runs!) -D : dark run for XTCAV -L : lasing off run for XTCAV (-b specifies the number of assumed bunches, def 1) -l : donot send to batch queue -F : use FFB -f : full epix10k charge injection run -v STR: validity range (if not run#-end, e.g. 123-567 or 123-end) -N # : use this number of events (default 1000) -n # : if noise filecreated, write pixel mask file for pixels with noise above xxx (currently integer only...) -C # : if noise filecreated, write pixel mask file for pixels with noise below xxx (currently integer only...) -m # : write pixel mask file for pixels with pedestal below xxx (currently integer only...) -x # : write pixel mask file for pixels with pedestal above xxx (currently integer only...) -c EVTCODE X use events with eventcode X set -i start calibman. -r 0: show all darks, -r n: show runs (n-25) - 25 -d give path for alternative calibdir -t : test, do not deploy. -y : when specify cuts for status mask, apply those for epix100. |
motor-expert-screen |
usage: motor-expert-screen options MOTOR_PV_BASENAME Start an EDM for the specified motor. Attempts to choose the correct type. OPTIONS: -h shows the usage information |
motor-typhos |
usage: motor-typhos options MOTOR_PV_BASENAME Start a typhos screen for the specified motor. Attempts to choose the correct type. OPTIONS: -h shows the usage information |
motorInfo |
usage: motorInfo MOTOR_PV (motor_pv_2/autosave/archive/pmgr_diff/pmgr_save) OPT If given two motors, compare their settings If given autosave as second argument, compare the current settings to the autosaved values: differences will be printed If given archive, the archive values will be printed for the last week. If only the base PV is given, extra arguments will be needed OPTIONS: -h shows the usage information -f fields to use as a comma separated list (default: use all autosave values) -s start time for archiver info (YYYY/MM/DD HH:MM:SS) -e end time for archiver info (YYYY/MM/DD HH:MM:SS) |
pcds_conda |
Source this to activate a pcds conda environment. By default, this activates the latest environment. Use export PCDS_CONDA_VER=VERSION before running to pick a different env. Pick up EPICS environment variable settings just in case user did not |
pkg_release |
Checks out a package from the pcdshub github at a particular tag. Does not update "latest" softlinks, these are inconsistent between packages. Make sure your tag exists before running. |
pmgr |
pmgr [hutch] [--debug] [--applyenable] --debug : Displays the debug button, which prints out any edits made --applyenable : Displays the apply all button, which applies settings to all motors |
pydev_env |
Source this file to activate a development environment based on the latest shared environment and on past calls to pydev_register |
pydev_register |
Use this script to register development packages so that they will be available when you source pydev_env |
pyps-deploy |
usage: pyps-deploy [-h] -r RELEASE -c CONDA [--repo REPO] [--app-bin APP_BIN] app Sets up a pyps/apps deployment for a particular github python package. This will create an executable under .../pyps/apps/APP-NAME/RELEASE/APP-NAME and repoint the symbolic link at .../pyps/apps/APP-NAME/latest to the new release folder. positional arguments: app Name of the app to deploy optional arguments: -h, --help show this help message and exit -r RELEASE, --release RELEASE App version -c CONDA, --conda CONDA Conda environment name --repo REPO Clone this repo and mask the environment package. Use this when you have only a small change that does not need a full environment release. --app-bin APP_BIN Use in conjunction with --repo arg when the launcher is not in the bin directory |
questionnaire_tools |
usage: questionnaire_tools [-h] [-f FROMEXP] [-t TOEXP] [-r READEXP] [-c] [-d ADD_DEVICE] [-l] [-p PRINT_DEVICE] [--dev] [--experimentList] [--propList] optional arguments: -h, --help show this help message and exit -f FROMEXP, --fromExp FROMEXP experiment to copy from -t TOEXP, --toExp TOEXP experiment to copy to -r READEXP, --readExp READEXP experiment to read CDS tag from -c, --copy_CDS copy data from CDS tab -d ADD_DEVICE, --add_device ADD_DEVICE name of device to be added -l, --list_devices list device to be added -p PRINT_DEVICE, --print_device PRINT_DEVICE print data for device --dev connect to dev database --experimentList list of experiments --propList list of proposals |
restartdaq |
usage: restartdaq options OPTIONS: -w sort windows after start -p select partition (same as used last) -s silent (do not email jana) |
serverStat |
usage: serverStat servername options Script to check status of servers & reboot/power cycle them SIGNATURE: serverStat SERVERNAME [command] default command is 'status', list of commands: status : print power status of machine, try to ping interfaces on : power machine on off : power machine off cycle : power cycle machine, wait a few second in off state reset : reset machine (ideally try that before power cycling) console: open the ipmi console where possible expert : display info and run checks on server |
startami |
usage: startami options we are starting another ami session here OPTIONS: -s: stop the ami client current running on this machine -c: config file you'd like to use (i.e. cxi_test.cnf) |
stopami | Kill an AMI process running in the current hutch. |
stopdaq | Stop the daq in the current hutch. |
wheredaq | Discover what host is running the daq in the current hutch, if any. |
wherepsana |
Usage: where_psana [-h] [-c CONFIG] [-d DETAIL] Checks where we have shared memory servers for psana running and could run psana jobs. Optional arguments: -h Show usage -c Pick a specific DAQ config file rather than automatically selecting current hutch's file -d Also show information about dss node mapping |