GithubHelp home page GithubHelp logo

sw_utils's People

Contributors

andrewlevin avatar bdorney avatar benjaminrs avatar giovanni-mocellin avatar lmoureaux avatar lpetre-ulb avatar ram1123 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sw_utils's Issues

Change order in calibrateArmDac.sh

Brief summary of issue

Right now calibrateArmDac.sh takes an scurve and then analyzes the scurve and then moves to the next arm dac set point.

This in principle slows down the data acquisition and blocks a CTP7 for a longer period of time than necessary. It would be good if the script first took all the data and then afterward analyzed all the data (possibly in parallel) in two separate loops, rather than in one main loop.

Types of issue

  • Bug report (report an issue with the code)
  • Feature request (request for change which adds functionality)

Expected Behavior

See above.

Current Behavior

See above.

Context (for feature requests)

Reduces time a CTP7 cannot be used for other tasks.

Your Environment

updateConf.py to change symlinks for chConfig from trim runs

Brief summary of issue

At the moment, it is possible to change the symlinks for chConfig and vfatConfig if an scurve or an sbitThreshold scan is taken.
If a trim run is taken, it is presently not possible to get a symlink for the chConfig.txt derived from the trimmed scurve taken at the end of the procedure. So it would be nice to have the tool updateConf.py with an option for trim runs.

Types of issue

  • Bug report (report an issue with the code)
  • Feature request (request for change which adds functionality)

Expected Behavior

updateConf.py with an option in order to be able to change the symlinks for chConfig.txt in the folder $DATA_PATH/configs for trim runs. Perhaps, a '-t' option...

Current Behavior

updateConf.py has -c (chConfig = from scurve) and -v (vfatConfig = from sbitThresh) options only.

Steps to Reproduce (for bugs)

Possible Solution (for bugs)

Context (for feature requests)

Your Environment

QC8 DAQ machine.

  • Version used:
  • Shell used:

[Documentation] How to access CMS databases outside of CERN

Brief summary of issue

Instructions to access the CMS databases outside of CERN have been written to the GEM DAQ Expert TWiki page. Since the guide is the GEM software reference, a link should point to the TWiki section.

Types of issue

  • Bug report (report an issue with the code)
  • Feature request (request for change which adds functionality)

Expected Behavior

A link should point to the TWiki page. But where? This is sysadmin job and there is no section dedicated how to setup a DAQ machine.

Context (for feature requests)

Using the upstream GEM software requires access to the CMS database. Since the databases are not accessible from outside the CERN GPN, a tunnel must be setup.

Your Environment

Update calibrateArmDac.sh to create a $DATA_PATH/$DETECTOR/armDacCal folder

Brief summary of issue

It would be great if all log files and final calibration results where located in:

${DATA_PATH}/${DETECTOR}/armDacCal/scandate

Where scandate would be the datetime when the script either launched, or finished.

It should also make a current symlink.

Types of issue

  • Bug report (report an issue with the code)
  • Feature request (request for change which adds functionality)

Expected Behavior

Central location for output log files and calibration results as described above.

Current Behavior

Output log files are located in the calling directory and the output calibration files are found in $ELOG_PATH.

Context (for feature requests)

Quality of life feature.

Problems doing make rpm in reg_utils

Brief summary of issue

NSFD error when trying to make rpm reg_utils

Types of issue

  • Bug report (report an issue with the code)
  • Feature request (request for change which adds functionality)

Expected Behavior

make rpm should run uninterrupted

Current Behavior

NSFD error when looking for ``reg_utils/python/reg_interface/rpm/build/bdist.linux-x86_64/rpm/BUILDROOT/reg_interface-1.1.0-1.2879f89git.centos7.python2.7.x86_64/usr/lib/python*/site-packages/reg_utils/scripts/*.py``

"error: File not found by glob:"

Steps to Reproduce (for bugs)

  1. environment variables: export ELOG_PATH=<repo directory>/elogs; export BUILD_HOME=<repo directory>; export PETA_STAGE=/data/bigdisk/sw/peta-stage/;
  2. enter python virtual environment: source <repo directory>/venv/cc7/py2.7/bin/activate
  3. cd <repo directory>/reg_utils/
  4. make rpm
    my repo directory is: /afs/cern.ch/work/w/wvetens/private/cms-gem-daq/
    error message: error: File not found by glob: /afs/cern.ch/work/w/wvetens/private/cms-gem-daq/reg_utils/python/reg_interface/rpm/build/bdist.linux-x86_64/rpm/BUILDROOT/reg_interface-1.1.0-1.2879f89git.centos7.python2.7.x86_64/usr/lib/python*/site-packages/reg_utils/scripts/*.py

Possible Solution (for bugs)

It looks like everything up to usr exists. I tried creating a link to my /usr folder, which seems to have all the needed directories, but it looks like the makefile overwrites this before looking for usr. Looks like I'm either missing an environment variable not talked about in the readme or you can insert something like mkdir $BUILD_HOME/reg_utils/python/reg_interface/rpm/build/bdist.linux-x86_64/rpm/BUILDROOT/reg_interface-1.1.0-1.2879f89git.centos7.python2.7.x86_64/usr; ln -s /usr $BUILD_HOME/reg_utils/python/reg_interface/rpm/build/bdist.linux-x86_64/rpm/BUILDROOT/reg_interface-1.1.0-1.2879f89git.centos7.python2.7.x86_64/usr before the step where it searches for this. I couldn't find where in the makefile to do this however, as it is rather terse.

Context (for feature requests)

Your Environment

  • Version used:
  • Shell used: bash

Bug Report: setup_gemdaq.sh kills ssh session

Brief summary of issue

Occasionally sourcing setup_gemdaq.sh kills ssh session:

% source sw_utils/scripts/setup_gemdaq.sh -p $PWD/venv
ERROR: You must use "source sw_utils/scripts/setup_gemdaq.sh" to run this script.











Connection to gem904qc8daq closed.

Here the script did not realize it was being source'd and then it killed the ssh session. A subsequent login and call succeeded:

% ssh -XtY <username>@gem904qc8daq
% source sw_utils/scripts/setup_gemdaq.sh -p $PWD/venv
source $PWD/venv/cc7/py2.7/bin/activate
(py2.7) %

Types of issue

  • Bug report (report an issue with the code)
  • Feature request (request for change which adds functionality)

Expected Behavior

Should recogonize it's being source'd and if not it should not kill the ssh session.

Current Behavior

Doesn't always recognize it's being source'd and then when it doesn't it kills the ssh session.

Steps to Reproduce (for bugs)

  1. Login to a 904 DAQ machine
  2. source sw_utils/scripts/setup_gemdaq.sh -p $PWD/venv

Appears to happen ~50% of the time.

Possible Solution (for bugs)

Should use return here instead of exit:

then
echo >&2 "ERROR: You must use \"source $0\" to run this script."
exit 1
fi

This will resolve the killing an ssh session. However why it doesn't recognize it's being sourced is beyond me.

Context (for feature requests)

Script should recognize it's being source'd

Your Environment

  • Version used: 07036f5
  • Shell used: /bin/zsh

Update calibrateArmDac.sh to dump all VFAT config info to log file

Brief summary of issue

Right now calibrateArmDac.sh only dumps VFAT0 configuration to log file. This is a problem because:

  1. This VFAT could be masked, and
  2. The DAC values of each VFAT could be different (e.g. after DAC scans).

Types of issue

  • Bug report (report an issue with the code)
  • Feature request (request for change which adds functionality)

Expected Behavior

All VFAT settings are written to log file.

Current Behavior

Only VFAT0 is written to log file.

Possible Solution (for bugs)

This line should be executed inside of a loop over all VFATs:

echo "Writing configuration for CFG_THR_ARM_DAC=${armDacVal} to file"
echo "gem_reg.py -n ${CARDNAME} -e kw 'GEM_AMC.OH.OH${LINK}.GEB.VFAT0.CFG_' 2>&1 | tee -a scurveLog_ArmDac_${armDacVal}.txt"
echo "Configuration of All VFATs:" 2>&1 | tee -a scurveLog_ArmDac_${armDacVal}.txt
gem_reg.py -n ${CARDNAME} -e kw "GEM_AMC.OH.OH${LINK}.GEB.VFAT0.CFG_" 2>&1 | tee -a scurveLog_ArmDac_${armDacVal}.txt
sleep 1

Context (for feature requests)

For evaluating scan settings it is important to have all info in the log file.

Update Documentation to include replace_parameter.sh changes

Brief summary of issue

Documentation needs to be updated to inform user about improvements to replace_parameter.sh made in cms-gem-daq-project/gemctp7user#38.

Types of issue

  • Bug report (report an issue with the code)
  • Feature request (request for change which adds functionality)

Expected Behavior

Under Configuration File on CTP7 describe how replace_parameter.sh can be used to take a file input from anaDACScan.py or manually made by the user (e.g. when providing CFG_IREF) to update the VFAT configuration files.

The user should be reminded of this again under the Configuring a Detector Section.

Current Behavior

$USER doesn't know about replace_parameter.sh

Context (for feature requests)

$USER doesn't know about useful QOL feature.

[Documentation] Specifically State that RPM's should not be built from inside a VENV

Brief summary of issue

Due to known issues in the make process rpms or pip packages should never be built from inside a $VIRTUAL_ENV. We should add a subsection/warning/readily readable statement under the Building GEM Software section of the guide to explicitly state this.

Types of issue

  • Bug report (report an issue with the code)
  • Feature request (request for change which adds functionality)
  • Documentation

Expected Behavior

Should explicitly state that you should not build inside a VENV.

Current Behavior

From the commands shown it's implied that you should not build from inside a VENV (e.g. if you follow the commands verbatim you would never enter a virtual environment).

Context (for feature requests)

New developers have issues when attempting to build packages because documentation is not clear, e.g. #38. The problem is not the developer here but the documentation for lacking this key statement.

Your Environment

  • Version used:
  • Shell used:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.