CMS 3D CMS Logo

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::IsoDepositExtractorextractor ()
 
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::IsolatorByDepositisolator ()
 
 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::IsoDepositExtractortheExtractor
 
std::unique_ptr< muonisolation::IsolatorByDeposittheIsolator
 

Detailed Description

Definition at line 31 of file MuIsoByTrackPt.h.

Constructor & Destructor Documentation

◆ MuIsoByTrackPt()

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

Definition at line 21 of file MuIsoByTrackPt.cc.

References HLT_2022v15_cff::coneSize, get, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), and hltDeepSecondaryVertexTagInfosPFPuppi_cfi::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 getParameter(std::string const &) const
Definition: ParameterSet.h:303
T getUntrackedParameter(std::string const &, T const &) const
std::unique_ptr< reco::isodeposit::IsoDepositExtractor > theExtractor
std::unique_ptr< muonisolation::IsolatorByDeposit > theIsolator
#define get

◆ ~MuIsoByTrackPt()

MuIsoByTrackPt::~MuIsoByTrackPt ( )
overridedefault

Member Function Documentation

◆ extractor()

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

◆ isIsolated() [1/2]

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.

References makeMEIFBenchmarkPlots::ev.

Referenced by isIsolated().

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

◆ isIsolated() [2/2]

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 makeMEIFBenchmarkPlots::ev, and isIsolated().

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

◆ isolation() [1/2]

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 CandIsolatorFromDeposits_cfi::deposits, makeMEIFBenchmarkPlots::ev, and 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()
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

◆ isolation() [2/2]

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 makeMEIFBenchmarkPlots::ev, and 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.

◆ isolator()

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

◆ setConeSize()

void MuIsoByTrackPt::setConeSize ( float  dr)

Definition at line 34 of file MuIsoByTrackPt.cc.

34 { theIsolator->setConeSize(dr); }
std::unique_ptr< muonisolation::IsolatorByDeposit > theIsolator

◆ setCut()

void MuIsoByTrackPt::setCut ( float  cut)
inline

Definition at line 46 of file MuIsoByTrackPt.h.

References DMR_cfg::cut, and theCut.

46 { theCut = cut; }

Member Data Documentation

◆ theCut

float MuIsoByTrackPt::theCut
private

Definition at line 52 of file MuIsoByTrackPt.h.

Referenced by setCut().

◆ theExtractor

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

Definition at line 53 of file MuIsoByTrackPt.h.

Referenced by extractor().

◆ theIsolator

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

Definition at line 54 of file MuIsoByTrackPt.h.

Referenced by isolator().