CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
pat::PATMuonSlimmer Class Reference

Slimmer of PAT Muons. More...

Inheritance diagram for pat::PATMuonSlimmer:
edm::stream::EDProducer<>

Public Member Functions

void beginLuminosityBlock (const edm::LuminosityBlock &, const edm::EventSetup &) final
 
 PATMuonSlimmer (const edm::ParameterSet &iConfig)
 
void produce (edm::Event &iEvent, const edm::EventSetup &iSetup) override
 
 ~PATMuonSlimmer () override
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Private Attributes

const StringCutObjectSelector< pat::MuondropDirectionalIso_
 
const StringCutObjectSelector< pat::MuondropPfP4_
 
const bool linkToPackedPF_
 
const bool modifyMuon_
 
std::unique_ptr< pat::ObjectModifier< pat::Muon > > muonModifier_
 
std::vector< edm::EDGetTokenT< edm::Association< pat::PackedCandidateCollection > > > pf2pc_
 
std::vector< edm::EDGetTokenT< reco::PFCandidateCollection > > pf_
 
const bool saveSegments_
 
const StringCutObjectSelector< pat::MuonsaveTeVMuons_
 
const StringCutObjectSelector< pat::MuonsegmentsMuonSelection_
 
const StringCutObjectSelector< pat::MuonslimCaloMETCorr_
 
const StringCutObjectSelector< pat::MuonslimCaloVars_
 
const StringCutObjectSelector< pat::MuonslimKinkVars_
 
const StringCutObjectSelector< pat::MuonslimMatches_
 
const edm::EDGetTokenT< pat::MuonCollectionsrc_
 
std::vector< edm::EDGetTokenT< edm::Association< reco::TrackExtraCollection > > > trackExtraAssocs_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer<>
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 

Detailed Description

Slimmer of PAT Muons.

Definition at line 25 of file PATMuonSlimmer.cc.

Constructor & Destructor Documentation

◆ PATMuonSlimmer()

pat::PATMuonSlimmer::PATMuonSlimmer ( const edm::ParameterSet iConfig)
explicit

Definition at line 47 of file PATMuonSlimmer.cc.

48  : src_(consumes<pat::MuonCollection>(iConfig.getParameter<edm::InputTag>("src"))),
49  linkToPackedPF_(iConfig.getParameter<bool>("linkToPackedPFCandidates")),
50  saveTeVMuons_(iConfig.getParameter<std::string>("saveTeVMuons")),
51  dropDirectionalIso_(iConfig.getParameter<std::string>("dropDirectionalIso")),
52  dropPfP4_(iConfig.getParameter<std::string>("dropPfP4")),
53  slimCaloVars_(iConfig.getParameter<std::string>("slimCaloVars")),
54  slimKinkVars_(iConfig.getParameter<std::string>("slimKinkVars")),
55  slimCaloMETCorr_(iConfig.getParameter<std::string>("slimCaloMETCorr")),
56  slimMatches_(iConfig.getParameter<std::string>("slimMatches")),
57  segmentsMuonSelection_(iConfig.getParameter<std::string>("segmentsMuonSelection")),
58  saveSegments_(iConfig.getParameter<bool>("saveSegments")),
59  modifyMuon_(iConfig.getParameter<bool>("modifyMuons")) {
60  if (linkToPackedPF_) {
61  const std::vector<edm::InputTag> &pf = iConfig.getParameter<std::vector<edm::InputTag>>("pfCandidates");
62  const std::vector<edm::InputTag> &pf2pc = iConfig.getParameter<std::vector<edm::InputTag>>("packedPFCandidates");
63  if (pf.size() != pf2pc.size())
64  throw cms::Exception("Configuration") << "Mismatching pfCandidates and packedPFCandidates\n";
65  for (const edm::InputTag &tag : pf)
66  pf_.push_back(consumes<reco::PFCandidateCollection>(tag));
67  for (const edm::InputTag &tag : pf2pc)
69  }
70 
71  if (modifyMuon_) {
72  const edm::ParameterSet &mod_config = iConfig.getParameter<edm::ParameterSet>("modifierConfig");
73  muonModifier_ = std::make_unique<pat::ObjectModifier<pat::Muon>>(mod_config, consumesCollector());
74  }
75  produces<std::vector<pat::Muon>>();
76  if (saveSegments_) {
77  produces<DTRecSegment4DCollection>();
78  produces<CSCSegmentCollection>();
79  }
80 
81  //associations for rekeying of TrackExtra refs in embedded tracks
82  std::vector<edm::InputTag> trackExtraAssocTags = iConfig.getParameter<std::vector<edm::InputTag>>("trackExtraAssocs");
83  for (edm::InputTag const &tag : trackExtraAssocTags) {
85  }
86 }

References edm::ParameterSet::getParameter(), linkToPackedPF_, modifyMuon_, muonModifier_, packedPFCandidateRefMixer_cfi::pf, pf2pc_, pf_, saveSegments_, makeGlobalPositionRcd_cfg::tag, and trackExtraAssocs_.

◆ ~PATMuonSlimmer()

pat::PATMuonSlimmer::~PATMuonSlimmer ( )
inlineoverride

Definition at line 28 of file PATMuonSlimmer.cc.

28 {}

Member Function Documentation

◆ beginLuminosityBlock()

void pat::PATMuonSlimmer::beginLuminosityBlock ( const edm::LuminosityBlock ,
const edm::EventSetup iSetup 
)
final

Definition at line 88 of file PATMuonSlimmer.cc.

88  {
89  if (modifyMuon_)
90  muonModifier_->setEventContent(iSetup);
91 }

◆ produce()

void pat::PATMuonSlimmer::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Definition at line 93 of file PATMuonSlimmer.cc.

93  {
94  using namespace edm;
95  using namespace std;
96 
98  iEvent.getByToken(src_, src);
99 
100  auto out = std::make_unique<std::vector<pat::Muon>>();
101  out->reserve(src->size());
102 
103  auto outDTSegments = std::make_unique<DTRecSegment4DCollection>();
104  std::set<DTRecSegment4DRef> dtSegmentsRefs;
105  auto outCSCSegments = std::make_unique<CSCSegmentCollection>();
106  std::set<CSCSegmentRef> cscSegmentsRefs;
107 
108  if (modifyMuon_) {
109  muonModifier_->setEvent(iEvent);
110  }
111 
112  std::map<reco::CandidatePtr, pat::PackedCandidateRef> mu2pc;
113  if (linkToPackedPF_) {
116  for (unsigned int ipfh = 0, npfh = pf_.size(); ipfh < npfh; ++ipfh) {
117  iEvent.getByToken(pf_[ipfh], pf);
118  iEvent.getByToken(pf2pc_[ipfh], pf2pc);
119  const auto &pfcoll = (*pf);
120  const auto &pfmap = (*pf2pc);
121  for (unsigned int i = 0, n = pf->size(); i < n; ++i) {
122  const reco::PFCandidate &p = pfcoll[i];
123  if (p.muonRef().isNonnull())
124  mu2pc[refToPtr(p.muonRef())] = pfmap[reco::PFCandidateRef(pf, i)];
125  }
126  }
127  }
128 
129  std::vector<edm::Handle<edm::Association<reco::TrackExtraCollection>>> trackExtraAssocs(trackExtraAssocs_.size());
130  for (unsigned int i = 0; i < trackExtraAssocs_.size(); ++i) {
132  }
133 
134  for (vector<pat::Muon>::const_iterator it = src->begin(), ed = src->end(); it != ed; ++it) {
135  out->push_back(*it);
136  pat::Muon &mu = out->back();
137 
138  if (modifyMuon_) {
139  muonModifier_->modify(mu);
140  }
141 
142  if (saveTeVMuons_(mu)) {
143  mu.embedPickyMuon();
144  mu.embedTpfmsMuon();
145  mu.embedDytMuon();
146  }
147  if (linkToPackedPF_) {
148  mu.refToOrig_ = refToPtr(mu2pc[mu.refToOrig_]);
149  }
150  if (dropDirectionalIso_(mu)) {
152  mu.setPFIsolation("pfIsoMeanDRProfileR03", zero);
153  mu.setPFIsolation("pfIsoSumDRProfileR03", zero);
154  mu.setPFIsolation("pfIsoMeanDRProfileR04", zero);
155  mu.setPFIsolation("pfIsoSumDRProfileR04", zero);
156  }
157  if (mu.isPFMuon() && dropPfP4_(mu))
159  if (slimCaloVars_(mu) && mu.isEnergyValid()) {
160  reco::MuonEnergy ene = mu.calEnergy();
161  if (ene.tower)
162  ene.tower = MiniFloatConverter::reduceMantissaToNbitsRounding<12>(ene.tower);
163  if (ene.towerS9)
164  ene.towerS9 = MiniFloatConverter::reduceMantissaToNbitsRounding<12>(ene.towerS9);
165  if (ene.had)
166  ene.had = MiniFloatConverter::reduceMantissaToNbitsRounding<12>(ene.had);
167  if (ene.hadS9)
168  ene.hadS9 = MiniFloatConverter::reduceMantissaToNbitsRounding<12>(ene.hadS9);
169  if (ene.hadMax)
170  ene.hadMax = MiniFloatConverter::reduceMantissaToNbitsRounding<12>(ene.hadMax);
171  if (ene.em)
172  ene.em = MiniFloatConverter::reduceMantissaToNbitsRounding<12>(ene.em);
173  if (ene.emS25)
174  ene.emS25 = MiniFloatConverter::reduceMantissaToNbitsRounding<12>(ene.emS25);
175  if (ene.emMax)
176  ene.emMax = MiniFloatConverter::reduceMantissaToNbitsRounding<12>(ene.emMax);
177  if (ene.hcal_time)
178  ene.hcal_time = MiniFloatConverter::reduceMantissaToNbitsRounding<12>(ene.hcal_time);
179  if (ene.hcal_timeError)
180  ene.hcal_timeError = MiniFloatConverter::reduceMantissaToNbitsRounding<12>(ene.hcal_timeError);
181  if (ene.ecal_time)
182  ene.ecal_time = MiniFloatConverter::reduceMantissaToNbitsRounding<12>(ene.ecal_time);
183  if (ene.ecal_timeError)
184  ene.ecal_timeError = MiniFloatConverter::reduceMantissaToNbitsRounding<12>(ene.ecal_timeError);
185  ene.ecal_position = math::XYZPointF(MiniFloatConverter::reduceMantissaToNbitsRounding<14>(ene.ecal_position.X()),
186  MiniFloatConverter::reduceMantissaToNbitsRounding<14>(ene.ecal_position.Y()),
187  MiniFloatConverter::reduceMantissaToNbitsRounding<14>(ene.ecal_position.Z()));
188  ene.hcal_position = math::XYZPointF(MiniFloatConverter::reduceMantissaToNbitsRounding<12>(ene.hcal_position.X()),
189  MiniFloatConverter::reduceMantissaToNbitsRounding<12>(ene.hcal_position.Y()),
190  MiniFloatConverter::reduceMantissaToNbitsRounding<12>(ene.hcal_position.Z()));
191  mu.setCalEnergy(ene);
192  }
193  if (slimKinkVars_(mu) && mu.isQualityValid()) {
194  reco::MuonQuality qual = mu.combinedQuality();
195  qual.tkKink_position =
196  math::XYZPointF(MiniFloatConverter::reduceMantissaToNbitsRounding<12>(qual.tkKink_position.X()),
197  MiniFloatConverter::reduceMantissaToNbitsRounding<12>(qual.tkKink_position.Y()),
198  MiniFloatConverter::reduceMantissaToNbitsRounding<12>(qual.tkKink_position.Z()));
199  mu.setCombinedQuality(qual);
200  }
201  if (slimCaloMETCorr_(mu) && mu.caloMETMuonCorrs().type() != reco::MuonMETCorrectionData::NotUsed) {
202  reco::MuonMETCorrectionData corrs = mu.caloMETMuonCorrs();
203  corrs = reco::MuonMETCorrectionData(corrs.type(),
204  MiniFloatConverter::reduceMantissaToNbitsRounding<10>(corrs.corrX()),
205  MiniFloatConverter::reduceMantissaToNbitsRounding<10>(corrs.corrY()));
206  mu.embedCaloMETMuonCorrs(corrs);
207  }
208  if (slimMatches_(mu) && mu.isMatchesValid()) {
209  for (reco::MuonChamberMatch &cmatch : mu.matches()) {
210  cmatch.edgeX = MiniFloatConverter::reduceMantissaToNbitsRounding<12>(cmatch.edgeX);
211  cmatch.edgeY = MiniFloatConverter::reduceMantissaToNbitsRounding<12>(cmatch.edgeY);
212  cmatch.xErr = MiniFloatConverter::reduceMantissaToNbitsRounding<12>(cmatch.xErr);
213  cmatch.yErr = MiniFloatConverter::reduceMantissaToNbitsRounding<12>(cmatch.yErr);
214  cmatch.dXdZErr = MiniFloatConverter::reduceMantissaToNbitsRounding<12>(cmatch.dXdZErr);
215  cmatch.dYdZErr = MiniFloatConverter::reduceMantissaToNbitsRounding<12>(cmatch.dYdZErr);
216  for (reco::MuonSegmentMatch &smatch : cmatch.segmentMatches) {
217  smatch.xErr = MiniFloatConverter::reduceMantissaToNbitsRounding<12>(smatch.xErr);
218  smatch.yErr = MiniFloatConverter::reduceMantissaToNbitsRounding<12>(smatch.yErr);
219  smatch.dXdZErr = MiniFloatConverter::reduceMantissaToNbitsRounding<12>(smatch.dXdZErr);
220  smatch.dYdZErr = MiniFloatConverter::reduceMantissaToNbitsRounding<12>(smatch.dYdZErr);
222  if (smatch.dtSegmentRef.isNonnull())
223  dtSegmentsRefs.insert(smatch.dtSegmentRef);
224  if (smatch.cscSegmentRef.isNonnull())
225  cscSegmentsRefs.insert(smatch.cscSegmentRef);
226  }
227  }
228  }
229  }
230  // rekey TrackExtra references in embedded tracks
231  mu.rekeyEmbeddedTracks(trackExtraAssocs);
232  }
233 
234  if (saveSegments_) {
235  std::map<DTRecSegment4DRef, size_t> dtMap;
236  std::vector<DTRecSegment4D> outDTSegmentsTmp;
237  std::map<CSCSegmentRef, size_t> cscMap;
238  std::vector<CSCSegment> outCSCSegmentsTmp;
239  for (auto &seg : dtSegmentsRefs) {
240  dtMap[seg] = outDTSegments->size();
241  outDTSegmentsTmp.push_back(*seg);
242  }
243  for (auto &seg : cscSegmentsRefs) {
244  cscMap[seg] = outCSCSegments->size();
245  outCSCSegmentsTmp.push_back(*seg);
246  }
247  outDTSegments->put(DTChamberId(), outDTSegmentsTmp.begin(), outDTSegmentsTmp.end());
248  outCSCSegments->put(CSCDetId(), outCSCSegmentsTmp.begin(), outCSCSegmentsTmp.end());
249  auto dtHandle = iEvent.put(std::move(outDTSegments));
250  auto cscHandle = iEvent.put(std::move(outCSCSegments));
251  for (auto &mu : *out) {
252  if (mu.isMatchesValid()) {
253  for (reco::MuonChamberMatch &cmatch : mu.matches()) {
254  for (reco::MuonSegmentMatch &smatch : cmatch.segmentMatches) {
255  if (dtMap.find(smatch.dtSegmentRef) != dtMap.end())
256  smatch.dtSegmentRef = DTRecSegment4DRef(dtHandle, dtMap[smatch.dtSegmentRef]);
257  if (cscMap.find(smatch.cscSegmentRef) != cscMap.end())
258  smatch.cscSegmentRef = CSCSegmentRef(cscHandle, cscMap[smatch.cscSegmentRef]);
259  }
260  }
261  }
262  }
263  }
264 
265  iEvent.put(std::move(out));
266 }

References reco::MuonMETCorrectionData::corrX(), reco::MuonMETCorrectionData::corrY(), reco::MuonSegmentMatch::cscSegmentRef, reco::MuonSegmentMatch::dtSegmentRef, reco::MuonSegmentMatch::dXdZErr, reco::MuonSegmentMatch::dYdZErr, reco::MuonEnergy::ecal_position, reco::MuonEnergy::ecal_time, reco::MuonEnergy::ecal_timeError, reco::MuonEnergy::em, reco::MuonEnergy::emMax, reco::MuonEnergy::emS25, reco::MuonEnergy::had, reco::MuonEnergy::hadMax, reco::MuonEnergy::hadS9, reco::MuonEnergy::hcal_position, reco::MuonEnergy::hcal_time, reco::MuonEnergy::hcal_timeError, mps_fire::i, iEvent, edm::Ref< C, T, F >::isNonnull(), eostools::move(), amptDefaultParameters_cff::mu, dqmiodumpmetadata::n, reco::MuonMETCorrectionData::NotUsed, MillePedeFileConverter_cfg::out, AlCaHLTBitMon_ParallelJobs::p, packedPFCandidateRefMixer_cfi::pf, edm::refToPtr(), TrackRefitter_38T_cff::src, reco::MuonQuality::tkKink_position, reco::MuonEnergy::tower, reco::MuonEnergy::towerS9, slimmedMuons_cfi::trackExtraAssocs, reco::MuonMETCorrectionData::type(), reco::MuonSegmentMatch::xErr, reco::MuonSegmentMatch::yErr, and SiPixelPI::zero.

Member Data Documentation

◆ dropDirectionalIso_

const StringCutObjectSelector<pat::Muon> pat::PATMuonSlimmer::dropDirectionalIso_
private

Definition at line 38 of file PATMuonSlimmer.cc.

◆ dropPfP4_

const StringCutObjectSelector<pat::Muon> pat::PATMuonSlimmer::dropPfP4_
private

Definition at line 38 of file PATMuonSlimmer.cc.

◆ linkToPackedPF_

const bool pat::PATMuonSlimmer::linkToPackedPF_
private

Definition at line 37 of file PATMuonSlimmer.cc.

Referenced by PATMuonSlimmer().

◆ modifyMuon_

const bool pat::PATMuonSlimmer::modifyMuon_
private

Definition at line 40 of file PATMuonSlimmer.cc.

Referenced by PATMuonSlimmer().

◆ muonModifier_

std::unique_ptr<pat::ObjectModifier<pat::Muon> > pat::PATMuonSlimmer::muonModifier_
private

Definition at line 41 of file PATMuonSlimmer.cc.

Referenced by PATMuonSlimmer().

◆ pf2pc_

std::vector<edm::EDGetTokenT<edm::Association<pat::PackedCandidateCollection> > > pat::PATMuonSlimmer::pf2pc_
private

Definition at line 36 of file PATMuonSlimmer.cc.

Referenced by PATMuonSlimmer().

◆ pf_

std::vector<edm::EDGetTokenT<reco::PFCandidateCollection> > pat::PATMuonSlimmer::pf_
private

Definition at line 35 of file PATMuonSlimmer.cc.

Referenced by PATMuonSlimmer().

◆ saveSegments_

const bool pat::PATMuonSlimmer::saveSegments_
private

Definition at line 40 of file PATMuonSlimmer.cc.

Referenced by PATMuonSlimmer().

◆ saveTeVMuons_

const StringCutObjectSelector<pat::Muon> pat::PATMuonSlimmer::saveTeVMuons_
private

Definition at line 38 of file PATMuonSlimmer.cc.

◆ segmentsMuonSelection_

const StringCutObjectSelector<pat::Muon> pat::PATMuonSlimmer::segmentsMuonSelection_
private

Definition at line 38 of file PATMuonSlimmer.cc.

◆ slimCaloMETCorr_

const StringCutObjectSelector<pat::Muon> pat::PATMuonSlimmer::slimCaloMETCorr_
private

Definition at line 38 of file PATMuonSlimmer.cc.

◆ slimCaloVars_

const StringCutObjectSelector<pat::Muon> pat::PATMuonSlimmer::slimCaloVars_
private

Definition at line 38 of file PATMuonSlimmer.cc.

◆ slimKinkVars_

const StringCutObjectSelector<pat::Muon> pat::PATMuonSlimmer::slimKinkVars_
private

Definition at line 38 of file PATMuonSlimmer.cc.

◆ slimMatches_

const StringCutObjectSelector<pat::Muon> pat::PATMuonSlimmer::slimMatches_
private

Definition at line 38 of file PATMuonSlimmer.cc.

◆ src_

const edm::EDGetTokenT<pat::MuonCollection> pat::PATMuonSlimmer::src_
private

Definition at line 34 of file PATMuonSlimmer.cc.

◆ trackExtraAssocs_

std::vector<edm::EDGetTokenT<edm::Association<reco::TrackExtraCollection> > > pat::PATMuonSlimmer::trackExtraAssocs_
private

Definition at line 42 of file PATMuonSlimmer.cc.

Referenced by PATMuonSlimmer().

pat::PATMuonSlimmer::slimMatches_
const StringCutObjectSelector< pat::Muon > slimMatches_
Definition: PATMuonSlimmer.cc:38
reco::MuonEnergy
Definition: MuonEnergy.h:17
reco::MuonEnergy::ecal_time
float ecal_time
Calorimeter timing.
Definition: MuonEnergy.h:47
mps_fire.i
i
Definition: mps_fire.py:428
pat::PATMuonSlimmer::saveSegments_
const bool saveSegments_
Definition: PATMuonSlimmer.cc:40
reco::MuonQuality
Definition: MuonQuality.h:6
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
reco::MuonEnergy::hcal_position
math::XYZPointF hcal_position
Definition: MuonEnergy.h:54
reco::MuonMETCorrectionData::type
Type type()
Definition: MuonMETCorrectionData.h:25
amptDefaultParameters_cff.mu
mu
Definition: amptDefaultParameters_cff.py:16
slimmedMuons_cfi.trackExtraAssocs
trackExtraAssocs
Definition: slimmedMuons_cfi.py:19
pat::PATMuonSlimmer::slimKinkVars_
const StringCutObjectSelector< pat::Muon > slimKinkVars_
Definition: PATMuonSlimmer.cc:38
edm
HLT enums.
Definition: AlignableModifier.h:19
pat::PATMuonSlimmer::pf_
std::vector< edm::EDGetTokenT< reco::PFCandidateCollection > > pf_
Definition: PATMuonSlimmer.cc:35
pat::PATMuonSlimmer::modifyMuon_
const bool modifyMuon_
Definition: PATMuonSlimmer.cc:40
reco::MuonEnergy::had
float had
Definition: MuonEnergy.h:36
SiPixelPI::zero
Definition: SiPixelPayloadInspectorHelper.h:39
reco::MuonEnergy::hcal_time
float hcal_time
Definition: MuonEnergy.h:49
pat::Muon
Analysis-level muon class.
Definition: Muon.h:51
reco::MuonEnergy::hadS9
float hadS9
energy deposited in 3x3 HCAL tower shape around central tower
Definition: MuonEnergy.h:38
pat::PATMuonSlimmer::src_
const edm::EDGetTokenT< pat::MuonCollection > src_
Definition: PATMuonSlimmer.cc:34
reco::MuonSegmentMatch::dtSegmentRef
DTRecSegment4DRef dtSegmentRef
Definition: MuonSegmentMatch.h:50
edm::Handle
Definition: AssociativeIterator.h:50
reco::MuonSegmentMatch::xErr
float xErr
Definition: MuonSegmentMatch.h:36
reco::MuonEnergy::tower
float tower
Definition: MuonEnergy.h:20
reco::Particle::LorentzVector
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Particle.h:21
edm::Ref< PFCandidateCollection >
reco::MuonSegmentMatch::cscSegmentRef
CSCSegmentRef cscSegmentRef
Definition: MuonSegmentMatch.h:51
edm::refToPtr
Ptr< typename C::value_type > refToPtr(Ref< C, typename C::value_type, refhelper::FindUsingAdvance< C, typename C::value_type > > const &ref)
Definition: RefToPtr.h:18
reco::MuonSegmentMatch
Definition: MuonSegmentMatch.h:12
pat::PATMuonSlimmer::saveTeVMuons_
const StringCutObjectSelector< pat::Muon > saveTeVMuons_
Definition: PATMuonSlimmer.cc:38
pat::PATMuonSlimmer::slimCaloMETCorr_
const StringCutObjectSelector< pat::Muon > slimCaloMETCorr_
Definition: PATMuonSlimmer.cc:38
pat::PATMuonSlimmer::linkToPackedPF_
const bool linkToPackedPF_
Definition: PATMuonSlimmer.cc:37
reco::MuonMETCorrectionData::NotUsed
Definition: MuonMETCorrectionData.h:10
reco::MuonEnergy::emS25
float emS25
energy deposited in 5x5 ECAL crystal shape around central crystal
Definition: MuonEnergy.h:30
pat::PATMuonSlimmer::dropPfP4_
const StringCutObjectSelector< pat::Muon > dropPfP4_
Definition: PATMuonSlimmer.cc:38
edm::ParameterSet
Definition: ParameterSet.h:47
AlCaHLTBitMon_ParallelJobs.p
def p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
TrackRefitter_38T_cff.src
src
Definition: TrackRefitter_38T_cff.py:24
reco::MuonEnergy::hcal_timeError
float hcal_timeError
Definition: MuonEnergy.h:50
makeGlobalPositionRcd_cfg.tag
tag
Definition: makeGlobalPositionRcd_cfg.py:6
pat::PATMuonSlimmer::dropDirectionalIso_
const StringCutObjectSelector< pat::Muon > dropDirectionalIso_
Definition: PATMuonSlimmer.cc:38
reco::MuonEnergy::hadMax
float hadMax
maximal energy of HCAL tower in the 3x3 shape
Definition: MuonEnergy.h:40
pat::PATMuonSlimmer::trackExtraAssocs_
std::vector< edm::EDGetTokenT< edm::Association< reco::TrackExtraCollection > > > trackExtraAssocs_
Definition: PATMuonSlimmer.cc:42
edm::Ref::isNonnull
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:238
CSCDetId
Definition: CSCDetId.h:26
iEvent
int iEvent
Definition: GenABIO.cc:224
reco::MuonEnergy::towerS9
float towerS9
total energy in 3x3 tower shape
Definition: MuonEnergy.h:22
edm::Association
Definition: Association.h:18
reco::MuonChamberMatch
Definition: MuonChamberMatch.h:10
reco::MuonQuality::tkKink_position
math::XYZPoint tkKink_position
Kink position for the tracker stub and global track.
Definition: MuonQuality.h:32
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
reco::MuonEnergy::ecal_timeError
float ecal_timeError
Definition: MuonEnergy.h:48
reco::MuonPFIsolation
Definition: MuonPFIsolation.h:5
pat::PATMuonSlimmer::pf2pc_
std::vector< edm::EDGetTokenT< edm::Association< pat::PackedCandidateCollection > > > pf2pc_
Definition: PATMuonSlimmer.cc:36
eostools.move
def move(src, dest)
Definition: eostools.py:511
std
Definition: JetResolutionObject.h:76
pat::PATMuonSlimmer::slimCaloVars_
const StringCutObjectSelector< pat::Muon > slimCaloVars_
Definition: PATMuonSlimmer.cc:38
reco::MuonEnergy::emMax
float emMax
maximal energy of ECAL crystal in the 5x5 shape
Definition: MuonEnergy.h:32
packedPFCandidateRefMixer_cfi.pf
pf
Definition: packedPFCandidateRefMixer_cfi.py:4
reco::MuonMETCorrectionData::corrY
float corrY()
Definition: MuonMETCorrectionData.h:27
reco::MuonMETCorrectionData::corrX
float corrX()
Definition: MuonMETCorrectionData.h:26
pat::PATMuonSlimmer::segmentsMuonSelection_
const StringCutObjectSelector< pat::Muon > segmentsMuonSelection_
Definition: PATMuonSlimmer.cc:38
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
reco::MuonSegmentMatch::yErr
float yErr
Definition: MuonSegmentMatch.h:37
reco::MuonEnergy::ecal_position
math::XYZPointF ecal_position
Trajectory position at the calorimeter.
Definition: MuonEnergy.h:53
reco::PFCandidate
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:41
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
cms::Exception
Definition: Exception.h:70
DTChamberId
Definition: DTChamberId.h:14
reco::MuonMETCorrectionData
Definition: MuonMETCorrectionData.h:7
reco::MuonSegmentMatch::dXdZErr
float dXdZErr
Definition: MuonSegmentMatch.h:40
math::XYZPointF
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
Definition: Point3D.h:10
reco::MuonEnergy::em
float em
Definition: MuonEnergy.h:26
edm::InputTag
Definition: InputTag.h:15
pat::PATMuonSlimmer::muonModifier_
std::unique_ptr< pat::ObjectModifier< pat::Muon > > muonModifier_
Definition: PATMuonSlimmer.cc:41
reco::MuonSegmentMatch::dYdZErr
float dYdZErr
Definition: MuonSegmentMatch.h:41