CMS 3D CMS Logo

Public Member Functions | Private Types | Private Attributes

RecoTauDiscriminatorRefSelector Class Reference

Inheritance diagram for RecoTauDiscriminatorRefSelector:
edm::EDFilter edm::ProducerBase edm::ProductRegistryHelper

List of all members.

Public Member Functions

bool filter (edm::Event &evt, const edm::EventSetup &es)
 RecoTauDiscriminatorRefSelector (const edm::ParameterSet &pset)
 ~RecoTauDiscriminatorRefSelector ()

Private Types

typedef edm::RefToBaseVector
< reco::PFTau
OutputType

Private Attributes

double cut_
edm::InputTag discriminatorSrc_
bool filter_
edm::InputTag src_

Detailed Description

Definition at line 26 of file PFTauViewRefDiscriminantSelector.cc.


Member Typedef Documentation

Definition at line 32 of file PFTauViewRefDiscriminantSelector.cc.


Constructor & Destructor Documentation

RecoTauDiscriminatorRefSelector::RecoTauDiscriminatorRefSelector ( const edm::ParameterSet pset) [explicit]

Definition at line 39 of file PFTauViewRefDiscriminantSelector.cc.

References cut_, discriminatorSrc_, filter_, edm::ParameterSet::getParameter(), and src_.

                                 {
  src_ = pset.getParameter<edm::InputTag>("src");
  discriminatorSrc_ = pset.getParameter<edm::InputTag>("discriminator");
  cut_ = pset.getParameter<double>("cut");
  filter_ = pset.getParameter<bool>("filter");
  //produces<reco::PFTauRefVector>();
  produces<OutputType>();
}
RecoTauDiscriminatorRefSelector::~RecoTauDiscriminatorRefSelector ( ) [inline]

Definition at line 29 of file PFTauViewRefDiscriminantSelector.cc.

{}

Member Function Documentation

bool RecoTauDiscriminatorRefSelector::filter ( edm::Event evt,
const edm::EventSetup es 
) [virtual]

Implements edm::EDFilter.

Definition at line 50 of file PFTauViewRefDiscriminantSelector.cc.

References cut_, discriminatorSrc_, filter_, edm::Event::getByLabel(), collect_tpl::input, convertSQLitetoXML_cfg::output, edm::Event::put(), and src_.

                                                                    {
  edm::Handle<reco::CandidateView> input;
  evt.getByLabel(src_, input);
  reco::PFTauRefVector inputRefs =
      reco::tau::castView<reco::PFTauRefVector>(input);

  edm::Handle<reco::PFTauDiscriminator> disc;
  evt.getByLabel(discriminatorSrc_, disc);

//  std::auto_ptr<reco::PFTauRefVector> output(
//      new reco::PFTauRefVector(inputRefs.id()));
  //std::auto_ptr<OutputType> output(
  //    new OutputType(inputRefs.id()));
  std::auto_ptr<OutputType> output(new OutputType);

  BOOST_FOREACH(reco::PFTauRef ref, inputRefs) {
    if ( (*disc)[ref] > cut_ )
      output->push_back(edm::RefToBase<reco::PFTau>(ref));
  }
  size_t selected = output->size();
  evt.put(output);
  return (!filter_ || selected);
}

Member Data Documentation

Definition at line 35 of file PFTauViewRefDiscriminantSelector.cc.

Referenced by filter(), and RecoTauDiscriminatorRefSelector().

Definition at line 34 of file PFTauViewRefDiscriminantSelector.cc.

Referenced by filter(), and RecoTauDiscriminatorRefSelector().

Definition at line 36 of file PFTauViewRefDiscriminantSelector.cc.

Referenced by filter(), and RecoTauDiscriminatorRefSelector().

Definition at line 33 of file PFTauViewRefDiscriminantSelector.cc.

Referenced by filter(), and RecoTauDiscriminatorRefSelector().