CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
reco::tau::RecoTauImpactParameterSignificancePlugin Class Reference
Inheritance diagram for reco::tau::RecoTauImpactParameterSignificancePlugin:
reco::tau::RecoTauModifierPlugin reco::tau::RecoTauEventHolderPlugin reco::tau::RecoTauNamedPlugin

Public Member Functions

virtual void beginEvent ()
 
void operator() (PFTau &tau) const
 
 RecoTauImpactParameterSignificancePlugin (const edm::ParameterSet &pset)
 
virtual ~RecoTauImpactParameterSignificancePlugin ()
 
- Public Member Functions inherited from reco::tau::RecoTauModifierPlugin
 RecoTauModifierPlugin (const edm::ParameterSet &pset)
 
virtual ~RecoTauModifierPlugin ()
 
- Public Member Functions inherited from reco::tau::RecoTauEventHolderPlugin
const edm::Eventevt () const
 
const edm::EventSetupevtSetup () const
 
 RecoTauEventHolderPlugin (const edm::ParameterSet &pset)
 
void setup (const edm::Event &, const edm::EventSetup &)
 
virtual ~RecoTauEventHolderPlugin ()
 
- Public Member Functions inherited from reco::tau::RecoTauNamedPlugin
const std::string & name () const
 
 RecoTauNamedPlugin (const edm::ParameterSet &pset)
 
virtual ~RecoTauNamedPlugin ()
 

Private Attributes

const TransientTrackBuilderbuilder_
 
const reco::Vertexpv_
 
edm::InputTag pvSrc_
 

Detailed Description

Definition at line 29 of file RecoTauImpactParameterSignificancePlugin.cc.

Constructor & Destructor Documentation

reco::tau::RecoTauImpactParameterSignificancePlugin::RecoTauImpactParameterSignificancePlugin ( const edm::ParameterSet pset)
explicit
virtual reco::tau::RecoTauImpactParameterSignificancePlugin::~RecoTauImpactParameterSignificancePlugin ( )
inlinevirtual

Definition at line 33 of file RecoTauImpactParameterSignificancePlugin.cc.

33 {}

Member Function Documentation

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< class >::product(), pv_, and pvSrc_.

48  {
49  // Get primary vertex
51  evt()->getByLabel(pvSrc_, pvs);
52  pv_ = &((*pvs)[0]);
53  // Get tranisent track builder.
54  edm::ESHandle<TransientTrackBuilder> myTransientTrackBuilder;
55  evtSetup()->get<TransientTrackRecord>().get("TransientTrackBuilder",
56  myTransientTrackBuilder);
57  builder_= myTransientTrackBuilder.product();
58 }
const edm::EventSetup * evtSetup() const
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:359
const T & get() const
Definition: EventSetup.h:55
T const * product() const
Definition: ESHandle.h:62
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(), IPTools::signedTransverseImpactParameter(), and ExpressReco_HICollisions_FallBack::track.

60  {
61  // Get the transient lead track
62  if (tau.leadPFChargedHadrCand().isNonnull()) {
63  TrackRef leadTrack = tau.leadPFChargedHadrCand()->trackRef();
64  if (leadTrack.isNonnull()) {
65  const TransientTrack track = builder_->build(leadTrack);
66  GlobalVector direction(tau.jetRef()->px(), tau.jetRef()->py(),
67  tau.jetRef()->pz());
68  // Compute the significance
69  std::pair<bool,Measurement1D> ipsig =
71  if (ipsig.first)
72  tau.setleadPFChargedHadrCandsignedSipt(ipsig.second.significance());
73  }
74  }
75 }
std::pair< bool, Measurement1D > signedTransverseImpactParameter(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:50
reco::TransientTrack build(const reco::Track *p) const
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
Definition: TrackFwd.h:14

Member Data Documentation

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()().

edm::InputTag reco::tau::RecoTauImpactParameterSignificancePlugin::pvSrc_
private

Definition at line 37 of file RecoTauImpactParameterSignificancePlugin.cc.

Referenced by beginEvent().