47 const std::unique_ptr<const ElectronMVAEstimator>
mvaID_;
59 .vweightsfiles = iConfig.
getParameter<std::vector<std::string> >(
"HZZmvaWeightFile")}))
61 produces<reco::GsfElectronCollection>();
70 auto mvaElectrons = std::make_unique<reco::GsfElectronCollection>();
74 int nVtx = vertexCollection->size();
79 for ( reco::GsfElectronCollection::const_iterator egIter = egCandidates.begin(); egIter != egCandidates.end(); ++egIter) {
80 double mvaVal =
mvaID_->mva( *egIter, nVtx );
81 double isoDr03 = egIter->dr03TkSumPt() + egIter->dr03EcalRecHitSumEt() + egIter->dr03HcalTowerSumEt();
82 double eleEta = fabs(egIter->eta());
const std::string path_mvaWeightFileEleID
T getParameter(std::string const &) const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
const std::vector< std::string > mvaWeightFileEleID
std::vector< Vertex > VertexCollection
collection of Vertex objects
const std::unique_ptr< const ElectronMVAEstimator > mvaID_
const double thresholdIsoBarrel
const double thresholdIsoEndcap
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
const edm::EDGetTokenT< reco::VertexCollection > vertexToken
const double thresholdBarrel
const double thresholdEndcap
void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override
T const * product() const
const edm::EDGetTokenT< reco::GsfElectronCollection > electronToken
~ElectronIdMVABased() override
ElectronIdMVABased(const edm::ParameterSet &)