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
phase1:phase1:pos [2016/08/26 12:42] ngadiubaphase1:phase1:pos [2016/09/14 11:25] (current) ngadiuba
Line 53: Line 53:
  
   * **remember to power off once you are done!**   * **remember to power off once you are done!**
-  
-===== Run full calibration chain (to be finished) ===== 
  
 +===== 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 [[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 fitel receiver to use for testing calibrations can be found in [[https://elog.physik.uzh.ch:8080/Pixel/168|this elog entry]]
phase1/phase1/pos.1472208158.txt.gz · Last modified: 2016/08/26 12:42 by ngadiuba