Go to the documentation of this file.
11 if (conf.
exists(
"tracker"))
21 <<
"MultiIsolator: you can't specify both 'calo' isolation and 'ecal'/'hcal', "
22 <<
"as the 'calo' isolation flag is just the logical OR of 'ecal' and 'hcal'.\n";
24 if (conf.
exists(
"pfAllParticles"))
27 if (conf.
exists(
"pfChargedHadron"))
33 if (conf.
exists(
"pfNeutralHadron"))
39 if (conf.
exists(
"pfGamma"))
42 std::vector<edm::ParameterSet> psets = conf.
getParameter<std::vector<edm::ParameterSet> >(
"user");
43 if (psets.size() > 5) {
44 throw cms::Exception(
"Configuration") <<
"MultiIsolator: you can specify at most 5 user isolation collections.\n";
47 for (std::vector<edm::ParameterSet>::const_iterator it = psets.begin(), ed = psets.end(); it != ed;
65 if (conf.
exists(
"deltaR")) {
81 (*it)->beginEvent(
event, eventSetup);
101 std::ostringstream isoSumm;
103 return isoSumm.str();
const TkSoA *__restrict__ CAHitNtupletGeneratorKernelsGPU::QualityCuts cuts
static BaseIsolator * make(const edm::ParameterSet &conf, edm::ConsumesCollector &iC, bool withCut)
Flags used in PAT, and static translator from flags to strings.
static const std::string & bitToString(uint32_t bit)
bool exists(std::string const ¶meterName) const
checks if a parameter exists
void addIsolator(BaseIsolator *iso, uint32_t mask, pat::IsolationKeys key)
std::string printSummary() const
void print(std::ostream &out) const
IsolationKeys
Enum defining isolation keys.
void beginEvent(const edm::Event &event, const edm::EventSetup &eventSetup)
T getParameter(std::string const &) const
std::vector< pat::IsolationKeys > keys_
std::vector< uint32_t > masks_
std::vector< std::unique_ptr< BaseIsolator > > isolators_