1 #ifndef HepMCCandAlgos_MCTruthPairSelector_h
2 #define HepMCCandAlgos_MCTruthPairSelector_h
20 for(
I i = begin;
i !=
end; ++
i )
24 if ( mc.
status() != 1 )
return false;
49 std::vector<std::string> bools = cfg.template getParameterNamesForType<bool>();
51 if (found) ck = cfg.template getParameter<bool>(
checkCharge );
52 typedef std::vector<int>
vint;
53 std::vector<std::string> ints = cfg.template getParameterNamesForType<vint>();
54 found =
find( ints.begin(), ints.end(), matchPDGId ) != ints.end();
56 vint ids = cfg.template getParameter<vint>( matchPDGId );
virtual int status() const =0
status word
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
static helpers::MCTruthPairSelector< T > make(const edm::ParameterSet &cfg)
Abs< T >::type abs(const T &t)
const std::complex< double > I
virtual int charge() const =0
electric charge
virtual int pdgId() const =0
PDG identifier.
MCTruthPairSelector(bool checkCharge=false)
MCTruthPairSelector(const I &begin, const I &end, bool checkCharge=false)
bool operator()(const T &c, const reco::Candidate &mc) const
std::set< int > matchIds_