![]() |
![]() |
#include <PvSvFilter.h>
Public Member Functions | |
bool | operator() (const TransientVertex &) const |
PvSvFilter (double, TransientVertex &) | |
~PvSvFilter () | |
Private Attributes | |
double | maxFractionPv |
TransientVertex * | thePrimaryVertex |
Static Private Attributes | |
static const bool | debug = false |
Definition at line 10 of file PvSvFilter.h.
PvSvFilter::PvSvFilter | ( | double | maxInPv, |
TransientVertex & | thePV | ||
) |
Definition at line 10 of file PvSvFilter.cc.
: maxFractionPv ( maxInPv ) , thePrimaryVertex ( &thePV ) {}
PvSvFilter::~PvSvFilter | ( | ) | [inline] |
Definition at line 16 of file PvSvFilter.h.
{ } ;
bool PvSvFilter::operator() | ( | const TransientVertex & | VertexToFilter | ) | const |
Definition at line 15 of file PvSvFilter.cc.
References gather_cfg::cout, debug, TransientTrackInVertices::isInVertex(), maxFractionPv, TransientVertex::originalTracks(), and thePrimaryVertex.
{ std::vector<reco::TransientTrack> tracksAtSv = VertexToFilter.originalTracks() ; int multSv = tracksAtSv.size() ; int inPv = 0 ; for ( std::vector<reco::TransientTrack>::const_iterator itSvT = tracksAtSv.begin(); itSvT != tracksAtSv.end() ; itSvT++ ) { if ( TransientTrackInVertices::isInVertex ( *itSvT , *thePrimaryVertex ) ) inPv++ ; else {if(debug) std::cout<<"NOT IN VTX\n";} } double fracInPv = 0.0 ; if ( multSv > 0 ) fracInPv = double ( inPv ) / double ( multSv ) ; if(debug) std::cout <<"[PvSvFilter] frac,max: "<<fracInPv<<","<<maxFractionPv<<std::endl; return ( fracInPv < maxFractionPv ) ; }
const bool PvSvFilter::debug = false [static, private] |
Definition at line 26 of file PvSvFilter.h.
Referenced by operator()().
double PvSvFilter::maxFractionPv [private] |
Definition at line 22 of file PvSvFilter.h.
Referenced by operator()().
TransientVertex* PvSvFilter::thePrimaryVertex [private] |
Definition at line 24 of file PvSvFilter.h.
Referenced by operator()().