CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
SelectionStep< Object > Class Template Reference

Templated helper class to allow a selection on a certain object collection. More...

#include <TopDQMHelpers.h>

Public Member Functions

bool select (const edm::Event &event)
 apply selection More...
 
bool select (const edm::Event &event, const std::string &type)
 apply selection with special treatment for PFCandidates More...
 
bool select (const edm::Event &event, const edm::EventSetup &setup)
 apply selection override for jets More...
 
 SelectionStep (const edm::ParameterSet &cfg, edm::ConsumesCollector &&iC)
 default constructor More...
 
bool selectVertex (const edm::Event &event)
 
 ~SelectionStep ()
 default destructor More...
 

Private Attributes

edm::EDGetTokenT< reco::JetTagCollectionbtagLabel_
 choice for b-tag as extra selection type More...
 
double btagWorkingPoint_
 choice of b-tag working point as extra selection type More...
 
double eidCutValue_
 
edm::EDGetTokenT< edm::ValueMap< float > > electronId_
 electronId label as extra selection type More...
 
edm::EDGetTokenT< edm::View< reco::GsfElectron > > gsfEs_
 
std::string jetCorrector_
 jet corrector as extra selection type More...
 
edm::EDGetTokenT< reco::JetIDValueMapjetIDLabel_
 jetID as an extra selection type More...
 
StringCutObjectSelector< reco::JetID > * jetIDSelect_
 selection string on the jetID More...
 
int max_
 
int min_
 min/max for object multiplicity More...
 
edm::EDGetTokenT< edm::View< reco::Vertex > > pvs_
 
StringCutObjectSelector< Object > select_
 string cut selector More...
 
edm::EDGetTokenT< edm::View< Object > > src_
 input collection More...
 

Detailed Description

template<typename Object>
class SelectionStep< Object >

Templated helper class to allow a selection on a certain object collection.

"DQM/Physics/interface/TopDQMHelpers.h"

Templated helper class to allow a selection on a certain object collection, which may be monitored by a separate class afterwards. The class wraps and slightly extends the features of the StringCutParser to allow also to apply event based selections, according to a minimal or maximal number of elements in the collection after the object selection has been applied. It takes an edm::ParameterSet in the constructor, which should contain the following elements:

The parameters src and select are mandatory. The parameters min and max are optional. The parameters electronId and jetCorrector are optional. They are added to keep the possibility to apply selections on id'ed electrons or on corrected jets. They may be omitted in the PSet for simplification reasons if not needed at any time. They are not effiective for other object collections but electrons or jets. If none of the two parameters min or max is found in the event the select function returns true if at least one object fullfilled the requirements.

The class has one template value, which is the object collection to apply the selection on. This has to be parsed to the StringCutParser class. The function select is overrided for jets to circumvent problems with the template specialisation. Note that for MET not type1 or muon corrections are supported on reco candidates.

Definition at line 237 of file TopDQMHelpers.h.

Constructor & Destructor Documentation

template<typename Object >
SelectionStep< Object >::SelectionStep ( const edm::ParameterSet cfg,
edm::ConsumesCollector &&  iC 
)

default constructor

Definition at line 289 of file TopDQMHelpers.h.

References SelectionStep< Object >::btagLabel_, SelectionStep< Object >::btagWorkingPoint_, SelectionStep< Object >::eidCutValue_, SelectionStep< Object >::electronId_, edm::ParameterSet::exists(), edm::ParameterSet::existsAs(), edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), SelectionStep< Object >::gsfEs_, SelectionStep< Object >::jetCorrector_, singleTopDQM_cfi::jetID, SelectionStep< Object >::jetIDLabel_, SelectionStep< Object >::jetIDSelect_, SelectionStep< Object >::max_, SelectionStep< Object >::min_, SelectionStep< Object >::src_, and AlCaHLTBitMon_QueryRunRegistry::string.

290  : select_(cfg.getParameter<std::string>("select")), jetIDSelect_(nullptr) {
292  // exist otherwise they are initialized with -1
293  cfg.exists("min") ? min_ = cfg.getParameter<int>("min") : min_ = -1;
294  cfg.exists("max") ? max_ = cfg.getParameter<int>("max") : max_ = -1;
295  std::string mygSF = "gedGsfElectrons";
297  if (cfg.existsAs<edm::ParameterSet>("electronId")) {
298  edm::ParameterSet elecId = cfg.getParameter<edm::ParameterSet>("electronId");
300  eidCutValue_ = elecId.getParameter<double>("cutValue");
301  }
302  if (cfg.exists("jetCorrector")) {
303  jetCorrector_ = cfg.getParameter<std::string>("jetCorrector");
304  }
305  if (cfg.existsAs<edm::ParameterSet>("jetBTagger")) {
306  edm::ParameterSet jetBTagger = cfg.getParameter<edm::ParameterSet>("jetBTagger");
308  btagWorkingPoint_ = jetBTagger.getParameter<double>("workingPoint");
309  }
310  if (cfg.existsAs<edm::ParameterSet>("jetID")) {
314  }
315 }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
bool existsAs(std::string const &parameterName, bool trackiness=true) const
checks if a parameter exists as a given type
Definition: ParameterSet.h:160
edm::EDGetTokenT< edm::ValueMap< float > > electronId_
electronId label as extra selection type
bool exists(std::string const &parameterName) const
checks if a parameter exists
edm::EDGetTokenT< edm::View< reco::GsfElectron > > gsfEs_
int min_
min/max for object multiplicity
edm::EDGetTokenT< reco::JetTagCollection > btagLabel_
choice for b-tag as extra selection type
double eidCutValue_
double btagWorkingPoint_
choice of b-tag working point as extra selection type
edm::EDGetTokenT< edm::View< Object > > src_
input collection
StringCutObjectSelector< reco::JetID > * jetIDSelect_
selection string on the jetID
std::string jetCorrector_
jet corrector as extra selection type
StringCutObjectSelector< Object > select_
string cut selector
edm::EDGetTokenT< reco::JetIDValueMap > jetIDLabel_
jetID as an extra selection type
template<typename Object >
SelectionStep< Object >::~SelectionStep ( )
inline

default destructor

Definition at line 242 of file TopDQMHelpers.h.

References singleTopDQM_cfi::select, singleTopDQM_cfi::setup, and AlCaHLTBitMon_QueryRunRegistry::string.

242 {};

Member Function Documentation

template<typename Object >
bool SelectionStep< Object >::select ( const edm::Event event)

apply selection

Definition at line 319 of file TopDQMHelpers.h.

References accept(), SelectionStep< Object >::eidCutValue_, topSingleLeptonDQM_PU_cfi::electronId, SelectionStep< Object >::electronId_, edm::Event::getByToken(), training_settings::idx, edm::EDGetTokenT< T >::isUninitialized(), SelectionStep< Object >::max_, SelectionStep< Object >::min_, dqmiodumpmetadata::n, getGTfromDQMFile::obj, SelectionStep< Object >::select_, TrackRefitter_38T_cff::src, and SelectionStep< Object >::src_.

Referenced by Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::find(), Vispa.Views.LineDecayView.LineDecayContainer::mousePressEvent(), Vispa.Gui.PortConnection.PointToPointConnection::mousePressEvent(), Vispa.Gui.VispaWidget.VispaWidget::mousePressEvent(), and Vispa.Views.AbstractView.AbstractView::restoreSelection().

319  {
320  // fetch input collection
322  if (!event.getByToken(src_, src))
323  return false;
324 
325  // load electronId value map if configured such
327  if (!electronId_.isUninitialized()) {
328  if (!event.getByToken(electronId_, electronId))
329  return false;
330  }
331 
332  // determine multiplicity of selected objects
333  int n = 0;
334  for (typename edm::View<Object>::const_iterator obj = src->begin(); obj != src->end(); ++obj) {
335  // special treatment for electrons
336  if (dynamic_cast<const reco::GsfElectron*>(&*obj)) {
337  unsigned int idx = obj - src->begin();
338  if (electronId_.isUninitialized() ? true : ((double)(*electronId)[src->refAt(idx)] >= eidCutValue_)) {
339  if (select_(*obj))
340  ++n;
341  }
342  }
343  // normal treatment
344  else {
345  if (select_(*obj))
346  ++n;
347  }
348  }
349  bool accept = (min_ >= 0 ? n >= min_ : true) && (max_ >= 0 ? n <= max_ : true);
350  return (min_ < 0 && max_ < 0) ? (n > 0) : accept;
351 }
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
edm::EDGetTokenT< edm::ValueMap< float > > electronId_
electronId label as extra selection type
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:30
electronId
when omitted electron plots will be filled w/o cut on electronId
int min_
min/max for object multiplicity
double eidCutValue_
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
Definition: View.h:86
bool isUninitialized() const
Definition: EDGetToken.h:70
edm::EDGetTokenT< edm::View< Object > > src_
input collection
StringCutObjectSelector< Object > select_
string cut selector
template<typename Object >
bool SelectionStep< Object >::select ( const edm::Event event,
const std::string &  type 
)

apply selection with special treatment for PFCandidates

Definition at line 355 of file TopDQMHelpers.h.

References accept(), SelectionStep< Object >::eidCutValue_, topSingleLeptonDQM_PU_cfi::electronId, SelectionStep< Object >::electronId_, edm::Event::getByToken(), reco::PFCandidate::gsfElectronRef(), training_settings::idx, edm::Ref< C, T, F >::isNonnull(), edm::EDGetTokenT< T >::isUninitialized(), SelectionStep< Object >::max_, SelectionStep< Object >::min_, reco::PFCandidate::muonRef(), dqmiodumpmetadata::n, getGTfromDQMFile::obj, SelectionStep< Object >::select_, TrackRefitter_38T_cff::src, and SelectionStep< Object >::src_.

Referenced by Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::find(), Vispa.Views.LineDecayView.LineDecayContainer::mousePressEvent(), Vispa.Gui.PortConnection.PointToPointConnection::mousePressEvent(), Vispa.Gui.VispaWidget.VispaWidget::mousePressEvent(), and Vispa.Views.AbstractView.AbstractView::restoreSelection().

355  {
356  // fetch input collection
358  if (!event.getByToken(src_, src))
359  return false;
360 
361  // special for gsfElectron
363 
364  // load electronId value map if configured such
366  if (!electronId_.isUninitialized()) {
367  if (!event.getByToken(electronId_, electronId))
368  return false;
369  }
370 
371  // determine multiplicity of selected objects
372  int n = 0;
373  for (typename edm::View<Object>::const_iterator obj = src->begin(); obj != src->end(); ++obj) {
374  // special treatment for PF candidates
375  if (dynamic_cast<const reco::PFCandidate*>(&*obj)) {
376  reco::PFCandidate objtmp = dynamic_cast<const reco::PFCandidate&>(*obj);
377 
378  if (objtmp.muonRef().isNonnull() && type == "muon") {
379  if (select_(*obj)) {
380  ++n;
381  }
382  } else if (objtmp.gsfElectronRef().isNonnull() && type == "electron") {
383  if (select_(*obj)) {
385  ++n;
386  } else if (((double)(*electronId)[obj->gsfElectronRef()] >= eidCutValue_)) {
387  ++n;
388  }
389  }
390  // idx_gsf++;
391  }
392  }
393 
394  // special treatment for electrons
395  else if (dynamic_cast<const reco::GsfElectron*>(&*obj)) {
396  unsigned int idx = obj - src->begin();
397  if (electronId_.isUninitialized() ? true : ((double)(*electronId)[src->refAt(idx)] >= eidCutValue_)) {
398  if (select_(*obj))
399  ++n;
400  }
401  }
402 
403  // normal treatment
404  else {
405  if (select_(*obj))
406  ++n;
407  }
408  }
409  bool accept = (min_ >= 0 ? n >= min_ : true) && (max_ >= 0 ? n <= max_ : true);
410  return (min_ < 0 && max_ < 0) ? (n > 0) : accept;
411 }
type
Definition: HCALResponse.h:21
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:238
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
edm::EDGetTokenT< edm::ValueMap< float > > electronId_
electronId label as extra selection type
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:30
electronId
when omitted electron plots will be filled w/o cut on electronId
int min_
min/max for object multiplicity
reco::GsfElectronRef gsfElectronRef() const
return a reference to the corresponding GsfElectron if any
Definition: PFCandidate.cc:530
double eidCutValue_
reco::MuonRef muonRef() const
Definition: PFCandidate.cc:421
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:40
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
Definition: View.h:86
bool isUninitialized() const
Definition: EDGetToken.h:70
edm::EDGetTokenT< edm::View< Object > > src_
input collection
StringCutObjectSelector< Object > select_
string cut selector
template<typename Object >
bool SelectionStep< Object >::select ( const edm::Event event,
const edm::EventSetup setup 
)

apply selection override for jets

apply selection (w/o using the template class Object), override for jets

Definition at line 439 of file TopDQMHelpers.h.

References accept(), SelectionStep< Object >::btagLabel_, SelectionStep< Object >::btagWorkingPoint_, JetCorrector::correction(), mitigatedMETSequence_cff::corrector, edm::EventSetup::find(), edm::Event::getByToken(), JetCorrector::getJetCorrector(), training_settings::idx, edm::EDGetTokenT< T >::isUninitialized(), metsig::jet, SelectionStep< Object >::jetCorrector_, singleTopDQM_cfi::jetID, SelectionStep< Object >::jetIDLabel_, SelectionStep< Object >::jetIDSelect_, SelectionStep< Object >::max_, SelectionStep< Object >::min_, dqmiodumpmetadata::n, getGTfromDQMFile::obj, SelectionStep< Object >::pvs_, SelectionStep< Object >::select_, TrackRefitter_38T_cff::src, and SelectionStep< Object >::src_.

Referenced by Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::find(), Vispa.Views.LineDecayView.LineDecayContainer::mousePressEvent(), Vispa.Gui.PortConnection.PointToPointConnection::mousePressEvent(), Vispa.Gui.VispaWidget.VispaWidget::mousePressEvent(), and Vispa.Views.AbstractView.AbstractView::restoreSelection().

439  {
440  // fetch input collection
442  if (!event.getByToken(src_, src))
443  return false;
444 
445  // load btag collection if configured such
446  // NOTE that the JetTagCollection needs an
447  // edm::View to reco::Jets; we have to add
448  // another Handle bjets for this purpose
452  if (!btagLabel_.isUninitialized()) {
453  if (!event.getByToken(src_, bjets))
454  return false;
455  if (!event.getByToken(btagLabel_, btagger))
456  return false;
457  if (!event.getByToken(pvs_, pvertex))
458  return false;
459  }
460 
461  // load jetID value map if configured such
463  if (jetIDSelect_) {
464  if (!event.getByToken(jetIDLabel_, jetID))
465  return false;
466  }
467 
468  // load jet corrector if configured such
469  const JetCorrector* corrector = nullptr;
470  if (!jetCorrector_.empty()) {
471  // check whether a jet correcto is in the event setup or not
472  if (setup.find(edm::eventsetup::EventSetupRecordKey::makeKey<JetCorrectionsRecord>())) {
473  corrector = JetCorrector::getJetCorrector(jetCorrector_, setup);
474  } else {
475  edm::LogVerbatim("TopDQMHelpers") << "\n"
476  << "---------------------------------------------------------------\n"
477  << " No JetCorrectionsRecord available from EventSetup:\n"
478  << " - Jets will not be corrected.\n"
479  << " - If you want to change this add the following lines to your "
480  "cfg file:\n"
481  << "\n"
482  << " ## load jet corrections\n"
483  << " process.load(\""
484  "JetMETCorrections.Configuration.JetCorrectionServicesAllAlgos_cff"
485  "\")\n"
486  << " process.prefer(\"ak5CaloL2L3\")\n"
487  << "---------------------------------------------------------------"
488  "\n";
489  }
490  }
491  // determine multiplicity of selected objects
492  int n = 0;
493  for (typename edm::View<Object>::const_iterator obj = src->begin(); obj != src->end(); ++obj) {
494  // check for chosen btag discriminator to be above the
495  // corresponding working point if configured such
496  unsigned int idx = obj - src->begin();
497  if (btagLabel_.isUninitialized() ? true : (*btagger)[bjets->refAt(idx)] > btagWorkingPoint_) {
498  bool passedJetID = true;
499  // check jetID for calo jets
500  if (jetIDSelect_ && dynamic_cast<const reco::CaloJet*>(src->refAt(idx).get())) {
501  passedJetID = (*jetIDSelect_)((*jetID)[src->refAt(idx)]);
502  }
503  if (passedJetID) {
504  // scale jet energy if configured such
505  Object jet = *obj;
506  jet.scaleEnergy(corrector ? corrector->correction(*obj) : 1.);
507  if (select_(jet))
508  ++n;
509  }
510  }
511  }
512  bool accept = (min_ >= 0 ? n >= min_ : true) && (max_ >= 0 ? n <= max_ : true);
513  return (min_ < 0 && max_ < 0) ? (n > 0) : accept;
514 }
std::optional< eventsetup::EventSetupRecordGeneric > find(const eventsetup::EventSetupRecordKey &iKey) const
Definition: EventSetup.h:162
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:30
edm::EDGetTokenT< edm::View< reco::Vertex > > pvs_
int min_
min/max for object multiplicity
edm::EDGetTokenT< reco::JetTagCollection > btagLabel_
choice for b-tag as extra selection type
virtual double correction(const LorentzVector &fJet) const =0
get correction using Jet information only
static const JetCorrector * getJetCorrector(const std::string &fName, const edm::EventSetup &fSetup)
retrieve corrector from the event setup. troughs exception if something is missing ...
Definition: JetCorrector.cc:48
double btagWorkingPoint_
choice of b-tag working point as extra selection type
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
Definition: View.h:86
bool isUninitialized() const
Definition: EDGetToken.h:70
edm::EDGetTokenT< edm::View< Object > > src_
input collection
StringCutObjectSelector< reco::JetID > * jetIDSelect_
selection string on the jetID
std::string jetCorrector_
jet corrector as extra selection type
StringCutObjectSelector< Object > select_
string cut selector
edm::EDGetTokenT< reco::JetIDValueMap > jetIDLabel_
jetID as an extra selection type
template<typename Object >
bool SelectionStep< Object >::selectVertex ( const edm::Event event)

Definition at line 414 of file TopDQMHelpers.h.

References accept(), topSingleLeptonDQM_PU_cfi::electronId, SelectionStep< Object >::electronId_, edm::Event::getByToken(), edm::EDGetTokenT< T >::isUninitialized(), SelectionStep< Object >::max_, SelectionStep< Object >::min_, dqmiodumpmetadata::n, getGTfromDQMFile::obj, SelectionStep< Object >::select_, TrackRefitter_38T_cff::src, and SelectionStep< Object >::src_.

414  {
415  // fetch input collection
417  if (!event.getByToken(src_, src))
418  return false;
419 
420  // load electronId value map if configured such
422  if (!electronId_.isUninitialized()) {
423  if (!event.getByToken(electronId_, electronId))
424  return false;
425  }
426 
427  // determine multiplicity of selected objects
428  int n = 0;
429  for (typename edm::View<Object>::const_iterator obj = src->begin(); obj != src->end(); ++obj) {
430  if (select_(*obj))
431  ++n;
432  }
433  bool accept = (min_ >= 0 ? n >= min_ : true) && (max_ >= 0 ? n <= max_ : true);
434  return (min_ < 0 && max_ < 0) ? (n > 0) : accept;
435 }
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
edm::EDGetTokenT< edm::ValueMap< float > > electronId_
electronId label as extra selection type
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:30
electronId
when omitted electron plots will be filled w/o cut on electronId
int min_
min/max for object multiplicity
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
Definition: View.h:86
bool isUninitialized() const
Definition: EDGetToken.h:70
edm::EDGetTokenT< edm::View< Object > > src_
input collection
StringCutObjectSelector< Object > select_
string cut selector

Member Data Documentation

template<typename Object >
edm::EDGetTokenT<reco::JetTagCollection> SelectionStep< Object >::btagLabel_
private

choice for b-tag as extra selection type

Definition at line 273 of file TopDQMHelpers.h.

Referenced by SelectionStep< Object >::select(), and SelectionStep< Object >::SelectionStep().

template<typename Object >
double SelectionStep< Object >::btagWorkingPoint_
private

choice of b-tag working point as extra selection type

Definition at line 275 of file TopDQMHelpers.h.

Referenced by SelectionStep< Object >::select(), and SelectionStep< Object >::SelectionStep().

template<typename Object >
double SelectionStep< Object >::eidCutValue_
private

electronId pattern we expect the following pattern: 0: fails 1: passes electron ID only 2: passes electron Isolation only 3: passes electron ID and Isolation only 4: passes conversion rejection 5: passes conversion rejection and ID 6: passes conversion rejection and Isolation 7: passes the whole selection As described on https://twiki.cern.ch/twiki/bin/view/CMS/SimpleCutBasedEleID

Definition at line 269 of file TopDQMHelpers.h.

Referenced by SelectionStep< Object >::select(), and SelectionStep< Object >::SelectionStep().

template<typename Object >
edm::EDGetTokenT<edm::ValueMap<float> > SelectionStep< Object >::electronId_
private

electronId label as extra selection type

Definition at line 257 of file TopDQMHelpers.h.

Referenced by SelectionStep< Object >::select(), SelectionStep< Object >::SelectionStep(), and SelectionStep< Object >::selectVertex().

template<typename Object >
edm::EDGetTokenT<edm::View<reco::GsfElectron> > SelectionStep< Object >::gsfEs_
private

Definition at line 280 of file TopDQMHelpers.h.

Referenced by SelectionStep< Object >::SelectionStep().

template<typename Object >
std::string SelectionStep< Object >::jetCorrector_
private

jet corrector as extra selection type

Definition at line 271 of file TopDQMHelpers.h.

Referenced by SelectionStep< Object >::select(), and SelectionStep< Object >::SelectionStep().

template<typename Object >
edm::EDGetTokenT<reco::JetIDValueMap> SelectionStep< Object >::jetIDLabel_
private

jetID as an extra selection type

Definition at line 277 of file TopDQMHelpers.h.

Referenced by SelectionStep< Object >::select(), and SelectionStep< Object >::SelectionStep().

template<typename Object >
StringCutObjectSelector<reco::JetID>* SelectionStep< Object >::jetIDSelect_
private

selection string on the jetID

Definition at line 284 of file TopDQMHelpers.h.

Referenced by SelectionStep< Object >::select(), and SelectionStep< Object >::SelectionStep().

template<typename Object >
int SelectionStep< Object >::max_
private
template<typename Object >
int SelectionStep< Object >::min_
private

min/max for object multiplicity

Definition at line 255 of file TopDQMHelpers.h.

Referenced by SelectionStep< Object >::select(), SelectionStep< Object >::SelectionStep(), and SelectionStep< Object >::selectVertex().

template<typename Object >
edm::EDGetTokenT<edm::View<reco::Vertex> > SelectionStep< Object >::pvs_
private

Definition at line 279 of file TopDQMHelpers.h.

Referenced by SelectionStep< Object >::select().

template<typename Object >
StringCutObjectSelector<Object> SelectionStep< Object >::select_
private

string cut selector

Definition at line 282 of file TopDQMHelpers.h.

Referenced by SelectionStep< Object >::select(), and SelectionStep< Object >::selectVertex().

template<typename Object >
edm::EDGetTokenT<edm::View<Object> > SelectionStep< Object >::src_
private