ATLAS Upgrade Strip Cleanroom

Introduction

Collection of information for Strip ATLAS Upgrade test systems, database upload, scripts, ...

ITSDAQ Installation and Update

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:
  • df -H

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
  • cd itsdaq-sw

#For choosing a particular git commit, use this command:
  • git checkout cb92ccb4

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:
  • git checkout 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

  • cd $SCTDAQ_ROOT
  • git pull

#For choosing a particular git commit, use this command:
  • git checkout cb92ccb4

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
    • does not work!
(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

Useful Links

-- SvenWonsak - 17 Nov 2021

Topic attachments
I Attachment Action Size DateSorted ascending Who Comment
how to read out power supplies through ITSDAQ.txttxt how to read out power supplies through ITSDAQ.txt manage 1 K 03 Dec 2021 - 09:08 SvenWonsak HV suppy ITSDAQ (Luise)
ITSDAQ-HV_UK-Discussion.txttxt ITSDAQ-HV_UK-Discussion.txt manage 9 K 03 Dec 2021 - 09:13 SvenWonsak UK ITSDAQ HV with niVisa
power_supplies.jsonjson power_supplies.json manage 168 bytes 03 Dec 2021 - 11:02 SvenWonsak HV-Supply Json file
IVScanConfig.txttxt IVScanConfig.txt manage 197 bytes 09 Dec 2021 - 11:15 SvenWonsak IV Scan Config File
Sensor_Batch_W00999_IV_666.datdat Sensor_Batch_W00999_IV_666.dat manage 845 bytes 09 Dec 2021 - 11:30 SvenWonsak Example File for Sensor IV Scan
20USBXX9999999_MODULE_STAGE_IV_667.datdat 20USBXX9999999_MODULE_STAGE_IV_667.dat manage 934 bytes 09 Dec 2021 - 11:37 SvenWonsak Example File for Module IV Scan (without Powerboard)
plotIV.cppcpp plotIV.cpp manage 7 K 09 Dec 2021 - 15:45 SvenWonsak updated file for IV test (should be merged to branch soon)
Module_IV_HelpEXT Module_IV_Help manage 310 bytes 10 Dec 2021 - 10:37 SvenWonsak Help to fill out IV fields
2022-01-11_Scripts.zipzip 2022-01-11_Scripts.zip manage 96 K 11 Jan 2022 - 07:36 SvenWonsak Python Scripts
json-Examples.zipzip json-Examples.zip manage 20 K 03 Feb 2022 - 13:03 SvenWonsak json examples for uploader
2022-03-01_Scripts.zipzip 2022-03-01_Scripts.zip manage 104 K 01 Mar 2022 - 13:40 SvenWonsak Liverpool Scripts
Liverpool-Scripts_2023-04-18.zipzip Liverpool-Scripts_2023-04-18.zip manage 145 K 18 Apr 2023 - 12:19 SvenWonsak Scripts 2023-04-18
Topic revision: r33 - 13 Mar 2024, SvenWonsak
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback