Tracking effect
What happens with modules marked bad that come alive from time to time?
Studying the valid/missing/inactive modules in three scenarios
Scenario 1)
We have a new bad component but it is not included in the DB yet
--> in
SiPixelQuality_v34_data we had a new bad half module (
BmO _Sec8_Lyr1_Ldr9F_Mod4 (TBM-B) -- 302059012)
- Run range 275891 (the moduel is bad from this run) - 275914 (hlt tag was accepted and uploaded, in the meantime there was a half module that was bad but the DB did not contain it)
TChain chain("trajTree");
chain.Add("nTuplePilotBlade_All*.root")
chain.Draw("traj.lx:traj.ly","module.rawid==302059012&&traj.type==0&&traj.onEdge==0","COLZ") // validhit
chain.Draw("traj.lx:traj.ly","module.rawid==302059012&&traj.type==1&&traj.onEdge==0","COLZ") // missing
chain.Draw("traj.lx:traj.ly","module.rawid==302059012&&traj.type==2&&traj.onEdge==0","COLZ") // inactive
Scenario 2)
We have a bad component and it is included in the DB already
--> in
SiPixelQuality_v34_data an old half module (BPix_BmO_SEC7_LYR2_LDR13F_MOD3 (ROC0-7) -- 302126344 [this was added in v33])
- Run range 275891-275914 (same range is OK)
TChain chain("trajTree");
chain.Add("nTuplePilotBlade_All*.root")
chain.Draw("traj.lx:traj.ly","module.rawid==302126344&&traj.type==0&&traj.onEdge==0","COLZ") // validhit
chain.Draw("traj.lx:traj.ly","module.rawid==302126344&&traj.type==1&&traj.onEdge==0","COLZ") // missing
chain.Draw("traj.lx:traj.ly","module.rawid==302126344&&traj.type==2&&traj.onEdge==0","COLZ") // inactive
Scenario 3)
A module is marked bad although it is working
--> v35_data (302123800)
- Run range 276460-276870 (after this the mistake was corrected)
TChain chain("trajTree");
chain.Add("nTuplePilotBlade_All*.root")
chain.Draw("traj.lx:traj.ly","module.rawid==302123800&&traj.type==0&&traj.onEdge==0","COLZ") // validhit
chain.Draw("traj.lx:traj.ly","module.rawid==302123800&&traj.type==1&&traj.onEdge==0","COLZ") // missing
chain.Draw("traj.lx:traj.ly","module.rawid==302123800&&traj.type==2&&traj.onEdge==0","COLZ") // inactive
TChain chain("clustTree");
chain.Add("nTuplePilotBlade_All*.root")
chain.Draw("lx:ly>>h1(416,0.,416.,160,0.,160.)","module.rawid==302059012","COLZ") // all clusters
Dateset boarders
Dataset name |
From #Run |
Until #Run |
Comment |
Run2016B -v2 |
273150 |
275376 |
/ZeroBias/Run2016B-v2/RAW |
Run2016B -v2 |
273511 |
274100 |
/ZeroBias1/Run2016B-v2/RAW |
Run2016B -v2 |
273511 |
274100 |
/ZeroBias2/Run2016B-v2/RAW |
Run2016B -v2 |
273511 |
274100 |
/ZeroBias3/Run2016B-v2/RAW |
Run2016B -v2 |
273511 |
274100 |
/ZeroBias4/Run2016B-v2/RAW |
Run2016B -v2 |
273511 |
274100 |
/ZeroBias5/Run2016B-v2/RAW |
Run2016B -v2 |
273511 |
274100 |
/ZeroBias6/Run2016B-v2/RAW |
Run2016B -v2 |
273511 |
274100 |
/ZeroBias7/Run2016B-v2/RAW |
Run2016B -v2 |
273511 |
274100 |
/ZeroBias8/Run2016B-v2/RAW |
Run2016B -v1 |
272023 |
273146 |
/ZeroBias/Run2016B-v1/RAW |
Run2016B -v1 |
271884 |
273138 |
/ZeroBias1/Run2016B-v1/RAW |
Run2016B -v1 |
271884 |
273138 |
/ZeroBias2/Run2016B-v1/RAW |
Run2016B -v1 |
271884 |
273138 |
/ZeroBias3/Run2016B-v1/RAW |
Run2016B -v1 |
271884 |
273138 |
/ZeroBias4/Run2016B-v1/RAW |
Run2016B -v1 |
271884 |
273138 |
/ZeroBias5/Run2016B-v1/RAW |
Run2016B -v1 |
271884 |
273138 |
/ZeroBias6/Run2016B-v1/RAW |
Run2016B -v1 |
271884 |
273138 |
/ZeroBias7/Run2016B-v1/RAW |
Run2016B -v1 |
272007 |
273138 |
/ZeroBias8/Run2016B-v1/RAW |
Run2016B -v1 |
271884 |
273138 |
/ZeroBias9/Run2016B-v1/RAW |
Recipe
CMSSW 80X
Enviroment
cmsrel CMSSW_8_0_2
cd CMSSW_8_0_2/src
cmsenv
git cms-addpkg CondTools/SiPixel
git clone https://github.com/jkarancs/PixelTimingStudy DPGAnalysis/PixelTimingStudy
vim DPGAnalysis/PixelTimingStudy/plugins/TimingStudy.cc
#define COMPLETE 0
#define SPLIT 2
scram b -j
New Quality
cd CondTools/SiPixel/test
wget http://www.grid.kfki.hu/twiki/pub/CMS/SiPixelQuality/0SiPixelBadModuleByHandBuilder_cfg_v29.py.txt 0SiPixelBadModuleByHandBuilder_cfg_v29.py
vim 0SiPixelBadModuleByHandBuilder_cfg_*.py
# edit accordingly
Validation using MC
cd DPGAnalysis/PixelTimingStudy/test/
wget http://www.grid.kfki.hu/twiki/pub/CMS/SiPixelQuality/2TimingStudy_RawData_CMSSW802_cfg.py.txt 2TimingStudy_RawData_CMSSW802_cfg.py
cmsrun 2TimingStudy_RawData_CMSSW802_cfg.py
# make sure this is True: process.siPixelDigis.UseQualityInfo = cms.bool(True)
# creates Ntuple_IOV30_5k.root
cp Ntuple_IOV30_5k.root ../../3Ploting@/MCPlot/.
cd ../../3Ploting@/MCPlot/
# edit ROC_Occupancy.C accordingly
root -l
.L ROC_Occupancy.C+g
.X ROC_Occupancy.C
Occupancy map from Data
cd DPGAnalysis/PixelTimingStudy/test/
wget http://www.grid.kfki.hu/twiki/pub/CMS/SiPixelQuality/3TimingStudy_RawData_CMSSW802_cfg.py.txt 3TimingStudy_RawData_CMSSW802_cfg.py
cmsrun 3TimingStudy_RawData_CMSSW802_cfg.py
#creates Ntuple_IOV30_5k.root
cp Ntuple_IOV30_5k.root ../../3Ploting@/DataPlot/.
cd ../../3Ploting@/DataPlot/
# edit ROC_Occupancy.C accordingly
root -l
.L ROC_Occupancy.C+g
.X ROC_Occupancy.C