![]() |
![]() |
#include <RecoBTag/SecondaryVertex/interface/SimpleSecondaryVertexComputer.h>
Public Member Functions | |
float | discriminator (const TagInfoHelper &tagInfos) const |
SimpleSecondaryVertexComputer (const edm::ParameterSet ¶meters) | |
Private Attributes | |
bool | unBoost |
bool | use2d |
bool | useSig |
Definition at line 16 of file SimpleSecondaryVertexComputer.h.
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"); }
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 }
bool SimpleSecondaryVertexComputer::unBoost [private] |
bool SimpleSecondaryVertexComputer::use2d [private] |
bool SimpleSecondaryVertexComputer::useSig [private] |