6 #include <boost/ptr_container/ptr_vector.hpp>
34 if (mode ==
"and")
isAnd_ =
true;
35 else if (mode ==
"or")
isAnd_ =
false;
36 else throw cms::Exception(
"Configuration",
"Parameter 'mode' of CombinedSeedComparitor must be either 'and' or 'or'\n");
38 typedef std::vector<edm::ParameterSet> VPSet;
40 for (VPSet::const_iterator it = psets.begin(), ed = psets.end(); it != ed; ++it) {
52 typedef boost::ptr_vector<SeedComparitor>::iterator ITC;
61 typedef boost::ptr_vector<SeedComparitor>::const_iterator ITC;
63 bool pass = it->compatible(hits, region);
64 if (
isAnd_ != pass)
return pass;
72 typedef boost::ptr_vector<SeedComparitor>::const_iterator ITC;
74 bool pass = it->compatible(seed);
75 if (
isAnd_ != pass)
return pass;
84 typedef boost::ptr_vector<SeedComparitor>::const_iterator ITC;
86 bool pass = it->compatible(tsos, hit);
87 if (
isAnd_ != pass)
return pass;
98 typedef boost::ptr_vector<SeedComparitor>::const_iterator ITC;
100 bool pass = it->compatible(hits, helixStateAtVertex, helix, region);
101 if (
isAnd_ != pass)
return pass;
111 typedef boost::ptr_vector<SeedComparitor>::const_iterator ITC;
113 bool pass = it->compatible(hits, straightLineStateAtVertex, region);
114 if (
isAnd_ != pass)
return pass;
T getParameter(std::string const &) const
BaseTrackerRecHit const * ConstRecHitPointer
virtual void init(const edm::Event &ev, const edm::EventSetup &es) override
virtual ~CombinedSeedComparitor()
#define DEFINE_EDM_PLUGIN(factory, type, name)
virtual bool compatible(const SeedingHitSet &hits, const TrackingRegion ®ion) const override
boost::ptr_vector< SeedComparitor > comparitors_
T get(const Candidate &c)
CombinedSeedComparitor(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC)