CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

RoadSearchEventFilter Class Reference

#include <TrackingTools/RoadSearchEventFilter/src/RoadSearchEventFilter.cc>

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

List of all members.

Public Member Functions

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

Private Member Functions

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

Private Attributes

unsigned int numberOfSeeds_
std::string seedCollectionLabel_

Detailed Description

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

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

Definition at line 17 of file RoadSearchEventFilter.h.


Constructor & Destructor Documentation

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

Definition at line 29 of file RoadSearchEventFilter.cc.

References edm::ParameterSet::getUntrackedParameter(), numberOfSeeds_, and seedCollectionLabel_.

{
  numberOfSeeds_       = iConfig.getUntrackedParameter<unsigned int>("NumberOfSeeds");
  seedCollectionLabel_ = iConfig.getUntrackedParameter<std::string>("SeedCollectionLabel");

}
RoadSearchEventFilter::~RoadSearchEventFilter ( )

Definition at line 37 of file RoadSearchEventFilter.cc.

{
 
}

Member Function Documentation

void RoadSearchEventFilter::beginJob ( void  ) [private, virtual]

Reimplemented from edm::EDFilter.

Definition at line 73 of file RoadSearchEventFilter.cc.

{
}
void RoadSearchEventFilter::endJob ( void  ) [private, virtual]

Reimplemented from edm::EDFilter.

Definition at line 79 of file RoadSearchEventFilter.cc.

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

Implements edm::EDFilter.

Definition at line 46 of file RoadSearchEventFilter.cc.

References Exception, edm::Event::getByLabel(), edm::HandleBase::isValid(), numberOfSeeds_, edm::Handle< T >::product(), query::result, and seedCollectionLabel_.

{
   bool result = true; 

   const TrajectorySeedCollection *rsSeedCollection = 0;
   edm::Handle<TrajectorySeedCollection> rsSeedHandle;

   iEvent.getByLabel(seedCollectionLabel_,rsSeedHandle);

   if( rsSeedHandle.isValid() ){
     rsSeedCollection = rsSeedHandle.product();
   } else {
     throw cms::Exception("CorruptData")
       << "RoadSearchEventFilter requires collection reco::TrajectorySeedCollection with label " << seedCollectionLabel_ << "\n";
   }

   if (rsSeedCollection->size() > numberOfSeeds_) {
     result=false;
     edm::LogError("TooManySeeds") << "Found " << rsSeedCollection->size() << " seeds -> skip event.";
   }

   return result;

}

Member Data Documentation

unsigned int RoadSearchEventFilter::numberOfSeeds_ [private]

Definition at line 27 of file RoadSearchEventFilter.h.

Referenced by filter(), and RoadSearchEventFilter().

Definition at line 28 of file RoadSearchEventFilter.h.

Referenced by filter(), and RoadSearchEventFilter().