CMS 3D CMS Logo

Public Member Functions | Private Attributes

reco::MCMatchSelector< T1, T2 > Class Template Reference

#include <MCMatchSelector.h>

List of all members.

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
bool operator() (const T1 &c, const T2 &mc) const
 true if match is possible

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_.

                                                : 
      checkCharge_(cfg.getParameter<bool>("checkCharge")) { 
      std::vector<int> ids = 
        cfg.getParameter< std::vector<int> >("mcPdgId");
      for ( std::vector<int>::const_iterator i=ids.begin();
            i!=ids.end(); ++i )  ids_.insert(*i);
      std::vector<int> status = 
        cfg.getParameter< std::vector<int> >("mcStatus");
      for ( std::vector<int>::const_iterator i=status.begin();
            i!=status.end(); ++i )  status_.insert(*i);
    }
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_.

                                                : 
      checkCharge_(cfg.getParameter<bool>("checkCharge")) { 
      std::vector<int> ids = 
        cfg.getParameter< std::vector<int> >("mcPdgId");
      for ( std::vector<int>::const_iterator i=ids.begin();
            i!=ids.end(); ++i )  ids_.insert(*i);
      std::vector<int> status = 
        cfg.getParameter< std::vector<int> >("mcStatus");
      for ( std::vector<int>::const_iterator i=status.begin();
            i!=status.end(); ++i )  status_.insert(*i);
    }

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 abs, reco::MCMatchSelector< T1, T2 >::checkCharge_, reco::MCMatchSelector< T1, T2 >::ids_, and reco::MCMatchSelector< T1, T2 >::status_.

                                                         {
      if ( checkCharge_ && c.charge() != mc.charge() ) return false;
      if ( !ids_.empty() ) {
        if ( ids_.find(abs(mc.pdgId()))==ids_.end() )  return false;
      }
      if ( status_.empty() )  return true;
      return status_.find(mc.status())!=status_.end();
    }
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 abs, reco::MCMatchSelector< T1, T2 >::checkCharge_, reco::MCMatchSelector< T1, T2 >::ids_, and reco::MCMatchSelector< T1, T2 >::status_.

                                                         {
      if ( checkCharge_ && c.charge() != mc.charge() ) return false;
      if ( !ids_.empty() ) {
        if ( ids_.find(abs(mc.pdgId()))==ids_.end() )  return false;
      }
      if ( status_.empty() )  return true;
      return status_.find(mc.status())!=status_.end();
    }

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]