Skip to content

chrissellgren/SiPixelTools-PhaseIPixelNtuplizer

 
 

Repository files navigation

PhaseIPixelNtuplizer

"PixelTimingStudy" for the Phase I pixel detector

🔹 Base recipe:

CMSSW_10_6_X

export SCRAM_ARCH=slc7_amd64_gcc700
cmsrel CMSSW_10_6_30
cd CMSSW_10_6_30/src
cmsenv
# git cms-init #optional, use this, if you want to check out CMSSW packages later
git clone https://github.com/CMSTrackerDPG/SiPixelTools-PhaseIPixelNtuplizer SiPixelTools/PhaseIPixelNtuplizer
cd SiPixelTools/PhaseIPixelNtuplizer
scram b -j 8 USER_CXXFLAGS="-DCMSSW_VERSION=106"

CMSSW_11_0_X

export SCRAM_ARCH=slc7_amd64_gcc820
cmsrel CMSSW_11_0_4
cd CMSSW_11_0_4/src
cmsenv
# git cms-init #optional, use this, if you want to check out CMSSW packages later
git clone https://github.com/CMSTrackerDPG/SiPixelTools-PhaseIPixelNtuplizer SiPixelTools/PhaseIPixelNtuplizer
cd SiPixelTools/PhaseIPixelNtuplizer
scram b -j 8 USER_CXXFLAGS="-DCMSSW_VERSION=110"

CMSSW_11_3_X

export SCRAM_ARCH=slc7_amd64_gcc900
cmsrel CMSSW_11_3_4
cd CMSSW_11_3_4/src
cmsenv
# git cms-init #optional, use this, if you want to check out CMSSW packages later
git clone https://github.com/CMSTrackerDPG/SiPixelTools-PhaseIPixelNtuplizer SiPixelTools/PhaseIPixelNtuplizer
cd SiPixelTools/PhaseIPixelNtuplizer
scram b -j 8 USER_CXXFLAGS="-DCMSSW_VERSION=113"

CMSSW_12_0_X

export SCRAM_ARCH=slc7_amd64_gcc900
cmsrel CMSSW_12_0_4
cd CMSSW_12_0_4/src
cmsenv
# git cms-init #optional, use this, if you want to check out CMSSW packages later
git clone https://github.com/CMSTrackerDPG/SiPixelTools-PhaseIPixelNtuplizer SiPixelTools/PhaseIPixelNtuplizer
cd SiPixelTools/PhaseIPixelNtuplizer
scram b -j 8 USER_CXXFLAGS="-DCMSSW_VERSION=120"

CMSSW_12_1_X

export SCRAM_ARCH=slc7_amd64_gcc900
cmsrel CMSSW_12_1_1
cd CMSSW_12_1_1/src
cmsenv
# git cms-init #optional, use this, if you want to check out CMSSW packages later
git clone https://github.com/CMSTrackerDPG/SiPixelTools-PhaseIPixelNtuplizer SiPixelTools/PhaseIPixelNtuplizer
cd SiPixelTools/PhaseIPixelNtuplizer
scram b -j 8 USER_CXXFLAGS="-DCMSSW_VERSION=121"

CMSSW_12_3_X

export SCRAM_ARCH=slc7_amd64_gcc10
cmsrel CMSSW_12_3_4_patch3
cd CMSSW_12_3_4_patch3/src
cmsenv
# git cms-init #optional, use this, if you want to check out CMSSW packages later
git clone https://github.com/CMSTrackerDPG/SiPixelTools-PhaseIPixelNtuplizer SiPixelTools/PhaseIPixelNtuplizer
cd SiPixelTools/PhaseIPixelNtuplizer
scram b -j 8 USER_CXXFLAGS="-DCMSSW_VERSION=123"

🔹 Running on ALCARECO

Runs on RECO also, but ALCARECO is the new default since 2021 summer

cmsRun test/run_PhaseIPixelNtuplizer_Data_2018_106X_cfg.py globalTag=106X_dataRun2_v27 dataTier=ALCARECO inputFileName=/store/data/Run2018D/SingleMuon/ALCARECO/SiPixelCalSingleMuon-ForPixelALCARECO_UL2018-v1/20000/1E924619-4911-B64A-A37D-F75909DFCF46.root outputFileName=test_100.root maxEvents=100

🔹 Some older recipes

TTbar RECO, no pileup:

cmsDriver.py TTbar_13TeV_TuneCUETP8M1_cfi \
--python_filename PhaseI_TTbar_13TeV_NoPu_RECO_cfg.py \
--fileout file:PhaseI_TTbar_13TeV_NoPu_RECO.root \
--process PrivateRECO \
--conditions auto:phase1_2017_realistic \
--era Run2_2017 \
--geometry DB:Extended \
--eventcontent RECOSIM \
-s GEN,SIM,DIGI,L1,DIGI2RAW,RAW2DIGI,L1Reco,RECO \
--datatier GEN-SIM-RECO \
--runUnscheduled \
-n 10 \
--no_exec

MinBias RECO, pileup + added DynIneff:

cmsDriver.py \
--evt_type SingleNuE10_cfi \
--python_filename PhaseI_GenNu_13TeV_FlatPileup0to50_RECO_cfg.py \
--fileout file:PhaseI_GenNu_13TeV_FlatPileup0to50_RECO.root \
--process PrivateRECO \
-s GEN,SIM,DIGI,L1,DIGI2RAW,RAW2DIGI,RECO \
--conditions auto:phase1_2017_realistic \
--era Run2_2017 \
--geometry DB:Extended \
--eventcontent RECOSIM \
--pileup Flat_0_50_25ns \
--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 dbs:/RelValMinBias_13/CMSSW_9_0_0_pre4-90X_upgrade2017_realistic_v6-v1/GEN-SIM \
--datatier GEN-SIM-RECO \
--runUnscheduled \
-n 10 \
--no_exec

🔹 cmsRun cfg. additions

# Additional output definition
process.RECOSIMoutput.outputCommands += cms.untracked.vstring("keep PixelDigiedmDetSetVector_simSiPixelDigis__PrivateRECO")        # replace PrivateRECO with your process name
process.RECOSIMoutput.outputCommands += cms.untracked.vstring("keep PSimHits_g4SimHits_TrackerHitsPixelBarrelHighTof_PrivateRECO") # replace PrivateRECO with your process name
process.RECOSIMoutput.outputCommands += cms.untracked.vstring("keep PSimHits_g4SimHits_TrackerHitsPixelBarrelLowTof_PrivateRECO")  # replace PrivateRECO with your process name
process.RECOSIMoutput.outputCommands += cms.untracked.vstring("keep PSimHits_g4SimHits_TrackerHitsPixelEndcapHighTof_PrivateRECO") # replace PrivateRECO with your process name
process.RECOSIMoutput.outputCommands += cms.untracked.vstring("keep PSimHits_g4SimHits_TrackerHitsPixelEndcapLowTof_PrivateRECO")  # replace PrivateRECO with your process name
# Pileup
from SiPixelTools.PhaseIPixelNtuplizer.PoolSource_13TeV_upgrade2017_realistic_v21_v1_81X_GS import pileupFileNames
process.mix.input.fileNames = pileupFileNames
process.mix.input.nbPileupEvents.probFunctionVariable = cms.vint32([
    0, 1, 2, 3, 4, 
    5, 6, 7, 8, 9, 
    10, 11, 12, 13, 14, 
    15, 16, 17, 18, 19, 
    20, 21, 22, 23, 24, 
    25, 26, 27, 28, 29, 
    30, 31, 32, 33, 34, 
    35, 36, 37, 38, 39, 
    40, 41, 42, 43, 44, 
    45, 46, 47, 48, 49, 
    50])
process.mix.input.nbPileupEvents.probValue = cms.vdouble([
    0.0, 0.02, 0.02, 0.02, 0.02, 
    0.02, 0.02, 0.02, 0.02, 0.02, 
    0.02, 0.02, 0.02, 0.02, 0.02, 
    0.02, 0.02, 0.02, 0.02, 0.02, 
    0.02, 0.02, 0.02, 0.02, 0.02, 
    0.02, 0.02, 0.02, 0.02, 0.02, 
    0.02, 0.02, 0.02, 0.02, 0.02, 
    0.02, 0.02, 0.02, 0.02, 0.02, 
    0.02, 0.02, 0.02, 0.02, 0.02, 
    0.02, 0.02, 0.02, 0.02, 0.02, 
    0.02])
process.mix.input.type = cms.string('probFunction')
# Efficiency
from CondCore.DBCommon.CondDBSetup_cfi import *
process.DynIneffDBSource = cms.ESSource("PoolDBESSource",
    CondDBSetup,
    connect = cms.string('sqlite_file:phase1_efficiencies_85.db'), # replace with the db you want to use
    toGet = cms.VPSet(cms.PSet(
        record = cms.string('SiPixelDynamicInefficiencyRcd'),
        tag = cms.string('SiPixelDynamicInefficiency_v1')
        # tag = cms.string(globaltag)
    ))
)
process.es_prefer_DynIneffDBSource = cms.ESPrefer("PoolDBESSource","DynIneffDBSource")

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 65.3%
  • C++ 31.1%
  • TeX 1.4%
  • Shell 1.4%
  • Other 0.8%