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.


  • 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_pre1src
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

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.

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.

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")


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


Plans for the analysis

-- AdamHunyadi - 2017-12-04

Edit | Attach | Watch | Print version | History: r11 | r9 < r8 < r7 < r6 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r7 - 2017-12-14 - 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