cd ~/ph1_TriDAS/ source setenv.sh cd pixel/PixelRun killall xdaq.exe ./run_UZHLabTest.sh ../XDAQConfiguration/XDAQ_ConfigurationUZHLabTest_TTC.xml
http://cmspixel.physik.uzh.ch:1953/urn:xdaq-application:lid=51/Default
cd ~/ph1_TriDAS/pixel/config/calib/3 cp calib_simple.dat calib.dat
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
cd ~/ph1_TriDAS/pixel/ make Set=pixel
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