CMS 3D CMS Logo

SimpleSecondaryVertexComputer Class Reference

#include <RecoBTag/SecondaryVertex/interface/SimpleSecondaryVertexComputer.h>

Inheritance diagram for SimpleSecondaryVertexComputer:

JetTagComputer

List of all members.

Public Member Functions

float discriminator (const TagInfoHelper &tagInfos) const
 SimpleSecondaryVertexComputer (const edm::ParameterSet &parameters)

Private Attributes

bool unBoost
bool use2d
bool useSig


Detailed Description

Definition at line 16 of file SimpleSecondaryVertexComputer.h.


Constructor & Destructor Documentation

SimpleSecondaryVertexComputer::SimpleSecondaryVertexComputer ( const edm::ParameterSet parameters  )  [inline]

Definition at line 18 of file SimpleSecondaryVertexComputer.h.

References JetTagComputer::uses().

00018                                                                          :
00019                 use2d(!parameters.getParameter<bool>("use3d")),
00020                 useSig(parameters.getParameter<bool>("useSignificance")),
00021                 unBoost(parameters.getParameter<bool>("unBoost"))
00022         { uses("svTagInfos"); }


Member Function Documentation

float SimpleSecondaryVertexComputer::discriminator ( const TagInfoHelper tagInfos  )  const [inline, virtual]

Reimplemented from JetTagComputer.

Definition at line 24 of file SimpleSecondaryVertexComputer.h.

References reco::SecondaryVertexTagInfo::flightDistance(), JetTagComputer::TagInfoHelper::get(), info, funct::log(), reco::SecondaryVertexTagInfo::nVertices(), reco::SecondaryVertexTagInfo::secondaryVertex(), Measurement1D::significance(), unBoost, use2d, useSig, value, and Measurement1D::value().

00025         {
00026                 const reco::SecondaryVertexTagInfo &info =
00027                                 tagInfos.get<reco::SecondaryVertexTagInfo>();
00028                 if (info.nVertices() == 0)
00029                         return -1.0;
00030 
00031                 double gamma;
00032                 if (unBoost) {
00033                         reco::TrackKinematics kinematics(
00034                                                 info.secondaryVertex(0));
00035                         gamma = kinematics.vectorSum().Gamma();
00036                 } else
00037                         gamma = 1.0;
00038 
00039                 double value;
00040                 if (useSig)
00041                         value = info.flightDistance(0, use2d).significance();
00042                 else
00043                         value = info.flightDistance(0, use2d).value();
00044 
00045                 value /= gamma;
00046 
00047                 if (useSig)
00048                         value = (value > 0) ? +std::log(1 + value)
00049                                             : -std::log(1 - value);
00050 
00051                 return value;
00052         }


Member Data Documentation

bool SimpleSecondaryVertexComputer::unBoost [private]

Definition at line 57 of file SimpleSecondaryVertexComputer.h.

Referenced by discriminator().

bool SimpleSecondaryVertexComputer::use2d [private]

Definition at line 55 of file SimpleSecondaryVertexComputer.h.

Referenced by discriminator().

bool SimpleSecondaryVertexComputer::useSig [private]

Definition at line 56 of file SimpleSecondaryVertexComputer.h.

Referenced by discriminator().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:31:43 2009 for CMSSW by  doxygen 1.5.4