Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deep flavour PR #17247

Merged
merged 23 commits into from Feb 9, 2017
Merged
Show file tree
Hide file tree
Changes from 22 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
a13ab73
Added DeepFlavour deep NN b-tagger. Added its (generic) TagInfo DataF…
Nov 7, 2016
bddb994
added tagging variable to the list. Finalized TaggingVariableList in …
Nov 10, 2016
7229739
added missing tagging variables for DeepFlavour to work, fix inconsis…
Nov 16, 2016
ce93d7c
fix input tags when running with label/postfix
Nov 16, 2016
75b2702
jets with no tracks get assigned -1 by default
Nov 17, 2016
4e4c710
added script to move from the training json format to the CMSSW compa…
Nov 17, 2016
7d07583
fix DeepNN positive tagger
Dec 2, 2016
f9c078b
bugfix on negative tags
Dec 5, 2016
6b86b17
cMVA work in progress
Nov 25, 2016
8b0ea83
Working CMVA with some problems still to be solved
Dec 2, 2016
a02ac67
fixed inf values of SoftLeptonTaggers
Dec 2, 2016
416cfcc
Fixed J(B)P and SoftMu(El) values
Dec 5, 2016
8cd4845
fixing some defaults and cleaning stuff
Dec 6, 2016
d0c66f8
configure parameter on pT threshold to default JP and SL taggers
Dec 8, 2016
8f2a037
small bugfix in postive deepCMVA tagger
Dec 8, 2016
3b2640e
Move code from RecoBTag/DeepFlavour to RecoBTag/Combined, cleanup, re…
Jan 12, 2017
2ca44a7
added DeepCSV testing file to help fix mutex error
Jan 13, 2017
ccbc5bb
Work in progress, fix segfault when making ShallowTagInfo persistent
Jan 18, 2017
9040185
changed tagger names to be compliant with naming convention
Jan 23, 2017
c98d16a
fix indentation
Jan 26, 2017
9c21597
implemented PR #17247 comments
Feb 3, 2017
898bb41
fix final inconsistencies
Feb 6, 2017
6f1e3b6
add description to added tagInfo
Feb 6, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
39 changes: 39 additions & 0 deletions DataFormats/BTauReco/interface/ShallowTagInfo.h
@@ -0,0 +1,39 @@
#ifndef DataFormats_BTauReco_ShallowTagInfo_h
#define DataFormats_BTauReco_ShallowTagInfo_h

#include "DataFormats/BTauReco/interface/RefMacros.h"
#include "DataFormats/BTauReco/interface/BaseTagInfo.h"
#include "DataFormats/BTauReco/interface/CandIPTagInfo.h"
#include "DataFormats/BTauReco/interface/CandSecondaryVertexTagInfo.h"
#include "DataFormats/BTauReco/interface/TaggingVariable.h"

namespace reco {

class ShallowTagInfo : public BaseTagInfo {
public:
ShallowTagInfo(void) { }

ShallowTagInfo(
const TaggingVariableList & list,
const edm::RefToBase<Jet> & jetref) :
list_(list),
jetRef_(jetref) { }

virtual ~ShallowTagInfo(void) { }

virtual ShallowTagInfo* clone(void) const { return new ShallowTagInfo(*this); }

virtual edm::RefToBase<Jet> jet(void) const { return jetRef_; }

virtual TaggingVariableList taggingVariables(void) const { return list_; }

protected:
/*const*/ TaggingVariableList list_;
/*const*/ edm::RefToBase<Jet> jetRef_;
};

DECLARE_EDM_REFS( ShallowTagInfo )

}

#endif // DataFormats_BTauReco_ShallowTagInfo_h
8 changes: 8 additions & 0 deletions DataFormats/BTauReco/interface/TaggingVariable.h
Expand Up @@ -35,8 +35,11 @@ namespace reco {
jetPt, // jet transverse momentum
trackJetPt, // track-based jet transverse momentum
jetEta, // jet pseudorapidity
jetAbsEta, // jet pseudorapidity
jetPhi, // jet polar angle
jetNTracks, // tracks associated to jet
jetNSelectedTracks, // tracks associated to jet
jetNTracksEtaRel, // number of tracks for which etaRel is computed

trackMomentum, // track momentum
trackEta, // track pseudorapidity
Expand Down Expand Up @@ -153,6 +156,11 @@ namespace reco {
tau2_flightDistance2dSig, // transverse distance significance between primary and secondary vertex associated to the 2nd N-subjettiness axis
tau2_vertexDeltaR, // pseudoangular distance between the 2nd N-subjettiness axis and secondary vertex direction
z_ratio, // z ratio

Jet_SoftMu, // discriminator output of SoftMuon Tagger, used as input to (Deep)CMVA
Jet_SoftEl, // discriminator output of SoftElectron Tagger, used as input to (Deep)CMVA
Jet_JBP, // discriminator output of JPB Tagger, used as input to (Deep)CMVA
Jet_JP, // discriminator output of JP Tagger, used as input to (Deep)CMVA
// #################################################################################

algoDiscriminator, // discriminator output of an algorithm
Expand Down
10 changes: 10 additions & 0 deletions DataFormats/BTauReco/src/TaggingVariable.cc
Expand Up @@ -13,8 +13,11 @@ const char* const TaggingVariableDescription[] = {
/* [jetPt] = */ "jet transverse momentum",
/* [trackJetPt] = */ "track-based jet transverse momentum",
/* [jetEta] = */ "jet pseudorapidity",
/* [jetAbsEta] = */ "jet absolute pseudorapidity",
/* [jetPhi] = */ "jet polar angle",
/* [jetNTracks] = */ "tracks associated to jet",
/* [jetNSelectedTracks] = */ "selected tracks in the jet",
/* [jetNTracksEtaRel] = */ "number of tracks for which etaRel is computed",

/* [trackMomentum] = */ "track momentum",
/* [trackEta] = */ "track pseudorapidity",
Expand Down Expand Up @@ -141,8 +144,11 @@ const char* const TaggingVariableTokens[] = {
/* [jetPt] = */ "jetPt",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't find descriptions for the new Jet_ variables

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@slava77 What do you mean? The descriptions are in the right handside in the strings.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment is for the TaggingVariableDescription array above. There is no description for , e.g.
Jet_SoftMu which should be right below z_ratio on L135

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

May I suggest to enter at least some dummy values in TaggingVariableDescription
https://github.com/cms-sw/cmssw/pull/17247/files#diff-89cfcec978581c291c1e7822bb06e964R137

I don't care as much about the content of the description. The problem is that there are no values set,
which can lead to crashes if there is some code using descriptions for printouts or something.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@slava77 I know see what you mean. I fixed it.

/* [trackJetPt] = */ "trackJetPt",
/* [jetEta] = */ "jetEta",
/* [jetAbsEta] = */ "jetAbsEta",
/* [jetPhi] = */ "jetPhi",
/* [jetNTracks] = */ "jetNTracks",
/* [jetNSelectedTracks] = */ "jetNSelectedTracks",
/* [jetNTracksEtaRel] = */ "jetNTracksEtaRel",

/* [trackMomentum] = */ "trackMomentum",
/* [trackEta] = */ "trackEta",
Expand Down Expand Up @@ -259,6 +265,10 @@ const char* const TaggingVariableTokens[] = {
/* [tau2_flightDistance2dSig] = */ "tau2_flightDistance2dSig",
/* [tau2_vertexDeltaR] = */ "tau2_vertexDeltaR",
/* [z_ratio] = */ "z_ratio",
/* [Jet_SoftMu] = */ "Jet_SoftMu",
/* [Jet_SoftEl] = */ "Jet_SoftEl",
/* [Jet_JBP] = */ "Jet_JBP",
/* [Jet_JP] = */ "Jet_JP",

/* [algoDiscriminator] = */ "algoDiscriminator",

Expand Down
13 changes: 13 additions & 0 deletions DataFormats/BTauReco/src/classes.h
Expand Up @@ -33,6 +33,7 @@
#include "DataFormats/BTauReco/interface/SecondaryVertexTagInfo.h"
#include "DataFormats/BTauReco/interface/CandSecondaryVertexTagInfo.h"
#include "DataFormats/BTauReco/interface/BoostedDoubleSVTagInfo.h"
#include "DataFormats/BTauReco/interface/ShallowTagInfo.h"
#include "DataFormats/BTauReco/interface/SoftLeptonTagInfo.h"
#include "DataFormats/BTauReco/interface/CandSoftLeptonTagInfo.h"
#include "DataFormats/BTauReco/interface/TauImpactParameterInfo.h"
Expand Down Expand Up @@ -88,6 +89,14 @@ namespace DataFormats_BTauReco {
reco::BoostedDoubleSVTagInfoRefVector bdsv_rv;
edm::Wrapper<reco::BoostedDoubleSVTagInfoCollection> bdsv_wc;

reco::ShallowTagInfo dnn;
reco::ShallowTagInfoCollection dnn_c;
reco::ShallowTagInfoRef dnn_r;
reco::ShallowTagInfoFwdRef dnn_fr;
reco::ShallowTagInfoRefProd dnn_rp;
reco::ShallowTagInfoRefVector dnn_rv;
edm::Wrapper<reco::ShallowTagInfoCollection> dnn_wc;

reco::CombinedTauTagInfo ct;
reco::CombinedTauTagInfoCollection ct_c;
reco::CombinedTauTagInfoRef ct_r;
Expand Down Expand Up @@ -296,6 +305,8 @@ namespace DataFormats_BTauReco {
edm::reftobase::RefHolder<reco::CandSecondaryVertexTagInfoRef> rbh_casv;
edm::reftobase::Holder<reco::BaseTagInfo, reco::BoostedDoubleSVTagInfoRef> rb_bdsv;
edm::reftobase::RefHolder<reco::BoostedDoubleSVTagInfoRef> rbh_bdsv;
edm::reftobase::Holder<reco::BaseTagInfo, reco::ShallowTagInfoRef> rb_dnn;
edm::reftobase::RefHolder<reco::ShallowTagInfoRef> rbh_dnn;
edm::reftobase::Holder<reco::BaseTagInfo, reco::CombinedTauTagInfoRef> rb_ct;
edm::reftobase::RefHolder<reco::CombinedTauTagInfoRef> rbh_ct;
edm::reftobase::Holder<reco::BaseTagInfo, reco::IsolatedTauTagInfoRef> rb_it;
Expand Down Expand Up @@ -327,6 +338,8 @@ namespace DataFormats_BTauReco {
edm::reftobase::RefHolder<reco::CandSecondaryVertexTagInfoFwdRef> rbh_casvf;
edm::reftobase::Holder<reco::BaseTagInfo, reco::BoostedDoubleSVTagInfoFwdRef> rb_bdsvf;
edm::reftobase::RefHolder<reco::BoostedDoubleSVTagInfoFwdRef> rbh_bdsvf;
edm::reftobase::Holder<reco::BaseTagInfo, reco::ShallowTagInfoFwdRef> rb_dnnf;
edm::reftobase::RefHolder<reco::ShallowTagInfoFwdRef> rbh_dnnf;
edm::reftobase::Holder<reco::BaseTagInfo, reco::CombinedTauTagInfoFwdRef> rb_ctf;
edm::reftobase::RefHolder<reco::CombinedTauTagInfoFwdRef> rbh_ctf;
edm::reftobase::Holder<reco::BaseTagInfo, reco::IsolatedTauTagInfoFwdRef> rb_itf;
Expand Down
15 changes: 15 additions & 0 deletions DataFormats/BTauReco/src/classes_def.xml
Expand Up @@ -71,6 +71,17 @@
<class name="reco::BoostedDoubleSVTagInfoRefVector"/>
<class name="edm::Wrapper<reco::BoostedDoubleSVTagInfoCollection>"/>

<class name="reco::ShallowTagInfo" ClassVersion="3">
<version ClassVersion="3" checksum="3904302444"/>
</class>
<class name="reco::ShallowTagInfoCollection"/>
<class name="reco::ShallowTagInfoRef"/>
<class name="reco::ShallowTagInfoFwdRef"/>
<class name="reco::ShallowTagInfoRefProd"/>
<class name="reco::ShallowTagInfoRefVector"/>
<class name="edm::Wrapper<reco::ShallowTagInfoCollection>"/>
<class name="edm::Wrapper<std::vector<reco::ShallowTagInfo> >"/>

<class name="reco::CombinedTauTagInfo" ClassVersion="11">
<version ClassVersion="11" checksum="224969361"/>
<version ClassVersion="10" checksum="3920242404"/>
Expand Down Expand Up @@ -333,6 +344,8 @@
<class name="edm::reftobase::RefHolder<reco::CandSecondaryVertexTagInfoRef>" />
<class name="edm::reftobase::Holder<reco::BaseTagInfo, reco::BoostedDoubleSVTagInfoRef>" />
<class name="edm::reftobase::RefHolder<reco::BoostedDoubleSVTagInfoRef>" />
<class name="edm::reftobase::Holder<reco::BaseTagInfo, reco::ShallowTagInfoRef>" />
<class name="edm::reftobase::RefHolder<reco::ShallowTagInfoRef>" />
<class name="edm::reftobase::Holder<reco::BaseTagInfo, reco::CombinedTauTagInfoRef>" />
<class name="edm::reftobase::RefHolder<reco::CombinedTauTagInfoRef>" />
<class name="edm::reftobase::Holder<reco::BaseTagInfo, reco::IsolatedTauTagInfoRef>" />
Expand Down Expand Up @@ -364,6 +377,8 @@
<class name="edm::reftobase::RefHolder<reco::CandSecondaryVertexTagInfoFwdRef>" />
<class name="edm::reftobase::Holder<reco::BaseTagInfo, reco::BoostedDoubleSVTagInfoFwdRef>" />
<class name="edm::reftobase::RefHolder<reco::BoostedDoubleSVTagInfoFwdRef>" />
<class name="edm::reftobase::Holder<reco::BaseTagInfo, reco::ShallowTagInfoFwdRef>" />
<class name="edm::reftobase::RefHolder<reco::ShallowTagInfoFwdRef>" />
<class name="edm::reftobase::Holder<reco::BaseTagInfo, reco::CombinedTauTagInfoFwdRef>" />
<class name="edm::reftobase::RefHolder<reco::CombinedTauTagInfoFwdRef>" />
<class name="edm::reftobase::Holder<reco::BaseTagInfo, reco::IsolatedTauTagInfoFwdRef>" />
Expand Down
4 changes: 3 additions & 1 deletion PhysicsTools/PatAlgos/plugins/PATJetProducer.cc
Expand Up @@ -36,7 +36,6 @@
#include <memory>
#include <algorithm>


using namespace pat;


Expand Down Expand Up @@ -100,6 +99,9 @@ PATJetProducer::PATJetProducer(const edm::ParameterSet& iConfig) :
if ((pos != std::string::npos) && (pos != label.length() - 7)) {
label.erase(pos+7); // trim a tail after "JetTags"
}
if(it->instance().size()) {
label = (label+std::string(":")+it->instance());
}
discriminatorLabels_.push_back(label);
}
}
Expand Down
4 changes: 3 additions & 1 deletion PhysicsTools/PatAlgos/plugins/PATJetUpdater.cc
Expand Up @@ -21,7 +21,6 @@
#include <memory>
#include <algorithm>


using namespace pat;


Expand Down Expand Up @@ -51,6 +50,9 @@ PATJetUpdater::PATJetUpdater(const edm::ParameterSet& iConfig) :
if ((pos != std::string::npos) && (pos != label.length() - 7)) {
label.erase(pos+7); // trim a tail after "JetTags"
}
if(it->instance().size()) {
label = (label+std::string(":")+it->instance());
}
discriminatorLabels_.push_back(label);
}
}
Expand Down
16 changes: 15 additions & 1 deletion PhysicsTools/PatAlgos/python/producersLayer1/jetProducer_cfi.py
Expand Up @@ -48,7 +48,21 @@
cms.InputTag("pfCombinedMVAV2BJetTags"),
# CTagging
cms.InputTag('pfCombinedCvsLJetTags'),
cms.InputTag('pfCombinedCvsBJetTags')
cms.InputTag('pfCombinedCvsBJetTags'),
# The following code is commented-out to avoid breaking any unit test
# waiting for a set of AOD RelVals which have the jet tags in the event content
# DeepFlavour
# cms.InputTag('pfDeepCSVJetTags:probb'),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this commented out code needed?
Please remove or add comments inline in the code why the commented out block is relevant

[I can guess that we need to wait for a reference release inputs to be able to pass the PAT unit tests]

# cms.InputTag('pfDeepCSVJetTags:probc'),
# cms.InputTag('pfDeepCSVJetTags:probudsg'),
# cms.InputTag('pfDeepCSVJetTags:probbb'),
# cms.InputTag('pfDeepCSVJetTags:probcc'),
# DeepCMVA
# cms.InputTag('pfDeepCMVAJetTags:probb'),
# cms.InputTag('pfDeepCMVAJetTags:probc'),
# cms.InputTag('pfDeepCMVAJetTags:probudsg'),
# cms.InputTag('pfDeepCMVAJetTags:probbb'),
# cms.InputTag('pfDeepCMVAJetTags:probcc'),
),
# clone tag infos ATTENTION: these take lots of space!
# usually the discriminators from the default algos
Expand Down
40 changes: 40 additions & 0 deletions PhysicsTools/PatAlgos/python/recoLayer0/bTagging_cff.py
Expand Up @@ -28,6 +28,14 @@
# C-Tagging tag infos
, 'pfInclusiveSecondaryVertexFinderCvsLTagInfos'
, 'pfInclusiveSecondaryVertexFinderNegativeCvsLTagInfos'
# DeepFlavour
, 'pfDeepCSVTagInfos'
, 'pfDeepCSVNegativeTagInfos'
, 'pfDeepCSVPositiveTagInfos'
# DeepCMVA
, 'pfDeepCMVATagInfos'
, 'pfDeepCMVANegativeTagInfos'
, 'pfDeepCMVAPositiveTagInfos'
# TopTagInfos (unrelated to b tagging)
, 'caTopTagInfos'
]
Expand Down Expand Up @@ -128,6 +136,38 @@
, 'pfCombinedCvsBJetTags' : [["pfImpactParameterTagInfos", "pfInclusiveSecondaryVertexFinderCvsLTagInfos", "softPFMuonsTagInfos", "softPFElectronsTagInfos"]]
, 'pfNegativeCombinedCvsBJetTags' : [["pfImpactParameterTagInfos", "pfInclusiveSecondaryVertexFinderNegativeCvsLTagInfos", "softPFMuonsTagInfos", "softPFElectronsTagInfos"]]
, 'pfPositiveCombinedCvsBJetTags' : [["pfImpactParameterTagInfos", "pfInclusiveSecondaryVertexFinderCvsLTagInfos", "softPFMuonsTagInfos", "softPFElectronsTagInfos"]]
# DeepFlavour
, 'pfDeepCSVJetTags:probudsg' : [['pfDeepCSVTagInfos'], ["pfImpactParameterTagInfos", 'pfInclusiveSecondaryVertexFinderTagInfos']]
, 'pfDeepCSVJetTags:probb' : [['pfDeepCSVTagInfos'], ["pfImpactParameterTagInfos", 'pfInclusiveSecondaryVertexFinderTagInfos']]
, 'pfDeepCSVJetTags:probc' : [['pfDeepCSVTagInfos'], ["pfImpactParameterTagInfos", 'pfInclusiveSecondaryVertexFinderTagInfos']]
, 'pfDeepCSVJetTags:probbb' : [['pfDeepCSVTagInfos'], ["pfImpactParameterTagInfos", 'pfInclusiveSecondaryVertexFinderTagInfos']]
, 'pfDeepCSVJetTags:probcc' : [['pfDeepCSVTagInfos'], ["pfImpactParameterTagInfos", 'pfInclusiveSecondaryVertexFinderTagInfos']]
, 'pfNegativeDeepCSVJetTags:probudsg' : [['pfDeepCSVNegativeTagInfos'], ["pfImpactParameterTagInfos", 'pfInclusiveSecondaryVertexFinderNegativeTagInfos']]
, 'pfNegativeDeepCSVJetTags:probb' : [['pfDeepCSVNegativeTagInfos'], ["pfImpactParameterTagInfos", 'pfInclusiveSecondaryVertexFinderNegativeTagInfos']]
, 'pfNegativeDeepCSVJetTags:probc' : [['pfDeepCSVNegativeTagInfos'], ["pfImpactParameterTagInfos", 'pfInclusiveSecondaryVertexFinderNegativeTagInfos']]
, 'pfNegativeDeepCSVJetTags:probbb' : [['pfDeepCSVNegativeTagInfos'], ["pfImpactParameterTagInfos", 'pfInclusiveSecondaryVertexFinderNegativeTagInfos']]
, 'pfNegativeDeepCSVJetTags:probcc' : [['pfDeepCSVNegativeTagInfos'], ["pfImpactParameterTagInfos", 'pfInclusiveSecondaryVertexFinderNegativeTagInfos']]
, 'pfPositiveDeepCSVJetTags:probudsg' : [['pfDeepCSVPositiveTagInfos'], ["pfImpactParameterTagInfos", 'pfInclusiveSecondaryVertexFinderTagInfos']]
, 'pfPositiveDeepCSVJetTags:probb' : [['pfDeepCSVPositiveTagInfos'], ["pfImpactParameterTagInfos", 'pfInclusiveSecondaryVertexFinderTagInfos']]
, 'pfPositiveDeepCSVJetTags:probc' : [['pfDeepCSVPositiveTagInfos'], ["pfImpactParameterTagInfos", 'pfInclusiveSecondaryVertexFinderTagInfos']]
, 'pfPositiveDeepCSVJetTags:probbb' : [['pfDeepCSVPositiveTagInfos'], ["pfImpactParameterTagInfos", 'pfInclusiveSecondaryVertexFinderTagInfos']]
, 'pfPositiveDeepCSVJetTags:probcc' : [['pfDeepCSVPositiveTagInfos'], ["pfImpactParameterTagInfos", 'pfInclusiveSecondaryVertexFinderTagInfos']]
# DeepCMVA
, 'pfDeepCMVAJetTags:probudsg' : [["pfDeepCMVATagInfos"], ["pfImpactParameterTagInfos","softPFMuonsTagInfos","softPFElectronsTagInfos","pfInclusiveSecondaryVertexFinderTagInfos"]]
, 'pfDeepCMVAJetTags:probb' : [["pfDeepCMVATagInfos"], ["pfImpactParameterTagInfos","softPFMuonsTagInfos","softPFElectronsTagInfos","pfInclusiveSecondaryVertexFinderTagInfos"]]
, 'pfDeepCMVAJetTags:probc' : [["pfDeepCMVATagInfos"], ["pfImpactParameterTagInfos","softPFMuonsTagInfos","softPFElectronsTagInfos","pfInclusiveSecondaryVertexFinderTagInfos"]]
, 'pfDeepCMVAJetTags:probbb' : [["pfDeepCMVATagInfos"], ["pfImpactParameterTagInfos","softPFMuonsTagInfos","softPFElectronsTagInfos","pfInclusiveSecondaryVertexFinderTagInfos"]]
, 'pfDeepCMVAJetTags:probcc' : [["pfDeepCMVATagInfos"], ["pfImpactParameterTagInfos","softPFMuonsTagInfos","softPFElectronsTagInfos","pfInclusiveSecondaryVertexFinderTagInfos"]]
, 'pfNegativeDeepCMVAJetTags:probudsg' : [["pfDeepCMVANegativeTagInfos"], ["pfImpactParameterTagInfos","softPFMuonsTagInfos","softPFElectronsTagInfos","pfInclusiveSecondaryVertexFinderNegativeTagInfos"]]
, 'pfNegativeDeepCMVAJetTags:probb' : [["pfDeepCMVANegativeTagInfos"], ["pfImpactParameterTagInfos","softPFMuonsTagInfos","softPFElectronsTagInfos","pfInclusiveSecondaryVertexFinderNegativeTagInfos"]]
, 'pfNegativeDeepCMVAJetTags:probc' : [["pfDeepCMVANegativeTagInfos"], ["pfImpactParameterTagInfos","softPFMuonsTagInfos","softPFElectronsTagInfos","pfInclusiveSecondaryVertexFinderNegativeTagInfos"]]
, 'pfNegativeDeepCMVAJetTags:probbb' : [["pfDeepCMVANegativeTagInfos"], ["pfImpactParameterTagInfos","softPFMuonsTagInfos","softPFElectronsTagInfos","pfInclusiveSecondaryVertexFinderNegativeTagInfos"]]
, 'pfNegativeDeepCMVAJetTags:probcc' : [["pfDeepCMVANegativeTagInfos"], ["pfImpactParameterTagInfos","softPFMuonsTagInfos","softPFElectronsTagInfos","pfInclusiveSecondaryVertexFinderNegativeTagInfos"]]
, 'pfPositiveDeepCMVAJetTags:probudsg' : [["pfDeepCMVAPositiveTagInfos"], ["pfImpactParameterTagInfos","softPFMuonsTagInfos","softPFElectronsTagInfos","pfInclusiveSecondaryVertexFinderTagInfos"]]
, 'pfPositiveDeepCMVAJetTags:probb' : [["pfDeepCMVAPositiveTagInfos"], ["pfImpactParameterTagInfos","softPFMuonsTagInfos","softPFElectronsTagInfos","pfInclusiveSecondaryVertexFinderTagInfos"]]
, 'pfPositiveDeepCMVAJetTags:probc' : [["pfDeepCMVAPositiveTagInfos"], ["pfImpactParameterTagInfos","softPFMuonsTagInfos","softPFElectronsTagInfos","pfInclusiveSecondaryVertexFinderTagInfos"]]
, 'pfPositiveDeepCMVAJetTags:probbb' : [["pfDeepCMVAPositiveTagInfos"], ["pfImpactParameterTagInfos","softPFMuonsTagInfos","softPFElectronsTagInfos","pfInclusiveSecondaryVertexFinderTagInfos"]]
, 'pfPositiveDeepCMVAJetTags:probcc' : [["pfDeepCMVAPositiveTagInfos"], ["pfImpactParameterTagInfos","softPFMuonsTagInfos","softPFElectronsTagInfos","pfInclusiveSecondaryVertexFinderTagInfos"]]
# ChargeTagging
, 'pfChargeBJetTags' : [["pfImpactParameterTagInfos", "pfInclusiveSecondaryVertexFinderTagInfos", "softPFMuonsTagInfos", "softPFElectronsTagInfos"]]
}