User Tools

Site Tools


phase1:phase1:pos

How to run tests with Pixel Online Software

How to start POS

cd ~/ph1_TriDAS/
source setenv.sh
cd pixel/PixelRun
killall xdaq.exe
./run_UZHLabTest.sh ../XDAQConfiguration/XDAQ_ConfigurationUZHLabTest_TTC.xml
  • open the browser and go to the PixelSupervisor web interface (if you run from remote you'll have to launch firefox remotely), the click on “Initialize”
http://cmspixel.physik.uzh.ch:1953/urn:xdaq-application:lid=51/Default
  • set a configuration for a quick check that modules, FED and POHs are working:
cd ~/ph1_TriDAS/pixel/config/calib/3
cp calib_simple.dat calib.dat
  • run a TBMDelay calibration clicking on the corresponding button in the PixelSupervisor menu, then click on “Configure”. Once it's configured click on “Start”.
  • if everything worked you will see an output similar to this:
Contents of FIFO 1 for channel 32 (status = 11)

Decoded channel: 32
Found TBM header: 1
Found TBM trailer: 1
Event number: 10
ROCs enabled: 0
TBM trailer errors: 0
Found ROCs without hits: 4
   - ROC #1 - last dac : 8
   - ROC #2 - last dac : 8
   - ROC #3 - last dac : 8
   - ROC #4 - last dac : 8
Found ROCs with hits: 4
Total number of hits found: 4
   - Channel #32 ROC #1 dcol 5 pxl 140 col 10 row 10 pulse height 252
   - Channel #32 ROC #2 dcol 5 pxl 140 col 10 row 10 pulse height 207
   - Channel #32 ROC #3 dcol 5 pxl 140 col 10 row 10 pulse height 255
   - Channel #32 ROC #4 dcol 5 pxl 140 col 10 row 10 pulse height 243
  • if you don't get a meaningfull output try first to click on “Halt” and rerun the calibration
  • every time you want to restart from scratch (for instance after compiling) remember first to kill all xdaq applications (killall xdaq.exe)
  • to compile just type
cd ~/ph1_TriDAS/pixel/
make Set=pixel
  • remember to power off once you are done!

How to develop calibration code

1) add the new calibration to the file PixelCalibrations/src/common/PixelCalibrationFactory.cc : this will create a new button in the calibration menu'. For instance:

#include "PixelCalibrations/include/PixelMyCalibration.h"
#include "PixelCalibrations/include/PixelFEDMyCalibration.h"

PixelCalibrationBase* PixelCalibrationFactory::getCalibration(const std::string& calibName, const PixelSupervisorConfiguration* pixSupConfPtr, SOAPCommander* soapCmdrPtr,PixelD CSSOAPCommander* dcsSoapCommanderPtr, PixelDCSPVSSCommander* pvssCommanderPtr) const{

  ......

  if (calibName=="MyCalib") {
    return new PixelMyCalibration(*pixSupConfPtr, soapCmdrPtr);
  }

  ......
    
}


PixelFEDCalibrationBase* PixelCalibrationFactory::getFEDCalibration(const std::string& calibName, const PixelFEDSupervisorConfiguration* pixFEDSupConfPtr, SOAPCommander* soapCmdrPtr) const{

  ......

  if (calibName=="MyCalib") {
    return new PixelFEDMyCalibration(*pixFEDSupConfPtr, soapCmdrPtr);
  }

  ......
  
}

2) create your calibration classes: PixelMyCalibration and PixelFEDMyCalibration (follow for instance PixelTBMDelayCalibration and PixelFEDTBMDelayCalibration classes)

3) add the new calibration to the file config/aliases.txt

...
Gain99By3        19 ;
GainBy3          20 ;
Iana             21 ;
ROCDelay         22 ;
ReadbackCalibration 23 ; 
Vdig 24 ;
MyCalibration 25 ;

4) add the calibration key to the file config/configurations.txt

...
key 25
detconfig   0
nametranslation   0
fedconfig   0
fecconfig   0
fedcard   0
dac   0
maxvsf   0
mask   0
trim   0
calib   25
tbm   0
portcard   0
portcardmap   0
ttcciconfig   0
ltcconfig   0
tkfecconfig   0
lowvoltagemap   0

5) edit the calib.dat file with the input parameters of the new calibration (ex: what to scan, scan range, etc..). For the example above the file should stay under config/calib/25/calib.dat

Calibration sequence

  • The calibration sequence is described in this presentation.
  • The calibrations parameters can be found in the corresponding calib.dat file in the config/calib directory (check the config/aliases.txt file to know which subfolder you should look at)
  • A detector configuration for switch 0 and switch 1 of the fitel receiver to use for testing calibrations can be found in this elog entry
phase1/phase1/pos.txt · Last modified: 2016/09/14 11:25 by ngadiuba