Skip to content

Commit

Permalink
Adding DDX on top of of old DeepDoubleB
Browse files Browse the repository at this point in the history
Conflicts:
	PhysicsTools/PatAlgos/python/slimming/applyDeepBtagging_cff.py
  • Loading branch information
anovak10 committed Dec 7, 2018
1 parent 4c9bf4c commit 6027596
Show file tree
Hide file tree
Showing 11 changed files with 55 additions and 20 deletions.
7 changes: 5 additions & 2 deletions PhysicsTools/PatAlgos/python/recoLayer0/bTagging_cff.py
Expand Up @@ -43,6 +43,7 @@
, 'pfNegativeDeepFlavourTagInfos'
# DeepDoubleB/C tag infos
, 'pfDeepDoubleXTagInfos'
, 'pfDeepDoubleXTagInfosNopt'
# DeepBoostedJet tag infos
, 'pfDeepBoostedJetTagInfos'
]
Expand Down Expand Up @@ -189,8 +190,10 @@
, 'pfNegativeDeepFlavourJetTags:probc' : [["pfNegativeDeepFlavourTagInfos"], ['pfDeepCSVNegativeTagInfos', "pfImpactParameterTagInfos", 'pfInclusiveSecondaryVertexFinderNegativeTagInfos']]
, 'pfNegativeDeepFlavourJetTags:probuds' : [["pfNegativeDeepFlavourTagInfos"], ['pfDeepCSVNegativeTagInfos', "pfImpactParameterTagInfos", 'pfInclusiveSecondaryVertexFinderNegativeTagInfos']]
, 'pfNegativeDeepFlavourJetTags:probg' : [["pfNegativeDeepFlavourTagInfos"], ['pfDeepCSVNegativeTagInfos', "pfImpactParameterTagInfos", 'pfInclusiveSecondaryVertexFinderNegativeTagInfos']]
, 'pfDeepDoubleBJetTags:probQ' : [["pfDeepDoubleXTagInfos"], ['pfBoostedDoubleSVAK8TagInfos', "pfImpactParameterAK8TagInfos", 'pfInclusiveSecondaryVertexFinderAK8TagInfos']]
, 'pfDeepDoubleBJetTags:probH' : [["pfDeepDoubleXTagInfos"], ['pfBoostedDoubleSVAK8TagInfos', "pfImpactParameterAK8TagInfos", 'pfInclusiveSecondaryVertexFinderAK8TagInfos']]
, 'pfDeepDoubleBJetTags:probQ' : [["pfDeepDoubleXTagInfosNopt"], ['pfBoostedDoubleSVAK8TagInfos', "pfImpactParameterAK8TagInfos", 'pfInclusiveSecondaryVertexFinderAK8TagInfos']]
, 'pfDeepDoubleBJetTags:probH' : [["pfDeepDoubleXTagInfosNopt"], ['pfBoostedDoubleSVAK8TagInfos', "pfImpactParameterAK8TagInfos", 'pfInclusiveSecondaryVertexFinderAK8TagInfos']]
, 'pfDeepDoubleBvLJetTags:probQCD' : [["pfDeepDoubleXTagInfos"], ['pfBoostedDoubleSVAK8TagInfos', "pfImpactParameterAK8TagInfos", 'pfInclusiveSecondaryVertexFinderAK8TagInfos']]
, 'pfDeepDoubleBvLJetTags:probHbb' : [["pfDeepDoubleXTagInfos"], ['pfBoostedDoubleSVAK8TagInfos', "pfImpactParameterAK8TagInfos", 'pfInclusiveSecondaryVertexFinderAK8TagInfos']]
, 'pfDeepDoubleCvLJetTags:probQCD' : [["pfDeepDoubleXTagInfos"], ['pfBoostedDoubleSVAK8TagInfos', "pfImpactParameterAK8TagInfos", 'pfInclusiveSecondaryVertexFinderAK8TagInfos']]
, 'pfDeepDoubleCvLJetTags:probHcc' : [["pfDeepDoubleXTagInfos"], ['pfBoostedDoubleSVAK8TagInfos', "pfImpactParameterAK8TagInfos", 'pfInclusiveSecondaryVertexFinderAK8TagInfos']]
, 'pfDeepDoubleCvBJetTags:probHbb' : [["pfDeepDoubleXTagInfos"], ['pfBoostedDoubleSVAK8TagInfos', "pfImpactParameterAK8TagInfos", 'pfInclusiveSecondaryVertexFinderAK8TagInfos']]
Expand Down
Expand Up @@ -64,6 +64,8 @@ def applyDeepBtagging( process, postfix="" ) :
btagDiscriminators = [
'pfDeepDoubleBJetTags:probQ',
'pfDeepDoubleBJetTags:probH',
'pfDeepDoubleBvLJetTags:probQCD',
'pfDeepDoubleBvLJetTags:probHbb',
'pfDeepDoubleCvLJetTags:probQCD',
'pfDeepDoubleCvLJetTags:probHcc',
'pfDeepDoubleCvBJetTags:probHbb',
Expand All @@ -77,7 +79,7 @@ def applyDeepBtagging( process, postfix="" ) :
] + pfDeepBoostedJetTagsAll,
postfix = 'SlimmedAK8DeepTags' + postfix,
printWarning = False
)
)

# slimmedJetsAK8 with DeepTags (remove DeepTags-less)
delattr(process, 'slimmedJetsAK8')
Expand Down
10 changes: 10 additions & 0 deletions PhysicsTools/PatAlgos/python/tools/jetTools.py
Expand Up @@ -630,6 +630,16 @@ def setupBTagging(process, jetSource, pfCandidates, explicitJTA, pvSource, svSou
),
process, task)

if btagInfo == 'pfDeepDoubleXTagInfosNopt':
addToProcessAndTask(btagPrefix+btagInfo+labelName+postfix,
btag.pfDeepDoubleXTagInfosNopt.clone(
jets = jetSource,
vertices=pvSource,
secondary_vertices=svSource,
shallow_tag_infos = cms.InputTag(btagPrefix+'pfBoostedDoubleSVAK8TagInfos'+labelName+postfix),
),
process, task)

if btagInfo == 'pfDeepBoostedJetTagInfos':
if pfCandidates.value() == 'packedPFCandidates':
# case 1: running over jets whose daughters are PackedCandidates (only via updateJetCollection for now)
Expand Down
7 changes: 7 additions & 0 deletions RecoBTag/FeatureTools/python/pfDeepDoubleXTagInfosNopt_cfi.py
@@ -0,0 +1,7 @@
import FWCore.ParameterSet.Config as cms

from pfDeepDoubleXTagInfos_cfi import pfDeepDoubleXTagInfos

pfDeepDoubleXTagInfosNopt = pfDeepDoubleXTagInfos.clone(
min_jet_pt = cms.double(0)
)
20 changes: 14 additions & 6 deletions RecoBTag/TensorFlow/plugins/DeepDoubleXTFJetTagsProducer.cc
Expand Up @@ -142,11 +142,13 @@ void DeepDoubleXTFJetTagsProducer::fillDescriptions(edm::ConfigurationDescriptio
desc.add<unsigned int>("nThreads", 1);
desc.add<std::string>("singleThreadPool", "no_threads");

edm::ParameterSetDescription psB;
psB.add<std::vector<unsigned int>>("probQ", {0});
psB.add<std::vector<unsigned int>>("probH", {1});

edm::ParameterSetDescription psBvL;
psBvL.add<std::vector<unsigned int>>("probQ", {0});
psBvL.add<std::vector<unsigned int>>("probH", {1});
psBvL.addOptional<std::vector<unsigned int>>("probQCD", {0});
psBvL.addOptional<std::vector<unsigned int>>("probHbb", {1});
psBvL.add<std::vector<unsigned int>>("probQCD", {0});
psBvL.add<std::vector<unsigned int>>("probHbb", {1});

edm::ParameterSetDescription psCvL;
psCvL.add<std::vector<unsigned int>>("probQCD", {0});
Expand All @@ -161,16 +163,22 @@ void DeepDoubleXTFJetTagsProducer::fillDescriptions(edm::ConfigurationDescriptio
using PDPSD = edm::ParameterDescription<edm::ParameterSetDescription>;
using PDCases = edm::ParameterDescriptionCases<std::string>;
auto flavorCases = [&](){ return
"BvL" >> (PDPSD("flav_table", psBvL, true) and
"B" >> (PDPSD("flav_table", psB, true) and
PDFIP("graph_path", FIP("RecoBTag/Combined/data/DeepDoubleB/V01/constant_graph_PtCut_MassSculptPen.pb"), true)) or
"BvL" >> (PDPSD("flav_table", psBvL, true) and
PDFIP("graph_path", FIP("RecoBTag/Combined/data/DeepDoubleX/94X/V01/DDB.pb"), true)) or
"CvL" >> (PDPSD("flav_table", psCvL, true) and
PDFIP("graph_path", FIP("RecoBTag/Combined/data/DeepDoubleX/94X/V01/DDC.pb"), true) ) or
"CvB" >> (PDPSD("flav_table", psCvB, true) and
PDFIP("graph_path", FIP("RecoBTag/Combined/data/DeepDoubleX/94X/V01/DDCvB.pb"), true));
};
auto descB(desc);
descB.ifValue( edm::ParameterDescription<std::string>("flavor", "B", true), flavorCases());
descriptions.add("pfDeepDoubleBJetTags", descB);

auto descBvL(desc);
descBvL.ifValue( edm::ParameterDescription<std::string>("flavor", "BvL", true), flavorCases());
descriptions.add("pfDeepDoubleBJetTags", descBvL);
descriptions.add("pfDeepDoubleBvLJetTags", descBvL);

auto descCvL(desc);
descCvL.ifValue( edm::ParameterDescription<std::string>("flavor", "CvL", true), flavorCases());
Expand Down
5 changes: 5 additions & 0 deletions RecoBTag/TensorFlow/python/pfDeepDoubleBJetTags_cfi.py
@@ -0,0 +1,5 @@
import FWCore.ParameterSet.Config as cms

pfDeepDoubleBJetTags = cms.EDProducer('DeepDoubleXTFJetTagsProducer',
src = cms.InputTag('pfDeepDoubleXTagInfosNopt')
)
1 change: 1 addition & 0 deletions RecoBTag/TensorFlow/python/pfDeepDoubleX_cff.py
@@ -1,4 +1,5 @@
from RecoBTag.TensorFlow.pfDeepDoubleBJetTags_cfi import pfDeepDoubleBJetTags
from RecoBTag.TensorFlow.pfDeepDoubleBvLJetTags_cfi import pfDeepDoubleBvLJetTags
from RecoBTag.TensorFlow.pfDeepDoubleCvBJetTags_cfi import pfDeepDoubleCvBJetTags
from RecoBTag.TensorFlow.pfDeepDoubleCvLJetTags_cfi import pfDeepDoubleCvLJetTags

Expand Down
1 change: 1 addition & 0 deletions RecoBTag/TensorFlow/python/pfDeepFlavour_cff.py
Expand Up @@ -3,6 +3,7 @@
from RecoBTag.FeatureTools.pfDeepFlavourTagInfos_cfi import pfDeepFlavourTagInfos
from RecoBTag.FeatureTools.pfNegativeDeepFlavourTagInfos_cfi import pfNegativeDeepFlavourTagInfos
from RecoBTag.FeatureTools.pfDeepDoubleXTagInfos_cfi import pfDeepDoubleXTagInfos
from RecoBTag.FeatureTools.pfDeepDoubleXTagInfosNopt_cfi import pfDeepDoubleXTagInfosNopt

from RecoBTag.TensorFlow.pfDeepFlavourJetTags_cfi import pfDeepFlavourJetTags
from RecoBTag.TensorFlow.pfNegativeDeepFlavourJetTags_cfi import pfNegativeDeepFlavourJetTags
Expand Down
@@ -1,15 +1,10 @@
import FWCore.ParameterSet.Config as cms
from pfDeepDoubleBJetTags_cfi import pfDeepDoubleBJetTags
from pfDeepDoubleBvLJetTags_cfi import pfDeepDoubleBvLJetTags
from pfDeepDoubleCvLJetTags_cfi import pfDeepDoubleCvLJetTags
from pfDeepDoubleCvBJetTags_cfi import pfDeepDoubleCvBJetTags

pfMassIndependentDeepDoubleBvLJetTags = pfDeepDoubleBJetTags.clone(
graph_path = 'RecoBTag/Combined/data/DeepDoubleX/94X/V01/DDB_mass_independent.pb',
flav_table = cms.PSet(
probQCD = cms.vuint32(0),
probHbb = cms.vuint32(1)
)
)
pfMassIndependentDeepDoubleBvLJetTags = pfDeepDoubleBvLJetTags.clone(
graph_path = 'RecoBTag/Combined/data/DeepDoubleX/94X/V01/DDB_mass_independent.pb')
pfMassIndependentDeepDoubleCvLJetTags = pfDeepDoubleCvLJetTags.clone(
graph_path = 'RecoBTag/Combined/data/DeepDoubleX/94X/V01/DDC_mass_independent.pb')
pfMassIndependentDeepDoubleCvBJetTags = pfDeepDoubleCvBJetTags.clone(
Expand Down
7 changes: 4 additions & 3 deletions RecoBTag/TensorFlow/test/plotDDX.py
Expand Up @@ -17,11 +17,12 @@
event.getByLabel (labelJ, handleJ)
jets = handleJ.product()
for jet in jets :
#if jet.pt() < 300 or jet.pt() > 2000: continue
#if jet.mass() < 40 or jet.mass() > 200: continue
if jet.pt() < 300 or jet.pt() > 2000: continue
if jet.mass() < 40 or jet.mass() > 200: continue

print(jet.pt(), jet.mass())
print("DDB", jet.bDiscriminator("pfDeepDoubleBJetTags:probQ"), jet.bDiscriminator("pfDeepDoubleBJetTags:probH"))
print("DDBold", jet.bDiscriminator("pfDeepDoubleBJetTags:probQ"), jet.bDiscriminator("pfDeepDoubleBJetTags:probH"))
print("DDB", jet.bDiscriminator("pfDeepDoubleBvLJetTags:probQCD"), jet.bDiscriminator("pfDeepDoubleBvLJetTags:probHbb"))
print("DDB", jet.bDiscriminator("pfMassIndependentDeepDoubleBvLJetTags:probQCD"), jet.bDiscriminator("pfMassIndependentDeepDoubleBvLJetTags:probHbb"))
print("DDCvL", jet.bDiscriminator("pfDeepDoubleCvLJetTags:probQCD"), jet.bDiscriminator("pfDeepDoubleCvLJetTags:probHcc"))
print("DDCvL", jet.bDiscriminator("pfMassIndependentDeepDoubleCvLJetTags:probQCD"), jet.bDiscriminator("pfMassIndependentDeepDoubleCvLJetTags:probHcc"))
Expand Down
2 changes: 2 additions & 0 deletions RecoBTag/TensorFlow/test/test_deep_doublex_cfg.py
Expand Up @@ -54,6 +54,8 @@
'pfBoostedDoubleSecondaryVertexAK8BJetTags',
'pfDeepDoubleBJetTags:probQ',
'pfDeepDoubleBJetTags:probH',
'pfDeepDoubleBvLJetTags:probQCD',
'pfDeepDoubleBvLJetTags:probHbb',
'pfDeepDoubleCvLJetTags:probQCD',
'pfDeepDoubleCvLJetTags:probHcc',
'pfDeepDoubleCvBJetTags:probHbb',
Expand Down

0 comments on commit 6027596

Please sign in to comment.