Split Cluster Study



  • The pileup mixing seems to throw away all the digis that are coming from the mixed pileup. This makes it difficult to add the digi markers.
  • The digi collection does not exactly contain the same pixels as the cluster collection. Mostly the digis is a bigger set (with all the cluster pixels available in it), but for now on I create a lookup table and add zero markers for any extra cluster digis that might turn up. The rate of "mocked digis" is a good number to pay attention to when running the simulations even on the grid.

TODOs (problem fixes, find plans at the end of this page)

  • Add modifications to the pileup mixing modules so that it propagates the digi flag collection from the mixed data and it can be combined to a correct flag collection
  • Modify the histogram merger code not to merge the "ModuleClusterPlots" even if they are from the same run/lumiblock/event

Recipe to run the framework

Deploy script

export SCRAM_ARCH=slc6_amd64_gcc530
cmsrel CMSSW_9_3_0_pre1
cd CMSSW_9_3_0_pre1/src
git cms init
git cms-addpkg SimTracker/SiPixelDigitizer
git cms-addpkg RecoLocalTracker/SiPixelClusterizer
git remote add hunyadix git@github.com:hunyadix/cmssw.git
git fetch hunyadix
git checkout -t hunyadix/ModForPixelMerger
git clone git@github.com:hunyadix/PhaseISplitClusterAnalyzer.git DPGAnalysis/PhaseISplitClusterAnalyzer
scram b -j 20

Generating a CMSSW config file

cmsDriver.py \
--evt_type SingleNuE10_cfi \
--process PrivateRECO \
--conditions auto:phase1_2017_realistic \
--era Run2_2017 \
--geometry DB:Extended \
--pileup Flat_0_50_25ns \
--relval 9000,50 \
--beamspot Realistic25ns13TeVEarly2017Collision \
--filein /store/relval/CMSSW_9_0_0_pre4/RelValMinBias_13/GEN-SIM/90X_upgrade2017_realistic_v6-v1/10000/0047A0C1-BDEC-E611-8FD9-0CC47A4D7630.root \
--pileup_input das:/RelValMinBias_13/CMSSW_9_2_3-92X_upgrade2017_realistic_v1_earlyBS2017-v1/GEN-SIM \
--eventcontent RECOSIM \
--datatier GEN-SIM-RECO \
--fileout file:GenNu_FlatPileup0to50_GENSIMRECO.root \
--python_filename PhaseI_GenNu_FlatPileup0to50_cfg.py \
--runUnscheduled \
-n 10 \

For no PU, I usually generate TTbar events.

How to add dynamic inefficiency

The tag is set when the db file is generated.

# Add dynamic inefficiency to simulate dcol losses
dynIneff_db     = 'sqlite_file:phase1_efficiencies_95_pure.db'
dynIneff_tag    = 'SiPixelDynamicInefficiency_v1'

process.DynIneffReader = cms.ESSource("PoolDBESSource",
    DBParameters = cms.PSet(
        messageLevel = cms.untracked.int32(0),
        authenticationPath = cms.untracked.string('')),
    toGet = cms.VPSet(cms.PSet(
        record = cms.string("SiPixelDynamicInefficiencyRcd"),
        tag = cms.string(dynIneff_tag))),
    connect = cms.string(dynIneff_db))
process.dynineffprefer = cms.ESPrefer("PoolDBESSource", "DynIneffReader")

Calculating the pileup for data files


brilcalc lumi --byls -u /nb --minBiasXsec 78100 --begin 5659 --end 9999 | head -n-8 | tail -n+5 | sed "s;|;;g;s;:; ;g"):

This bash-script can be called from the SplitClusterStudy analyzer (currently commented out), but opening a socket to store the string as a result still regularly fails (and also takes up too much time when testing).

Running the HistogramMerger

Running the HistogramMerger is as simple as checking out the git repository and specifying the target files and the output name in src/main.cxx.


  • The pixel markers are seemingly present for all the cluster pixels when the pileup is 0 (1). The function checkDetIdToMarkerPtrMap() is currently run for each of the events and it prints out how many of the clusters have a corresponding marker.
  • In the analyzer testPairFinding() tests the private areClustersPair() for pair finding efficiency. Seems like the pair finding works just fine if the cluster objects have properly set x, y and size fields.


TTbar events, no pileup, 95% dcol efficiency statistics files:


For users on the ui3 of the Wigner institute:



Examples for module cluster plots of single events are shown below. Nothing unordinary to be seen.

Low eta module, 50 events merged High eta module, 50 events merged

Fluctuations in the leftmost and the rightmost pixels

Positions for the boundary clusters in pixels:

All boundary pixels Leftmost pixels Rightmost pixels
Since the dcol loss has the opposite effect on the rightmost and leftmost pixels, the total boundary pixel distribution does not show any fluctuation effect. For 95% dcol efficiency the leftmost cell shows ~8.5-10.5% less pixels in the odd columns For 95% dcol efficiency the rightmost cell shows ~8.5-10.5% less pixels in the even columns

Plans for the analysis

  • Write a tool to properly calculate the percentage differences in the even and odd cols (excluding the fidicual areas)
  • Measure the correspondence of the fluctuation in the leftmost and rightmost pixel position to the dcol efficiency correspondence by creating an efficiency scan with the SplitClusterStudy plugin
  • Measure distributions for the left- and rightmost pixels in the data and give estimation for dcol efficiency loss.

-- AdamHunyadi - 2017-12-04

Topic attachments
I Attachment History Action Size Date Who Comment
Pngpng CLUSTER_BOUNDARY_PIX_COLS_BPIX.png r1 manage 12.5 K 2017-12-15 - 13:43 AdamHunyadi Boundary cols. BPIX example
Pngpng CLUSTER_LEFTMOST_PIX_COLS_BPIX.png r1 manage 12.7 K 2017-12-15 - 13:49 AdamHunyadi Leftmost pixels, BPIX example
Pngpng CLUSTER_RIGHTMOST_PIX_COLS_BPIX.png r1 manage 12.3 K 2017-12-15 - 13:50 AdamHunyadi Rightmost pixels, BPIX example
Pngpng High_eta_example.png r1 manage 30.7 K 2017-12-15 - 14:42 AdamHunyadi High eta module cluster plot example
Pngpng Low_eta_example.png r1 manage 31.6 K 2017-12-15 - 14:42 AdamHunyadi Low eta module cluster plot example
Edit | Attach | Watch | Print version | History: r11 < r10 < r9 < r8 < r7 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r11 - 2017-12-19 - AdamHunyadi
This site is powered by the TWiki collaboration platform Powered by Perl This site is powered by the TWiki collaboration platformCopyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback