CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

SecondaryVertexFilter Class Reference

#include <DPGAnalysis/SecondaryVertexFilter/src/SecondaryVertexFilter.cc>

Inheritance diagram for SecondaryVertexFilter:
edm::EDFilter edm::ProducerBase edm::ProductRegistryHelper

List of all members.

Public Member Functions

 SecondaryVertexFilter (const edm::ParameterSet &)
 ~SecondaryVertexFilter ()

Private Member Functions

virtual bool filter (edm::Event &, const edm::EventSetup &)

Private Attributes

double maxAbsZ
double maxd0
unsigned int minNumTracks
edm::InputTag vertexSrc

Detailed Description

Description: <one line="" class="" summary>="">

Implementation: <Notes on="" implementation>="">

Definition at line 40 of file SecondaryVertexFilter.cc.


Constructor & Destructor Documentation

SecondaryVertexFilter::SecondaryVertexFilter ( const edm::ParameterSet iConfig) [explicit]

Definition at line 54 of file SecondaryVertexFilter.cc.

References edm::ParameterSet::getParameter(), maxAbsZ, maxd0, minNumTracks, and vertexSrc.

{
  vertexSrc = iConfig.getParameter<edm::InputTag>("vertexCollection");
  minNumTracks = iConfig.getParameter<unsigned int>("minimumNumberOfTracks");
  maxAbsZ = iConfig.getParameter<double>("maxAbsZ");
  maxd0 = iConfig.getParameter<double>("maxd0");

}
SecondaryVertexFilter::~SecondaryVertexFilter ( )

Definition at line 64 of file SecondaryVertexFilter.cc.

{
}

Member Function Documentation

bool SecondaryVertexFilter::filter ( edm::Event iEvent,
const edm::EventSetup iSetup 
) [private, virtual]

Implements edm::EDFilter.

Definition at line 69 of file SecondaryVertexFilter.cc.

References edm::Event::getByLabel(), edm::Handle< T >::product(), query::result, and vertexSrc.

{
 bool result = false; 
 edm::Handle<reco::SecondaryVertexTagInfoCollection> pvHandle; 
 iEvent.getByLabel(vertexSrc,pvHandle);
 const reco::SecondaryVertexTagInfoCollection & vertices = *pvHandle.product();
 for(reco::SecondaryVertexTagInfoCollection::const_iterator it=vertices.begin() ; it!=vertices.end() ; ++it)
  {
    if(it->nVertices() > 0) result = true;   
//   if(it->tracksSize() > minNumTracks && 
 //      ( (maxAbsZ <=0 ) || fabs(it->z()) <= maxAbsZ ) &&
   //    ( (maxd0 <=0 ) || fabs(it->position().rho()) <= maxd0 )
     //) result = true;
  }

   return result;
}

Member Data Documentation

Definition at line 49 of file SecondaryVertexFilter.cc.

Referenced by SecondaryVertexFilter().

double SecondaryVertexFilter::maxd0 [private]

Definition at line 50 of file SecondaryVertexFilter.cc.

Referenced by SecondaryVertexFilter().

unsigned int SecondaryVertexFilter::minNumTracks [private]

Definition at line 48 of file SecondaryVertexFilter.cc.

Referenced by SecondaryVertexFilter().

Definition at line 47 of file SecondaryVertexFilter.cc.

Referenced by filter(), and SecondaryVertexFilter().