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
muons
the two sets of parameters below are mutually exclusive, depending if RECO or ALCARECO is used the us...
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.