CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
MuonSelectorVertex Class Reference
Inheritance diagram for MuonSelectorVertex:
edm::EDProducer edm::ProducerBase edm::ProductRegistryHelper

Public Member Functions

 MuonSelectorVertex (const edm::ParameterSet &iConfig)
 
virtual void produce (edm::Event &iEvent, const edm::EventSetup &iSetup)
 
 ~MuonSelectorVertex ()
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
virtual ~EDProducer ()
 
- Public Member Functions inherited from edm::ProducerBase
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
boost::function< void(const
BranchDescription &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 

Private Attributes

double maxDZ_
 
edm::InputTag muonSource_
 
edm::InputTag vertexSource_
 

Additional Inherited Members

- Public Types inherited from edm::EDProducer
typedef EDProducer ModuleType
 
typedef WorkerT< EDProducerWorkerType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDProducer
CurrentProcessingContext const * currentContext () const
 
- Protected Member Functions inherited from edm::ProducerBase
template<class TProducer , class TMethod >
void callWhenNewProductsRegistered (TProducer *iProd, TMethod iMethod)
 

Detailed Description

Definition at line 11 of file MuonSelectorVertex.cc.

Constructor & Destructor Documentation

MuonSelectorVertex::MuonSelectorVertex ( const edm::ParameterSet iConfig)
explicit

Definition at line 36 of file MuonSelectorVertex.cc.

37 : muonSource_( iConfig.getParameter< edm::InputTag >( "muonSource" ) )
38 , vertexSource_( iConfig.getParameter< edm::InputTag >( "vertexSource" ) )
39 , maxDZ_( iConfig.getParameter< double >( "maxDZ" ) )
40 {
41 
42  produces< std::vector< pat::Muon > >();
43 
44 }
T getParameter(std::string const &) const
edm::InputTag muonSource_
edm::InputTag vertexSource_
MuonSelectorVertex::~MuonSelectorVertex ( )
inline

Definition at line 16 of file MuonSelectorVertex.cc.

16 {};

Member Function Documentation

void MuonSelectorVertex::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
virtual

Implements edm::EDProducer.

Definition at line 47 of file MuonSelectorVertex.cc.

References edm::Event::getByLabel(), maxDZ_, patZpeak::muons, muonSource_, edm::Event::put(), ValidateTausOnRealMuonsData_cff::selectedMuons, and vertexSource_.

48 {
49 
51  iEvent.getByLabel( muonSource_, muons );
52 
54  iEvent.getByLabel( vertexSource_, vertices );
55 
56  std::vector< pat::Muon > * selectedMuons( new std::vector< pat::Muon > );
57 
58  if ( vertices->size() > 0 ) {
59 
60  for ( unsigned iMuon = 0; iMuon < muons->size(); ++iMuon ) {
61  if ( std::fabs( muons->at( iMuon ).vertex().z() - vertices->at( 0 ).z() ) < maxDZ_ ) {
62  selectedMuons->push_back( muons->at( iMuon ) );
63  }
64  }
65  }
66 
67  std::auto_ptr< std::vector< pat::Muon > > selectedMuonsPtr( selectedMuons );
68  iEvent.put( selectedMuonsPtr );
69 
70 }
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
Definition: Event.h:85
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:356
edm::InputTag muonSource_
edm::InputTag vertexSource_
tuple muons
Definition: patZpeak.py:38

Member Data Documentation

double MuonSelectorVertex::maxDZ_
private

Definition at line 23 of file MuonSelectorVertex.cc.

Referenced by produce().

edm::InputTag MuonSelectorVertex::muonSource_
private

Definition at line 21 of file MuonSelectorVertex.cc.

Referenced by produce().

edm::InputTag MuonSelectorVertex::vertexSource_
private

Definition at line 22 of file MuonSelectorVertex.cc.

Referenced by produce().