6 #include <boost/ptr_container/ptr_vector.hpp>
29 if (mode ==
"and")
isAnd_ =
true;
30 else if (mode ==
"or")
isAnd_ =
false;
31 else throw cms::Exception(
"Configuration",
"Parameter 'mode' of CombinedSeedComparitor must be either 'and' or 'or'\n");
33 typedef std::vector<edm::ParameterSet>
VPSet;
35 for (VPSet::const_iterator it = psets.begin(), ed = psets.end(); it != ed; ++it) {
47 typedef boost::ptr_vector<SeedComparitor>::iterator ITC;
56 typedef boost::ptr_vector<SeedComparitor>::const_iterator ITC;
58 bool pass = it->compatible(hits);
59 if (
isAnd_ != pass)
return pass;
68 typedef boost::ptr_vector<SeedComparitor>::const_iterator ITC;
70 bool pass = it->compatible(tsos, hit);
71 if (
isAnd_ != pass)
return pass;
81 typedef boost::ptr_vector<SeedComparitor>::const_iterator ITC;
83 bool pass = it->compatible(hits, helixStateAtVertex, helix);
84 if (
isAnd_ != pass)
return pass;
T getParameter(std::string const &) const
virtual bool compatible(const SeedingHitSet &hits) const override
BaseTrackerRecHit const * ConstRecHitPointer
virtual void init(const edm::Event &ev, const edm::EventSetup &es) override
virtual ~CombinedSeedComparitor()
#define DEFINE_EDM_PLUGIN(factory, type, name)
boost::ptr_vector< SeedComparitor > comparitors_
T get(const Candidate &c)
CombinedSeedComparitor(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC)