User Tools

Site Tools


phase1:phase1:pos

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
phase1:phase1:pos [2016/08/26 12:33] ngadiubaphase1:phase1:pos [2016/09/14 11:24] ngadiuba
Line 16: Line 16:
   http://cmspixel.physik.uzh.ch:1953/urn:xdaq-application:lid=51/Default   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:+  * set a configuration for a quick check that modules, FED and POHs are working:
  
   cd ~/ph1_TriDAS/pixel/config/calib/3   cd ~/ph1_TriDAS/pixel/config/calib/3
   cp calib_simple.dat calib.dat   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".+  * 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:+  * if everything worked you will see an output similar to this:
  
-  ----------------------------------- 
   Contents of FIFO 1 for channel 32 (status = 11)   Contents of FIFO 1 for channel 32 (status = 11)
-  -----------------------------------+  
   Decoded channel: 32   Decoded channel: 32
   Found TBM header: 1   Found TBM header: 1
Line 45: Line 44:
      - Channel #32 ROC #3 dcol 5 pxl 140 col 10 row 10 pulse height 255      - 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      - 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"
      
-===== TBM pll delay calibration =====+  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 [[https://indico.cern.ch/event/560056/contributions/2292179/attachments/1330727/1999885/phase1-calibrations.pdf|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 fitted receiver to use for testing calibrations can be found in [[https://elog.physik.uzh.ch:8080/Pixel/168|this elog entry]]
phase1/phase1/pos.txt · Last modified: 2016/09/14 11:25 by ngadiuba