![]() |
![]() |
Public Member Functions | |
virtual void | beginEvent () |
void | operator() (PFTau &tau) const |
RecoTauImpactParameterSignificancePlugin (const edm::ParameterSet &pset) | |
virtual | ~RecoTauImpactParameterSignificancePlugin () |
Private Attributes | |
const TransientTrackBuilder * | builder_ |
const reco::Vertex * | pv_ |
edm::InputTag | pvSrc_ |
Definition at line 29 of file RecoTauImpactParameterSignificancePlugin.cc.
reco::tau::RecoTauImpactParameterSignificancePlugin::RecoTauImpactParameterSignificancePlugin | ( | const edm::ParameterSet & | pset | ) | [explicit] |
Definition at line 43 of file RecoTauImpactParameterSignificancePlugin.cc.
References edm::ParameterSet::getParameter().
:RecoTauModifierPlugin(pset) { pvSrc_ = pset.getParameter<edm::InputTag>("pvSrc"); }
virtual reco::tau::RecoTauImpactParameterSignificancePlugin::~RecoTauImpactParameterSignificancePlugin | ( | ) | [inline, virtual] |
Definition at line 33 of file RecoTauImpactParameterSignificancePlugin.cc.
{}
void reco::tau::RecoTauImpactParameterSignificancePlugin::beginEvent | ( | ) | [virtual] |
Reimplemented from reco::tau::RecoTauModifierPlugin.
Definition at line 48 of file RecoTauImpactParameterSignificancePlugin.cc.
References builder_, reco::tau::RecoTauEventHolderPlugin::evt(), reco::tau::RecoTauEventHolderPlugin::evtSetup(), edm::EventSetup::get(), edm::Event::getByLabel(), edm::ESHandle< T >::product(), pv_, and pvSrc_.
{ // Get primary vertex edm::Handle<reco::VertexCollection> pvs; evt()->getByLabel(pvSrc_, pvs); pv_ = &((*pvs)[0]); // Get tranisent track builder. edm::ESHandle<TransientTrackBuilder> myTransientTrackBuilder; evtSetup()->get<TransientTrackRecord>().get("TransientTrackBuilder", myTransientTrackBuilder); builder_= myTransientTrackBuilder.product(); }
void reco::tau::RecoTauImpactParameterSignificancePlugin::operator() | ( | PFTau & | tau | ) | const [virtual] |
Implements reco::tau::RecoTauModifierPlugin.
Definition at line 60 of file RecoTauImpactParameterSignificancePlugin.cc.
References TransientTrackBuilder::build(), builder_, edm::Ref< C, T, F >::isNonnull(), reco::PFTau::jetRef(), reco::PFTau::leadPFChargedHadrCand(), singlePfTauSkim_cff::leadTrack, pv_, reco::PFTau::setleadPFChargedHadrCandsignedSipt(), and IPTools::signedImpactParameter3D().
{ // Get the transient lead track if (tau.leadPFChargedHadrCand().isNonnull()) { TrackRef leadTrack = tau.leadPFChargedHadrCand()->trackRef(); if (leadTrack.isNonnull()) { const TransientTrack track = builder_->build(leadTrack); GlobalVector direction(tau.jetRef()->px(), tau.jetRef()->py(), tau.jetRef()->pz()); // Compute the significance std::pair<bool,Measurement1D> ipsig = //IPTools::signedTransverseImpactParameter(track, direction, *pv_); IPTools::signedImpactParameter3D(track, direction, *pv_); if (ipsig.first) tau.setleadPFChargedHadrCandsignedSipt(ipsig.second.significance()); } } }
const TransientTrackBuilder* reco::tau::RecoTauImpactParameterSignificancePlugin::builder_ [private] |
Definition at line 38 of file RecoTauImpactParameterSignificancePlugin.cc.
Referenced by beginEvent(), and operator()().
const reco::Vertex* reco::tau::RecoTauImpactParameterSignificancePlugin::pv_ [private] |
Definition at line 39 of file RecoTauImpactParameterSignificancePlugin.cc.
Referenced by beginEvent(), and operator()().
Definition at line 37 of file RecoTauImpactParameterSignificancePlugin.cc.
Referenced by beginEvent().