CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
PATObjectCrossLinker Class Reference

#include <PhysicsTools/PATObjectCrossLinker/plugins/PATObjectCrossLinker.cc>

Inheritance diagram for PATObjectCrossLinker:
edm::stream::EDProducer<>

Public Member Functions

 PATObjectCrossLinker (const edm::ParameterSet &)
 
 ~PATObjectCrossLinker () 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
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Private Member Functions

void beginStream (edm::StreamID) override
 
void endStream () override
 
template<class C1 , class C2 , class C3 , class C4 >
void matchElectronToPhoton (const C1 &refProdOne, C2 &itemsOne, const std::string &nameOne, const C3 &refProdMany, C4 &itemsMany, const std::string &nameMany)
 
template<class C1 , class C2 , class C3 , class C4 >
void matchLowPtToElectron (const C1 &refProdOne, C2 &itemsOne, const std::string &nameOne, const C3 &refProdMany, C4 &itemsMany, const std::string &nameMany)
 
template<class C1 , class C2 , class C3 , class C4 >
void matchOneToMany (const C1 &refProdOne, C2 &itemsOne, const std::string &nameOne, const C3 &refProdMany, C4 &itemsMany, const std::string &nameMany)
 
template<class C1 , class C2 , class C3 >
void matchOneToVertices (C1 &itemsOne, const C2 &refProdVtx, C3 &itemsVtx, const std::string &nameVtx)
 
template<class C1 , class C2 , class C3 >
void matchVertexToMany (const C1 &refProdVtx, C2 &itemsVtx, const std::string &nameVtx, C3 &itemsMany)
 
void produce (edm::Event &, const edm::EventSetup &) override
 

Private Attributes

edm::EDGetTokenT< edm::View< pat::Tau > > boostedTaus_
 
edm::InputTag boostedTausTag_
 
const edm::EDGetTokenT< edm::View< pat::Electron > > electrons_
 
const edm::EDGetTokenT< edm::View< pat::Jet > > jets_
 
edm::EDGetTokenT< edm::View< pat::Electron > > lowPtElectrons_
 
edm::InputTag lowPtElectronsTag_
 
const edm::EDGetTokenT< edm::View< pat::Muon > > muons_
 
const edm::EDGetTokenT< edm::View< pat::Photon > > photons_
 
const edm::EDGetTokenT< edm::View< pat::Tau > > taus_
 
edm::EDGetTokenT< edm::View< reco::VertexCompositePtrCandidate > > vertices_
 
edm::InputTag verticesTag_
 

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

Description: [one line class summary]

Implementation: [Notes on implementation]

Definition at line 46 of file PATObjectCrossLinker.cc.

Constructor & Destructor Documentation

◆ PATObjectCrossLinker()

PATObjectCrossLinker::PATObjectCrossLinker ( const edm::ParameterSet params)
explicit

Definition at line 110 of file PATObjectCrossLinker.cc.

References boostedTaus_, boostedTausTag_, edm::InputTag::label(), lowPtElectrons_, lowPtElectronsTag_, vertices_, and verticesTag_.

111  : jets_(consumes<edm::View<pat::Jet>>(params.getParameter<edm::InputTag>("jets"))),
112  muons_(consumes<edm::View<pat::Muon>>(params.getParameter<edm::InputTag>("muons"))),
113  electrons_(consumes<edm::View<pat::Electron>>(params.getParameter<edm::InputTag>("electrons"))),
114  photons_(consumes<edm::View<pat::Photon>>(params.getParameter<edm::InputTag>("photons"))),
115  taus_(consumes<edm::View<pat::Tau>>(params.getParameter<edm::InputTag>("taus"))),
116  lowPtElectronsTag_(params.getParameter<edm::InputTag>("lowPtElectrons")),
117  boostedTausTag_(params.getParameter<edm::InputTag>("boostedTaus")),
118  verticesTag_(params.getParameter<edm::InputTag>("vertices")) {
119  produces<std::vector<pat::Jet>>("jets");
120  produces<std::vector<pat::Muon>>("muons");
121  produces<std::vector<pat::Electron>>("electrons");
122  produces<std::vector<pat::Photon>>("photons");
123  produces<std::vector<pat::Tau>>("taus");
124  if (!lowPtElectronsTag_.label().empty()) {
125  lowPtElectrons_ = consumes<edm::View<pat::Electron>>(lowPtElectronsTag_),
126  produces<std::vector<pat::Electron>>("lowPtElectrons");
127  }
128  if (!boostedTausTag_.label().empty()) {
129  boostedTaus_ = consumes<edm::View<pat::Tau>>(boostedTausTag_);
130  produces<std::vector<pat::Tau>>("boostedTaus");
131  }
132  if (!verticesTag_.label().empty()) {
133  vertices_ = consumes<edm::View<reco::VertexCompositePtrCandidate>>(verticesTag_);
134  produces<std::vector<reco::VertexCompositePtrCandidate>>("vertices");
135  }
136 }
const edm::EDGetTokenT< edm::View< pat::Muon > > muons_
std::string const & label() const
Definition: InputTag.h:36
edm::EDGetTokenT< edm::View< pat::Electron > > lowPtElectrons_
edm::EDGetTokenT< edm::View< pat::Tau > > boostedTaus_
const edm::EDGetTokenT< edm::View< pat::Jet > > jets_
const edm::EDGetTokenT< edm::View< pat::Electron > > electrons_
edm::InputTag lowPtElectronsTag_
edm::EDGetTokenT< edm::View< reco::VertexCompositePtrCandidate > > vertices_
const edm::EDGetTokenT< edm::View< pat::Tau > > taus_
const edm::EDGetTokenT< edm::View< pat::Photon > > photons_

◆ ~PATObjectCrossLinker()

PATObjectCrossLinker::~PATObjectCrossLinker ( )
override

Definition at line 138 of file PATObjectCrossLinker.cc.

138  {
139  // do anything here that needs to be done at destruction time
140  // (e.g. close files, deallocate resources etc.)
141 }

Member Function Documentation

◆ beginStream()

void PATObjectCrossLinker::beginStream ( edm::StreamID  )
overrideprivate

Definition at line 373 of file PATObjectCrossLinker.cc.

373 {}

◆ endStream()

void PATObjectCrossLinker::endStream ( )
overrideprivate

Definition at line 376 of file PATObjectCrossLinker.cc.

376 {}

◆ fillDescriptions()

void PATObjectCrossLinker::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 379 of file PATObjectCrossLinker.cc.

References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, and ProducerED_cfi::InputTag.

379  {
381  desc.add<edm::InputTag>("jets")->setComment("a jet collection derived from pat::Jet");
382  desc.add<edm::InputTag>("muons")->setComment("a muon collection derived from pat::Muon");
383  desc.add<edm::InputTag>("electrons")->setComment("an electron collection derived from pat::Electron");
384  desc.add<edm::InputTag>("photons")->setComment("a photon collection derived from pat::Photon");
385  desc.add<edm::InputTag>("taus")->setComment("a tau collection derived from pat::Tau");
386  desc.add<edm::InputTag>("lowPtElectrons", edm::InputTag(""))
387  ->setComment("an optional electron collection derived from pat::Electron, empty=>not used");
388  desc.add<edm::InputTag>("boostedTaus", edm::InputTag(""))
389  ->setComment("an optional boosted tau collection derived from pat::Tau, empty=>not used");
390  desc.add<edm::InputTag>("vertices", edm::InputTag(""))
391  ->setComment("an optional vertex collection derived from reco::VertexCompositePtrCandidate,empty=>not used");
392  descriptions.add("patObjectCrossLinker", desc);
393 }
void add(std::string const &label, ParameterSetDescription const &psetDescription)

◆ matchElectronToPhoton()

template<class C1 , class C2 , class C3 , class C4 >
void PATObjectCrossLinker::matchElectronToPhoton ( const C1 &  refProdOne,
C2 &  itemsOne,
const std::string &  nameOne,
const C3 &  refProdMany,
C4 &  itemsMany,
const std::string &  nameMany 
)
private

Definition at line 175 of file PATObjectCrossLinker.cc.

References dqmiolumiharvest::j, visualization-live-secondInstance_cfg::m, matchByCommonParentSuperClusterRef(), analyzePatCleaning_cfg::overlaps, and edm::PtrVectorBase::productGetter().

Referenced by produce().

180  {
181  size_t ji = 0;
182  for (auto& j : itemsOne) {
183  edm::PtrVector<reco::Candidate> overlaps(refProdMany.id());
184  size_t mi = 0;
185  for (auto& m : itemsMany) {
186  if (matchByCommonParentSuperClusterRef(j, m) && (!m.hasUserCand(nameOne))) {
187  m.addUserCand(nameOne, reco::CandidatePtr(refProdOne.id(), ji, refProdOne.productGetter()));
188  overlaps.push_back(reco::CandidatePtr(refProdMany.id(), mi, refProdMany.productGetter()));
189  }
190  mi++;
191  }
192  j.setOverlaps(nameMany, overlaps);
193  ji++;
194  }
195 }
EDProductGetter const * productGetter() const
Accessor for product getter.
Definition: PtrVectorBase.h:63
bool matchByCommonParentSuperClusterRef(const C1 &c1, const C2 &c2)
Definition: MatchingUtils.h:21

◆ matchLowPtToElectron()

template<class C1 , class C2 , class C3 , class C4 >
void PATObjectCrossLinker::matchLowPtToElectron ( const C1 &  refProdOne,
C2 &  itemsOne,
const std::string &  nameOne,
const C3 &  refProdMany,
C4 &  itemsMany,
const std::string &  nameMany 
)
private

Definition at line 199 of file PATObjectCrossLinker.cc.

References HLTMuonOfflineAnalyzer_cfi::deltaR2, MillePedeFileConverter_cfg::e, heavyIonCSV_trainingSettings::idx, dqmiolumiharvest::j, visualization-live-secondInstance_cfg::m, analyzePatCleaning_cfg::overlaps, and jetUpdater_cfi::sort.

Referenced by produce().

204  {
205  size_t ji = 0;
206  for (auto& j : itemsOne) {
207  std::vector<std::pair<size_t, float>> idxs;
208  size_t mi = 0;
209  for (auto& m : itemsMany) {
210  float dr2 = deltaR2(m, j);
211  if (dr2 < 1.e-6) { // deltaR < 1.e-3
212  m.addUserCand(nameOne, reco::CandidatePtr(refProdOne.id(), ji, refProdOne.productGetter()));
213  idxs.push_back(std::make_pair(mi, dr2));
214  }
215  mi++;
216  }
217  std::sort(idxs.begin(), idxs.end(), [](auto& left, auto& right) { return left.second < right.second; });
218 
219  edm::PtrVector<reco::Candidate> overlaps(refProdMany.id());
220  for (auto idx : idxs) {
221  overlaps.push_back(reco::CandidatePtr(refProdMany.id(), idx.first, refProdMany.productGetter()));
222  }
223  j.setOverlaps(nameMany, overlaps);
224  ji++;
225  }
226 }

◆ matchOneToMany()

template<class C1 , class C2 , class C3 , class C4 >
void PATObjectCrossLinker::matchOneToMany ( const C1 &  refProdOne,
C2 &  itemsOne,
const std::string &  nameOne,
const C3 &  refProdMany,
C4 &  itemsMany,
const std::string &  nameMany 
)
private

Definition at line 151 of file PATObjectCrossLinker.cc.

References dqmiolumiharvest::j, visualization-live-secondInstance_cfg::m, matchByCommonSourceCandidatePtr(), analyzePatCleaning_cfg::overlaps, and edm::PtrVectorBase::productGetter().

Referenced by produce().

156  {
157  size_t ji = 0;
158  for (auto& j : itemsOne) {
159  edm::PtrVector<reco::Candidate> overlaps(refProdMany.id());
160  size_t mi = 0;
161  for (auto& m : itemsMany) {
162  if (matchByCommonSourceCandidatePtr(j, m) && (!m.hasUserCand(nameOne))) {
163  m.addUserCand(nameOne, reco::CandidatePtr(refProdOne.id(), ji, refProdOne.productGetter()));
164  overlaps.push_back(reco::CandidatePtr(refProdMany.id(), mi, refProdMany.productGetter()));
165  }
166  mi++;
167  }
168  j.setOverlaps(nameMany, overlaps);
169  ji++;
170  }
171 }
EDProductGetter const * productGetter() const
Accessor for product getter.
Definition: PtrVectorBase.h:63
bool matchByCommonSourceCandidatePtr(const C1 &c1, const C2 &c2)
Definition: MatchingUtils.h:9

◆ matchOneToVertices()

template<class C1 , class C2 , class C3 >
void PATObjectCrossLinker::matchOneToVertices ( C1 &  itemsOne,
const C2 &  refProdVtx,
C3 &  itemsVtx,
const std::string &  nameVtx 
)
private

Definition at line 231 of file PATObjectCrossLinker.cc.

References dqmiolumiharvest::j, matchByCommonSourceCandidatePtr(), analyzePatCleaning_cfg::overlaps, edm::PtrVectorBase::productGetter(), and findQualityFiles::v.

Referenced by produce().

234  {
235  for (auto& j : itemsOne) {
236  edm::PtrVector<reco::Candidate> overlaps(refProdVtx.id());
237  size_t vi = 0;
238  for (auto& v : itemsVtx) {
240  overlaps.push_back(reco::CandidatePtr(refProdVtx.id(), vi, refProdVtx.productGetter()));
241  }
242  vi++;
243  }
244  j.setOverlaps(nameVtx, overlaps);
245  }
246 }
EDProductGetter const * productGetter() const
Accessor for product getter.
Definition: PtrVectorBase.h:63
bool matchByCommonSourceCandidatePtr(const C1 &c1, const C2 &c2)
Definition: MatchingUtils.h:9

◆ matchVertexToMany()

template<class C1 , class C2 , class C3 >
void PATObjectCrossLinker::matchVertexToMany ( const C1 &  refProdVtx,
C2 &  itemsVtx,
const std::string &  nameVtx,
C3 &  itemsMany 
)
private

Definition at line 251 of file PATObjectCrossLinker.cc.

References visualization-live-secondInstance_cfg::m, matchByCommonSourceCandidatePtr(), and findQualityFiles::v.

Referenced by produce().

254  {
255  size_t vi = 0;
256  for (auto& v : itemsVtx) {
257  for (auto& m : itemsMany) {
258  if (matchByCommonSourceCandidatePtr(v, m) && (!m.hasUserCand(nameVtx))) {
259  m.addUserCand(nameVtx, reco::CandidatePtr(refProdVtx.id(), vi, refProdVtx.productGetter()));
260  }
261  }
262  vi++;
263  }
264 }
bool matchByCommonSourceCandidatePtr(const C1 &c1, const C2 &c2)
Definition: MatchingUtils.h:9

◆ produce()

void PATObjectCrossLinker::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivate

Definition at line 266 of file PATObjectCrossLinker.cc.

References nano_cff::boostedTaus, boostedTaus_, boostedTausTag_, MillePedeFileConverter_cfg::e, pwdgSkimBPark_cfi::electrons, electrons_, iEvent, dqmiolumiharvest::j, PDWG_EXODelayedJetMET_cff::jets, jets_, edm::InputTag::label(), nano_cff::lowPtElectrons, lowPtElectrons_, lowPtElectronsTag_, visualization-live-secondInstance_cfg::m, matchElectronToPhoton(), matchLowPtToElectron(), matchOneToMany(), matchOneToVertices(), matchVertexToMany(), eostools::move(), PDWG_BPHSkim_cff::muons, muons_, AlCaHLTBitMon_ParallelJobs::p, BPHMonitor_cfi::photons, photons_, submitPVValidationJobs::t, Tau3MuMonitor_cff::taus, taus_, AlignmentTracksFromVertexSelector_cfi::vertices, vertices_, and verticesTag_.

266  {
267  using namespace edm;
268  const auto& jetsIn = iEvent.get(jets_);
269  auto jets = std::make_unique<std::vector<pat::Jet>>();
270  jets->reserve(jetsIn.size());
271  for (const auto& j : jetsIn)
272  jets->push_back(j);
273  auto jetRefProd = iEvent.getRefBeforePut<std::vector<pat::Jet>>("jets");
274 
275  const auto& muonsIn = iEvent.get(muons_);
276  auto muons = std::make_unique<std::vector<pat::Muon>>();
277  muons->reserve(muonsIn.size());
278  for (const auto& m : muonsIn)
279  muons->push_back(m);
280  auto muRefProd = iEvent.getRefBeforePut<std::vector<pat::Muon>>("muons");
281 
282  const auto& electronsIn = iEvent.get(electrons_);
283  auto electrons = std::make_unique<std::vector<pat::Electron>>();
284  electrons->reserve(electronsIn.size());
285  for (const auto& e : electronsIn)
286  electrons->push_back(e);
287  auto eleRefProd = iEvent.getRefBeforePut<std::vector<pat::Electron>>("electrons");
288 
289  const auto& tausIn = iEvent.get(taus_);
290  auto taus = std::make_unique<std::vector<pat::Tau>>();
291  taus->reserve(tausIn.size());
292  for (const auto& t : tausIn)
293  taus->push_back(t);
294  auto tauRefProd = iEvent.getRefBeforePut<std::vector<pat::Tau>>("taus");
295 
296  const auto& photonsIn = iEvent.get(photons_);
297  auto photons = std::make_unique<std::vector<pat::Photon>>();
298  photons->reserve(photonsIn.size());
299  for (const auto& p : photonsIn)
300  photons->push_back(p);
301  auto phRefProd = iEvent.getRefBeforePut<std::vector<pat::Photon>>("photons");
302 
303  auto lowPtElectrons = std::make_unique<std::vector<pat::Electron>>();
304  if (!lowPtElectronsTag_.label().empty()) {
305  const auto& lowPtElectronsIn = iEvent.get(lowPtElectrons_);
306  lowPtElectrons->reserve(lowPtElectronsIn.size());
307  for (const auto& e : lowPtElectronsIn) {
308  lowPtElectrons->push_back(e);
309  }
310  }
311 
312  auto boostedTaus = std::make_unique<std::vector<pat::Tau>>();
313  if (!boostedTausTag_.label().empty()) {
314  const auto& boostedTausIn = iEvent.get(boostedTaus_);
315  boostedTaus->reserve(boostedTausIn.size());
316  for (const auto& e : boostedTausIn) {
317  boostedTaus->push_back(e);
318  }
319  }
320 
321  auto vertices = std::make_unique<std::vector<reco::VertexCompositePtrCandidate>>();
322  if (!verticesTag_.label().empty()) {
323  const auto& verticesIn = iEvent.get(vertices_);
324  vertices->reserve(verticesIn.size());
325  for (const auto& e : verticesIn) {
326  vertices->push_back(e);
327  }
328  }
329 
330  matchOneToMany(jetRefProd, *jets, "jet", muRefProd, *muons, "muons");
331  matchOneToMany(jetRefProd, *jets, "jet", eleRefProd, *electrons, "electrons");
332  matchOneToMany(jetRefProd, *jets, "jet", tauRefProd, *taus, "taus");
333  matchOneToMany(jetRefProd, *jets, "jet", phRefProd, *photons, "photons");
334 
335  matchOneToMany(tauRefProd, *taus, "tau", muRefProd, *muons, "muons");
336  matchOneToMany(tauRefProd, *taus, "tau", eleRefProd, *electrons, "electrons");
337 
338  matchElectronToPhoton(eleRefProd, *electrons, "electron", phRefProd, *photons, "photons");
339 
340  if (!lowPtElectronsTag_.label().empty()) {
341  auto lowPtEleRefProd = iEvent.getRefBeforePut<std::vector<pat::Electron>>("lowPtElectrons");
342  matchLowPtToElectron(lowPtEleRefProd, *lowPtElectrons, "lowPtElectron", eleRefProd, *electrons, "electrons");
343  matchElectronToPhoton(lowPtEleRefProd, *lowPtElectrons, "lowPtElectron", phRefProd, *photons, "photons");
344  }
345 
346  if (!boostedTausTag_.label().empty()) {
347  auto boostedTauRefProd = iEvent.getRefBeforePut<std::vector<pat::Tau>>("boostedTaus");
348  matchOneToMany(jetRefProd, *jets, "jet", boostedTauRefProd, *boostedTaus, "boostedTaus");
349  }
350 
351  if (!verticesTag_.label().empty()) {
352  auto vtxRefProd = iEvent.getRefBeforePut<std::vector<reco::VertexCompositePtrCandidate>>("vertices");
353  matchOneToVertices(*jets, vtxRefProd, *vertices, "vertices");
354  matchOneToVertices(*taus, vtxRefProd, *vertices, "vertices");
355  matchVertexToMany(vtxRefProd, *vertices, "vertex", *muons);
356  matchVertexToMany(vtxRefProd, *vertices, "vertex", *electrons);
357  }
358 
359  iEvent.put(std::move(jets), "jets");
360  iEvent.put(std::move(muons), "muons");
361  iEvent.put(std::move(electrons), "electrons");
362  iEvent.put(std::move(taus), "taus");
363  iEvent.put(std::move(photons), "photons");
364  if (!lowPtElectronsTag_.label().empty())
365  iEvent.put(std::move(lowPtElectrons), "lowPtElectrons");
366  if (!boostedTausTag_.label().empty())
367  iEvent.put(std::move(boostedTaus), "boostedTaus");
368  if (!verticesTag_.label().empty())
369  iEvent.put(std::move(vertices), "vertices");
370 }
void matchOneToMany(const C1 &refProdOne, C2 &itemsOne, const std::string &nameOne, const C3 &refProdMany, C4 &itemsMany, const std::string &nameMany)
void matchOneToVertices(C1 &itemsOne, const C2 &refProdVtx, C3 &itemsVtx, const std::string &nameVtx)
const edm::EDGetTokenT< edm::View< pat::Muon > > muons_
std::string const & label() const
Definition: InputTag.h:36
edm::EDGetTokenT< edm::View< pat::Electron > > lowPtElectrons_
boostedTaus
Definition: nano_cff.py:44
void matchVertexToMany(const C1 &refProdVtx, C2 &itemsVtx, const std::string &nameVtx, C3 &itemsMany)
lowPtElectrons
Definition: nano_cff.py:42
int iEvent
Definition: GenABIO.cc:224
edm::EDGetTokenT< edm::View< pat::Tau > > boostedTaus_
const edm::EDGetTokenT< edm::View< pat::Jet > > jets_
const edm::EDGetTokenT< edm::View< pat::Electron > > electrons_
void matchElectronToPhoton(const C1 &refProdOne, C2 &itemsOne, const std::string &nameOne, const C3 &refProdMany, C4 &itemsMany, const std::string &nameMany)
void matchLowPtToElectron(const C1 &refProdOne, C2 &itemsOne, const std::string &nameOne, const C3 &refProdMany, C4 &itemsMany, const std::string &nameMany)
edm::InputTag lowPtElectronsTag_
edm::EDGetTokenT< edm::View< reco::VertexCompositePtrCandidate > > vertices_
const edm::EDGetTokenT< edm::View< pat::Tau > > taus_
HLT enums.
const edm::EDGetTokenT< edm::View< pat::Photon > > photons_
def move(src, dest)
Definition: eostools.py:511

Member Data Documentation

◆ boostedTaus_

edm::EDGetTokenT<edm::View<pat::Tau> > PATObjectCrossLinker::boostedTaus_
private

Definition at line 102 of file PATObjectCrossLinker.cc.

Referenced by PATObjectCrossLinker(), and produce().

◆ boostedTausTag_

edm::InputTag PATObjectCrossLinker::boostedTausTag_
private

Definition at line 101 of file PATObjectCrossLinker.cc.

Referenced by PATObjectCrossLinker(), and produce().

◆ electrons_

const edm::EDGetTokenT<edm::View<pat::Electron> > PATObjectCrossLinker::electrons_
private

Definition at line 96 of file PATObjectCrossLinker.cc.

Referenced by produce().

◆ jets_

const edm::EDGetTokenT<edm::View<pat::Jet> > PATObjectCrossLinker::jets_
private

Definition at line 94 of file PATObjectCrossLinker.cc.

Referenced by produce().

◆ lowPtElectrons_

edm::EDGetTokenT<edm::View<pat::Electron> > PATObjectCrossLinker::lowPtElectrons_
private

Definition at line 100 of file PATObjectCrossLinker.cc.

Referenced by PATObjectCrossLinker(), and produce().

◆ lowPtElectronsTag_

edm::InputTag PATObjectCrossLinker::lowPtElectronsTag_
private

Definition at line 99 of file PATObjectCrossLinker.cc.

Referenced by PATObjectCrossLinker(), and produce().

◆ muons_

const edm::EDGetTokenT<edm::View<pat::Muon> > PATObjectCrossLinker::muons_
private

Definition at line 95 of file PATObjectCrossLinker.cc.

Referenced by produce().

◆ photons_

const edm::EDGetTokenT<edm::View<pat::Photon> > PATObjectCrossLinker::photons_
private

Definition at line 97 of file PATObjectCrossLinker.cc.

Referenced by produce().

◆ taus_

const edm::EDGetTokenT<edm::View<pat::Tau> > PATObjectCrossLinker::taus_
private

Definition at line 98 of file PATObjectCrossLinker.cc.

Referenced by produce().

◆ vertices_

edm::EDGetTokenT<edm::View<reco::VertexCompositePtrCandidate> > PATObjectCrossLinker::vertices_
private

Definition at line 104 of file PATObjectCrossLinker.cc.

Referenced by PATObjectCrossLinker(), and produce().

◆ verticesTag_

edm::InputTag PATObjectCrossLinker::verticesTag_
private

Definition at line 103 of file PATObjectCrossLinker.cc.

Referenced by PATObjectCrossLinker(), and produce().