I. General info/Usage:
I/1. cmsDriver.py guides/twikis:
SWGuideCmsDriver
SWGuideFastSimulationExamples
SWGuideGlobalHLT
I/2. Options overview
Common
--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
Data
--data
For Run I add:
--conditions auto:run1_data
For Run II add:
--conditions auto:run2_data
For Cosmics add:
--scenario cosmics
--customise Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2
1) RAW --> FEVT/RECO/AOD
--step RAW2DIGI,RECO
--datatier RECO
--eventcontent RECO
2) FEVT/RECO/AOD --> MINIAOD
--step PAT
--eventcontent MINIAOD
--runUnscheduled
--conditions PHYS14_25_V2
MC
--mc
For Run I add:
--conditions auto:run1_mc
For Run II add:
--conditions auto:run2_mc
--magField 38T_PostLS1
--beamspot NominalCollision2015
--customise SLHCUpgradeSimulations/Configuration/postLS1Customs.customisePostLS1,Configuration/DataProcessing/Utils.addMonitoring
--fast
--step GEN,FASTSIM
--datatier RECOSIM or AODSIM
--eventcontent RECOSIM or AODSIM
1) GEN-SIM
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
2) GEN-SIM --> GEN-SIM-RAW
--step DIGI,L1,DIGI2RAW,HLT
--datatier GEN-SIM-RAW
--eventcontent RAWSIM
--pileup NoPileUp or Flat_0_50_25ns or AVE_20_BX_25ns
3) GEN-SIM-RAW --> RECOSIM/AODSIM
--step RAW2DIGI,L1Reco,RECO
--datatier RECOSIM AODSIM
--eventcontent RECOSIM or AODSIM
4) RECOSIM/AODSIM --> MINIAODSIM
--step PAT
--eventcontent MINIAODSIM
--runUnscheduled
--conditions PHYS14_25_V1
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:
- 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
- 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
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
II. Examples:
II/1. Generate MinBias GEN-SIM MC
cmsDriver.py MinBias_13TeV_cfi.py -s GEN,SIM --mc --conditions auto:run2_mc --beamspot NominalCollision2015 --magField 38T_PostLS1 -n 10
II/2. Generate MinBias GEN-SIM MC + HLT Step
- L1 and HLT should agree - L1 menu is specified in he
GlobalTag
cmsDriver ... -s GEN,...,HLT:7E33v4 --conditions auto:startup_7E33v4
- Working recpe:
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
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
process.load("RecoTracker.TrackProducer.TrackRefitters_cff")
process.Refitter = process.TrackRefitterP5.clone()
process.Refitter.src = 'ctfWithMaterialTracksP5'
process.Refitter.TrajectoryInEvent = True
- Add TimingStudy module: process.TimingStudy = cms.EdAnalyzer("TimingStudy", ...
- Overwrite schedule:
process.TimingStudy_step = cms.Path(process.Refitter*process.TimingStudy)
process.schedule = cms.Schedule(process.raw2digi_step, process.reconstruction_step, process.TimingStudy_step)
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
process.load("RecoTracker.TrackProducer.TrackRefitters_cff")
process.Refitter = process.TrackRefitterP5.clone()
process.Refitter.src = 'ctfWithMaterialTracksP5'
process.Refitter.TrajectoryInEvent = True
- Add TimingStudy module: process.TimingStudy = cms.EdAnalyzer("TimingStudy", ...
- Overwrite schedule:
process.TimingStudy_step = cms.Path(process.Refitter*process.TimingStudy)
process.schedule = cms.Schedule(process.raw2digi_step, process.reconstruction_step, process.TimingStudy_step)
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:
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
- Overwrite Mixing Module process with 0-50 flat pileup
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
)
process.load("RecoTracker.TrackProducer.TrackRefitters_cff")
process.Refitter = process.TrackRefitterP5.clone()
process.Refitter.src = 'generalTracks'
process.Refitter.TrajectoryInEvent = True
- Add TimingStudy module: process.TimingStudy = cms.EdAnalyzer("TimingStudy", ...
- overwrite schedule:
process.schedule = cms.Schedule(process.digitisation_step, process.digi2raw_step, process.raw2digi_step, process.reconstruction_step, process.TimingStudy_step)
--
JanosKarancsi - 2015-02-26