-
Notifications
You must be signed in to change notification settings - Fork 44
CatProduction in Korean.
Geonmo Ryu edited this page Dec 1, 2016
·
1 revision
기본 순서는 다음과 같습니다.
- google doc에 dummy 샘플 리스트 생성
- 가장 마지막 prod에 사용된 탭을 복사 해 쓰면 편리합니다.
- 완료 이전에 일반 유저가 사용하는 것을 방지하기 위해 셀 전체 색을 빨간색으로 바꿔 두고 시작합시다.
- catGetDatasetInfo 스크립트 수정해서 새로운 탭의 gid 추가
- 페이지를 열었을 때 주소창 마지막 부분에 gid=12345678 식으로 되어 있을 때 숫자를 가져와서 catGetDatasetInfo 스크립트 상단의 dict에 추가해 주면 됩니다. catGetDatasetInfo#L16
- 수정된 catGetDatasetInfo 스크립트를 실행해 dataset json파일 가져오기
- crabSubmit 스크립트로 잡 생성 및 submit
- 제대로 완료 될 때까지 crab status로 체크하고 실패하는 경우 resubmit
- 경우에 따라서는 1주일 이상 걸립니다.
- Real data는 100%완료해야 함
- MC는 일부 실패해도 괜찮지만 될 수 있는 한 많이 처리되도록 한다
- Real data에서는 crab report 명령어로 processedLumis json파일 생성
- processedLumis json파일은 silver JSON기준으로 만들어지므로 golden JSON과 교집합이 되는 json파일을 생성합니다. joinLumiJsonByAnd 스크립트를 이용하면 됩니다.
joinLumiJsonByAnd $CMSSW_BASE/src/CATTools/CatProducer/data/LumiMask/ Cert_13TeV_16Dec2015ReReco_Collisions15_25ns_JSON.txt
- /xrootd/store/group/CAT 아래 각각 디렉토리에 processed lumi json파일 포함 도움이 될 만한 파일들 복사하기
- google doc에 성공한 데이터들의 LFN입력 (/store/group/CAT으로 시작. 마지막 /0000/catTuple_*.root는 빼고 입력)
- 다시 catGetDatasetInfo를 실행해 업데이트 된 테이블을 가져오고 파일 리스트 생성
- process된 이벤트 수 계산
for i in dataset_*.txt; do cat $i | grep -v '^#' | xargs -P20 -n1 edmFileUtil | grep events | awk '{x+=$6}END{print "'$i' " x}'; done
- 모든 파일을 열어 정보를 읽어 합치기 때문에 매우 오래 걸립니다.
- 깨진 파일이 있으면 기록 해 놓고 해당 dataset_*.txt 파일을 수정해 해당 파일을 주석 처리 해 둡니다.
- 각 dataset의 event수를 입력하고 해당 셀의 색깔을 reset합니다.
- 데이터셋의 luminosity계산하기
brilcalc lumi --normtag /afs/cern.ch/user/l/lumipro/public/normtag_file/OfflineNormtagV2.json -i processedLumis.json -b stable -u /pb
- PdmV 홈페이지나 lumi group의 hypernews를 찾아가서 가장 최신 버젼의 normtag를 사용해야 합니다. (잘못 사용하면 luminosity값의 차이가 많이 발생함)
- 간이로는 input json파일을 넣어서 계산할 수 있으나 실제 process 된 데이터의 정확한 lumi를 데이터셋 별로 계산하려면 processedlumis파일이 필요함
- real data의 luminosity 열에 값을 입력하고 해당 셀의 색깔을 reset합니다.
TTLL analyzer를 모든 샘플에 대해 실행해 validation합니다.
cd $CMSSW_BASE/src/CATTools/CatAnalysis/test/TTLL
./pass1.1_eventSel.py
cd pass1
./submit_sig_central.sh; ./submit_bkg_central.sh; ./submit_dat_central.sh
condor잡이 다 끝나면 다음을 실행합니다.
pass1.2_cleanup.py
pass2.1_selectSamples.py
pass2.2_scaleMerge.py
pass2.3_DYEstimation.py
pass2.4_preview.py
production이 완료되어 gDoc 입력까지 완료되었으면 이를 git에 올립니다.
- 기존 production에서 일부를 수정하는 경우
$CMSSW_BASE/src/CATTools/CatAnalyzer/data/dataset
git checkout v76X
git pull
catGetDatasetInfo
## gDoc에서 production note를 보고 제거할 파일이 있으면 파일 리스트를 직접 열어 주석처리한다.
git commit -m 'updated sample information' -a
git push
git tag v763_p1
git push --tags
- 새로운 production sample을 추가하는 경우
$CMSSW_BASE/src/CATTools/CatAnalyzer/data/dataset
## Move previous contents in head branch to legacy, previous prod can be modified in some cases
git reset --hard
git fetch
git checkout v76X-legacy
git merge v76X
git commit -m 'merged latest prod' -a
git push origin v76X-legacy
## Update the master
git checkout v76X
catGetDatasetInfo
## gDoc에서 production note를 보고 제거할 파일이 있으면 파일 리스트를 직접 열어 주석처리한다.
git commit -m 'new production' -a
git push
git tag v764
git push --tags