Pixel Analysis Tools Guide

Introduction

Logging in and setting up the environment

This step requires that you have a P5 Online Network account (cmsusr). Get one by contacting danek.kotlinski@psiNOSPAMPLEASE.ch. Then log in as

ssh -Y srv-c2f38-15-01.cms

Setting up CMSSW

source /opt/offline/cmsset_default.sh
cmsrel CMSSW_8_0_19_patch1 
cd CMSSW_8_0_19_patch1/src/
cmsenv

Get the PixelOnlineSoftware from SVN

Follow the instructions at the PixelOnlineSoftwareInstallation TWiki

mkdir -p TriDAS/pixel
cd TriDAS/pixel
export CERNUSER=YourUserNameAtCERN
svn co --username $CERNUSER https://svn.cern.ch/reps/cmspxldaq/POSRelease/trunk POSRelease
cd POSRelease
./create_setenv.sh -r $ROOTSYS 
source setenv.sh
cd $BUILD_HOME
ln -s /nfshome0/pixelpro/TriDAS/DiagSystem DiagSystem #XDAQ11 only
ln -s /nfshome0/pixelpro/TriDAS/FecSoftwareV3_0 FecSoftwareV3_0
ln -s DiagSystem/LogReaderWithFileServer pixel/LogReaderWithFileServer #XDAQ11 only
cd $BUILD_HOME/pixel/POSRelease
./checkout.py
cd $BUILD_HOME/pixel
make install
make Set=pixel

Logging in as pixelpro

Some operations are only permitted when logged in as pixelpro. To do so

xsudo -u pixelpro -H zsh -l

Sourcing ROOT and Python (Ops! Buggy)

To set up root and python you can so

source ~/TriDAS/pixel/POSRelease/setenv.sh

However, this is currently buggy as PyROOT is not compatible with this ROOT version. Use CMSSW instead (see above).

Scripts currently available in Pixel Analysis Tools

This is an overview over all available scripts in Pixel Analysis Tools available to analyse different calibrations

Scripts currently available in Pixel Analysis tools (on SVN)

Location Name Type of analysis Comments/Action items Main Author To be kept (Y/N)?
PixelAnalysisTools/test/ dumpBinaryFiles.cc   Newly added from pixelpro/bin on advice from Danek! To be documented. ? Y
  dumpErrorFiles.cc   Newly added from pixelpro/bin on advice from Danek! To be documented. ? Y
  AddLevelFindOscillatingROCs.cc Address Level Run as executable.Move to PixelAnalysisTools/test/src/common/? See detailed instructions on how to run at Pixel Calibration Analysis TWiki Kyle Tos Y
AddressLevelComparison.cc Address Level Run as executable.Move to PixelAnalysisTools/test/src/common/? See detailed instructions on how to run at Pixel Calibration Analysis TWiki Kyle Tos Y
AnalyzeVanaCalibration.py Vana
browseCalibFiles.py   Should be maintained! Documentation exists (see Martina_Threshold.pdf: Martina_Threshold.pdf)
CheckScurveResults.py SCurve    
checkSCurve.sh SCurve  
CompareMinimizedThresholds.py
CompareVana.py Vana
FastPixelAliveAnalysisForThr.py PixelAlive Should be maintained! Documentation exists (see Martina_Threshold.pdf: Martina_Threshold.pdf) ). Comments from Mauro: Script should be improved,. Hard coded values which would be better to put in the calling sequence. Produce txt lists of ROCs, should produce python scripts that handle such lists: (a) search if a newly produced list is different from a previous one, and which are the ROCs that are in the second and not in the first and vice versa. (b) Change ROC Vana (or VcThr, or any other register) by a certain amount in the dac/ directory for all the ROCs that are in a certain txt list
makeVetoList.py
PixelAliveAnalysisForThr.py PixelAlive
PixelAliveComparison.cc PixelAlive Run as executable.Move to PixelAnalysisTools/test/src/common/? See detailed instructions on how to run at Pixel Calibration Analysis TWiki Kyle Tos Y
plot.c
plotCurrents.py
PlotThresholds.py
process_scurve.sh SCurve
read.c
run_FEDerrorsNoTriggers.py
run_FEDerrors.py
run_makeVetoList.csh
runSCurveAnalysisForVana.py SCurve Should be maintained! Documentation exists (see Martina_Vana.pdf: Martina_Vana.pdf). Comments from Mauro: Script should be improved,. Hard coded values which would be better to put in the calling sequence. Produce txt lists of ROCs, should produce python scripts that handle such lists: (a) search if a newly produced list is different from a previous one, and which are the ROCs that are in the second and not in the first and vice versa. (b) Change ROC Vana (or VcThr, or any other register) by a certain amount in the dac/ directory for all the ROCs that are in a certain txt list
SCurveComparison.cc SCurve
PixelAnalysisTools/test/additionalTools changeAll.pl
changeSome.pl
GainLoop.C
iterate.pl
PixelAliveLoop_B(F)Pix.C PixelAlive  
SCurveLoop_B(F)Pix.C SCurve  
changeAll.pl
PixelAnalysisTools/test/additionalTools/VanaTools analysisCalibFuncs.py
browseCalibFiles.py
checkSCurve.py SCurve
cleanFile.py
currents.pl
currentsPlot.C
followWorst.pl
followWorst.pl.back
hist.C
inabsdiff.C
InAbsDiff.pl
overall.pl
overallPlot.C
PlotAbsThr.C
PixelAnalysisTools/test/bin/linux/x86_64_slc6: AddLevelFindOscillatingROCs.exe AddressLevel Content in this folder all executables, source code in PixelAnalysisTools/test/src/common/ -
AddressLevelComparison.exe AddressLevel -
FastHistoFromRaw.exe   -
PixelAliveComparison.exe PixelAlive   -
PixelAlive.exe PixelAlive   -
PixelAnalysis.exe PixelAnalysis   -
PixelIntimeVana.exe   -
PixelModVana.exe   -
PixelTrimAnalysis.exe   -
PixelTrimBits.exe   -
PixelTrim.exe   -
PixelTrimVcThr.exe   -
SCurveComparison.exe SCurve -

Scripts currently available in /nfshome0/pixelpro/scripts/. To be moved/backed-up in SVN repositiory?

Location Name Comments/Action Items Main Author To be added to SVN repository (Y/N)?
/nfshome0/pixelpro/scripts/ analyzeFMM.perl   -  
analyzeFMM.perl_* (6 old, delete?)   -  
ChangeLines.pl   -  
confTimes.C   -  
countHits.sh   -  
countTimeouts.awk   -  
DCStoTrkFECDpTime.awk   -  
analyzeFMM.perl   -  
DCStoTrkFECDpTime.C   -  
dumpErrors.py   -  
evtNumErr.awk   -  
filterAddresslevels.sh   -  
findBUSY.sh   -  
findOOS.sh   -  
findWARN.sh   -  
getPSXconnections.sh   -  
gettimsfpix.sh   -  
makeDcuNtuple.C   -  
NOR.py   -  
piaReset.sh   -  
PixelAliveLoopBPix.C   -  
PixelAliveLoopFPix.C   -  
readFEClog.awk   -  
readFEClog.sh   -  
readPSXlog.awk   -  
readPSXlog.C   -  
readPSXlog_perConnection.C   -  
resyncs.sh   -  
runmon.py   -  
runmon_test.py   -  
runsum_data1.py   -  
runsum_errordetails.py   -  
runsum_play.py   -  
runsum.py   -  
runsum.py_orig   -  
runsum_simple.py   -  
runsum_test.py   -  
runsumxml.py   -  
runsum_xurl.py   -  
setenv_TTSTest.sh   -  
seu_finder_prelim.py   -  
seu_finder.py   -  
stoptime.awk   -  
writeRCMSxml.C   -  
/nfshome0/pixelpro/scripts/analyze_thresholds plotThresholds.cc/.exe/.o - - -
plotThresholds_fpix.cc/.exe/.o - - -
run_thresholds.csh - - -
run_thresholds_fpix.csh - - -
PixelAliveLoopBPix.C - - -
PixelAliveLoopFPix.C - - -
psx_smi_connection_list - - -
psx_smi_connection_list.test - - -
readFEClog.awk - - -
readFEClog.sh - - -
readPSXlog.awk - - -
readPSXlog.C - - -
readPSXlog_perConnection.C - - -
resyncs.sh - - -
runmon.py - - -
runmon_test.py - - -
runsum_data1.py - - -
runsum_errordetails.py - - -
runsum_play.py - - -
runsum.py - - -
runsum.py_orig - - -
runsum_simple.py - - -
runsum_test.py - - -
runsumxml.py - - -
runsum_xurl.py - - -
setenv_TTSTest.sh - - -
seu_finder_prelim.py - - -
seu_finder.py - - -
stoptime.awk - - -
writeRCMSxml.C - - -

Scripts currently available in /pixelscratch/pixelscratch/data0/.

Current content mainly steering .csh files and input xml files. Run executables at pixelpro. Should rather be embedded in PixelAnalysisTools and use absolute paths for input files, and relative paths following the same structure as in PAT. In this way, this can be run locally with an SVN version of POS or from pixelscratch, using the exact same scripts. Also easier to keep content at pixelscratch up to date with SVN.

Location Name Comments/Action Items Main Author To be added to SVN repository (Y/N)?
pixelscratch/pixelscratch/data0/ SCurveAnalysis_WBC156.xml Move to designated steering file/xml folder in PixelAnalysisTools. Executable/xml/input paths should be absolute or relative following the same structure as SVN PixelAnalysisTools - -
SCurveAnalysis_WBC156_pixel.xml Move to designated xml folder in TriDAS/pixel/PixelAnalysisTools/. Executable/xml/input paths should be absolute or relative following the same structure as SVN PixelAnalysisTools - -
SCurveAnalysis_bpix_wbc_pixel.xml Move to designated xml folder in TriDAS/pixel/PixelAnalysisTools/. Executable/xml/input paths should be absolute or relative following the same structure as SVN PixelAnalysisTools - -
SCurveAnalysis_fpix_wbc_pixel.xml Move to designated xml folder in TriDAS/pixel/PixelAnalysisTools/. Executable/xml/input paths should be absolute or relative following the same structure as SVN PixelAnalysisTools - -
openFEDBaselineCalib.C   - -
run_alive.csh Move to designated steering file folder in TriDAS/pixel/PixelAnalysisTools/. Executable/xml/input paths should be absolute or relative following the same structure as SVN PixelAnalysisTools - -
run_alive_bpix.csh Move to designated steering file folder in TriDAS/pixel/PixelAnalysisTools/. Executable/xml/input paths should be absolute or relative following the same structure as SVN PixelAnalysisTools - -
run_alive_fpix.csh Move to designated steering file folder in TriDAS/pixel/PixelAnalysisTools/. Executable/xml/input paths should be absolute or relative following the same structure as SVN PixelAnalysisTools - -
run_gain.csh Move to designated steering file folder in TriDAS/pixel/PixelAnalysisTools/. Executable/xml/input paths should be absolute or relative following the same structure as SVN PixelAnalysisTools - -
run_gain_bpix.csh Move to designated steering file folder in TriDAS/pixel/PixelAnalysisTools/. Executable/xml/input paths should be absolute or relative following the same structure as SVN PixelAnalysisTools - -
run_gain_fpix.csh Move to designated steering file folder in TriDAS/pixel/PixelAnalysisTools/. Executable/xml/input paths should be absolute or relative following the same structure as SVN PixelAnalysisTools - -
run_gain_one.csh Move to designated steering file folder in TriDAS/pixel/PixelAnalysisTools/. Executable/xml/input paths should be absolute or relative following the same structure as SVN PixelAnalysisTools - -
run_gain_pixel.csh Move to designated steering file folder in TriDAS/pixel/PixelAnalysisTools/. Executable/xml/input paths should be absolute or relative following the same structure as SVN PixelAnalysisTools - -
run_scurve.csh Move to designated steering file folder in TriDAS/pixel/PixelAnalysisTools/. Executable/xml/input paths should be absolute or relative following the same structure as SVN PixelAnalysisTools - -
run_scurve_bpix.csh Move to designated steering file folder in TriDAS/pixel/PixelAnalysisTools/. Executable/xml/input paths should be absolute or relative following the same structure as SVN PixelAnalysisTools - -
run_scurve_bpix_wbc.csh Move to designated steering file folder in TriDAS/pixel/PixelAnalysisTools/. Executable/xml/input paths should be absolute or relative following the same structure as SVN PixelAnalysisTools - -
run_scurve_fpix.csh Move to designated steering file folder in TriDAS/pixel/PixelAnalysisTools/. Executable/xml/input paths should be absolute or relative following the same structure as SVN PixelAnalysisTools - -
run_scurve_fpix_wbc.csh Move to designated steering file folder in TriDAS/pixel/PixelAnalysisTools/. Executable/xml/input paths should be absolute or relative following the same structure as SVN PixelAnalysisTools - -
run_scurve_one.csh Move to designated steering file folder in TriDAS/pixel/PixelAnalysisTools/. Executable/xml/input paths should be absolute or relative following the same structure as SVN PixelAnalysisTools - -
run_scurve_wbc.csh Move to designated steering file folder in TriDAS/pixel/PixelAnalysisTools/. Executable/xml/input paths should be absolute or relative following the same structure as SVN PixelAnalysisTools - -

Useful links

-- TheaAarrestad - 2016-09-16

Topic attachments
I Attachment History Action Size Date Who Comment
PDFpdf Martina_Threshold.pdf r1 manage 104.4 K 2016-09-19 - 10:32 TheaAarrestad  
PDFpdf Martina_Vana.pdf r1 manage 68.4 K 2016-09-19 - 10:29 TheaAarrestad  
Edit | Attach | Watch | Print version | History: r6 < r5 < r4 < r3 < r2 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r6 - 2016-09-20 - TheaAarrestad
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Sandbox All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback