59 ,
eOverPMax_ (iConfig.getParameter<double>(
"eOverPMax") )
60 ,
debug_ ( iConfig.getParameter<
bool>(
"debug") )
64 produces<reco::PFCandidateCollection>(
"muons");
91 bool foundMuon =
false;
93 auto pOutputCandidateCollection = std::make_unique<reco::PFCandidateCollection>();
95 for(
unsigned i=0;
i<pfCandidates->size();
i++ ) {
107 double eOverP = totalCaloEnergy/cand.
p();
114 pOutputCandidateCollection->push_back( cand );
117 cout<<cand<<
" HCAL E="<<endl;
120 cout<<
"\t"<<
"E/p "<<eOverP<<endl;
124 iEvent.
put(
std::move(pOutputCandidateCollection),
"muons");
126 bool pass = !foundMuon;
128 iEvent.
put(std::make_unique<bool>(pass));
static bool isIsolatedMuon(const reco::PFBlockElement &elt)
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
double rawEcalEnergy() const
return corrected Ecal energy
~GreedyMuonPFCandidateFilter() override
bool getByToken(EDGetToken token, Handle< PROD > &result) const
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
#define DEFINE_FWK_MODULE(type)
const edm::EDGetTokenT< reco::PFCandidateCollection > tokenPFCandidates_
bool filter(edm::Event &, const edm::EventSetup &) override
reco::MuonRef muonRef() const
std::vector< reco::PFCandidate > PFCandidateCollection
collection of PFCandidates
double p() const final
magnitude of momentum vector
GreedyMuonPFCandidateFilter(const edm::ParameterSet &)
Particle reconstructed by the particle flow algorithm.
virtual ParticleType particleId() const
double rawHcalEnergy() const
return raw Hcal energy