Skip to content

Commit

Permalink
Code style changes.
Browse files Browse the repository at this point in the history
  • Loading branch information
hqucms committed Sep 11, 2018
1 parent f787fed commit bea3ca9
Show file tree
Hide file tree
Showing 5 changed files with 65 additions and 27 deletions.
14 changes: 8 additions & 6 deletions DataFormats/BTauReco/interface/DeepBoostedJetFeatures.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,11 @@ class DeepBoostedJetFeatures {
}

void fill(const std::string& name, float value){
try {
feature_map_.at(name).push_back(value);
auto item = feature_map_.find(name);
if (item != feature_map_.end()){
item->second.push_back(value);
is_empty_ = false;
}catch (const std::out_of_range& e) {
}else{
throw cms::Exception("InvalidArgument") << "[DeepBoostedJetFeatures::fill()] Feature " << name << " has not been registered";
}
}
Expand All @@ -34,9 +35,10 @@ class DeepBoostedJetFeatures {
}

const std::vector<float>& get(const std::string& name) const {
try {
return feature_map_.at(name);
}catch (const std::out_of_range& e) {
auto item = feature_map_.find(name);
if (item != feature_map_.end()){
return item->second;
}else{
throw cms::Exception("InvalidArgument") << "[DeepBoostedJetFeatures::get()] Feature " << name << " does not exist!";
}
}
Expand Down
8 changes: 4 additions & 4 deletions PhysicsTools/MXNet/src/MXNetCppPredictor.cc
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,8 @@ void MXNetCppPredictor::set_input_shapes(const std::vector<std::string>& input_n
input_names_ = input_names;
// init the input NDArrays and add them to the arg_map
for (unsigned i=0; i<input_names_.size(); ++i){
const auto& name = input_names_.at(i);
NDArray nd(input_shapes.at(i), context_, false);
const auto& name = input_names_[i];
NDArray nd(input_shapes[i], context_, false);
arg_map_[name] = nd;
}
// infer parameter shapes from input shapes
Expand All @@ -78,8 +78,8 @@ const std::vector<float>& MXNetCppPredictor::predict(const std::vector<std::vect
bind_executor();
// set the inputs
for (unsigned i=0; i<input_names_.size(); ++i){
const auto& name = input_names_.at(i);
arg_map_[name].SyncCopyFromCPU(input_data.at(i));
const auto& name = input_names_[i];
arg_map_[name].SyncCopyFromCPU(input_data[i]);
}
// run forward
exec_->Forward(false);
Expand Down
40 changes: 38 additions & 2 deletions PhysicsTools/PatAlgos/python/recoLayer0/bTagging_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -231,8 +231,44 @@

#meta-taggers are simple arithmetic on top of other taggers, they are stored here
#such that in case you want them re-run also the parent tagger is re-run as well
_pfDeepBoostedJetTagsProbs = ['pfDeepBoostedJetTags:probTbcq', 'pfDeepBoostedJetTags:probTbqq', 'pfDeepBoostedJetTags:probTbc', 'pfDeepBoostedJetTags:probTbq', 'pfDeepBoostedJetTags:probWcq', 'pfDeepBoostedJetTags:probWqq', 'pfDeepBoostedJetTags:probZbb', 'pfDeepBoostedJetTags:probZcc', 'pfDeepBoostedJetTags:probZqq', 'pfDeepBoostedJetTags:probHbb', 'pfDeepBoostedJetTags:probHcc', 'pfDeepBoostedJetTags:probHqqqq', 'pfDeepBoostedJetTags:probQCDbb', 'pfDeepBoostedJetTags:probQCDcc', 'pfDeepBoostedJetTags:probQCDb', 'pfDeepBoostedJetTags:probQCDc', 'pfDeepBoostedJetTags:probQCDothers']
_pfMassDecorrelatedDeepBoostedJetTagsProbs = ['pfMassDecorrelatedDeepBoostedJetTags:probTbcq', 'pfMassDecorrelatedDeepBoostedJetTags:probTbqq', 'pfMassDecorrelatedDeepBoostedJetTags:probTbc', 'pfMassDecorrelatedDeepBoostedJetTags:probTbq', 'pfMassDecorrelatedDeepBoostedJetTags:probWcq', 'pfMassDecorrelatedDeepBoostedJetTags:probWqq', 'pfMassDecorrelatedDeepBoostedJetTags:probZbb', 'pfMassDecorrelatedDeepBoostedJetTags:probZcc', 'pfMassDecorrelatedDeepBoostedJetTags:probZqq', 'pfMassDecorrelatedDeepBoostedJetTags:probHbb', 'pfMassDecorrelatedDeepBoostedJetTags:probHcc', 'pfMassDecorrelatedDeepBoostedJetTags:probHqqqq', 'pfMassDecorrelatedDeepBoostedJetTags:probQCDbb', 'pfMassDecorrelatedDeepBoostedJetTags:probQCDcc', 'pfMassDecorrelatedDeepBoostedJetTags:probQCDb', 'pfMassDecorrelatedDeepBoostedJetTags:probQCDc', 'pfMassDecorrelatedDeepBoostedJetTags:probQCDothers']
_pfDeepBoostedJetTagsProbs = [
'pfDeepBoostedJetTags:probTbcq',
'pfDeepBoostedJetTags:probTbqq',
'pfDeepBoostedJetTags:probTbc',
'pfDeepBoostedJetTags:probTbq',
'pfDeepBoostedJetTags:probWcq',
'pfDeepBoostedJetTags:probWqq',
'pfDeepBoostedJetTags:probZbb',
'pfDeepBoostedJetTags:probZcc',
'pfDeepBoostedJetTags:probZqq',
'pfDeepBoostedJetTags:probHbb',
'pfDeepBoostedJetTags:probHcc',
'pfDeepBoostedJetTags:probHqqqq',
'pfDeepBoostedJetTags:probQCDbb',
'pfDeepBoostedJetTags:probQCDcc',
'pfDeepBoostedJetTags:probQCDb',
'pfDeepBoostedJetTags:probQCDc',
'pfDeepBoostedJetTags:probQCDothers',
]
_pfMassDecorrelatedDeepBoostedJetTagsProbs = [
'pfMassDecorrelatedDeepBoostedJetTags:probTbcq',
'pfMassDecorrelatedDeepBoostedJetTags:probTbqq',
'pfMassDecorrelatedDeepBoostedJetTags:probTbc',
'pfMassDecorrelatedDeepBoostedJetTags:probTbq',
'pfMassDecorrelatedDeepBoostedJetTags:probWcq',
'pfMassDecorrelatedDeepBoostedJetTags:probWqq',
'pfMassDecorrelatedDeepBoostedJetTags:probZbb',
'pfMassDecorrelatedDeepBoostedJetTags:probZcc',
'pfMassDecorrelatedDeepBoostedJetTags:probZqq',
'pfMassDecorrelatedDeepBoostedJetTags:probHbb',
'pfMassDecorrelatedDeepBoostedJetTags:probHcc',
'pfMassDecorrelatedDeepBoostedJetTags:probHqqqq',
'pfMassDecorrelatedDeepBoostedJetTags:probQCDbb',
'pfMassDecorrelatedDeepBoostedJetTags:probQCDcc',
'pfMassDecorrelatedDeepBoostedJetTags:probQCDb',
'pfMassDecorrelatedDeepBoostedJetTags:probQCDc',
'pfMassDecorrelatedDeepBoostedJetTags:probQCDothers',
]
supportedMetaDiscr = {
'pfDeepCSVDiscriminatorsJetTags:BvsAll' : ['pfDeepCSVJetTags:probudsg', 'pfDeepCSVJetTags:probb', 'pfDeepCSVJetTags:probc', 'pfDeepCSVJetTags:probbb'],
'pfDeepCSVDiscriminatorsJetTags:CvsB' : ['pfDeepCSVJetTags:probudsg', 'pfDeepCSVJetTags:probb', 'pfDeepCSVJetTags:probc', 'pfDeepCSVJetTags:probbb'],
Expand Down
21 changes: 10 additions & 11 deletions RecoBTag/DeepBoostedJet/plugins/DeepBoostedJetTagInfoProducer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ void DeepBoostedJetTagInfoProducer::produce(edm::Event& iEvent, const edm::Event

for (std::size_t jet_n = 0; jet_n < jets->size(); jet_n++){

const auto& jet = jets->at(jet_n);
const auto& jet = (*jets)[jet_n];
edm::RefToBase<reco::Jet> jet_ref(jets, jet_n);

// create jet features
Expand All @@ -239,6 +239,12 @@ void DeepBoostedJetTagInfoProducer::produce(edm::Event& iEvent, const edm::Event

void DeepBoostedJetTagInfoProducer::fillParticleFeatures(DeepBoostedJetFeatures &fts, const reco::Jet &jet){

// require the input to be a pat::Jet
const auto* patJet = dynamic_cast<const pat::Jet*>(&jet);
if (!patJet){
throw edm::Exception(edm::errors::InvalidReference) << "Input is not a pat::Jet.";
}

// do nothing if jet does not have constituents
if (jet.numberOfDaughters()==0) return;

Expand Down Expand Up @@ -360,16 +366,9 @@ void DeepBoostedJetTagInfoProducer::fillParticleFeatures(DeepBoostedJetFeatures
}
fts.fill("pfcand_drminsv", minDR==999 ? -1 : minDR);

pat::JetPtrCollection subjets;
try {
const auto &patJet = dynamic_cast<const pat::Jet&>(jet);
subjets = patJet.subjets();
// sort by pt
std::sort(subjets.begin(), subjets.end(), [](const edm::Ptr<pat::Jet>& p1, const edm::Ptr<pat::Jet>& p2){ return p1->pt()>p2->pt(); });
}catch (const std::bad_cast &e) {
throw edm::Exception(edm::errors::InvalidReference) << "Cannot access subjets because this is not a pat::Jet.";
}

// subjets
auto subjets = patJet->subjets();
std::sort(subjets.begin(), subjets.end(), [](const edm::Ptr<pat::Jet>& p1, const edm::Ptr<pat::Jet>& p2){ return p1->pt()>p2->pt(); }); // sort by pt
fts.fill("pfcand_drsubjet1", !subjets.empty() ? reco::deltaR(*cand, *subjets.at(0)) : -1);
fts.fill("pfcand_drsubjet2", subjets.size()>1 ? reco::deltaR(*cand, *subjets.at(1)) : -1);

Expand Down
9 changes: 5 additions & 4 deletions RecoBTag/DeepBoostedJet/plugins/DeepBoostedJetTagsProducer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,10 @@ struct PreprocessParams {
std::unordered_map<std::string, VarInfo> var_info_map;

VarInfo get_info(const std::string &name) const {
try {
return var_info_map.at(name);
}catch (const std::out_of_range &e) {
auto item = var_info_map.find(name);
if (item != var_info_map.end()){
return item->second;
} else {
throw cms::Exception("InvalidArgument") << "Cannot find variable info for " << name;
}
}
Expand Down Expand Up @@ -132,7 +133,7 @@ DeepBoostedJetTagsProducer::DeepBoostedJetTagsProducer(const edm::ParameterSet&

// get output names from flav_table
const auto & flav_pset = iConfig.getParameter<edm::ParameterSet>("flav_table");
for (const auto flav_pair : flav_pset.tbl()) {
for (const auto& flav_pair : flav_pset.tbl()) {
const auto & flav_name = flav_pair.first;
flav_pairs_.emplace_back(flav_name,
flav_pset.getParameter<std::vector<unsigned int>>(flav_name));
Expand Down

0 comments on commit bea3ca9

Please sign in to comment.