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
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(), i, reco::MCMatchSelector< T1, T2 >::ids_, ntuplemaker::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
int i
Definition: DBlmapReader.cc:9
std::set< int > ids_
std::set< int > status_
tuple status
Definition: ntuplemaker.py:245
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(), i, reco::MCMatchSelector< T1, T2 >::ids_, ntuplemaker::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
int i
Definition: DBlmapReader.cc:9
std::set< int > ids_
std::set< int > status_
tuple status
Definition: ntuplemaker.py:245

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 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
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 37 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