ATLAS Upgrade Strip Cleanroom
Introduction
Collection of information for Strip ATLAS Upgrade test systems, database upload, scripts, ...
ITSDAQ Installation and Update
ALMALINUX Instructions
- open disk manager:
- Windows button
- start typing 'disk'
- click on symbol
- look for large hard disk (500GB or 1 TB)
- click on it
- it is likely not partitioned: then partition it by clicking on the + button
- use default settings
- if successful, it will show "Device /dev/sda1" (or similar sd..)
Mount local harddrive
- create mount point: sudo mkdir ~/disk1
- ##mount harddrive: sudo mount /dev/sdb3 ~/disk1
- ##mount harddrive: sudo mount /dev/sda1 ~/disk1
##change /etc/fstab with:
- sudo emacs /etc/fstab &
- ##add line (change sda1 and atlas-itk2 when required)
- /dev/sda1 /home/atlas-itk2/disk1 xfs rw,relatime,attr2,inode64,noquota 1 2
##check disk space:
Install ITSDAQ
https://twiki.cern.ch/twiki/bin/view/Atlas/StripsUpgradeDAQInstall
Prepare Network Card
##show network cards:
- ip link show
- or: ifconfig -a
- atlas-itk:
- MAC address of ethernet card:
- 00:13:3B:10:29:3A (enp1s0)
- atlas-itk2:
- MAC address of ethernet card:
- 00:13:3b:5a:1f:66 (enp2s0)
##set PC ethernet port for second network card:
- ##use gui to do this (subnet 255.255.255.0)
- sudo ifconfig enp1s0 192.168.222.10
- sudo ifconfig enp2s0 192.168.222.10
Installation
#Dependencies
- sudo yum install boost-devel
#Download software
#change directory to itsdaq-sq
#For choosing a particular git commit, use this command:
Here cb92ccb4 is the commit number (as can be seen on the git history page
https://gitlab.cern.ch/atlas-itk-strips-daq/itsdaq-sw/-/commits/master/ )
#Going back to the master:
#Linux install
- python3 waf configure
- python3 waf build
- python3 waf install
or
- python3 waf clean install
#create sctvar directory
- mkdir /home/atlas-itk2/disk1/sctvar
##set environment variables for all users:
- ##/etc/profile.d/itk-env.sh
- ##- add new commands in this file (as sudo using emacs)
- export SCTDAQ_ROOT=/home/atlas-itk2/disk1/itsdaq-sw
- export SCTDAQ_VAR=/home/atlas-itk2/disk1/sctvar
- export ITSDAQ_LOCATION='Liverpool'
- export ITSDAQ_DB_INSTITUTE='LIV'
#create sub-directories in sctvar
- mkdir /home/atlas-itk2/disk1/sctvar/config /home/atlas-itk2/disk1/sctvar/data /home/atlas-itk2/disk1/sctvar/etc /home/atlas-itk2/disk1/sctvar/ps /home/atlas-itk2/disk1/sctvar/results
#create desktop link to sctvar
- ln -s $SCTDAQ_VAR /home/atlas-itk2/Desktop/sctvar
#copy old config files into new config directory in sctvar
#copy link to run to itsdaq onto desktop
#modify /home/atlas-itk2/disk1/itsdaq-sw/macros/parameters.h
ITSDAQ with Keithley
Following Instructions provided by Luise:
HV Supply
- Connect Power supply to PC, it should now be visible in /dev/serial/by-id (e.g. usb-Prolific_Technology_Inc._USB-Serial_Controller_D-if00-port0 from the usb-to-serial connector)
- in 'itsdaq-sq/macros/Stavelet.cpp' ensure 'hvtype = -1' is set
- Change Keithley menue to serial communication and set baud rate:
- Keithley: Menu -> Communication -> RS232
- Keithley: Menu -> Communication -> RS232 -> Baud -> 9600
- Further Keithley settings: data bits = 8, parity = none, terminator = <cr>, flow control = NONE
- settin up the communication (assuming the Keithley is connected to ttyUSB0
- sudo chmod 666 /dev/ttyUSB0
- sudo stty -F /dev/ttyUSB0 ispeed 9600 cs8 -cstopb -parenb -ixon
- sudo stty -F /dev/ttyUSB0
- -> check that buad really is 9600
- set up 'power_supplies.json' in 'sctvar/config'
- if file is not there, can copy a template from 'itsdaq-sw/config'
- power_supplies.json: HV-Supply Json file
- output defines which connectors are active: 0 for front, 1 for back
LV Supply
Alternative Instructions:
- Keithley: RS232
- TTI: USB Type B
Update ITSDAQ
#For choosing a particular git commit, use this command:
Here cb92ccb4 is the commit number (as can be seen on the git history page
https://gitlab.cern.ch/atlas-itk-strips-daq/itsdaq-sw/-/commits/master/ )
- sudo yum install boost-devel
- python3 waf configure #this step is not always necessary depending on what has changed
- python3 waf install
ITSDAQ Issues
Full test crashes ITSDAQ
Caused by and issue in the GUI script that executes the full test
- open itsdaq-sq/macros/STGUICommon.cpp
- search for "ABCStarFullTest()"
- change code:
old
#ifndef ITSDAQ_ROOT6_DEFINE
gROOT->ProcessLine(".L abc_star/StandardTests.cpp");
#else
loadmacro("abc_star/StandardTests");
#endif
gROOT->ProcessLine("ABCStarFullTest();");
new
loadmacro("abc_star/StandardTests");
gROOT->ProcessLine("ABCStarFullTest();");
ITSDAQ Usage
Autoconfig
Let ITSDAQ automatically download and create the config files for hybrids
https://docs.google.com/presentation/d/1DD2VgvwdBLEvlVhigQS_S_mh89LrH3-U8EgsRd3cjyE/edit#slide=id.g237fb8842e4_7_40
Chip Assembly
Using the results of a test to assemble ABC and HCC chips to a hybrid
Use Script from:
https://gitlab.cern.ch/atlas-itk/sw/db/production_database_scripts/-/tree/AsicAssemblyAndConfig/strips/modules?ref_type=heads
ASIC assembly to a panel: assembleHybridsByFuseIDs.py
IV Scans
Taking IV with ITSDAQ tutorial:
https://indico.cern.ch/event/1084324/contributions/4558877/attachments/2332120/3974567/IVScaninningandUploadingTutorial.pdf
IV Procedure specification:
https://edms.cern.ch/document/2647669
(outdated) Check out a branch on an existing ITSDAQ installation:
- git checkout IVScanEmilyUpdates
or more explicitly
- git checkout origin/IVScanEmilyUpdates –b IVScanEmilyUpdates
(IV scan is now merged into master)
Configuration of IV scan
- create an IV scan configuration file in itsdaq/config
- Name: IVScanConfig.txt
- Example: IVScanConfig.txt
- Chane entries corresponding to tested object, they are printed to output file and are important for database upload
Name |
Value |
Comment |
Type: |
ATLAS18R1 Sensor |
Name |
Institute: |
LIV |
Institute Code |
TestType: |
ATLAS18_IV_TEST_V1 |
CODE of test in DB |
Vbias_SMU: |
Keithley 2410 |
High voltage supply |
R_series: |
14.3 MOhm |
Series resistor: 1 MOhm for bare sensor or module without powerboard, ... for module with powerboard |
Test_DMM: |
none |
optional if a DMM is used for current measurement |
Rshunt: |
0.00 MOhm |
optional, if shunt resistor is used |
Software type and version, fw version: |
ITSDAQ |
describe used software/hardware |
For every test:
- Set Powersuply limit to -700V if bare sensors are measured: HVSupplies[0]->SetLimit(-700);
*
plotIV.cpp: updated file for IV test (should be merged to branch soon)
Liverpool Strip Database Scripts
Update 2023-09-10:
moved main QC and assembly scripts to GIT:
https://gitlab.cern.ch/swonsak/liverpool-strip-scripts
- used itkdb for database access
- instructions are in a text file inside the repository (including list of all used additional python modules that need to be installed with pip)
Liverpool related ITSDAQ scripts that required modifications/additional work and GUI:
https://gitlab.cern.ch/swonsak/liverpool-itsdaq-scripts
- uses a local copy of the itsdaq-sw database access method
- ASIC assembly from ITSDAQ test (in GUI)
- Burn-in file merging
- Burn-in file upload
Scripts (old)
Carl Gwilliam has written a python script to upload test results in JSON form to the ATLAS ITk production database.
GUI interfaces have been written to use everything without prior python knowledge.
Instructions (old)
To run the scripts, install python 3.9 or newer on the PC from
https://www.python.org/ (choosing to also install pip in the advanced settings)
In command line terminal (
https://www.businessinsider.com/how-to-open-command-prompt?r=US&IR=T), enter
- pip install itkdb
- pip install Pillow
Unzip the files where you want your scripts to be stored.
Run the script main_interface.py (for windows, the PC should automatically run it with python
Packages can be updated by
- pip install itkdb --upgrade
- pip install Pillow --upgrade
Outdated
Kenny's Streamlit Web App
Developed by Kenneth Gibb Wraight from the University of Glasgow, the streamlit web app creates a unser-friendly onlye application for interacting with the itk production database.
http://uk-itk-pdb-webapp-strips.web.cern.ch/
Implemented for strips:
- uploading IV files
- uploading pull test files
Useful Linux Tips
- search for expression in files and show all files:
- grep -Ril "Expression" ./
- where './' is the path (and all recursive directories) that will be searched
Environment Monitoring
- Sheffield Repositories (need be member of atlas-uk-upgrade-wp12 cern mail list
- Manex code for Liverpool implementation:
Useful Links
--
SvenWonsak - 17 Nov 2021