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

70X additional b-taggers #644

Merged
merged 6 commits into from Sep 2, 2013
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
28 changes: 23 additions & 5 deletions RecoBTag/ImpactParameter/python/impactParameter_cff.py
Expand Up @@ -8,13 +8,13 @@
# MVA
from RecoBTag.ImpactParameter.impactParameterMVAComputer_cfi import *
from RecoBTag.ImpactParameter.impactParameterMVABJetTags_cfi import *
#B Jet Prob
# Jet BProb
from RecoBTag.ImpactParameter.jetBProbabilityComputer_cfi import *
from RecoBTag.ImpactParameter.jetBProbabilityBJetTags_cfi import *
#Jet Prob
# Jet Prob
from RecoBTag.ImpactParameter.jetProbabilityComputer_cfi import *
from RecoBTag.ImpactParameter.jetProbabilityBJetTags_cfi import *
# HighEff
# High Eff
from RecoBTag.ImpactParameter.trackCounting3D2ndComputer_cfi import *
from RecoBTag.ImpactParameter.trackCountingHighEffBJetTags_cfi import *
# High Purity
Expand All @@ -23,8 +23,26 @@

# Negative Tags

from RecoBTag.ImpactParameter.negativeTrackCountingHighEffJetTags_cfi import *
from RecoBTag.ImpactParameter.negativeTrackCountingHighPurJetTags_cfi import *
# Jet BProb
from RecoBTag.ImpactParameter.negativeOnlyJetBProbabilityComputer_cfi import *
from RecoBTag.ImpactParameter.negativeOnlyJetBProbabilityJetTags_cfi import *
# Jet Prob
from RecoBTag.ImpactParameter.negativeOnlyJetProbabilityComputer_cfi import *
from RecoBTag.ImpactParameter.negativeOnlyJetProbabilityJetTags_cfi import *
# High Eff
from RecoBTag.ImpactParameter.negativeTrackCounting3D2ndComputer_cfi import *
from RecoBTag.ImpactParameter.negativeTrackCountingHighEffJetTags_cfi import *
# High Purity
from RecoBTag.ImpactParameter.negativeTrackCounting3D3rdComputer_cfi import *
from RecoBTag.ImpactParameter.negativeTrackCountingHighPurJetTags_cfi import *

# Positive Tags

# Jet BProb
from RecoBTag.ImpactParameter.positiveOnlyJetBProbabilityComputer_cfi import *
from RecoBTag.ImpactParameter.positiveOnlyJetBProbabilityJetTags_cfi import *
# Jet Prob
from RecoBTag.ImpactParameter.positiveOnlyJetProbabilityComputer_cfi import *
from RecoBTag.ImpactParameter.positiveOnlyJetProbabilityJetTags_cfi import *


@@ -1,7 +1,10 @@
import FWCore.ParameterSet.Config as cms

from RecoBTag.ImpactParameter.variableJTA_cfi import *

# jetBProbability btag computer
negativeOnlyJetBProbability = cms.ESProducer("JetBProbabilityESProducer",
variableJTAPars,
impactParameterType = cms.int32(0), ## 0 = 3D, 1 = 2D

deltaR = cms.double(-1.0), ## use cut from JTA
Expand All @@ -13,7 +16,8 @@
numberOfBTracks = cms.uint32(4),
maximumDecayLength = cms.double(5.0),

trackQualityClass = cms.string("any")
trackQualityClass = cms.string("any"),
useVariableJTA = cms.bool(False)
)


@@ -1,7 +1,10 @@
import FWCore.ParameterSet.Config as cms

from RecoBTag.ImpactParameter.variableJTA_cfi import *

# negativeOnlyJetProbability btag computer
negativeOnlyJetProbability = cms.ESProducer("JetProbabilityESProducer",
variableJTAPars,
impactParameterType = cms.int32(0), ## 0 = 3D, 1 = 2D

deltaR = cms.double(0.3),
Expand All @@ -10,7 +13,8 @@

minimumProbability = cms.double(0.005),
maximumDecayLength = cms.double(5.0),
trackQualityClass = cms.string("any")
trackQualityClass = cms.string("any"),
useVariableJTA = cms.bool(False)
)


@@ -1,7 +1,10 @@
import FWCore.ParameterSet.Config as cms

from RecoBTag.ImpactParameter.variableJTA_cfi import *

# jetBProbability btag computer
positiveOnlyJetBProbability = cms.ESProducer("JetBProbabilityESProducer",
variableJTAPars,
impactParameterType = cms.int32(0), ## 0 = 3D, 1 = 2D

deltaR = cms.double(-1.0), ## use cut from JTA
Expand Down
@@ -1,7 +1,10 @@
import FWCore.ParameterSet.Config as cms

from RecoBTag.ImpactParameter.variableJTA_cfi import *

# positiveOnlyJetProbability btag computer
positiveOnlyJetProbability = cms.ESProducer("JetProbabilityESProducer",
variableJTAPars,
impactParameterType = cms.int32(0), ## 0 = 3D, 1 = 2D

deltaR = cms.double(0.3),
Expand Down
16 changes: 11 additions & 5 deletions RecoBTag/SecondaryVertex/interface/SimpleSecondaryVertexComputer.h
Expand Up @@ -16,17 +16,22 @@
class SimpleSecondaryVertexComputer : public JetTagComputer {
public:
SimpleSecondaryVertexComputer(const edm::ParameterSet &parameters) :
use2d(!parameters.getParameter<bool>("use3d")),
use2d(!parameters.getParameter<bool>("use3d")),
useSig(parameters.getParameter<bool>("useSignificance")),
unBoost(parameters.getParameter<bool>("unBoost")),
minTracks(parameters.getParameter<unsigned int>("minTracks"))
{ uses("svTagInfos"); }
unBoost(parameters.getParameter<bool>("unBoost")),
minTracks(parameters.getParameter<unsigned int>("minTracks")),
minVertices_(1)
{
uses("svTagInfos");
minVertices_ = parameters.existsAs<unsigned int>("minVertices") ? parameters.getParameter<unsigned int>("minVertices") : 1 ;
}

float discriminator(const TagInfoHelper &tagInfos) const
{
const reco::SecondaryVertexTagInfo &info =
tagInfos.get<reco::SecondaryVertexTagInfo>();
unsigned int idx = 0;
if(info.nVertices() < minVertices_) return -1;
unsigned int idx = 0;
while(idx < info.nVertices()) {
if (info.nVertexTracks(idx) >= minTracks)
break;
Expand Down Expand Up @@ -63,6 +68,7 @@ class SimpleSecondaryVertexComputer : public JetTagComputer {
bool useSig;
bool unBoost;
unsigned int minTracks;
unsigned int minVertices_;
};

#endif // RecoBTag_SecondaryVertex_SimpleSecondaryVertexComputer_h
47 changes: 26 additions & 21 deletions RecoBTag/SecondaryVertex/plugins/BVertexFilter.cc
Expand Up @@ -2,7 +2,7 @@
//
// Package: BVertexFilter
// Class: BVertexFilter
//
//
/**\class BVertexFilter BVertexFilter.cc DPGAnalysis/BVertexFilter/src/BVertexFilter.cc

Description: <one line class summary>
Expand Down Expand Up @@ -58,9 +58,9 @@ BVertexFilter::BVertexFilter(const edm::ParameterSet& params):
minVertices(params.getParameter<int>("minVertices"))

{
token_primaryVertex = consumes<reco::VertexCollection>(params.getParameter<edm::InputTag>("primaryVertices"));
token_secondaryVertex = consumes<reco::VertexCollection>(params.getParameter<edm::InputTag>("secondaryVertices"));
produces<reco::VertexCollection>();
token_primaryVertex = consumes<reco::VertexCollection>(params.getParameter<edm::InputTag>("primaryVertices"));
token_secondaryVertex = consumes<reco::VertexCollection>(params.getParameter<edm::InputTag>("secondaryVertices"));
produces<reco::VertexCollection>();

}

Expand All @@ -72,30 +72,35 @@ BVertexFilter::~BVertexFilter()
bool
BVertexFilter::filter(edm::Event& iEvent, const edm::EventSetup& iSetup)
{
int count = 0;
edm::Handle<reco::VertexCollection> pvHandle;
int count = 0;
edm::Handle<reco::VertexCollection> pvHandle;
iEvent.getByToken(token_primaryVertex, pvHandle);
edm::Handle<reco::VertexCollection> svHandle;
edm::Handle<reco::VertexCollection> svHandle;
iEvent.getByToken(token_secondaryVertex, svHandle);
const reco::Vertex & primary = (*pvHandle.product())[0];
const reco::VertexCollection & vertices = *svHandle.product();

std::auto_ptr<reco::VertexCollection> recoVertices(new reco::VertexCollection);

if(! primary.isFake())
{
for(reco::VertexCollection::const_iterator it=vertices.begin() ; it!=vertices.end() ; ++it)
{
GlobalVector axis(0,0,0);
if(useVertexKinematicAsJetAxis) axis = GlobalVector(it->p4().X(),it->p4().Y(),it->p4().Z());
if(svFilter(primary,reco::SecondaryVertex(primary,*it,axis,true),axis)) {
count++;
recoVertices->push_back(*it);
}
if(pvHandle->size()!=0) {
const reco::Vertex & primary = (*pvHandle.product())[0];
const reco::VertexCollection & vertices = *svHandle.product();


if(! primary.isFake())
{
for(reco::VertexCollection::const_iterator it=vertices.begin() ; it!=vertices.end() ; ++it)
{
GlobalVector axis(0,0,0);
if(useVertexKinematicAsJetAxis) axis = GlobalVector(it->p4().X(),it->p4().Y(),it->p4().Z());
if(svFilter(primary,reco::SecondaryVertex(primary,*it,axis,true),axis)) {
count++;
recoVertices->push_back(*it);
}
}
}
}
iEvent.put(recoVertices);
iEvent.put(recoVertices);

return(count >= minVertices);
return(count >= minVertices);
}


Expand Down