CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
reco::MCMatchSelector< T1, T2 > Class Template Reference

#include <MCMatchSelector.h>

Public Member Functions

 MCMatchSelector (const edm::ParameterSet &cfg)
 
 MCMatchSelector (const edm::ParameterSet &cfg)
 
bool operator() (const T1 &c, const T2 &mc) const
 true if match is possible More...
 
bool operator() (const T1 &c, const T2 &mc) const
 true if match is possible More...
 

Private Attributes

bool checkCharge_
 
std::set< int > ids_
 
std::set< int > status_
 

Detailed Description

template<typename T1, typename T2>
class reco::MCMatchSelector< T1, T2 >

Definition at line 14 of file MCMatchSelector.h.

Constructor & Destructor Documentation

template<typename T1 , typename T2 >
reco::MCMatchSelector< T1, T2 >::MCMatchSelector ( const edm::ParameterSet cfg)
inline

Definition at line 16 of file MCMatchSelector.h.

References edm::ParameterSet::getParameter(), mps_fire::i, photons_cff::ids, reco::MCMatchSelector< T1, T2 >::ids_, mps_update::status, and reco::MCMatchSelector< T1, T2 >::status_.

16  : checkCharge_(cfg.getParameter<bool>("checkCharge")) {
17  std::vector<int> ids = cfg.getParameter<std::vector<int> >("mcPdgId");
18  for (std::vector<int>::const_iterator i = ids.begin(); i != ids.end(); ++i)
19  ids_.insert(*i);
20  std::vector<int> status = cfg.getParameter<std::vector<int> >("mcStatus");
21  for (std::vector<int>::const_iterator i = status.begin(); i != status.end(); ++i)
22  status_.insert(*i);
23  }
T getParameter(std::string const &) const
std::set< int > ids_
std::set< int > status_
template<typename T1 , typename T2 >
reco::MCMatchSelector< T1, T2 >::MCMatchSelector ( const edm::ParameterSet cfg)
inline

Definition at line 16 of file MCMatchSelector.h.

References edm::ParameterSet::getParameter(), mps_fire::i, photons_cff::ids, reco::MCMatchSelector< T1, T2 >::ids_, mps_update::status, and reco::MCMatchSelector< T1, T2 >::status_.

16  :
17  checkCharge_(cfg.getParameter<bool>("checkCharge")) {
18  std::vector<int> ids =
19  cfg.getParameter< std::vector<int> >("mcPdgId");
20  for ( std::vector<int>::const_iterator i=ids.begin();
21  i!=ids.end(); ++i ) ids_.insert(*i);
22  std::vector<int> status =
23  cfg.getParameter< std::vector<int> >("mcStatus");
24  for ( std::vector<int>::const_iterator i=status.begin();
25  i!=status.end(); ++i ) status_.insert(*i);
26  }
T getParameter(std::string const &) const
std::set< int > ids_
std::set< int > status_

Member Function Documentation

template<typename T1 , typename T2 >
bool reco::MCMatchSelector< T1, T2 >::operator() ( const T1 &  c,
const T2 &  mc 
) const
inline

true if match is possible

Definition at line 25 of file MCMatchSelector.h.

References funct::abs(), reco::MCMatchSelector< T1, T2 >::checkCharge_, reco::MCMatchSelector< T1, T2 >::ids_, and reco::MCMatchSelector< T1, T2 >::status_.

25  {
26  if (checkCharge_ && c.charge() != mc.charge())
27  return false;
28  if (!ids_.empty()) {
29  if (ids_.find(abs(mc.pdgId())) == ids_.end())
30  return false;
31  }
32  if (status_.empty())
33  return true;
34  return status_.find(mc.status()) != status_.end();
35  }
std::set< int > ids_
std::set< int > status_
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
template<typename T1 , typename T2 >
bool reco::MCMatchSelector< T1, T2 >::operator() ( const T1 &  c,
const T2 &  mc 
) const
inline

true if match is possible

Definition at line 28 of file MCMatchSelector.h.

References funct::abs(), reco::MCMatchSelector< T1, T2 >::checkCharge_, reco::MCMatchSelector< T1, T2 >::ids_, and reco::MCMatchSelector< T1, T2 >::status_.

28  {
29  if ( checkCharge_ && c.charge() != mc.charge() ) return false;
30  if ( !ids_.empty() ) {
31  if ( ids_.find(abs(mc.pdgId()))==ids_.end() ) return false;
32  }
33  if ( status_.empty() ) return true;
34  return status_.find(mc.status())!=status_.end();
35  }
std::set< int > ids_
std::set< int > status_
Abs< T >::type abs(const T &t)
Definition: Abs.h:22

Member Data Documentation

template<typename T1 , typename T2 >
bool reco::MCMatchSelector< T1, T2 >::checkCharge_
private

Definition at line 38 of file MCMatchSelector.h.

Referenced by reco::MCMatchSelector< T1, T2 >::operator()().

template<typename T1 , typename T2 >
std::set< int > reco::MCMatchSelector< T1, T2 >::ids_
private
template<typename T1 , typename T2 >
std::set< int > reco::MCMatchSelector< T1, T2 >::status_
private