15 cutBasedAlgo_->setup(conf);
32 reco::PhotonCollection::const_iterator photon;
33 std::vector<bool> Loose;
34 std::vector<bool> Tight;
35 std::vector<bool> LooseEM;
36 for (photon = (*photons).begin(); photon != (*photons).end(); ++photon) {
44 LooseEM.push_back(LooseEMQual);
45 Loose.push_back(LooseQual);
46 Tight.push_back(TightQual);
49 auto outlooseEM = std::make_unique<edm::ValueMap<bool>>();
51 fillerlooseEM.insert(photons, LooseEM.begin(), LooseEM.end());
56 auto outloose = std::make_unique<edm::ValueMap<bool>>();
58 fillerloose.insert(photons, Loose.begin(), Loose.end());
63 auto outtight = std::make_unique<edm::ValueMap<bool>>();
65 fillertight.insert(photons, Tight.begin(), Tight.end());
void decideEE(const reco::Photon *pho, bool &LooseEM, bool &LoosePhoton, bool &TightPhoton)
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
const edm::EventSetup & c
bool getByToken(EDGetToken token, Handle< PROD > &result) const
PhotonIDProducer(const edm::ParameterSet &conf)
void decideEB(const reco::Photon *pho, bool &LooseEM, bool &LoosePhoton, bool &TightPhoton)
CutBasedPhotonIDAlgo * cutBasedAlgo_
void produce(edm::Event &e, const edm::EventSetup &c) override
std::string photonCutBasedIDLooseLabel_
T getParameter(std::string const &) const
std::string photonCutBasedIDLooseEMLabel_
std::string photonCutBasedIDTightLabel_
~PhotonIDProducer() override
edm::EDGetTokenT< reco::PhotonCollection > photonToken_