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
Next revisionBoth sides next revision
phase1:phase1:pos [2016/08/26 12:34] ngadiubaphase1:phase1:pos [2016/09/13 12:03] ngadiuba
Line 44: 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"
      
-===== Run full calibration chain (to be finished) =====+  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**    
 +
 +
 +  
 +===== Run full calibration chain (to be finished) =====
phase1/phase1/pos.txt · Last modified: 2016/09/14 11:25 by ngadiuba