TWiki
>
CMS Web
>
NewPhysics
>
CmsSusy
>
CMSDriverGuide
(2016-02-05,
JanosKarancsi
)
(raw view)
E
dit
A
ttach
%TOC% ---+++ I. General info/Usage: ---++++ I/1. cmsDriver.py guides/twikis: [[https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideCmsDriver][SWGuideCmsDriver]] [[https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideFastSimulationExamples][SWGuideFastSimulationExamples]] [[https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideGlobalHLT][SWGuideGlobalHLT]] ---++++ I/2. Options overview ---+++++ Common <pre> --process NAME --filein file:input.root --fileout file:output.root --python_filename test/TimingStudy_InputData_CMSSWX_cfg.py --dasquery=file dataset=/*/*/* run= --no_exec -n 10 </pre> ---+++++ Data --data For Run I add: <pre> --conditions auto:run1_data </pre> For Run II add: <pre> --conditions auto:run2_data </pre> For Cosmics add: <pre> --scenario cosmics --customise Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2 </pre> 1) RAW --> FEVT/RECO/AOD <pre> --step RAW2DIGI,RECO --datatier RECO --eventcontent RECO </pre> 2) FEVT/RECO/AOD --> MINIAOD <pre> --step PAT --eventcontent MINIAOD --runUnscheduled --conditions PHYS14_25_V2 </pre> ---+++++ MC <pre> --mc </pre> For Run I add: <pre> --conditions auto:run1_mc </pre> For Run II add: <pre> --conditions auto:run2_mc --magField 38T_PostLS1 --beamspot NominalCollision2015 --customise SLHCUpgradeSimulations/Configuration/postLS1Customs.customisePostLS1,Configuration/DataProcessing/Utils.addMonitoring </pre> ---++++++ FastSim <pre> --fast --step GEN,FASTSIM --datatier RECOSIM or AODSIM --eventcontent RECOSIM or AODSIM </pre> ---++++++ FullSim 1) GEN-SIM <pre> cmsDriver.py MinBias_13TeV_cfi.py or Configuration/GenProduction/python/FSQ-RunIIWinter15GS-00004-fragment.py --step GEN,SIM --datatier GEN-SIM --eventcontent FEVTDEBUG or RAWSIM </pre> 2) GEN-SIM --> GEN-SIM-RAW <pre> --step DIGI,L1,DIGI2RAW,HLT --datatier GEN-SIM-RAW --eventcontent RAWSIM --pileup NoPileUp or Flat_0_50_25ns or AVE_20_BX_25ns </pre> 3) GEN-SIM-RAW --> RECOSIM/AODSIM <pre> --step RAW2DIGI,L1Reco,RECO --datatier RECOSIM AODSIM --eventcontent RECOSIM or AODSIM </pre> 4) RECOSIM/AODSIM --> MINIAODSIM <pre> --step PAT --eventcontent MINIAODSIM --runUnscheduled --conditions PHYS14_25_V1 </pre> ---++++ I/3. Advice on steps - The best is to use a recent working config file before you want to make your first script using the cmsDriver - Steps to do this: ---+++++ 1) Go to das: https://cmsweb.cern.ch/das/ - find a dataset of your choice, eg: https://cmsweb.cern.ch/das/request?view=list&limit=100&instance=prod%2Fglobal&input=dataset%3D%2FMinBias*%2F*%2FGEN-SIM+|+sort+dataset.creation_time ---+++++ 2) Go to mcm: https://cms-pdmv.cern.ch/mcm/ - Go click on "Request" on the top of the page - In the "Output dataset" field: type your chosen dataset - In the "Actions column" click on "Get test command" ---+++++ 3) Find cmsDriver.py line, run it, modify script accordint to your likes, also use the CMSSW version there preferably <pre>eg: cmsDriver.py Configuration/GenProduction/python/FSQ-RunIIWinter15GS-00004-fragment.py --fileout file:FSQ-RunIIWinter15GS-00004.root --mc --eventcontent RAWSIM --customise SLHCUpgradeSimulations/Configuration/postLS1Customs.customisePostLS1,Configuration/DataProcessing/Utils.addMonitoring --datatier GEN-SIM --conditions MCRUN2_71_V1::All --beamspot NominalCollision2015 --step GEN,SIM --magField 38T_PostLS1 --python_filename FSQ-RunIIWinter15GS-00004_1_cfg.py --no_exec -n 183 </pre> ---+++ II. Examples: ---++++ II/1. Generate MinBias GEN-SIM MC <pre>cmsDriver.py MinBias_13TeV_cfi.py -s GEN,SIM --mc --conditions auto:run2_mc --beamspot NominalCollision2015 --magField 38T_PostLS1 -n 10</pre> ---++++ II/2. Generate MinBias GEN-SIM MC + HLT Step - L1 and HLT should agree - L1 menu is specified in he GlobalTag <pre>cmsDriver ... -s GEN,...,HLT:7E33v4 --conditions auto:startup_7E33v4</pre> - Working recpe: <pre>cmsDriver.py MinBias_13TeV_cfi.py -s GEN,SIM,DIGI,L1,DIGI2RAW,HLT --mc --conditions auto:run2_mc --pileup=NoPileUp --beamspot NominalCollision2015 --magField 38T_PostLS1 --customise SLHCUpgradeSimulations/Configuration/postLS1Customs.customisePostLS1 -n 10</pre> ---++++ II/3. ReReco Cosmics RAW data (53X) - Add Refitter and TimingStudy * Make a config file with cmsDriver.py: cmsDriver.py step1 --conditions GR_R_53_V21A::All -s RAW2DIGI,RECO --scenario cosmics --process RawToDigiToReco --data --dasquery=file dataset=/Cosmics/Commissioning12-26Mar2013-v1/RECO run=186160 --eventcontent RECO --fileout file:Cosmics.root --no_exec --python_filename=test/TimingStudy_Cosmics_RawData_CMSSW53X_cfg.py %TWISTY{mode="div" showimgleft="%ICONURLPATH{toggleopen-small}%" hideimgleft="%ICONURLPATH{toggleclose-small}%" }% * Add a refitter, eg: <pre> process.load("RecoTracker.TrackProducer.TrackRefitters_cff") process.Refitter = process.TrackRefitterP5.clone() process.Refitter.src = 'ctfWithMaterialTracksP5' process.Refitter.TrajectoryInEvent = True </pre> * Add TimingStudy module: process.TimingStudy = cms.EdAnalyzer("TimingStudy", ... * Overwrite schedule: <pre> process.TimingStudy_step = cms.Path(process.Refitter*process.TimingStudy) process.schedule = cms.Schedule(process.raw2digi_step, process.reconstruction_step, process.TimingStudy_step) </pre> %ENDTWISTY% ---++++ II/4. ReReco Cosmics RAW data (73X) - Add Refitter and TimingStudy * Make a config file with cmsDriver.py: cmsDriver.py step1 -s RAW2DIGI,RECO --scenario cosmics --conditions GR_P_V49 --process RawToDigiToReco --data --eventcontent RECO --customise Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2 --dasquery='file dataset=/Cosmics/Commissioning2015-v1/RAW run=233238' -n 100 --python_filename=test/TimingStudy_Cosmics_RawData_CMSSW73X_cfg.py --no_exec %TWISTY{mode="div" showimgleft="%ICONURLPATH{toggleopen-small}%" hideimgleft="%ICONURLPATH{toggleclose-small}%" }% * Add a refitter, eg: <pre> process.load("RecoTracker.TrackProducer.TrackRefitters_cff") process.Refitter = process.TrackRefitterP5.clone() process.Refitter.src = 'ctfWithMaterialTracksP5' process.Refitter.TrajectoryInEvent = True </pre> * Add TimingStudy module: process.TimingStudy = cms.EdAnalyzer("TimingStudy", ... * Overwrite schedule: <pre> process.TimingStudy_step = cms.Path(process.Refitter*process.TimingStudy) process.schedule = cms.Schedule(process.raw2digi_step, process.reconstruction_step, process.TimingStudy_step) </pre> %ENDTWISTY% ---++++ II/5. Do full reco on GEN-SIM MC - Add Flat Pileup [0,50] Mixing, Refitter and TimingStudy * Make a config file with cmsDriver.py: <pre> cmsDriver.py -s DIGI,DIGI2RAW,RAW2DIGI,RECO --mc --conditions auto:run2_mc --pileup=NoPileUp --beamspot NominalCollision2015 --magField 38T_PostLS1 --customise SLHCUpgradeSimulations/Configuration/postLS1Customs.customisePostLS1 --process GenSimToReco --filein=file:/data/store/user/hazia/minbias_13tev/ahazi/MinBias_13TeV_GEN_SIM_7_1_0/MinBias_13TeV_GEN_SIM_7_1_0/9cb32faabd78efe327c9c841fa706583/MinBias_13TeV_GENSIM_100_1_bOe.root -n 200 --no_exec --python_filename=test/TimingStudy_GenSimData_CMSSW7X_cfg.py </pre> %TWISTY{mode="div" showimgleft="%ICONURLPATH{toggleopen-small}%" hideimgleft="%ICONURLPATH{toggleclose-small}%" }% * Overwrite Mixing Module process with 0-50 flat pileup <pre> from DPGAnalysis.PixelTimingStudy.PoolSource_13Tev_Andras import * PileupInput = FileNames PileupHistoInput = cms.untracked.string('file:PileupHistogram_201278_flatpileupMC.root') # Flat Pileup PileupHistoName=cms.untracked.string('mc_input') process.mix.input = cms.SecSource("PoolSource", type = cms.string('histo'), nbPileupEvents = cms.PSet( fileName = PileupHistoInput, histoName = PileupHistoName, ), sequential = cms.untracked.bool(False), manage_OOT = cms.untracked.bool(True), OOT_type = cms.untracked.string('Poisson'), fileNames = PileupInput ) </pre> * Add a refitter, eg: <pre> process.load("RecoTracker.TrackProducer.TrackRefitters_cff") process.Refitter = process.TrackRefitterP5.clone() process.Refitter.src = 'generalTracks' process.Refitter.TrajectoryInEvent = True </pre> * Add TimingStudy module: process.TimingStudy = cms.EdAnalyzer("TimingStudy", ... * overwrite schedule: <pre> process.schedule = cms.Schedule(process.digitisation_step, process.digi2raw_step, process.raw2digi_step, process.reconstruction_step, process.TimingStudy_step) </pre> %ENDTWISTY% ---++++ II/6. Generate Neutrino, Mix Pile-up events (Flat [0-50]), read DynIneff from DB, do Full RECO + run TimingStudy * Make a config file with cmsDriver.py: <pre> cmsDriver.py -s GEN,SIM,DIGI,L1,DIGI2RAW,RAW2DIGI,RECO --mc --evt_type SingleNuE10_cfi --era Run2_25ns \ --conditions auto:run2_mc --beamspot NominalCollision2015 --magField 38T_PostLS1 --pileup=Flat_0_50_25ns \ --filein=/store/mc/RunIISummer15GS/MinBias_TuneCUETP8M1_13TeV-pythia8/GEN-SIM/MCRUN2_71_V1-v2/10000/004CC894-4877-E511-A11E-0025905C3DF8.root \ --pileup_input=/store/mc/RunIISummer15GS/MinBias_TuneCUETP8M1_13TeV-pythia8/GEN-SIM/MCRUN2_71_V1-v2/10002/082C3FE4-7479-E511-BCC5-0025904C8254.root \ --fileout file:GENSIMRECO.root --python_filename=test/TimingStudy_GenNu_DynIneffDB_cfg.py -n 10 --no_exec </pre> %TWISTY{mode="div" showimgleft="%ICONURLPATH{toggleopen-small}%" hideimgleft="%ICONURLPATH{toggleclose-small}%" }% <pre> #--------------- Added for TimingStudy --------------- #--------------------------- # MessageLogger #--------------------------- process.MessageLogger.cerr.FwkReport.reportEvery = 1 #--------------------------- # Pile-up (RunIISummer15GS) #--------------------------- runOnGrid = False if runOnGrid: from DPGAnalysis.PixelTimingStudy.PoolSource_13TeV_RunIISummer15GS import * process.mix.input.fileNames = pileupFileNames else: process.mix.input.fileNames = cms.untracked.vstring( 'file:/data/store/mc/RunIISummer15GS_/MinBias_TuneCUETP8M1_13TeV-pythia8/GEN-SIM/MCRUN2_71_V1-v2/10002/082C3FE4-7479-E511-BCC5-0025904C8254.root', ) #--------------------------- # DynIneff from DB #--------------------------- useSqlite = False if useSqlite: from CondCore.DBCommon.CondDBSetup_cfi import * process.DynIneffDBSource = cms.ESSource("PoolDBESSource", CondDBSetup, connect = cms.string('sqlite_file:siPixelDynamicInefficiency.db'), toGet = cms.VPSet(cms.PSet( record = cms.string('SiPixelDynamicInefficiencyRcd'), tag = cms.string('SiPixelDynamicInefficiency_v1') )) ) process.es_prefer_DynIneffDBSource = cms.ESPrefer("PoolDBESSource","DynIneffDBSource") #--------------------------- # Track Refitter #--------------------------- process.load("RecoTracker.TrackProducer.TrackRefitters_cff") process.TrackRefitterP5.src = 'generalTracks' process.TrackRefitterP5.TrajectoryInEvent = True #--------------------------- # TimingStudy #--------------------------- process.TimingStudy = cms.EDAnalyzer("TimingStudy", trajectoryInput = cms.string('TrackRefitterP5'), fileName = cms.string("Ntuple.root"), extrapolateFrom = cms.int32(2), extrapolateTo = cms.int32(1), keepOriginalMissingHit = cms.bool(False), usePixelCPE= cms.bool(True), minNStripHits = cms.int32(0), triggerNames=cms.vstring( "HLT_ZeroBias", "HLT_Physics", "HLT_Random", "HLT_PixelTracks_Multiplicity100", "HLT_PixelTracks_Multiplicity80", "HLT_PixelTracks_Multiplicity125", "HLT_PixelTracks_Multiplicity110", "HLT_PixelTracks_Multiplicity85", "HLT_PixelTracks_Multiplicity70", "HLT_PixelTracks_Multiplicity40", "HLT_L1Tech_BSC_HighMultiplicity", "HLT_JetE30_NoBPTX", "HLT_JetE30_NoBPTX_NoHalo", "HLT_JetE30_NoBPTX3BX_NoHalo", "HLT_JetE50_NoBPTX3BX_NoHalo", "HLT_60Jet10", "HLT_70Jet10", "HLT_70Jet13", "HLT_L1Tech_BSC_minBias", "HLT_MinBias"), #dataPileupFile = cms.string("PileupHistogram_201278_flatpileupMC.root"), #mcPileupFile = cms.string("PileupHistogram_201278_flatpileupMC.root"), #dataPileupHistoName = cms.string("pileup"), #mcPileupHistoName = cms.string("mcpileup"), mcLumiScale = cms.double(0.37935), # 2012 (1368b): 0.222, 2015 (2232b): 0.3136, 2016 (2700b) pred: 0.37935 instlumiTextFile = cms.untracked.string("run_ls_instlumi_pileup_2015.txt"), ) #--------------------------- # Path/Schedule #--------------------------- process.TimingStudy_step = cms.Path(process.TrackRefitterP5*process.TimingStudy) process.schedule.remove(process.RECOSIMoutput_step) process.schedule.remove(process.endjob_step) process.schedule.remove(process.genfiltersummary_step) process.schedule.append(process.TimingStudy_step) </pre> </div> %ENDTWISTY% -- Main.JanosKarancsi - 2015-02-26
E
dit
|
A
ttach
|
Watch
|
P
rint version
|
H
istory
: r9
<
r8
<
r7
<
r6
<
r5
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r9 - 2016-02-05
-
JanosKarancsi
CMS
Hungarian Academy of Sciences (MTA)
Wigner RCP
Department of High Energy Physics
CMS (CERN)
Copyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback