CMS 3D CMS Logo

PATMuonProducer.h
Go to the documentation of this file.
1 //
2 //
3 
4 #ifndef PhysicsTools_PatAlgos_PATMuonProducer_h
5 #define PhysicsTools_PatAlgos_PATMuonProducer_h
6 
18 #include <string>
19 
25 
30 
41 
42 namespace pat {
43 
45  public:
47 
48  std::unique_ptr<const pat::MuonMvaEstimator> const& muonMvaEstimator() const { return muonMvaEstimator_; }
49  std::unique_ptr<const pat::MuonMvaEstimator> const& muonLowPtMvaEstimator() const { return muonLowPtMvaEstimator_; }
50 
51  std::unique_ptr<const pat::SoftMuonMvaEstimator> const& softMuonMvaEstimator() const {
52  return softMuonMvaEstimator_;
53  }
54 
55  private:
56  std::unique_ptr<const pat::MuonMvaEstimator> muonLowPtMvaEstimator_;
57  std::unique_ptr<const pat::MuonMvaEstimator> muonMvaEstimator_;
58  std::unique_ptr<const pat::SoftMuonMvaEstimator> softMuonMvaEstimator_;
59  };
60 
62  class TrackerIsolationPt;
63  class CaloIsolationEnergy;
64 
66  class PATMuonProducer : public edm::stream::EDProducer<edm::GlobalCache<PATMuonHeavyObjectCache>> {
67  public:
69  explicit PATMuonProducer(const edm::ParameterSet& iConfig, PATMuonHeavyObjectCache const*);
71  ~PATMuonProducer() override;
72 
73  static std::unique_ptr<PATMuonHeavyObjectCache> initializeGlobalCache(const edm::ParameterSet& iConfig) {
74  return std::make_unique<PATMuonHeavyObjectCache>(iConfig);
75  }
76 
78 
80  void produce(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
82  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
83 
84  private:
87  typedef std::vector<edm::Handle<edm::Association<reco::GenParticleCollection>>> GenAssociations;
88  typedef std::vector<edm::Handle<edm::ValueMap<IsoDeposit>>> IsoDepositMaps;
89  typedef std::vector<edm::Handle<edm::ValueMap<double>>> IsolationValueMaps;
90  typedef std::pair<pat::IsolationKeys, edm::InputTag> IsolationLabel;
91  typedef std::vector<IsolationLabel> IsolationLabels;
92 
94  void fillMuon(Muon& aMuon,
95  const MuonBaseRef& muonRef,
96  const reco::CandidateBaseRef& baseRef,
97  const GenAssociations& genMatches,
98  const IsoDepositMaps& deposits,
99  const IsolationValueMaps& isolationValues) const;
102  template <typename T>
103  void readIsolationLabels(const edm::ParameterSet& iConfig,
104  const char* psetName,
106  std::vector<edm::EDGetTokenT<edm::ValueMap<T>>>& tokens);
107 
109  double getRelMiniIsoPUCorrected(const pat::Muon& muon, double rho, const std::vector<double>& area);
110 
112  bool isNeutralHadron(long pdgid);
113  bool isChargedHadron(long pdgid);
114  bool isPhoton(long pdgid);
115 
116  // embed various impact parameters with errors
117  // embed high level selection
118  void embedHighLevel(pat::Muon& aMuon,
122  bool primaryVertexIsValid,
124  bool beamspotIsValid);
125  double relMiniIsoPUCorrected(const pat::Muon& aMuon, double rho);
126  std::optional<GlobalPoint> getMuonDirection(const reco::MuonChamberMatch& chamberMatch,
128  const DetId& chamberId);
130  edm::Handle<std::vector<pat::TriggerObjectStandAlone>>& triggerObjects,
131  const edm::TriggerNames& names,
134  edm::Handle<std::vector<pat::TriggerObjectStandAlone>>& triggerObjects,
135  const edm::TriggerNames& names,
136  const std::vector<std::string>& collection_names);
137 
138  private:
141 
142  // for mini-iso calculation
146  std::vector<double> effectiveAreaVec_;
147  std::vector<double> miniIsoParams_;
149 
183  std::vector<edm::EDGetTokenT<edm::Association<reco::GenParticleCollection>>> genMatchTokens_;
204  std::vector<edm::EDGetTokenT<edm::ValueMap<IsoDeposit>>> isoDepositTokens_;
207  std::vector<edm::EDGetTokenT<edm::ValueMap<double>>> isolationValueTokens_;
216  //PUPPI isolation tokens
220  //PUPPINoLeptons isolation tokens
233 
245 
248 
253  std::vector<std::string> hltCollectionFilters_;
254  };
255 
256 } // namespace pat
257 
258 template <typename T>
260  const char* psetName,
262  std::vector<edm::EDGetTokenT<edm::ValueMap<T>>>& tokens) {
263  labels.clear();
264 
265  if (iConfig.exists(psetName)) {
266  edm::ParameterSet depconf = iConfig.getParameter<edm::ParameterSet>(psetName);
267 
268  if (depconf.exists("tracker"))
269  labels.push_back(std::make_pair(pat::TrackIso, depconf.getParameter<edm::InputTag>("tracker")));
270  if (depconf.exists("ecal"))
271  labels.push_back(std::make_pair(pat::EcalIso, depconf.getParameter<edm::InputTag>("ecal")));
272  if (depconf.exists("hcal"))
273  labels.push_back(std::make_pair(pat::HcalIso, depconf.getParameter<edm::InputTag>("hcal")));
274  if (depconf.exists("pfAllParticles")) {
275  labels.push_back(std::make_pair(pat::PfAllParticleIso, depconf.getParameter<edm::InputTag>("pfAllParticles")));
276  }
277  if (depconf.exists("pfChargedHadrons")) {
278  labels.push_back(
279  std::make_pair(pat::PfChargedHadronIso, depconf.getParameter<edm::InputTag>("pfChargedHadrons")));
280  }
281  if (depconf.exists("pfChargedAll")) {
282  labels.push_back(std::make_pair(pat::PfChargedAllIso, depconf.getParameter<edm::InputTag>("pfChargedAll")));
283  }
284  if (depconf.exists("pfPUChargedHadrons")) {
285  labels.push_back(
286  std::make_pair(pat::PfPUChargedHadronIso, depconf.getParameter<edm::InputTag>("pfPUChargedHadrons")));
287  }
288  if (depconf.exists("pfNeutralHadrons")) {
289  labels.push_back(
290  std::make_pair(pat::PfNeutralHadronIso, depconf.getParameter<edm::InputTag>("pfNeutralHadrons")));
291  }
292  if (depconf.exists("pfPhotons")) {
293  labels.push_back(std::make_pair(pat::PfGammaIso, depconf.getParameter<edm::InputTag>("pfPhotons")));
294  }
295  if (depconf.exists("user")) {
296  std::vector<edm::InputTag> userdeps = depconf.getParameter<std::vector<edm::InputTag>>("user");
297  std::vector<edm::InputTag>::const_iterator it = userdeps.begin(), ed = userdeps.end();
299  for (; it != ed; ++it, ++key) {
300  labels.push_back(std::make_pair(pat::IsolationKeys(key), *it));
301  }
302  tokens = edm::vector_transform(
303  labels, [this](IsolationLabel const& label) { return consumes<edm::ValueMap<T>>(label.second); });
304  }
305  }
307  return consumes<edm::ValueMap<T>>(label.second);
308  });
309 }
310 
311 #endif
pat::PATMuonProducer::addInverseBeta_
bool addInverseBeta_
add combined inverse beta measurement into the muon
Definition: PATMuonProducer.h:177
SummaryClient_cfi.labels
labels
Definition: SummaryClient_cfi.py:61
pat::PATMuonProducer::fillMuon
void fillMuon(Muon &aMuon, const MuonBaseRef &muonRef, const reco::CandidateBaseRef &baseRef, const GenAssociations &genMatches, const IsoDepositMaps &deposits, const IsolationValueMaps &isolationValues) const
common muon filling, for both the standard and PF2PAT case
Definition: PATMuonProducer.cc:793
pat::PATMuonProducer::getRelMiniIsoPUCorrected
double getRelMiniIsoPUCorrected(const pat::Muon &muon, double rho, const std::vector< double > &area)
Definition: PATMuonProducer.cc:892
pat::PATUserDataHelper< pat::Muon >
pat::EcalIso
Definition: Isolation.h:11
pat::PATMuonHeavyObjectCache::softMuonMvaEstimator
std::unique_ptr< const pat::SoftMuonMvaEstimator > const & softMuonMvaEstimator() const
Definition: PATMuonProducer.h:51
GreaterByPt
Definition: PtComparator.h:24
pat::PATMuonProducer::pTComparator_
GreaterByPt< Muon > pTComparator_
Definition: PATMuonProducer.h:236
pat::PATMuonProducer::embedTrack_
bool embedTrack_
embed the track from inner tracker into the muon
Definition: PATMuonProducer.h:157
electronProducer_cff.isolationValues
isolationValues
Definition: electronProducer_cff.py:26
triggerMatchMonitor_cfi.triggerObjects
triggerObjects
Definition: triggerMatchMonitor_cfi.py:15
pat::CaloIsolationEnergy
Calculates a lepton's calorimetric isolation energy.
Definition: CaloIsolationEnergy.h:32
TriggerResults.h
pat::PATMuonProducer::embedPfEcalEnergy_
bool embedPfEcalEnergy_
add ecal PF energy
Definition: PATMuonProducer.h:213
groupFilesInBlocks.tt
int tt
Definition: groupFilesInBlocks.py:144
pat::PATMuonProducer::IsolationLabel
std::pair< pat::IsolationKeys, edm::InputTag > IsolationLabel
Definition: PATMuonProducer.h:90
muon
Definition: MuonCocktails.h:17
pat::helper::EfficiencyLoader
Definition: EfficiencyLoader.h:16
pat::PATMuonProducer::produce
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
everything that needs to be done during the event loop
Definition: PATMuonProducer.cc:310
pat::PATMuonProducer::embedTunePBestTrack_
bool embedTunePBestTrack_
embed the track from best muon measurement (muon only)
Definition: PATMuonProducer.h:153
edm::EDGetTokenT
Definition: EDGetToken.h:33
Muon.h
pat::PATMuonProducer::embedPickyMuon_
bool embedPickyMuon_
embed track from picky muon fit into the muon
Definition: PATMuonProducer.h:171
geometry
Definition: geometry.py:1
pat::PATMuonProducer::initializeGlobalCache
static std::unique_ptr< PATMuonHeavyObjectCache > initializeGlobalCache(const edm::ParameterSet &iConfig)
Definition: PATMuonProducer.h:73
pat::PATMuonProducer::isolatorTmpStorage_
pat::helper::MultiIsolator::IsolationValuePairs isolatorTmpStorage_
isolation value pair for temporary storage before being folded into the muon
Definition: PATMuonProducer.h:240
EDProducer.h
pat::PATMuonProducer::globalEndJob
static void globalEndJob(PATMuonHeavyObjectCache *)
Definition: PATMuonProducer.h:77
pat::PATMuonProducer::triggerObjects_
edm::EDGetTokenT< std::vector< pat::TriggerObjectStandAlone > > triggerObjects_
Definition: PATMuonProducer.h:251
pat::PfAllParticleIso
Definition: Isolation.h:13
PtComparator.h
pat::PATMuonProducer::GenAssociations
std::vector< edm::Handle< edm::Association< reco::GenParticleCollection > > > GenAssociations
Definition: PATMuonProducer.h:87
pat::PATMuonProducer::mvaL1L2L3ResCorrector_
edm::EDGetTokenT< reco::JetCorrector > mvaL1L2L3ResCorrector_
Definition: PATMuonProducer.h:231
pat::TrackerIsolationPt
Calculates a lepton's tracker isolation pt.
Definition: TrackerIsolationPt.h:31
pat::Muon
Analysis-level muon class.
Definition: Muon.h:51
pat::PATMuonProducer::embedDytMuon_
bool embedDytMuon_
embed track from DYT muon fit into the muon
Definition: PATMuonProducer.h:175
pat::PATMuonProducer::fillHltTriggerInfo
void fillHltTriggerInfo(pat::Muon &muon, edm::Handle< std::vector< pat::TriggerObjectStandAlone >> &triggerObjects, const edm::TriggerNames &names, const std::vector< std::string > &collection_names)
Definition: PATMuonProducer.cc:284
pat::PATMuonProducer::recomputeBasicSelectors_
bool recomputeBasicSelectors_
Definition: PATMuonProducer.h:227
edm::Handle
Definition: AssociativeIterator.h:50
pat::helper::MultiIsolator::IsolationValuePairs
std::vector< std::pair< pat::IsolationKeys, float > > IsolationValuePairs
Definition: MultiIsolator.h:17
pat::PATMuonProducer::isolationValueTokens_
std::vector< edm::EDGetTokenT< edm::ValueMap< double > > > isolationValueTokens_
Definition: PATMuonProducer.h:207
MultiIsolator.h
EfficiencyLoader.h
pat::PATMuonProducer::embedCombinedMuon_
bool embedCombinedMuon_
embed track of the combined fit into the muon
Definition: PATMuonProducer.h:161
Muon
Definition: Muon.py:1
pat::PATMuonProducer::isPhoton
bool isPhoton(long pdgid)
Definition: PATMuonProducer.cc:952
edm::Ref< TrackCollection >
pat::PATMuonProducer::embedGenMatch_
bool embedGenMatch_
embed the gen match information into the muon
Definition: PATMuonProducer.h:185
pat::PATMuonProducer::PUPPIIsolation_neutral_hadrons_
edm::EDGetTokenT< edm::ValueMap< float > > PUPPIIsolation_neutral_hadrons_
Definition: PATMuonProducer.h:218
BeamMonitor_cff.primaryVertex
primaryVertex
hltOfflineBeamSpot for HLTMON
Definition: BeamMonitor_cff.py:7
DetId
Definition: DetId.h:17
pat::PATMuonProducer::isolationValueLabels_
IsolationLabels isolationValueLabels_
input source isolation value maps
Definition: PATMuonProducer.h:206
pat::PATMuonProducer::IsolationValueMaps
std::vector< edm::Handle< edm::ValueMap< double > > > IsolationValueMaps
Definition: PATMuonProducer.h:89
pat::PATMuonProducer::efficiencyLoader_
pat::helper::EfficiencyLoader efficiencyLoader_
helper class to add efficiencies to the muon
Definition: PATMuonProducer.h:242
pat::PATMuonProducer::useUserData_
bool useUserData_
add user data to the muon (this will be data members of th muon even w/o embedding)
Definition: PATMuonProducer.h:211
pat::PATMuonProducer::PUPPIIsolation_charged_hadrons_
edm::EDGetTokenT< edm::ValueMap< float > > PUPPIIsolation_charged_hadrons_
Definition: PATMuonProducer.h:217
pat::PATMuonProducer::MuonBaseRef
edm::RefToBase< reco::Muon > MuonBaseRef
typedefs for convenience
Definition: PATMuonProducer.h:86
pat::PATMuonProducer::forceEmbedBestTrack_
bool forceEmbedBestTrack_
force separate embed of the best track even if already embedded
Definition: PATMuonProducer.h:155
names
const std::string names[nVars_]
Definition: PhotonIDValueMapProducer.cc:122
pat::PfChargedHadronIso
Definition: Isolation.h:14
pat::PATMuonProducer::addPuppiIsolation_
bool addPuppiIsolation_
add puppi isolation
Definition: PATMuonProducer.h:215
pat::PATMuonProducer::genMatchTokens_
std::vector< edm::EDGetTokenT< edm::Association< reco::GenParticleCollection > > > genMatchTokens_
input tags for generator match information
Definition: PATMuonProducer.h:183
pat::PATMuonProducer::isNeutralHadron
bool isNeutralHadron(long pdgid)
Definition: PATMuonProducer.cc:948
MuonTimeExtra.h
reco::BeamSpot
Definition: BeamSpot.h:21
pat::helper::KinResolutionsLoader
Definition: KinResolutionsLoader.h:18
edm::ESHandle< GlobalTrackingGeometry >
KinResolutionsLoader.h
pat::PATMuonHeavyObjectCache::softMuonMvaEstimator_
std::unique_ptr< const pat::SoftMuonMvaEstimator > softMuonMvaEstimator_
Definition: PATMuonProducer.h:58
beamspot
Definition: BeamSpotWrite2Txt.h:8
pat::PATMuonProducer::embedHighLevelSelection_
bool embedHighLevelSelection_
embed high level selection variables
Definition: PATMuonProducer.h:197
pat::PATMuonProducer::resolutionLoader_
pat::helper::KinResolutionsLoader resolutionLoader_
helper class to add resolutions to the muon
Definition: PATMuonProducer.h:189
pat::PATMuonProducer::computeMiniIso_
bool computeMiniIso_
Definition: PATMuonProducer.h:144
GlobalTrackingGeometryRecord.h
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
edm::vector_transform
auto vector_transform(std::vector< InputType > const &input, Function predicate) -> std::vector< typename std::remove_cv< typename std::remove_reference< decltype(predicate(input.front()))>::type >::type >
Definition: transform.h:11
pat::PATMuonProducer::isoDepositLabels_
IsolationLabels isoDepositLabels_
input source for isoDeposits
Definition: PATMuonProducer.h:203
pat::PATMuonProducer::getMuonDirection
std::optional< GlobalPoint > getMuonDirection(const reco::MuonChamberMatch &chamberMatch, const edm::ESHandle< GlobalTrackingGeometry > &geometry, const DetId &chamberId)
Definition: PATMuonProducer.cc:221
edm::ParameterSet::exists
bool exists(std::string const &parameterName) const
checks if a parameter exists
Definition: ParameterSet.cc:674
pat::PATMuonProducer::embedTcMETMuonCorrs_
bool embedTcMETMuonCorrs_
embed muon MET correction info for tcMET into the muon
Definition: PATMuonProducer.h:167
pat::PATMuonHeavyObjectCache::muonLowPtMvaEstimator
std::unique_ptr< const pat::MuonMvaEstimator > const & muonLowPtMvaEstimator() const
Definition: PATMuonProducer.h:49
TransientTrackBuilder.h
edm::ParameterSet
Definition: ParameterSet.h:36
pat::PATMuonProducer::~PATMuonProducer
~PATMuonProducer() override
default destructur
Definition: PATMuonProducer.cc:219
SoftMuonMvaEstimator.h
pat::PATMuonProducer::isChargedHadron
bool isChargedHadron(long pdgid)
Definition: PATMuonProducer.cc:950
Event.h
pat::PATMuonProducer::readIsolationLabels
void readIsolationLabels(const edm::ParameterSet &iConfig, const char *psetName, IsolationLabels &labels, std::vector< edm::EDGetTokenT< edm::ValueMap< T >>> &tokens)
Definition: PATMuonProducer.h:259
pat::PATMuonProducer::mvaUseJec_
bool mvaUseJec_
Definition: PATMuonProducer.h:228
pat::PfGammaIso
Definition: Isolation.h:16
pat::PATMuonProducer::embedPFCandidate_
bool embedPFCandidate_
embed pfCandidates into the muon
Definition: PATMuonProducer.h:195
pat::PATMuonProducer::PUPPIIsolation_photons_
edm::EDGetTokenT< edm::ValueMap< float > > PUPPIIsolation_photons_
Definition: PATMuonProducer.h:219
pat::PATMuonProducer::computeMuonMVA_
bool computeMuonMVA_
standard muon selectors
Definition: PATMuonProducer.h:225
UserData.h
PackedCandidate.h
pat::PATMuonProducer::mvaL1Corrector_
edm::EDGetTokenT< reco::JetCorrector > mvaL1Corrector_
Definition: PATMuonProducer.h:230
pat::UserBaseIso
Definition: Isolation.h:22
pat::PATMuonProducer::caloMETMuonCorrsToken_
edm::EDGetTokenT< edm::ValueMap< reco::MuonMETCorrectionData > > caloMETMuonCorrsToken_
source of caloMET muon corrections
Definition: PATMuonProducer.h:165
pat::PATMuonHeavyObjectCache
Definition: PATMuonProducer.h:44
pat::TrackIso
Definition: Isolation.h:10
iEvent
int iEvent
Definition: GenABIO.cc:224
pat::HcalIso
Definition: Isolation.h:12
pat::PATMuonProducer::PUPPINoLeptonsIsolation_charged_hadrons_
edm::EDGetTokenT< edm::ValueMap< float > > PUPPINoLeptonsIsolation_charged_hadrons_
Definition: PATMuonProducer.h:221
pat::PATMuonProducer::pvToken_
edm::EDGetTokenT< std::vector< reco::Vertex > > pvToken_
input source of the primary vertex
Definition: PATMuonProducer.h:201
pat::PATMuonProducer::embedCaloMETMuonCorrs_
bool embedCaloMETMuonCorrs_
embed muon MET correction info for caloMET into the muon
Definition: PATMuonProducer.h:163
pat::PfNeutralHadronIso
Definition: Isolation.h:15
edm::stream::EDProducer
Definition: EDProducer.h:38
pat::PATMuonProducer::embedTpfmsMuon_
bool embedTpfmsMuon_
embed track from tpfms muon fit into the muon
Definition: PATMuonProducer.h:173
pat::PATMuonProducer::computePuppiCombinedIso_
bool computePuppiCombinedIso_
Definition: PATMuonProducer.h:145
pat::PfChargedAllIso
Definition: Isolation.h:25
edm::EventSetup
Definition: EventSetup.h:57
pat
Definition: HeavyIon.h:7
pat::PATMuonProducer::muonTimeExtraToken_
edm::EDGetTokenT< edm::ValueMap< reco::MuonTimeExtra > > muonTimeExtraToken_
input tag for reading inverse beta
Definition: PATMuonProducer.h:179
pat::PATMuonProducer::PUPPINoLeptonsIsolation_photons_
edm::EDGetTokenT< edm::ValueMap< float > > PUPPINoLeptonsIsolation_photons_
Definition: PATMuonProducer.h:223
MuonMvaEstimator.h
reco::MuonChamberMatch
Definition: MuonChamberMatch.h:10
pat::PATMuonProducer::addEfficiencies_
bool addEfficiencies_
add efficiencies to the muon (this will be data members of th muon even w/o embedding)
Definition: PATMuonProducer.h:209
pat::PATMuonProducer::muonToken_
edm::EDGetTokenT< edm::View< reco::Muon > > muonToken_
input source
Definition: PATMuonProducer.h:140
pat::PfPUChargedHadronIso
Definition: Isolation.h:24
pat::PATMuonProducer::pfMuonToken_
edm::EDGetTokenT< reco::PFCandidateCollection > pfMuonToken_
input source pfCandidates that will be to be transformed into pat::Muons, when using PF2PAT
Definition: PATMuonProducer.h:193
pat::PackedCandidateCollection
std::vector< pat::PackedCandidate > PackedCandidateCollection
Definition: PackedCandidate.h:1130
pat::PATMuonProducer::addResolutions_
bool addResolutions_
add resolutions to the muon (this will be data members of th muon even w/o embedding)
Definition: PATMuonProducer.h:187
pat::PATMuonProducer::tcMETMuonCorrsToken_
edm::EDGetTokenT< edm::ValueMap< reco::MuonMETCorrectionData > > tcMETMuonCorrsToken_
source of tcMET muon corrections
Definition: PATMuonProducer.h:169
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
pat::PATMuonProducer::beamLineToken_
edm::EDGetTokenT< reco::BeamSpot > beamLineToken_
input source of the primary vertex/beamspot
Definition: PATMuonProducer.h:199
pat::helper::MultiIsolator
Definition: MultiIsolator.h:15
pat::PATMuonProducer::IsoDepositMaps
std::vector< edm::Handle< edm::ValueMap< IsoDeposit > > > IsoDepositMaps
Definition: PATMuonProducer.h:88
pat::PATMuonProducer::simInfo_
edm::EDGetTokenT< edm::ValueMap< reco::MuonSimInfo > > simInfo_
MC info.
Definition: PATMuonProducer.h:247
IPTools.h
pat::PATMuonProducer::computeSoftMuonMVA_
bool computeSoftMuonMVA_
Definition: PATMuonProducer.h:226
pat::PATMuonProducer::setMuonMiniIso
void setMuonMiniIso(pat::Muon &aMuon, const pat::PackedCandidateCollection *pc)
Definition: PATMuonProducer.cc:877
pat::IsolationKeys
IsolationKeys
Enum defining isolation keys.
Definition: Isolation.h:9
reco::TransientTrack
Definition: TransientTrack.h:19
pat::PATMuonHeavyObjectCache::muonMvaEstimator_
std::unique_ptr< const pat::MuonMvaEstimator > muonMvaEstimator_
Definition: PATMuonProducer.h:57
pat::PATMuonProducer::addTriggerMatching_
bool addTriggerMatching_
Trigger.
Definition: PATMuonProducer.h:250
pat::PATMuonProducer::rho_
edm::EDGetTokenT< double > rho_
Definition: PATMuonProducer.h:232
pat::PATMuonProducer::PUPPINoLeptonsIsolation_neutral_hadrons_
edm::EDGetTokenT< edm::ValueMap< float > > PUPPINoLeptonsIsolation_neutral_hadrons_
Definition: PATMuonProducer.h:222
pat::PATMuonProducer::addGenMatch_
bool addGenMatch_
add generator match information
Definition: PATMuonProducer.h:181
pat::PATMuonProducer::mvaBTagCollectionTag_
edm::EDGetTokenT< reco::JetTagCollection > mvaBTagCollectionTag_
Definition: PATMuonProducer.h:229
edm::ValueMap
Definition: ValueMap.h:107
pat::PATMuonProducer::fillL1TriggerInfo
void fillL1TriggerInfo(pat::Muon &muon, edm::Handle< std::vector< pat::TriggerObjectStandAlone >> &triggerObjects, const edm::TriggerNames &names, const edm::ESHandle< GlobalTrackingGeometry > &geometry)
Definition: PATMuonProducer.cc:232
pat::PATMuonProducer::isoDepositTokens_
std::vector< edm::EDGetTokenT< edm::ValueMap< IsoDeposit > > > isoDepositTokens_
Definition: PATMuonProducer.h:204
edm::TriggerNames
Definition: TriggerNames.h:55
pat::PATMuonProducer
class definition
Definition: PATMuonProducer.h:66
pat::PATMuonProducer::useParticleFlow_
bool useParticleFlow_
switch to use particle flow (PF2PAT) or not
Definition: PATMuonProducer.h:191
PATUserDataHelper.h
pat::PATMuonProducer::userDataHelper_
pat::PATUserDataHelper< pat::Muon > userDataHelper_
helper class to add userData to the muon
Definition: PATMuonProducer.h:244
edm::RefToBase
Definition: AssociativeIterator.h:54
pat::PATMuonProducer::triggerResults_
edm::EDGetTokenT< edm::TriggerResults > triggerResults_
Definition: PATMuonProducer.h:252
pat::PATMuonHeavyObjectCache::PATMuonHeavyObjectCache
PATMuonHeavyObjectCache(const edm::ParameterSet &)
Definition: PATMuonProducer.cc:60
pat::PATMuonProducer::PATMuonProducer
PATMuonProducer(const edm::ParameterSet &iConfig, PATMuonHeavyObjectCache const *)
default constructir
Definition: PATMuonProducer.cc:75
pat::PATMuonProducer::embedHighLevel
void embedHighLevel(pat::Muon &aMuon, reco::TrackRef track, reco::TransientTrack &tt, reco::Vertex &primaryVertex, bool primaryVertexIsValid, reco::BeamSpot &beamspot, bool beamspotIsValid)
Definition: PATMuonProducer.cc:1100
HLT_2018_cff.track
track
Definition: HLT_2018_cff.py:10352
pat::PATMuonProducer::embedBestTrack_
bool embedBestTrack_
embed the track from best muon measurement (global pflow)
Definition: PATMuonProducer.h:151
pat::PATMuonProducer::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
description of config file parameters
Definition: PATMuonProducer.cc:955
ParameterSet.h
pat::PATMuonHeavyObjectCache::muonMvaEstimator
std::unique_ptr< const pat::MuonMvaEstimator > const & muonMvaEstimator() const
Definition: PATMuonProducer.h:48
pat::PATMuonProducer::IsolationLabels
std::vector< IsolationLabel > IsolationLabels
Definition: PATMuonProducer.h:91
pat::PATMuonProducer::miniIsoParams_
std::vector< double > miniIsoParams_
Definition: PATMuonProducer.h:147
edm::Event
Definition: Event.h:73
EgammaValidation_cff.pdgid
pdgid
Definition: EgammaValidation_cff.py:30
crabWrapper.key
key
Definition: crabWrapper.py:19
pat::PATMuonProducer::embedStandAloneMuon_
bool embedStandAloneMuon_
embed track from muon system into the muon
Definition: PATMuonProducer.h:159
pat::PATMuonProducer::puppiCombinedIsolation
double puppiCombinedIsolation(const pat::Muon &muon, const pat::PackedCandidateCollection *pc)
Definition: PATMuonProducer.cc:900
TriggerObjectStandAlone.h
CandIsolatorFromDeposits_cfi.deposits
deposits
Definition: CandIsolatorFromDeposits_cfi.py:4
custom_jme_cff.area
area
Definition: custom_jme_cff.py:169
edm::InputTag
Definition: InputTag.h:15
pat::PATMuonProducer::hltCollectionFilters_
std::vector< std::string > hltCollectionFilters_
Definition: PATMuonProducer.h:253
label
const char * label
Definition: PFTauDecayModeTools.cc:11
pat::PATMuonProducer::effectiveAreaVec_
std::vector< double > effectiveAreaVec_
Definition: PATMuonProducer.h:146
reco::Vertex
Definition: Vertex.h:35
pat::PATMuonProducer::relMiniIsoPUCorrected
double relMiniIsoPUCorrected(const pat::Muon &aMuon, double rho)
pat::PATMuonProducer::relMiniIsoPUCorrected_
double relMiniIsoPUCorrected_
Definition: PATMuonProducer.h:148
pat::PATMuonProducer::pcToken_
edm::EDGetTokenT< pat::PackedCandidateCollection > pcToken_
Definition: PATMuonProducer.h:143
pat::PATMuonHeavyObjectCache::muonLowPtMvaEstimator_
std::unique_ptr< const pat::MuonMvaEstimator > muonLowPtMvaEstimator_
Definition: PATMuonProducer.h:56
pat::PATMuonProducer::isolator_
pat::helper::MultiIsolator isolator_
helper class to add userdefined isolation values to the muon
Definition: PATMuonProducer.h:238