From T3_KR_KNU
Revision as of 05:47, 16 October 2015 by Hanbi (Talk | contribs) (Created page with "== CRAB (CMS Remote Analysis Builder) Tutorial == === 참고 문서 === * [https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideCrab CRAB online manual and tutorial] * [http...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

1 CRAB (CMS Remote Analysis Builder) Tutorial

1.1 참고 문서

1.2 CRAB 실행 예제

 [ 주의 : bash 기준으로 작성되었습니다. 아래 예제의 스크립트 중 자신의 shell에 맞는 스크립트를 사용하시면 됩니다. (ex: csh 사용자는 source /cvmfs/cms.cern.ch/cmsset_default.csh 을 활용) ]
$ set SCRAM_ARCH=slc6_amd64_gcc481   ### 아키텍쳐를 설정합니다.
$ source /cvmfs/cms.cern.ch/cmsset_default.sh   ### CMS S/W 기본 설정을 로드합니다.
  • cmssw가 설치되지 않았다면
$ cd ~/   ### 자신의 홈디렉토리로 이동합니다.
$ mkdir work  ### 자신이 원하는 작업디렉토리를 생성합니다.
$ scramv1 list CMSSW   ### 자신이 사용하고 싶은 CMSSW를 검색합니다.
$ scramv1 project CMSSW CMSSW_7_2_1   ### 검색 결과 중 한 가지의 버전을 선택/설정합니다. (자동으로 해당 버전의 CMSSW 작업 폴더가 생성됩니다.)
$ cd CMSSW_7_2_1/src   ### 생성한 작업 폴더로 이동합니다.
$ vi crab3config.py   ### crab 설정 파일을 생성합니다. (아래의 crab3config.py 예제 참조)
$ vi myConfig.py   ### 실행할 작업 명시 파일을 생성합니다 (아래의 myConfig.py 예제 참조)
$ source /cvmfs/cms.cern.ch/crab3/crab.sh   ### crab 사용을 설정합니다.
$ crab submit -c crab3config.py   ### 실제 작업을 생성합니다.
$ crab status   ### 작업 진행 상황을 수시로 모니터링 합니다. (CMS 데시보드에서는 보다 다양한 형태로 자신의 작업 상황을 조회할 수 있습니다. http://dashboard.cern.ch/cms/)
  • cmssw가 이미 설치 되어있다면
# 환경 설정
$ cd CMSSW_7_2_1/src
$ source /cvmfs/cms.cern.ch/cmsset_default.sh   
$ cmsenv
$ source /cvmfs/cms.cern.ch/crab3/crab.sh
# 작업 내용 정리
$ vi crab3config.py
$ vi myConfig.py
  • crab job submit
$ crab submit -c crab3config.py
* 작업 상태 확인
$ crab status
  • 예제 : crab3config.py
  from WMCore.Configuration import Configuration
  config = Configuration()
  config.section_('General')
  config.General.transferOutputs = True
  config.section_('JobType')
  config.JobType.psetName = 'myConfig.py'
  config.JobType.pluginName = 'Analysis'
  config.JobType.outputFiles = ['outfileName.root']
  config.section_('Data')
  config.Data.inputDataset = '/WplusToENu_CT10_13TeV-powheg-pythia8/Spring14miniaod-PU20bx25_POSTLS170_V5-v1/MINIAODSIM'
  config.Data.unitsPerJob = 500
  config.Data.splitting = 'LumiBased'
  #config.Data.splitting = 'FileBased'
  config.Data.publication = False
  config.section_('User')
  config.section_('Site')
  config.Site.whitelist = ['T2_KR_KNU']
  config.Site.storageSite = 'T2_KR_KNU'
  • 예제 : myConfig.py
  import FWCore.ParameterSet.Config as cms
  process = cms.Process('Slurp')
  process.source = cms.Source("PoolSource", fileNames = cms.untracked.vstring())
  process.maxEvents = cms.untracked.PSet( input       = cms.untracked.int32(10) )
  process.options   = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) )
  process.output = cms.OutputModule("PoolOutputModule",
   outputCommands = cms.untracked.vstring("drop *", "keep recoTracks_*_*_*"),
   fileName = cms.untracked.string('outfileName.root'),
  )
  process.out_step = cms.EndPath(process.output)

1.3 crab2 사용자를 위한 안내

  • crab2 와 crab3의 차이점

https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookCRAB3Tutorial#Differences_between_CRAB2_and_CR

  • crab2 설정을 crab3로 변환하려면 다음 툴을 사용하세요.
crab2cfgTOcrab3py [crab2confgiName.cfg] [crab3configName.py]