Difference: CMSDriverGuide (8 vs. 9)

Revision 92016-02-05 - JanosKarancsi

Line: 1 to 1
 
META TOPICPARENT name="CmsSusy"

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

FastSim
--fast
--step GEN,FASTSIM
--datatier RECOSIM or AODSIM
--eventcontent RECOSIM or AODSIM

FullSim

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:

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

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

<--/twistyPlugin twikiMakeVisibleInline-->

  • Add a refitter, eg:
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)

<--/twistyPlugin-->

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

<--/twistyPlugin twikiMakeVisibleInline-->

  • Add a refitter, eg:
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)

<--/twistyPlugin-->

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

<--/twistyPlugin twikiMakeVisibleInline-->

  • 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
)
  • Add a refitter, eg:
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)

<--/twistyPlugin-->

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:

Changed:
<
<
cmsDriver.py -s GEN,SIM,DIGI,DIGI2RAW,RAW2DIGI,RECO --mc --conditions auto:run2_mc --beamspot NominalCollision2015 --magField 38T_PostLS1 --evt_type SingleNuE10 _cfi --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 --customise SLHCUpgradeSimulations /Configuration/postLS1Customs.customisePostLS1,Configuration/DataProcessing/Utils.addMonitoring --python_filename=test/TimingStudy_GenNu_DynIneffDB_cfg.py -n 10 --no_exec
>
>
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
 

<--/twistyPlugin twikiMakeVisibleInline-->

#--------------- Added for TimingStudy ---------------

#---------------------------
#  MessageLogger
#---------------------------

Changed:
<
<
process.MessageLogger.cerr.FwkReport.reportEvery = 100
>
>
process.MessageLogger.cerr.FwkReport.reportEvery = 1
  #--------------------------- # Pile-up (RunIISummer15GS ) #---------------------------
Added:
>
>
runOnGrid = False

if runOnGrid:

 from PoolSource _13TeV_RunIISummer15GS import * process.mix.input.fileNames = pileupFileNames
Added:
>
>
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 #---------------------------
Changed:
<
<
useSqlite = True
>
>
useSqlite = False
  if useSqlite:
Added:
>
>
from CondDBSetup _cfi import *
  process.DynIneffDBSource = cms.ESSource("PoolDBESSource",
Changed:
<
<
DBParameters = cms.PSet( messageLevel = cms.untracked.int32(0), authenticationPath = cms.untracked.string('') ), connect = cms.string('sqlite_file:dcol80.db'),
>
>
CondDBSetup , connect = cms.string('sqlite_file:siPixelDynamicInefficiency.db'),
  toGet = cms.VPSet(cms.PSet(
Changed:
<
<
record = cms.string("SiPixelDynamicInefficiencyRcd"), tag = cms.string("SiPixelDynamicInefficiency_v1")
>
>
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"),

Changed:
<
<
mcLumiScale = cms.double(0.37935) # 2016 prediction
>
>
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)

Added:
>
>
process.schedule.remove(process.genfiltersummary_step)
 process.schedule.append(process.TimingStudy_step)

<--/twistyPlugin-->

-- JanosKarancsi - 2015-02-26

 
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