Skip to content

Commit e1d68a7

Browse files
authored
Merge pull request #141 from soureek/UL18PreliminaryJECs
BTA recipe for UltraLegacy2018 data and MC with preliminary JECs (V5)
2 parents 69240f9 + 5f3fa83 commit e1d68a7

File tree

8 files changed

+130
-33
lines changed

8 files changed

+130
-33
lines changed

README.md

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,47 +3,49 @@
33
## Software setup
44

55
```
6-
cmsrel CMSSW_10_6_8_patch1
7-
cd CMSSW_10_6_8_patch1/src
6+
cmsrel CMSSW_10_6_12
7+
cd CMSSW_10_6_12/src
88
cmsenv
99
10+
for bash
11+
export CMSSW_GIT_REFERENCE=/cvmfs/cms.cern.ch/cmssw.git.daily
12+
13+
for tcsh
1014
setenv CMSSW_GIT_REFERENCE /cvmfs/cms.cern.ch/cmssw.git.daily
15+
1116
git cms-init
1217
13-
git clone -b 10_6_X_v1.05 --depth 1 https://github.com/cms-btv-pog/RecoBTag-PerformanceMeasurements.git RecoBTag/PerformanceMeasurements
18+
git clone -b 10_6_X_v2.01 --depth 1 https://github.com/cms-btv-pog/RecoBTag-PerformanceMeasurements.git RecoBTag/PerformanceMeasurements
1419
1520
scram b -j8
1621
1722
```
1823

1924
The ntuplizer can be run and configured through ```RecoBTag/PerformanceMeasurements/test/runBTagAnalyzer_cfg.py```.
2025

21-
NOTE1: due to the structure of the preliminary JECs, there are 6 different "defaults" sets;
26+
NOTE1: due to the structure of the preliminary JECs, there are 5 different "defaults" sets;
2227

23-
> **_MC_**: ```defaults=2017_UltraLegacy```<br/>
24-
> **_Run2017B_**: ```defaults=2017_UltraLegacy_DataRunB```<br/>
25-
> **_Run2017C_**: ```defaults=2017_UltraLegacy_DataRunC```<br/>
26-
> **_Run2017D_**: ```defaults=2017_UltraLegacy_DataRunD```<br/>
27-
> **_Run2017E_**: ```defaults=2017_UltraLegacy_DataRunE```<br/>
28-
> **_Run2017F_**: ```defaults=2017_UltraLegacy_DataRunF```
28+
> **_MC_**: ```defaults=2018_UltraLegacy```<br/>
29+
> **_Run2018A_**: ```defaults=2018_UltraLegacy_DataRunA```<br/>
30+
> **_Run2018B_**: ```defaults=2018_UltraLegacy_DataRunB```<br/>
31+
> **_Run2018C_**: ```defaults=2018_UltraLegacy_DataRunC```<br/>
32+
> **_Run2018D_**: ```defaults=2018_UltraLegacy_DataRunD```
2933
3034
This means in your crab configuration file, you will have to check which file you are running on, and pick the correct default set accordingly. As an example, one might do something like:
3135

3236
```
3337
...
34-
config.Data.inputDataset = /BTagMu/Run2017D-09Aug2019_UL2017-v1/MINIAOD
35-
if "Run2017B" in config.Data.inputDataset:
36-
config.JobType.pyCfgParams = [defaults=2017_UltraLegacy_DataRunB ,...]
37-
elif "Run2017C" in config.Data.inputDataset:
38-
config.JobType.pyCfgParams = [defaults=2017_UltraLegacy_DataRunC ,...]
39-
elif "Run2017D" in config.Data.inputDataset:
40-
config.JobType.pyCfgParams = [defaults=2017_UltraLegacy_DataRunD ,...]
41-
elif "Run2017E" in config.Data.inputDataset:
42-
config.JobType.pyCfgParams = [defaults=2017_UltraLegacy_DataRunE ,...]
43-
elif "Run2017F" in config.Data.inputDataset:
44-
config.JobType.pyCfgParams = [defaults=2017_UltraLegacy_DataRunF ,...]
38+
config.Data.inputDataset = /BTagMu/Run2018A-12Nov2019_UL2018-v1/MINIAOD
39+
if "Run2018A" in config.Data.inputDataset:
40+
config.JobType.pyCfgParams = [defaults=2018_UltraLegacy_DataRunA ,...]
41+
elif "Run2018B" in config.Data.inputDataset:
42+
config.JobType.pyCfgParams = [defaults=2018_UltraLegacy_DataRunB ,...]
43+
elif "Run2018C" in config.Data.inputDataset:
44+
config.JobType.pyCfgParams = [defaults=2018_UltraLegacy_DataRunC ,...]
45+
elif "Run2018D" in config.Data.inputDataset:
46+
config.JobType.pyCfgParams = [defaults=2018_UltraLegacy_DataRunD ,...]
4547
else:
46-
config.JobType.pyCfgParams = [defaults=2017_UltraLegacy ,...]
48+
config.JobType.pyCfgParams = [defaults=2018_UltraLegacy ,...]
4749
...
4850
```
4951

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
common = {
2+
'eras' : ['Run2_2018'],
3+
'miniAOD' : True,
4+
'usePrivateJEC': True,
5+
}
6+
7+
mc = {
8+
'inputFiles' : ['/store/mc/RunIISummer19UL18MiniAOD/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/MINIAODSIM/106X_upgrade2018_realistic_v11_L1v1-v2/260000/00C28834-56C0-2343-B436-AA8521756E9E.root'],
9+
'JPCalibration' : 'JPcalib_MC106X_UL2018_v1',
10+
'mcGlobalTag' : '106X_upgrade2018_realistic_v11_L1v1',
11+
'jecDBFileMC': 'Summer19UL18_V5_MC',
12+
}
13+
14+
data = {
15+
'inputFiles' : ['/store/data/Run2018B/BTagMu/MINIAOD/12Nov2019_UL2018-v1/00000/02220C7E-2468-C04F-9796-207FABF509C2.root'],
16+
'JPCalibration' : 'JPcalib_Data106X_UL2018_v1',
17+
'dataGlobalTag' : '106X_dataRun2_v28',
18+
'jecDBFileData': 'Summer19UL18_RunB_V5_DATA',
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
common = {
2+
'eras' : ['Run2_2018'],
3+
'miniAOD' : True,
4+
'usePrivateJEC': True,
5+
}
6+
7+
mc = {
8+
'inputFiles' : ['/store/mc/RunIISummer19UL18MiniAOD/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/MINIAODSIM/106X_upgrade2018_realistic_v11_L1v1-v2/260000/00C28834-56C0-2343-B436-AA8521756E9E.root'],
9+
'JPCalibration' : 'JPcalib_MC106X_UL2018_v1',
10+
'mcGlobalTag' : '106X_upgrade2018_realistic_v11_L1v1',
11+
'jecDBFileMC': 'Summer19UL18_V5_MC',
12+
}
13+
14+
data = {
15+
'inputFiles' : ['/store/data/Run2018A/BTagMu/MINIAOD/12Nov2019_UL2018-v1/00000/035456C6-D99D-FD4B-AFA8-DF0B544C65C9.root'],
16+
'JPCalibration' : 'JPcalib_Data106X_UL2018_v1',
17+
'dataGlobalTag' : '106X_dataRun2_v28',
18+
'jecDBFileData': 'Summer19UL18_RunA_V5_DATA',
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
common = {
2+
'eras' : ['Run2_2018'],
3+
'miniAOD' : True,
4+
'usePrivateJEC': True,
5+
}
6+
7+
mc = {
8+
'inputFiles' : ['/store/mc/RunIISummer19UL18MiniAOD/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/MINIAODSIM/106X_upgrade2018_realistic_v11_L1v1-v2/260000/00C28834-56C0-2343-B436-AA8521756E9E.root'],
9+
'JPCalibration' : 'JPcalib_MC106X_UL2018_v1',
10+
'mcGlobalTag' : '106X_upgrade2018_realistic_v11_L1v1',
11+
'jecDBFileMC': 'Summer19UL18_V5_MC',
12+
}
13+
14+
data = {
15+
'inputFiles' : ['/store/data/Run2018B/BTagMu/MINIAOD/12Nov2019_UL2018-v1/00000/02220C7E-2468-C04F-9796-207FABF509C2.root'],
16+
'JPCalibration' : 'JPcalib_Data106X_UL2018_v1',
17+
'dataGlobalTag' : '106X_dataRun2_v28',
18+
'jecDBFileData': 'Summer19UL18_RunB_V5_DATA',
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
common = {
2+
'eras' : ['Run2_2018'],
3+
'miniAOD' : True,
4+
'usePrivateJEC': True,
5+
}
6+
7+
mc = {
8+
'inputFiles' : ['/store/mc/RunIISummer19UL18MiniAOD/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/MINIAODSIM/106X_upgrade2018_realistic_v11_L1v1-v2/260000/00C28834-56C0-2343-B436-AA8521756E9E.root'],
9+
'JPCalibration' : 'JPcalib_MC106X_UL2018_v1',
10+
'mcGlobalTag' : '106X_upgrade2018_realistic_v11_L1v1',
11+
'jecDBFileMC': 'Summer19UL18_V5_MC',
12+
}
13+
14+
data = {
15+
'inputFiles' : ['/store/data/Run2018C/BTagMu/MINIAOD/12Nov2019_UL2018-v1/110000/0CABAFB6-0250-324B-AF4B-BCCE7DD62007.root'],
16+
'JPCalibration' : 'JPcalib_Data106X_UL2018_v1',
17+
'dataGlobalTag' : '106X_dataRun2_v28',
18+
'jecDBFileData': 'Summer19UL18_RunC_V5_DATA',
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
common = {
2+
'eras' : ['Run2_2018'],
3+
'miniAOD' : True,
4+
'usePrivateJEC': True,
5+
}
6+
7+
mc = {
8+
'inputFiles' : ['/store/mc/RunIISummer19UL18MiniAOD/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/MINIAODSIM/106X_upgrade2018_realistic_v11_L1v1-v2/260000/00C28834-56C0-2343-B436-AA8521756E9E.root'],
9+
'JPCalibration' : 'JPcalib_MC106X_UL2018_v1',
10+
'mcGlobalTag' : '106X_upgrade2018_realistic_v11_L1v1',
11+
'jecDBFileMC': 'Summer19UL18_V5_MC',
12+
}
13+
14+
data = {
15+
'inputFiles' : ['/store/data/Run2018D/BTagMu/MINIAOD/12Nov2019_UL2018-v1/00000/02214801-C65E-4D4E-A041-F61B93E7BB47.root'],
16+
'JPCalibration' : 'JPcalib_Data106X_UL2018_v1',
17+
'dataGlobalTag' : '106X_dataRun2_v28',
18+
'jecDBFileData': 'Summer19UL18_RunD_V5_DATA',
19+
}

test/runBTagAnalyzer_cfg.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,12 @@
5050
VarParsing.varType.bool,
5151
"Use Puppi candidates for b tagging"
5252
)
53-
options.register('mcGlobalTag', 'FIXME',
53+
options.register('mcGlobalTag', '106X_mc2018_realistic_v11_L1v1',
5454
VarParsing.multiplicity.singleton,
5555
VarParsing.varType.string,
5656
"MC global tag, no default value provided"
5757
)
58-
options.register('dataGlobalTag', 'FIXME',
58+
options.register('dataGlobalTag', '106X_dataRun2_v28',
5959
VarParsing.multiplicity.singleton,
6060
VarParsing.varType.string,
6161
"Data global tag, no default value provided"
@@ -886,7 +886,7 @@
886886
#process.es_prefer_BTauMVAJetTagComputerRecord = cms.ESPrefer("PoolDBESSource","BTauMVAJetTagComputerRecord")
887887

888888
if options.usePrivateJEC and options.runFatJets:
889-
print "\n No private UL2017 JECs available yet for FatJets! Using whatever is in the GT."
889+
print "\n No private UL2018 JECs available yet for FatJets! Using whatever is in the GT."
890890

891891
if options.usePrivateJEC and not options.runFatJets:
892892

test/run_tests.sh

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,31 @@ set -o errexit
44
function die { echo 'FAILED': status $1 ; }
55

66
echo 'Running on data'
7-
cmsRun runBTagAnalyzer_cfg.py defaults=2017_UltraLegacy runOnData=True maxEvents=20 groups='test' &> last.log || die $?
7+
cmsRun runBTagAnalyzer_cfg.py defaults=2018_UltraLegacy runOnData=True maxEvents=20 groups='test' &> last.log || die $?
88

99
echo 'Running on MC'
10-
cmsRun runBTagAnalyzer_cfg.py defaults=2017_UltraLegacy runOnData=False maxEvents=20 groups='test' &> last.log || die $?
10+
cmsRun runBTagAnalyzer_cfg.py defaults=2018_UltraLegacy runOnData=False maxEvents=20 groups='test' &> last.log || die $?
1111

1212
# echo 'Rinning on AODSIM'
1313
# cmsRun runBTagAnalyzer_cfg.py defaults=2017_UltraLegacy runOnData=False maxEvents=20 miniAOD=False inputFiles=/store/mc/RunIIAutumn18DRPremix/QCD_Pt_80to120_TuneCP5_13TeV_pythia8/AODSIM/102X_upgrade2018_realistic_v15-v1/1010000/FA97679F-774B-7F43-9258-D8A0AE3A7A01.root useSelectedTracks=False produceJetTrackTree=True runCTagVariables=False groups='test' &> last.log || die $?
1414

1515
echo 'Running on data -- FatJets'
16-
cmsRun runBTagAnalyzer_cfg.py defaults=2017_UltraLegacy runOnData=True maxEvents=20 runFatJets=True groups='testfat' &> last.log || die $?
16+
cmsRun runBTagAnalyzer_cfg.py defaults=2018_UltraLegacy runOnData=True maxEvents=20 runFatJets=True groups='testfat' &> last.log || die $?
1717

1818
echo 'Running on MC -- FatJets'
19-
cmsRun runBTagAnalyzer_cfg.py defaults=2017_UltraLegacy runOnData=False maxEvents=20 runFatJets=True groups='testfat' &> last.log || die $?
19+
cmsRun runBTagAnalyzer_cfg.py defaults=2018_UltraLegacy runOnData=False maxEvents=20 runFatJets=True groups='testfat' &> last.log || die $?
2020

2121
echo 'Running on data -- commissioning'
22-
cmsRun runBTagAnalyzer_cfg.py defaults=2017_UltraLegacy useSelectedTracks=False produceJetTrackTree=True runOnData=True maxEvents=20 groups='test'&> last.log || die $?
22+
cmsRun runBTagAnalyzer_cfg.py defaults=2018_UltraLegacy useSelectedTracks=False produceJetTrackTree=True runOnData=True maxEvents=20 groups='test'&> last.log || die $?
2323

2424
echo 'Running on MC -- commissioning'
25-
cmsRun runBTagAnalyzer_cfg.py defaults=2017_UltraLegacy useSelectedTracks=False produceJetTrackTree=True runOnData=False maxEvents=20 groups='test' &> last.log || die $?
25+
cmsRun runBTagAnalyzer_cfg.py defaults=2018_UltraLegacy useSelectedTracks=False produceJetTrackTree=True runOnData=False maxEvents=20 groups='test' &> last.log || die $?
2626

2727
echo 'Running on data -- ctag'
28-
cmsRun runBTagAnalyzer_cfg.py defaults=2017_UltraLegacy runOnData=True maxEvents=20 runCTagVariables=True runFatJets=True runSubJets=True groups='testfat' &> last.log || die $?
28+
cmsRun runBTagAnalyzer_cfg.py defaults=2018_UltraLegacy runOnData=True maxEvents=20 runCTagVariables=True runFatJets=True runSubJets=True groups='testfat' &> last.log || die $?
2929

3030
echo 'Running on MC -- ctag'
31-
cmsRun runBTagAnalyzer_cfg.py defaults=2017_UltraLegacy runOnData=False maxEvents=20 runCTagVariables=True runFatJets=True runSubJets=True groups='testfat' &> last.log || die $?
31+
cmsRun runBTagAnalyzer_cfg.py defaults=2018_UltraLegacy runOnData=False maxEvents=20 runCTagVariables=True runFatJets=True runSubJets=True groups='testfat' &> last.log || die $?
3232

3333
# echo 'RECODEBUG'
3434
# cmsRun runBTagAnalyzer_cfg.py defaults=2017_UltraLegacy runOnData=False maxEvents=20 miniAOD=False runFatJets=True runSubJets=True useTrackHistory=True produceJetTrackTree=True inputFiles=/store/mc/RunIIFall17DRPremix/QCD_Pt_15to30_TuneCP5_13TeV_pythia8/GEN-SIM-RECODEBUG/94X_mc2017_realistic_v10-v1/70000/04F991F0-C2DD-E711-B302-0CC47A78A3F8.root groups='testfat' &> last.log || die $?

0 commit comments

Comments
 (0)