Skip to content

Commit 84db7be

Browse files
authored
Merge pull request #47359 from mmusich/mm_fix_ObjectSelectorBase_throwOnMissing
fix `throwOnMissing` logic in `ObjectSelectorBase`
2 parents 6260daa + b76319c commit 84db7be

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

CommonTools/UtilAlgos/interface/ObjectSelectorBase.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class ObjectSelectorBase : public Base {
4040
srcToken_(
4141
this->template consumes<typename Selector::collection>(cfg.template getParameter<edm::InputTag>("src"))),
4242
filter_(false),
43-
throwOnMissing_(cfg.template getUntrackedParameter<bool>("throwOnMissing", true)),
43+
throwOnMissing_(cfg.getUntrackedParameter<bool>("throwOnMissing", true)),
4444
selectorInit_(this->consumesCollector()),
4545
selector_(cfg, this->consumesCollector()),
4646
sizeSelector_(reco::modules::make<SizeSelector>(cfg)),
@@ -69,10 +69,13 @@ class ObjectSelectorBase : public Base {
6969
bool filter(edm::Event& evt, const edm::EventSetup& es) override {
7070
selectorInit_.init(selector_, evt, es);
7171
edm::Handle<typename Selector::collection> source;
72+
evt.getByToken(srcToken_, source);
73+
// if throwOnMissing is false, but the input source is not valid
74+
// allow all events to pass
7275
if (!throwOnMissing_ && !source.isValid()) {
7376
return !filter_;
7477
}
75-
evt.getByToken(srcToken_, source);
78+
7679
StoreManager manager(source);
7780
selector_.select(source, evt, es);
7881
manager.cloneAndStore(selector_.begin(), selector_.end(), evt);

0 commit comments

Comments
 (0)