CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Attributes
MuIsoByTrackPt Class Reference

#include <MuIsoByTrackPt.h>

Inheritance diagram for MuIsoByTrackPt:
MuIsoBaseAlgorithm

Public Member Functions

virtual
reco::isodeposit::IsoDepositExtractor
extractor ()
 
bool isIsolated (const edm::Event &, const edm::EventSetup &, const reco::Track &muon) override
 
bool isIsolated (const edm::Event &ev, const edm::EventSetup &es, const reco::TrackRef &muon) override
 
float isolation (const edm::Event &, const edm::EventSetup &, const reco::Track &muon) override
 The isolation result for one muon. More...
 
float isolation (const edm::Event &ev, const edm::EventSetup &es, const reco::TrackRef &muon) override
 
virtual
muonisolation::IsolatorByDeposit
isolator ()
 
 MuIsoByTrackPt (const edm::ParameterSet &conf, edm::ConsumesCollector &&iC)
 
void setConeSize (float dr)
 
void setCut (float cut)
 
 ~MuIsoByTrackPt () override
 
- Public Member Functions inherited from MuIsoBaseAlgorithm
virtual ~MuIsoBaseAlgorithm ()
 Destructor. More...
 

Private Attributes

float theCut
 
std::unique_ptr
< reco::isodeposit::IsoDepositExtractor
theExtractor
 
std::unique_ptr
< muonisolation::IsolatorByDeposit
theIsolator
 

Detailed Description

Definition at line 31 of file MuIsoByTrackPt.h.

Constructor & Destructor Documentation

MuIsoByTrackPt::MuIsoByTrackPt ( const edm::ParameterSet conf,
edm::ConsumesCollector &&  iC 
)

Definition at line 21 of file MuIsoByTrackPt.cc.

References HLT_FULL_cff::coneSize, get, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), and HLT_FULL_cff::weights.

21  {
22  edm::ParameterSet extractorPSet = conf.getParameter<edm::ParameterSet>("ExtractorPSet");
23  string extractorName = extractorPSet.getParameter<string>("ComponentName");
24  theExtractor = IsoDepositExtractorFactoryFromHelper::get()->create(extractorName, extractorPSet, iC);
25 
26  theCut = conf.getUntrackedParameter<double>("Threshold", 0.);
27  float coneSize = conf.getUntrackedParameter<double>("ConeSize", 0.);
28  vector<double> weights(1, 1.);
29  theIsolator = std::make_unique<IsolatorByDeposit>(coneSize, weights);
30 }
T getUntrackedParameter(std::string const &, T const &) const
std::unique_ptr< reco::isodeposit::IsoDepositExtractor > theExtractor
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
std::unique_ptr< muonisolation::IsolatorByDeposit > theIsolator
#define get
MuIsoByTrackPt::~MuIsoByTrackPt ( )
overridedefault

Member Function Documentation

virtual reco::isodeposit::IsoDepositExtractor* MuIsoByTrackPt::extractor ( )
inlinevirtual

Definition at line 48 of file MuIsoByTrackPt.h.

References theExtractor.

48 { return theExtractor.get(); }
std::unique_ptr< reco::isodeposit::IsoDepositExtractor > theExtractor
bool MuIsoByTrackPt::isIsolated ( const edm::Event ,
const edm::EventSetup ,
const reco::Track muon 
)
overridevirtual

Return logical result of isolaton is all parameters and cuts are fixe (may remain not implemented for all types of isolation)

Implements MuIsoBaseAlgorithm.

Definition at line 47 of file MuIsoByTrackPt.cc.

Referenced by isIsolated().

47  {
48  return (isolation(ev, es, muon) > theCut);
49 }
bool ev
float isolation(const edm::Event &, const edm::EventSetup &, const reco::Track &muon) override
The isolation result for one muon.
bool MuIsoByTrackPt::isIsolated ( const edm::Event ev,
const edm::EventSetup es,
const reco::TrackRef muon 
)
inlineoverridevirtual

Implements MuIsoBaseAlgorithm.

Definition at line 41 of file MuIsoByTrackPt.h.

References isIsolated().

41  {
42  return isIsolated(ev, es, *muon);
43  }
bool isIsolated(const edm::Event &, const edm::EventSetup &, const reco::Track &muon) override
float MuIsoByTrackPt::isolation ( const edm::Event ,
const edm::EventSetup ,
const reco::Track muon 
)
overridevirtual

The isolation result for one muon.

Implements MuIsoBaseAlgorithm.

Definition at line 36 of file MuIsoByTrackPt.cc.

References muonisolation::MuIsoBaseIsolator::ISOL_FLOAT_TYPE.

Referenced by isolation().

36  {
37  IsoDeposit dep = extractor()->deposit(ev, es, muon);
39  deposits.push_back(&dep);
40  if (isolator()->resultType() == MuIsoBaseIsolator::ISOL_FLOAT_TYPE) {
41  return isolator()->result(deposits).valFloat;
42  }
43 
44  return -999.;
45 }
virtual muonisolation::IsolatorByDeposit * isolator()
virtual reco::isodeposit::IsoDepositExtractor * extractor()
bool ev
Result result(const DepositContainer &deposits, const edm::Event *=nullptr) const override
Compute the deposit within the cone and return the isolation result.
std::vector< DepositAndVetos > DepositContainer
virtual reco::IsoDeposit deposit(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::Track &track) const =0
float MuIsoByTrackPt::isolation ( const edm::Event ev,
const edm::EventSetup es,
const reco::TrackRef muon 
)
inlineoverridevirtual

Implements MuIsoBaseAlgorithm.

Definition at line 37 of file MuIsoByTrackPt.h.

References isolation().

37  {
38  return isolation(ev, es, *muon);
39  }
float isolation(const edm::Event &, const edm::EventSetup &, const reco::Track &muon) override
The isolation result for one muon.
virtual muonisolation::IsolatorByDeposit* MuIsoByTrackPt::isolator ( )
inlinevirtual

Definition at line 49 of file MuIsoByTrackPt.h.

References theIsolator.

49 { return theIsolator.get(); }
std::unique_ptr< muonisolation::IsolatorByDeposit > theIsolator
void MuIsoByTrackPt::setConeSize ( float  dr)

Definition at line 34 of file MuIsoByTrackPt.cc.

34 { theIsolator->setConeSize(dr); }
std::unique_ptr< muonisolation::IsolatorByDeposit > theIsolator
void MuIsoByTrackPt::setCut ( float  cut)
inline

Definition at line 46 of file MuIsoByTrackPt.h.

References GOODCOLL_filter_cfg::cut, and theCut.

Member Data Documentation

float MuIsoByTrackPt::theCut
private

Definition at line 52 of file MuIsoByTrackPt.h.

Referenced by setCut().

std::unique_ptr<reco::isodeposit::IsoDepositExtractor> MuIsoByTrackPt::theExtractor
private

Definition at line 53 of file MuIsoByTrackPt.h.

Referenced by extractor().

std::unique_ptr<muonisolation::IsolatorByDeposit> MuIsoByTrackPt::theIsolator
private

Definition at line 54 of file MuIsoByTrackPt.h.

Referenced by isolator().