User Tools

Site Tools


CMS BPIX Detector Commissioning at P5


Testing procedure

  1. Login to DCS
    • Account: CERN\tkdcsmt, pw: Meri-Wuwi (in case someone is logged in from remote call Stefanos 1820 or Christian 0897)
    • If the DCS is not already running, click on icon P5-BPIX.bat on the Desktop
    • Click on Cooling: Verify that all temperatures are as expected (usually around 18C)
    • Go to Hardware Views –> Power supply view –> By Mainframe –> “Show the panel of this rack”
    • Power CCU (2nd module 4602, top) –> Enable –> On (expected current about 1.6A)
    • Power Opto (1st module 4602) [LV 1,2,3,4 for S4,3,2,1 (upper cable), for S5,6,7,8 (lower cable)] –> Enable –> On (expected current about 2-3A)
    • Power detector (1st module 4603, top SEC1 L14, bottom SEC1 L23, 2nd module 4603, top SEC2 L14, bottom SEC2 L23, 3rd module 4603, top SEC3 L14, bottom SEC3 L23, 4th module 4603, top SEC4 L14, bottom SEC4 L23) only LV for now –> On (expected current about 4A)
  2. Check CCU ring and ST i2c communication using BPixelTools (see How to run BPixelTools)
  3. Start testing with POS (see How to run POS)

How to run BPixelTools

source TriDAS_r45/pixel/POSRelease/
cd TriDAS_r45/pixel/BPixelTools/ccu
FEC 0x0 Ring 0x0 CCU 0x7e found
FEC 0x0 Ring 0x0 CCU 0x7d found
FEC 0x0 Ring 0x0 CCU 0x7c found
FEC 0x0 Ring 0x0 CCU 0x7b found
FEC 0x0 Ring 0x0 CCU 0x7a found
FEC 0x0 Ring 0x0 CCU 0x79 found
FEC 0x0 Ring 0x0 CCU 0x78 found
FEC 0x0 Ring 0x0 CCU 0x77 found

prints list of all i2c devices 

ccu 0x7c (select the ccu of interest, see for instance the result of scanringedevice)
piareset all
both qpll locked
power off
(turn on LV on DCS)
power on
  • If you do not see the expected output, try to powercycle the CCU and opto power.
  • If scanringedevice crashes, try to disconnect and reconnect the fibers going to the TKFEC.
  • If the QPLL are not both locked, try “pll reset” or “piareset all” again.

How to run POS

source TriDAS_r45/pixel/POSRelease/
cd TriDAS_r45/pixel/PixelRun
./ --xml auto
go to

click on "PixelSupervisor"
click "Initialize"
select calibration to run
click "Configure"
check that FED phases have been found
click "Start" 

Once the calibration finished. Look at the results in:
cd TriDAS_r45/pixel/PixelRun/Runs/Run_0/Run_yourrunnr

How to analyze PixelAlive and SCurve

$BUILD_HOME/pixel/PixelAnalysisTools/test/bin/linux/x86_64_slc6/PixelAnalysis.exe $BUILD_HOME/pixel/PixelAnalysisTools/test/configuration/PixelAliveAnalysis_41_43.xml yourrunnur

$BUILD_HOME/pixel/PixelAnalysisTools/test/bin/linux/x86_64_slc6/PixelAnalysis.exe $BUILD_HOME/pixel/PixelAnalysisTools/test/configuration/SCurveAnalysis_41-43.xml yourrunnur

Edit xml file to include the FEDs of interest.

List of Calibrations

TBMDelay25 --> check chose SDA value, if ok updatePortcard.
POHBiasBPIX --> updatePortcard.
SCurve without HV
SCurve with HV --> run analysis, compare using script in /home/cmspixel/scurves/

In case of problems with the readout try the following sequence
TBMPLLDelayNoTokenPass --> updateTbm 
2DScores --> updateTbm
TBMPLLDelay400MHz --> updateTbm

How to update TBM, ROC and portcard settings

 - Go to the Run directory with the results of the calibration you would like to update
cd TriDAS_r45/pixel/PixelRun/Runs/Run_0/Run_X
(depending on what you would like to update)

How to go to the next sector

  1. Connect module power and fibers
  2. Change POS configuration files to appropriate sector
cd TriDAS_r45/pixel/config
cd detconfig/1/
cp detectconfig.dat_sector detconfig.dat
cd ../../nametranslation/1/
cp translation.dat_sector translation.dat
cd ../../portcardmap/1/
cp portcardmap.dat_sector portcardmap.dat

List of known issues

PLace/Date Quadrant Sector Module hub ROCs FED fiber FED ch issue
PSI BmI SEC2 MOD 3_3_4 28 0-15 42 14 (27,28) constant SDATA
PSI BmI SEC2 MOD 2_3_3 23 TBMA 0-7 41 21 (41,42) asymmetric SDATA1
P5 Cleanroom BmI SEC4 MOD 2_7_1 21 0-15 42 3,4 (5,8) not programmable
P5 Cleanroom BmI SEC7 MOD 3_20_2 26 0-15 43 5 (9,10) not programmable
PSI BpI SEC1 MOD 1_1_4 27 12-15 42 10 (19,20) token does not pass
PSI BpI SEC2 MOD 2_3_4 22 0-15 41 23,24 (45,46),(47,48) module not programmable
PSI BpI SEC8 MOD 4_32_2 6 1,12-14 42 17 (33,34) ROCs not programmable
PSI BmO SEC5 MOD 1_4_2 30 8-11 41 4 (7,8) asymmetric SDATA
PSI BmO SEC6 MOD 4_23_2 10 0-15 44 1 (1,2) module not programmable
PSI BmO SEC8 MOD 2_14_2 20 TBMA 0-7 42 2 (3,4) asymmetric SDATA1
P5 Cleanroom BpO SEC1 MOD 3_1_4 28 0-15 42 14 (27,28) flawy, seems to work cold


Keep track of your results by entering them in this elog: 
(user and password are the same as to access testing PC).

*   For each sector, write down all currents at power up and after configure.  
*   For each calibration: enter sector, run number and calibration type and additional information if needed.
*   For each sector, enter a summary of working/non-working components. 

How to login to underground PCs

Login to cmsusr:
ssh -Y username@cmsusr

From there login to any of the pixel PCs, for example:
ssh -Y srv-s2b18-32-01 

Become pixeldev:
xsudo -u pixeldev -H bash -l
cd ~pixeldev

Go to POS installation:
cd ~pixeldev/TriDAS_r45/pixel/PixelRun

Config files are under:

Open firefox on cmsusr login node and go to PixelSupervisor:

How to power up

As pixeldev open three terminal windows. 

Start the BPixelTools ccu program in the first tab:
cd ~pixeldev/TriDAS_r45/pixel/BPixelTools/ccu
./run_bpi.bsh (or ./, ./, ./ depending on the quadrant)

(note if you change from the detector inner side (BpI/BmI) to the outer side (BpO/BmO) you will need to change the address of the TKFEC in the file ccu/connections.xml)

Start the BPixelTools pxfec program in the second tab:
cd ~pixeldev/TriDAS_r45/pixel/BPixelTools/pxfec

Use the third tab to run the python script:
cd ~pixeldev/TriDAS_r45/pixel/BPixelTools/testLea

For each sector you want to power on run:
python sectorid
, where sectorid is bmi1,bpi1,bmo1,bpo1,etc

To power off:
python sectorid
p5/p5.txt · Last modified: 2017/03/09 10:06 by leac