38 theMuonCollectionLabel(par.getParameter<
InputTag>(
"inputMuonCollection")),
39 optOutputIsoDeposits(par.getParameter<
bool>(
"OutputMuIsoDeposits")),
41 LogDebug(
"RecoMuon|L3MuonIsolationProducer") <<
" L3MuonIsolationProducer CTOR";
46 produces<reco::IsoDepositMap>();
47 produces<edm::ValueMap<bool>>();
56 theExtractor = std::unique_ptr<reco::isodeposit::IsoDepositExtractor>{
65 if (cutsName ==
"SimpleCuts") {
71 (cutsName ==
"L3NominalEfficiencyCuts_PXLS") || (cutsName ==
"L3NominalEfficiencyCuts_TRKS")) {
74 LogError(
"L3MuonIsolationProducer::beginJob") <<
"cutsName: " << cutsPSet <<
" is not recognized:" 75 <<
" theCuts not set!";
86 LogDebug(
"RecoMuon|L3MuonIsolationProducer") <<
" L3MuonIsolationProducer DTOR";
93 <<
" BEGINING OF EVENT " 94 <<
"================================";
101 auto depMap = std::make_unique<reco::IsoDepositMap>();
102 auto isoMap = std::make_unique<edm::ValueMap<bool>>();
112 std::vector<bool> isos(
nMuons,
false);
114 for (
unsigned int i = 0;
i <
nMuons;
i++) {
128 for (
unsigned int iMu = 0; iMu <
nMuons; ++iMu) {
137 double value = sumAndCount.first;
138 int count = sumAndCount.second;
163 <<
"================================";
edm::InputTag theMuonCollectionLabel
T getParameter(std::string const &) const
muonisolation::Cuts theCuts
const std::string metname
double optOutputIsoDeposits
void insert(const H &h, I begin, I end)
muonisolation::Cuts cuts() const
~L3MuonIsolationProducer() override
destructor
Log< level::Error, false > LogError
bool theApplyCutsORmaxNTracks
apply or not the maxN cut on top of the sumPt (or nominall eff) < cuts
std::string print() const
edm::EDGetTokenT< reco::RecoChargedCandidateCollection > theMuonCollectionToken
L3MuonIsolationProducer(const edm::ParameterSet &)
constructor with config
std::unique_ptr< reco::isodeposit::IsoDepositExtractor > theExtractor
std::string print() const
void produce(edm::Event &, const edm::EventSetup &) override
Produce isolation maps.
edm::ParameterSet theConfig
std::pair< double, int > depositAndCountWithin(double coneSize, const Vetos &vetos=Vetos(), double threshold=-1e+36, bool skipDepositVeto=false) const
Get deposit.