Split Cluster Study
Links
Issues
- 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
- 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
cmsenv
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 \
-s GEN,SIM,DIGI,L1,DIGI2RAW,RAW2DIGI,RECO \
--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 \
--no_exec
For no PU, I usually generate TTbar events.
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")
Results
TTbar events, no pileup, 95% dcol efficiency statistics files:
/store/user/ahunyadi/SCS/Run2_CMSSW93X/SCS_93X_mcRun2_DynIneff_95_GEN_SIM_RAWTODIGI_evt100000
Plans for the analysis
--
AdamHunyadi - 2017-12-04