CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes
TriggerSummaryProducerAOD Class Reference

#include <TriggerSummaryProducerAOD.h>

Inheritance diagram for TriggerSummaryProducerAOD:
edm::global::EDProducer<> edm::global::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Classes

struct  OrderInputTag
 InputTag ordering class. More...
 

Public Member Functions

void endJob () override
 
void produce (edm::StreamID, edm::Event &, const edm::EventSetup &) const override
 
 TriggerSummaryProducerAOD (const edm::ParameterSet &)
 
 ~TriggerSummaryProducerAOD () override
 
- Public Member Functions inherited from edm::global::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
 
EDProduceroperator= (const EDProducer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
bool wantsStreamLuminosityBlocks () const final
 
bool wantsStreamRuns () const final
 
- Public Member Functions inherited from edm::global::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::global::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Types

using InputTagSet = std::set< edm::InputTag, OrderInputTag >
 
using ProductIDtoIndex = std::map< edm::ProductID, unsigned int >
 

Private Member Functions

template<typename C >
void fillFilterObjectMember (trigger::Keys &keys, trigger::Vids &ids, const int &, const int &, const edm::Ref< C > &) const
 
void fillFilterObjectMember (trigger::Keys &keys, trigger::Vids &ids, const int &, const int &, const edm::Ref< l1extra::L1EtMissParticleCollection > &) const
 
void fillFilterObjectMember (trigger::Keys &keys, trigger::Vids &ids, const int &, const int &, const edm::Ref< l1extra::L1HFRingsCollection > &) const
 
void fillFilterObjectMember (trigger::Keys &keys, trigger::Vids &ids, const int &, const int &, const edm::Ref< reco::CaloMETCollection > &) const
 
void fillFilterObjectMember (trigger::Keys &keys, trigger::Vids &ids, const int &, const int &, const edm::Ref< reco::METCollection > &) const
 
void fillFilterObjectMember (trigger::Keys &keys, trigger::Vids &ids, const int &, const int &, const edm::Ref< reco::PFMETCollection > &) const
 
template<typename C >
void fillFilterObjectMembers (const edm::Event &, const edm::InputTag &tag, const trigger::Vids &, const std::vector< edm::Ref< C >> &, const ProductIDtoIndex &, trigger::Keys &keys, trigger::Vids &oIds) const
 
void fillTriggerObject (trigger::TriggerObjectCollection &, const l1extra::L1EtMissParticle &) const
 
void fillTriggerObject (trigger::TriggerObjectCollection &, const l1extra::L1HFRings &) const
 
void fillTriggerObject (trigger::TriggerObjectCollection &, const reco::CaloMET &) const
 
void fillTriggerObject (trigger::TriggerObjectCollection &, const reco::MET &) const
 
void fillTriggerObject (trigger::TriggerObjectCollection &, const reco::PFMET &) const
 
template<typename T >
void fillTriggerObject (trigger::TriggerObjectCollection &, const T &) const
 
template<typename C >
void fillTriggerObjectCollections (trigger::TriggerObjectCollection &, ProductIDtoIndex &, std::vector< std::string > &, trigger::Keys &, const edm::Event &, const edm::GetterOfProducts< C > &, const InputTagSet &) const
 

Private Attributes

tbb::concurrent_unordered_set< edm::InputTag, InputTagHashcollectionTagsGlobal_
 list of L3 collection tags More...
 
tbb::concurrent_unordered_set< edm::InputTag, InputTagHashfilterTagsGlobal_
 list of L3 filter tags More...
 
edm::GetterOfProducts< reco::CaloJetCollectiongetCaloJetCollection_
 
edm::GetterOfProducts< reco::CaloMETCollectiongetCaloMETCollection_
 
edm::GetterOfProducts< reco::CompositeCandidateCollectiongetCompositeCandidateCollection_
 
edm::GetterOfProducts< reco::ElectronCollectiongetElectronCollection_
 
edm::GetterOfProducts< reco::IsolatedPixelTrackCandidateCollectiongetIsolatedPixelTrackCandidateCollection_
 
edm::GetterOfProducts< l1extra::L1EmParticleCollectiongetL1EmParticleCollection_
 
edm::GetterOfProducts< l1extra::L1EtMissParticleCollectiongetL1EtMissParticleCollection_
 
edm::GetterOfProducts< l1extra::L1HFRingsCollectiongetL1HFRingsCollection_
 
edm::GetterOfProducts< l1extra::L1JetParticleCollectiongetL1JetParticleCollection_
 
edm::GetterOfProducts< l1extra::L1MuonParticleCollectiongetL1MuonParticleCollection_
 
edm::GetterOfProducts< l1t::EGammaBxCollectiongetL1TEGammaParticleCollection_
 
edm::GetterOfProducts< l1t::EtSumBxCollectiongetL1TEtSumParticleCollection_
 
edm::GetterOfProducts< l1t::JetBxCollectiongetL1TJetParticleCollection_
 
edm::GetterOfProducts< l1t::MuonBxCollectiongetL1TMuonParticleCollection_
 
edm::GetterOfProducts< l1t::TauBxCollectiongetL1TTauParticleCollection_
 
edm::GetterOfProducts< reco::METCollectiongetMETCollection_
 
edm::GetterOfProducts< reco::PFJetCollectiongetPFJetCollection_
 
edm::GetterOfProducts< reco::PFMETCollectiongetPFMETCollection_
 
edm::GetterOfProducts< reco::PFTauCollectiongetPFTauCollection_
 
edm::GetterOfProducts< reco::RecoChargedCandidateCollectiongetRecoChargedCandidateCollection_
 
edm::GetterOfProducts< reco::RecoEcalCandidateCollectiongetRecoEcalCandidateCollection_
 
edm::GetterOfProducts< trigger::TriggerFilterObjectWithRefsgetTriggerFilterObjectWithRefs_
 trigger object collection More...
 
std::vector< std::regex > moduleLabelPatternsToMatch_
 module labels which should be avoided More...
 
std::vector< std::regex > moduleLabelPatternsToSkip_
 
std::string pn_
 process name More...
 
const bool throw_
 throw on error More...
 

Additional Inherited Members

- Public Types inherited from edm::global::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

This class is an EDProducer making the HLT summary object for AOD

Author
Martin Grunewald

See header file for documentation

Author
Martin Grunewald

Definition at line 78 of file TriggerSummaryProducerAOD.h.

Member Typedef Documentation

◆ InputTagSet

Definition at line 107 of file TriggerSummaryProducerAOD.h.

◆ ProductIDtoIndex

using TriggerSummaryProducerAOD::ProductIDtoIndex = std::map<edm::ProductID, unsigned int>
private

Definition at line 106 of file TriggerSummaryProducerAOD.h.

Constructor & Destructor Documentation

◆ TriggerSummaryProducerAOD()

TriggerSummaryProducerAOD::TriggerSummaryProducerAOD ( const edm::ParameterSet ps)
explicit

Definition at line 76 of file TriggerSummaryProducerAOD.cc.

77  : throw_(ps.getParameter<bool>("throw")),
78  pn_(ps.getParameter<std::string>("processName")),
80  convertToRegex(ps.getParameter<std::vector<std::string>>("moduleLabelPatternsToMatch"))),
82  convertToRegex(ps.getParameter<std::vector<std::string>>("moduleLabelPatternsToSkip"))) {
83  if (pn_ == "@") {
85  if (tns.isAvailable()) {
86  pn_ = tns->getProcessName();
87  } else {
88  edm::LogError("TriggerSummaryProducerAOD") << "HLT Error: TriggerNamesService not available!";
89  pn_ = "*";
90  }
91  }
92  LogDebug("TriggerSummaryProducerAOD") << "Using process name: '" << pn_ << "'";
93 
94  produces<trigger::TriggerEvent>();
95 
96  auto const* pProcessName = &pn_;
99  auto productMatch = [pProcessName, &moduleLabelPatternsToSkip, &moduleLabelPatternsToMatch](
100  edm::BranchDescription const& iBranch) -> bool {
101  if (iBranch.processName() == *pProcessName || *pProcessName == "*") {
102  auto const& label = iBranch.moduleLabel();
103  for (auto& match : moduleLabelPatternsToMatch) {
104  if (std::regex_match(label, match)) {
105  //make sure this is not in the reject list
106  for (auto& reject : moduleLabelPatternsToSkip) {
107  if (std::regex_match(label, reject)) {
108  return false;
109  }
110  }
111  return true;
112  }
113  }
114  }
115  return false;
116  };
117 
141 
165  });
166 }

References edm::ProducerBase::callWhenNewProductsRegistered(), getCaloJetCollection_, getCaloMETCollection_, getCompositeCandidateCollection_, getElectronCollection_, getIsolatedPixelTrackCandidateCollection_, getL1EmParticleCollection_, getL1EtMissParticleCollection_, getL1HFRingsCollection_, getL1JetParticleCollection_, getL1MuonParticleCollection_, getL1TEGammaParticleCollection_, getL1TEtSumParticleCollection_, getL1TJetParticleCollection_, getL1TMuonParticleCollection_, getL1TTauParticleCollection_, getMETCollection_, getPFJetCollection_, getPFMETCollection_, getPFTauCollection_, edm::service::TriggerNamesService::getProcessName(), getRecoChargedCandidateCollection_, getRecoEcalCandidateCollection_, getTriggerFilterObjectWithRefs_, edm::Service< T >::isAvailable(), label, LogDebug, match(), HLT_Fake1_cff::moduleLabelPatternsToMatch, moduleLabelPatternsToMatch_, HLT_Fake1_cff::moduleLabelPatternsToSkip, moduleLabelPatternsToSkip_, and pn_.

◆ ~TriggerSummaryProducerAOD()

TriggerSummaryProducerAOD::~TriggerSummaryProducerAOD ( )
overridedefault

Member Function Documentation

◆ endJob()

void TriggerSummaryProducerAOD::endJob ( void  )
overridevirtual

Reimplemented from edm::global::EDProducerBase.

Definition at line 701 of file TriggerSummaryProducerAOD.cc.

701  {
702  using namespace std;
703  using namespace edm;
704  using namespace trigger;
705 
706  LogVerbatim("TriggerSummaryProducerAOD") << endl;
707  LogVerbatim("TriggerSummaryProducerAOD") << "TriggerSummaryProducerAOD::globalEndJob - accumulated tags:" << endl;
708 
709  InputTagSet filterTags(false);
711 
712  filterTags.insert(filterTagsGlobal_.begin(), filterTagsGlobal_.end());
714 
715  const unsigned int nc(collectionTags.size());
716  const unsigned int nf(filterTags.size());
717  LogVerbatim("TriggerSummaryProducerAOD") << " Overall number of Collections/Filters: " << nc << "/" << nf << endl;
718 
719  LogVerbatim("TriggerSummaryProducerAOD") << " The collections: " << nc << endl;
720  const InputTagSet::const_iterator cb(collectionTags.begin());
721  const InputTagSet::const_iterator ce(collectionTags.end());
722  for (InputTagSet::const_iterator ci = cb; ci != ce; ++ci) {
723  LogVerbatim("TriggerSummaryProducerAOD") << " " << distance(cb, ci) << " " << ci->encode() << endl;
724  }
725 
726  LogVerbatim("TriggerSummaryProducerAOD") << " The filters:" << nf << endl;
727  const InputTagSet::const_iterator fb(filterTags.begin());
728  const InputTagSet::const_iterator fe(filterTags.end());
729  for (InputTagSet::const_iterator fi = fb; fi != fe; ++fi) {
730  LogVerbatim("TriggerSummaryProducerAOD") << " " << distance(fb, fi) << " " << fi->encode() << endl;
731  }
732 
733  LogVerbatim("TriggerSummaryProducerAOD") << "TriggerSummaryProducerAOD::endJob." << endl;
734  LogVerbatim("TriggerSummaryProducerAOD") << endl;
735 
736  return;
737 }

References EcalCalibMonitorTasks_cfi::collectionTags, collectionTagsGlobal_, HLT_FULL_cff::distance, benchmark_cfg::fb, and filterTagsGlobal_.

◆ fillDescriptions()

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

Definition at line 200 of file TriggerSummaryProducerAOD.cc.

200  {
202  desc.add<bool>("throw", false)->setComment("Throw exception or LogError");
203  desc.add<std::string>("processName", "@")
204  ->setComment(
205  "Process name to use when getting data. The value of '@' is used to denote the current process name.");
206  desc.add<std::vector<std::string>>("moduleLabelPatternsToMatch", std::vector<std::string>(1, "hlt*"))
207  ->setComment("glob patterns for module labels to get data.");
208  desc.add<std::vector<std::string>>("moduleLabelPatternsToSkip", std::vector<std::string>())
209  ->setComment("module labels for data products which should not be gotten.");
210  descriptions.add("triggerSummaryProducerAOD", desc);
211 }

References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ fillFilterObjectMember() [1/6]

template<typename C >
void TriggerSummaryProducerAOD::fillFilterObjectMember ( trigger::Keys keys,
trigger::Vids ids,
const int &  offset,
const int &  id,
const edm::Ref< C > &  ref 
) const
private

Definition at line 596 of file TriggerSummaryProducerAOD.cc.

597  {
598  keys.push_back(offset + ref.key());
599  ids.push_back(id);
600 
601  return;
602 }

References edm::Ref< C, T, F >::key(), relativeConstraints::keys, and hltrates_dqm_sourceclient-live_cfg::offset.

Referenced by fillFilterObjectMembers().

◆ fillFilterObjectMember() [2/6]

void TriggerSummaryProducerAOD::fillFilterObjectMember ( trigger::Keys keys,
trigger::Vids ids,
const int &  offset,
const int &  id,
const edm::Ref< l1extra::L1EtMissParticleCollection > &  ref 
) const
private

Definition at line 621 of file TriggerSummaryProducerAOD.cc.

625  {
626  using namespace trigger;
627 
628  if ((id == TriggerL1ETT) || (id == TriggerL1HTT)) {
629  keys.push_back(offset + 2 * ref.key() + 1);
630  } else {
631  keys.push_back(offset + 2 * ref.key() + 0);
632  }
633  ids.push_back(id);
634 
635  return;
636 }

References edm::Ref< C, T, F >::key(), relativeConstraints::keys, hltrates_dqm_sourceclient-live_cfg::offset, trigger::TriggerL1ETT, and trigger::TriggerL1HTT.

◆ fillFilterObjectMember() [3/6]

void TriggerSummaryProducerAOD::fillFilterObjectMember ( trigger::Keys keys,
trigger::Vids ids,
const int &  offset,
const int &  id,
const edm::Ref< l1extra::L1HFRingsCollection > &  ref 
) const
private

Definition at line 604 of file TriggerSummaryProducerAOD.cc.

608  {
609  using namespace trigger;
610 
611  if (id == TriggerL1HfBitCounts) {
612  keys.push_back(offset + 2 * ref.key() + 1);
613  } else { // if (ids[i]==TriggerL1HfRingEtSums) {
614  keys.push_back(offset + 2 * ref.key() + 0);
615  }
616  ids.push_back(id);
617 
618  return;
619 }

References edm::Ref< C, T, F >::key(), relativeConstraints::keys, hltrates_dqm_sourceclient-live_cfg::offset, and trigger::TriggerL1HfBitCounts.

◆ fillFilterObjectMember() [4/6]

void TriggerSummaryProducerAOD::fillFilterObjectMember ( trigger::Keys keys,
trigger::Vids ids,
const int &  offset,
const int &  id,
const edm::Ref< reco::CaloMETCollection > &  ref 
) const
private

Definition at line 659 of file TriggerSummaryProducerAOD.cc.

663  {
664  using namespace trigger;
665 
666  if ((id == TriggerTHT) || (id == TriggerTET)) {
667  keys.push_back(offset + 4 * ref.key() + 1);
668  } else if ((id == TriggerMETSig) || (id == TriggerMHTSig)) {
669  keys.push_back(offset + 4 * ref.key() + 2);
670  } else if ((id == TriggerELongit) || (id == TriggerHLongit)) {
671  keys.push_back(offset + 4 * ref.key() + 3);
672  } else {
673  keys.push_back(offset + 4 * ref.key() + 0);
674  }
675  ids.push_back(id);
676 
677  return;
678 }

References edm::Ref< C, T, F >::key(), relativeConstraints::keys, hltrates_dqm_sourceclient-live_cfg::offset, trigger::TriggerELongit, trigger::TriggerHLongit, trigger::TriggerMETSig, trigger::TriggerMHTSig, trigger::TriggerTET, and trigger::TriggerTHT.

◆ fillFilterObjectMember() [5/6]

void TriggerSummaryProducerAOD::fillFilterObjectMember ( trigger::Keys keys,
trigger::Vids ids,
const int &  offset,
const int &  id,
const edm::Ref< reco::METCollection > &  ref 
) const
private

Definition at line 680 of file TriggerSummaryProducerAOD.cc.

684  {
685  using namespace trigger;
686 
687  if ((id == TriggerTHT) || (id == TriggerTET)) {
688  keys.push_back(offset + 4 * ref.key() + 1);
689  } else if ((id == TriggerMETSig) || (id == TriggerMHTSig)) {
690  keys.push_back(offset + 4 * ref.key() + 2);
691  } else if ((id == TriggerELongit) || (id == TriggerHLongit)) {
692  keys.push_back(offset + 4 * ref.key() + 3);
693  } else {
694  keys.push_back(offset + 4 * ref.key() + 0);
695  }
696  ids.push_back(id);
697 
698  return;
699 }

References edm::Ref< C, T, F >::key(), relativeConstraints::keys, hltrates_dqm_sourceclient-live_cfg::offset, trigger::TriggerELongit, trigger::TriggerHLongit, trigger::TriggerMETSig, trigger::TriggerMHTSig, trigger::TriggerTET, and trigger::TriggerTHT.

◆ fillFilterObjectMember() [6/6]

void TriggerSummaryProducerAOD::fillFilterObjectMember ( trigger::Keys keys,
trigger::Vids ids,
const int &  offset,
const int &  id,
const edm::Ref< reco::PFMETCollection > &  ref 
) const
private

Definition at line 638 of file TriggerSummaryProducerAOD.cc.

642  {
643  using namespace trigger;
644 
645  if ((id == TriggerTHT) || (id == TriggerTET)) {
646  keys.push_back(offset + 4 * ref.key() + 1);
647  } else if ((id == TriggerMETSig) || (id == TriggerMHTSig)) {
648  keys.push_back(offset + 4 * ref.key() + 2);
649  } else if ((id == TriggerELongit) || (id == TriggerHLongit)) {
650  keys.push_back(offset + 4 * ref.key() + 3);
651  } else {
652  keys.push_back(offset + 4 * ref.key() + 0);
653  }
654  ids.push_back(id);
655 
656  return;
657 }

References edm::Ref< C, T, F >::key(), relativeConstraints::keys, hltrates_dqm_sourceclient-live_cfg::offset, trigger::TriggerELongit, trigger::TriggerHLongit, trigger::TriggerMETSig, trigger::TriggerMHTSig, trigger::TriggerTET, and trigger::TriggerTHT.

◆ fillFilterObjectMembers()

template<typename C >
void TriggerSummaryProducerAOD::fillFilterObjectMembers ( const edm::Event iEvent,
const edm::InputTag tag,
const trigger::Vids ids,
const std::vector< edm::Ref< C >> &  refs,
const ProductIDtoIndex offset,
trigger::Keys keys,
trigger::Vids oIds 
) const
private

this routine takes a vector of Ref<C>s and determines the corresponding vector of keys (i.e., indices) into the TriggerObjectCollection

Definition at line 537 of file TriggerSummaryProducerAOD.cc.

543  {
547 
548  using namespace std;
549  using namespace edm;
550  using namespace reco;
551  using namespace l1extra;
552  using namespace trigger;
553 
554  if (ids.size() != refs.size()) {
555  LogError("TriggerSummaryProducerAOD") << "Vector length is different: " << ids.size() << " " << refs.size();
556  }
557 
558  const unsigned int n(min(ids.size(), refs.size()));
559  for (unsigned int i = 0; i != n; ++i) {
560  const ProductID pid(refs[i].id());
561  if (!(pid.isValid())) {
562  std::ostringstream ost;
563  ost << "Iinvalid pid: " << pid << " FilterTag / Key: " << tag.encode() << " / " << i << "of" << n
564  << " CollectionTag / Key: "
565  << " <Unrecoverable>"
566  << " / " << refs[i].key() << " CollectionType: " << typeid(C).name();
567  if (throw_) {
568  throw cms::Exception("TriggerSummaryProducerAOD") << ost.str();
569  } else {
570  LogError("TriggerSummaryProducerAOD") << ost.str();
571  }
572  } else {
573  auto itOffset = offset.find(pid);
574  if (itOffset == offset.end()) {
575  const string& label(iEvent.getProvenance(pid).moduleLabel());
576  const string& instance(iEvent.getProvenance(pid).productInstanceName());
577  const string& process(iEvent.getProvenance(pid).processName());
578  std::ostringstream ost;
579  ost << "Uunknown pid: " << pid << " FilterTag / Key: " << tag.encode() << " / " << i << "of" << n
580  << " CollectionTag / Key: " << InputTag(label, instance, process).encode() << " / " << refs[i].key()
581  << " CollectionType: " << typeid(C).name();
582  if (throw_) {
583  throw cms::Exception("TriggerSummaryProducerAOD") << ost.str();
584  } else {
585  LogError("TriggerSummaryProducerAOD") << ost.str();
586  }
587  } else {
588  fillFilterObjectMember(keys, oIDs, itOffset->second, ids[i], refs[i]);
589  }
590  }
591  }
592  return;
593 }

References gen::C, Exception, fillFilterObjectMember(), mps_fire::i, iEvent, HLT_FULL_cff::InputTag, instance, edm::ProductID::isValid(), relativeConstraints::keys, label, min(), dqmiodumpmetadata::n, Skims_PA_cff::name, hltrates_dqm_sourceclient-live_cfg::offset, LaserDQM_cfg::process, GlobalPosition_Frontier_DevDB_cff::tag, and throw_.

Referenced by produce().

◆ fillTriggerObject() [1/6]

void TriggerSummaryProducerAOD::fillTriggerObject ( trigger::TriggerObjectCollection toc,
const l1extra::L1EtMissParticle object 
) const
private

Definition at line 480 of file TriggerSummaryProducerAOD.cc.

481  {
482  using namespace l1extra;
483  using namespace trigger;
484 
485  toc.emplace_back(object);
486  if (object.type() == L1EtMissParticle::kMET) {
487  toc.emplace_back(TriggerL1ETT, object.etTotal(), 0.0, 0.0, 0.0);
488  } else if (object.type() == L1EtMissParticle::kMHT) {
489  toc.emplace_back(TriggerL1HTT, object.etTotal(), 0.0, 0.0, 0.0);
490  } else {
491  toc.emplace_back(0, object.etTotal(), 0.0, 0.0, 0.0);
492  }
493 
494  return;
495 }

References trigger::TriggerL1ETT, and trigger::TriggerL1HTT.

◆ fillTriggerObject() [2/6]

void TriggerSummaryProducerAOD::fillTriggerObject ( trigger::TriggerObjectCollection toc,
const l1extra::L1HFRings object 
) const
private

Definition at line 461 of file TriggerSummaryProducerAOD.cc.

462  {
463  using namespace l1extra;
464  using namespace trigger;
465 
466  toc.emplace_back(TriggerL1HfRingEtSums,
467  object.hfEtSum(L1HFRings::kRing1PosEta),
468  object.hfEtSum(L1HFRings::kRing1NegEta),
469  object.hfEtSum(L1HFRings::kRing2PosEta),
470  object.hfEtSum(L1HFRings::kRing2NegEta));
471  toc.emplace_back(TriggerL1HfBitCounts,
472  object.hfBitCount(L1HFRings::kRing1PosEta),
473  object.hfBitCount(L1HFRings::kRing1NegEta),
474  object.hfBitCount(L1HFRings::kRing2PosEta),
475  object.hfBitCount(L1HFRings::kRing2NegEta));
476 
477  return;
478 }

References trigger::TriggerL1HfBitCounts, and trigger::TriggerL1HfRingEtSums.

◆ fillTriggerObject() [3/6]

void TriggerSummaryProducerAOD::fillTriggerObject ( trigger::TriggerObjectCollection toc,
const reco::CaloMET object 
) const
private

Definition at line 510 of file TriggerSummaryProducerAOD.cc.

511  {
512  using namespace reco;
513  using namespace trigger;
514 
515  toc.emplace_back(object);
516  toc.emplace_back(TriggerTET, object.sumEt(), 0.0, 0.0, 0.0);
517  toc.emplace_back(TriggerMETSig, object.mEtSig(), 0.0, 0.0, 0.0);
518  toc.emplace_back(TriggerELongit, object.e_longitudinal(), 0.0, 0.0, 0.0);
519 
520  return;
521 }

References objects.METAnalyzer::sumEt, trigger::TriggerELongit, trigger::TriggerMETSig, and trigger::TriggerTET.

◆ fillTriggerObject() [4/6]

void TriggerSummaryProducerAOD::fillTriggerObject ( trigger::TriggerObjectCollection toc,
const reco::MET object 
) const
private

Definition at line 523 of file TriggerSummaryProducerAOD.cc.

524  {
525  using namespace reco;
526  using namespace trigger;
527 
528  toc.emplace_back(object);
529  toc.emplace_back(TriggerTHT, object.sumEt(), 0.0, 0.0, 0.0);
530  toc.emplace_back(TriggerMHTSig, object.mEtSig(), 0.0, 0.0, 0.0);
531  toc.emplace_back(TriggerHLongit, object.e_longitudinal(), 0.0, 0.0, 0.0);
532 
533  return;
534 }

References objects.METAnalyzer::sumEt, trigger::TriggerHLongit, trigger::TriggerMHTSig, and trigger::TriggerTHT.

◆ fillTriggerObject() [5/6]

void TriggerSummaryProducerAOD::fillTriggerObject ( trigger::TriggerObjectCollection toc,
const reco::PFMET object 
) const
private

Definition at line 497 of file TriggerSummaryProducerAOD.cc.

498  {
499  using namespace reco;
500  using namespace trigger;
501 
502  toc.emplace_back(object);
503  toc.emplace_back(TriggerTET, object.sumEt(), 0.0, 0.0, 0.0);
504  toc.emplace_back(TriggerMETSig, object.mEtSig(), 0.0, 0.0, 0.0);
505  toc.emplace_back(TriggerELongit, object.e_longitudinal(), 0.0, 0.0, 0.0);
506 
507  return;
508 }

References objects.METAnalyzer::sumEt, trigger::TriggerELongit, trigger::TriggerMETSig, and trigger::TriggerTET.

◆ fillTriggerObject() [6/6]

template<typename T >
void TriggerSummaryProducerAOD::fillTriggerObject ( trigger::TriggerObjectCollection toc,
const T object 
) const
private

Definition at line 454 of file TriggerSummaryProducerAOD.cc.

454  {
455  using namespace trigger;
456  toc.emplace_back(object);
457 
458  return;
459 }

Referenced by fillTriggerObjectCollections().

◆ fillTriggerObjectCollections()

template<typename C >
void TriggerSummaryProducerAOD::fillTriggerObjectCollections ( trigger::TriggerObjectCollection toc,
ProductIDtoIndex offset,
std::vector< std::string > &  tags,
trigger::Keys keys,
const edm::Event iEvent,
const edm::GetterOfProducts< C > &  getter,
const InputTagSet collectionTagsEvent 
) const
private

this routine accesses the original (L3) collections (with C++ typename C), extracts 4-momentum and id of each collection member, and packs this up

end loop over handles

Definition at line 407 of file TriggerSummaryProducerAOD.cc.

413  {
417 
418  using namespace std;
419  using namespace edm;
420  using namespace reco;
421  using namespace l1extra;
422  using namespace trigger;
423  using namespace l1t;
424 
425  vector<Handle<C>> collections;
426  getter.fillHandles(iEvent, collections);
427  const unsigned int nc(collections.size());
428 
429  for (unsigned int ic = 0; ic != nc; ++ic) {
430  const Provenance& provenance(*(collections[ic].provenance()));
431  const string& label(provenance.moduleLabel());
432  const string& instance(provenance.productInstanceName());
433  const string& process(provenance.processName());
434  const InputTag collectionTag(label, instance, process);
435 
436  if (collectionTagsEvent.find(collectionTag) != collectionTagsEvent.end()) {
437  const ProductID pid(collections[ic].provenance()->productID());
438  if (offset.find(pid) != offset.end()) {
439  LogError("TriggerSummaryProducerAOD") << "Duplicate pid: " << pid;
440  }
441  offset[pid] = toc.size();
442  const unsigned int n(collections[ic]->size());
443  for (unsigned int i = 0; i != n; ++i) {
444  fillTriggerObject(toc, (*collections[ic])[i]);
445  }
446  tags.push_back(collectionTag.encode());
447  keys.push_back(toc.size());
448  }
449 
450  }
451 }

References oniaPATMuonsWithTrigger_cff::collections, edm::GetterOfProducts< T >::fillHandles(), fillTriggerObject(), mps_fire::i, iEvent, instance, relativeConstraints::keys, label, edm::Provenance::moduleLabel(), dqmiodumpmetadata::n, hltrates_dqm_sourceclient-live_cfg::offset, LaserDQM_cfg::process, edm::Provenance::processName(), edm::Provenance::productInstanceName(), findQualityFiles::size, and triggerMatcherToHLTDebug_cfi::tags.

◆ produce()

void TriggerSummaryProducerAOD::produce ( edm::StreamID  ,
edm::Event iEvent,
const edm::EventSetup iSetup 
) const
overridevirtual

check whether collection tags are recorded in filterobjects; if so, these are L3 collections to be packed up, and the corresponding filter is a L3 filter also to be packed up. Record the InputTags of those L3 filters and L3 collections

check uniqueness count

accumulate for endJob printout

debug printout

event-by-event tags

Now the processing: first trigger objects from L3 collections, then L3 filter objects

create trigger objects, fill triggerobjectcollection and offset map

construct single AOD product, reserving capacity

fill trigger object collection

fill the L3 filter objects

Implements edm::global::EDProducerBase.

Definition at line 214 of file TriggerSummaryProducerAOD.cc.

214  {
215  using namespace std;
216  using namespace edm;
217  using namespace reco;
218  using namespace l1extra;
219  using namespace trigger;
220  using namespace l1t;
221 
222  std::vector<edm::Handle<trigger::TriggerFilterObjectWithRefs>> fobs;
224 
225  const unsigned int nfob(fobs.size());
226  LogTrace("TriggerSummaryProducerAOD") << "Number of filter objects found: " << nfob;
227 
228  string tagLabel, tagInstance, tagProcess;
229 
235  std::vector<bool> maskFilters;
236  maskFilters.resize(nfob);
237  InputTagSet filterTagsEvent(pn_ != "*");
238  InputTagSet collectionTagsEvent(pn_ != "*");
239 
240  unsigned int nf(0);
241  for (unsigned int ifob = 0; ifob != nfob; ++ifob) {
242  maskFilters[ifob] = false;
243  const vector<string>& collectionTags_(fobs[ifob]->getCollectionTagsAsStrings());
244  const unsigned int ncol(collectionTags_.size());
245  if (ncol > 0) {
246  nf++;
247  maskFilters[ifob] = true;
248  const string& label(fobs[ifob].provenance()->moduleLabel());
249  const string& instance(fobs[ifob].provenance()->productInstanceName());
250  const string& process(fobs[ifob].provenance()->processName());
251  filterTagsEvent.insert(InputTag(label, instance, process));
252  for (unsigned int icol = 0; icol != ncol; ++icol) {
253  // overwrite process name (usually not set)
254  tokenizeTag(collectionTags_[icol], tagLabel, tagInstance, tagProcess);
255  collectionTagsEvent.insert(InputTag(tagLabel, tagInstance, pn_));
256  }
257  }
258  }
260  if (filterTagsEvent.size() != nf) {
261  LogError("TriggerSummaryProducerAOD")
262  << "Mismatch in number of filter tags: " << filterTagsEvent.size() << "!=" << nf;
263  }
264 
266  collectionTagsGlobal_.insert(collectionTagsEvent.begin(), collectionTagsEvent.end());
267  filterTagsGlobal_.insert(filterTagsEvent.begin(), filterTagsEvent.end());
268 
270  if (isDebugEnabled()) {
272  const unsigned int nc(collectionTagsEvent.size());
273  LogTrace("TriggerSummaryProducerAOD") << "Number of unique collections requested " << nc;
274  const InputTagSet::const_iterator cb(collectionTagsEvent.begin());
275  const InputTagSet::const_iterator ce(collectionTagsEvent.end());
276  for (InputTagSet::const_iterator ci = cb; ci != ce; ++ci) {
277  LogTrace("TriggerSummaryProducerAOD") << distance(cb, ci) << " " << ci->encode();
278  }
279  const unsigned int nf(filterTagsEvent.size());
280  LogTrace("TriggerSummaryProducerAOD") << "Number of unique filters requested " << nf;
281  const InputTagSet::const_iterator fb(filterTagsEvent.begin());
282  const InputTagSet::const_iterator fe(filterTagsEvent.end());
283  for (InputTagSet::const_iterator fi = fb; fi != fe; ++fi) {
284  LogTrace("TriggerSummaryProducerAOD") << distance(fb, fi) << " " << fi->encode();
285  }
286  }
287 
294  //toc_.clear();
295  std::vector<std::string> tags;
297  std::map<edm::ProductID, unsigned int> offset;
298 
299  fillTriggerObjectCollections<RecoEcalCandidateCollection>(
300  toc, offset, tags, keys, iEvent, getRecoEcalCandidateCollection_, collectionTagsEvent);
301  fillTriggerObjectCollections<ElectronCollection>(
302  toc, offset, tags, keys, iEvent, getElectronCollection_, collectionTagsEvent);
303  fillTriggerObjectCollections<RecoChargedCandidateCollection>(
304  toc, offset, tags, keys, iEvent, getRecoChargedCandidateCollection_, collectionTagsEvent);
305  fillTriggerObjectCollections<CaloJetCollection>(
306  toc, offset, tags, keys, iEvent, getCaloJetCollection_, collectionTagsEvent);
307  fillTriggerObjectCollections<CompositeCandidateCollection>(
308  toc, offset, tags, keys, iEvent, getCompositeCandidateCollection_, collectionTagsEvent);
309  fillTriggerObjectCollections<METCollection>(toc, offset, tags, keys, iEvent, getMETCollection_, collectionTagsEvent);
310  fillTriggerObjectCollections<CaloMETCollection>(
311  toc, offset, tags, keys, iEvent, getCaloMETCollection_, collectionTagsEvent);
312  fillTriggerObjectCollections<IsolatedPixelTrackCandidateCollection>(
313  toc, offset, tags, keys, iEvent, getIsolatedPixelTrackCandidateCollection_, collectionTagsEvent);
315  fillTriggerObjectCollections<L1EmParticleCollection>(
316  toc, offset, tags, keys, iEvent, getL1EmParticleCollection_, collectionTagsEvent);
317  fillTriggerObjectCollections<L1MuonParticleCollection>(
318  toc, offset, tags, keys, iEvent, getL1MuonParticleCollection_, collectionTagsEvent);
319  fillTriggerObjectCollections<L1JetParticleCollection>(
320  toc, offset, tags, keys, iEvent, getL1JetParticleCollection_, collectionTagsEvent);
321  fillTriggerObjectCollections<L1EtMissParticleCollection>(
322  toc, offset, tags, keys, iEvent, getL1EtMissParticleCollection_, collectionTagsEvent);
323  fillTriggerObjectCollections<L1HFRingsCollection>(
324  toc, offset, tags, keys, iEvent, getL1HFRingsCollection_, collectionTagsEvent);
325  fillTriggerObjectCollections<MuonBxCollection>(
326  toc, offset, tags, keys, iEvent, getL1TMuonParticleCollection_, collectionTagsEvent);
327  fillTriggerObjectCollections<EGammaBxCollection>(
328  toc, offset, tags, keys, iEvent, getL1TEGammaParticleCollection_, collectionTagsEvent);
329  fillTriggerObjectCollections<JetBxCollection>(
330  toc, offset, tags, keys, iEvent, getL1TJetParticleCollection_, collectionTagsEvent);
331  fillTriggerObjectCollections<TauBxCollection>(
332  toc, offset, tags, keys, iEvent, getL1TTauParticleCollection_, collectionTagsEvent);
333  fillTriggerObjectCollections<EtSumBxCollection>(
334  toc, offset, tags, keys, iEvent, getL1TEtSumParticleCollection_, collectionTagsEvent);
336  fillTriggerObjectCollections<PFJetCollection>(
337  toc, offset, tags, keys, iEvent, getPFJetCollection_, collectionTagsEvent);
338  fillTriggerObjectCollections<PFTauCollection>(
339  toc, offset, tags, keys, iEvent, getPFTauCollection_, collectionTagsEvent);
340  fillTriggerObjectCollections<PFMETCollection>(
341  toc, offset, tags, keys, iEvent, getPFMETCollection_, collectionTagsEvent);
343  const unsigned int nk(tags.size());
344  LogDebug("TriggerSummaryProducerAOD") << "Number of collections found: " << nk;
345  const unsigned int no(toc.size());
346  LogDebug("TriggerSummaryProducerAOD") << "Number of physics objects found: " << no;
347 
350  unique_ptr<TriggerEvent> product(new TriggerEvent(pn_, nk, no, nf));
351 
353  product->addCollections(tags, keys);
354  product->addObjects(toc);
355 
357  trigger::Vids ids;
358  for (unsigned int ifob = 0; ifob != nfob; ++ifob) {
359  if (maskFilters[ifob]) {
360  const string& label(fobs[ifob].provenance()->moduleLabel());
361  const string& instance(fobs[ifob].provenance()->productInstanceName());
362  const string& process(fobs[ifob].provenance()->processName());
363  const edm::InputTag filterTag(label, instance, process);
364  ids.clear();
365  keys.clear();
366  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->photonIds(), fobs[ifob]->photonRefs(), offset, keys, ids);
368  iEvent, filterTag, fobs[ifob]->electronIds(), fobs[ifob]->electronRefs(), offset, keys, ids);
369  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->muonIds(), fobs[ifob]->muonRefs(), offset, keys, ids);
370  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->jetIds(), fobs[ifob]->jetRefs(), offset, keys, ids);
372  iEvent, filterTag, fobs[ifob]->compositeIds(), fobs[ifob]->compositeRefs(), offset, keys, ids);
374  iEvent, filterTag, fobs[ifob]->basemetIds(), fobs[ifob]->basemetRefs(), offset, keys, ids);
376  iEvent, filterTag, fobs[ifob]->calometIds(), fobs[ifob]->calometRefs(), offset, keys, ids);
378  iEvent, filterTag, fobs[ifob]->pixtrackIds(), fobs[ifob]->pixtrackRefs(), offset, keys, ids);
379  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->l1emIds(), fobs[ifob]->l1emRefs(), offset, keys, ids);
380  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->l1muonIds(), fobs[ifob]->l1muonRefs(), offset, keys, ids);
381  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->l1jetIds(), fobs[ifob]->l1jetRefs(), offset, keys, ids);
383  iEvent, filterTag, fobs[ifob]->l1etmissIds(), fobs[ifob]->l1etmissRefs(), offset, keys, ids);
385  iEvent, filterTag, fobs[ifob]->l1hfringsIds(), fobs[ifob]->l1hfringsRefs(), offset, keys, ids);
387  iEvent, filterTag, fobs[ifob]->l1tmuonIds(), fobs[ifob]->l1tmuonRefs(), offset, keys, ids);
389  iEvent, filterTag, fobs[ifob]->l1tegammaIds(), fobs[ifob]->l1tegammaRefs(), offset, keys, ids);
390  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->l1tjetIds(), fobs[ifob]->l1tjetRefs(), offset, keys, ids);
391  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->l1ttauIds(), fobs[ifob]->l1ttauRefs(), offset, keys, ids);
393  iEvent, filterTag, fobs[ifob]->l1tetsumIds(), fobs[ifob]->l1tetsumRefs(), offset, keys, ids);
394  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->pfjetIds(), fobs[ifob]->pfjetRefs(), offset, keys, ids);
395  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->pftauIds(), fobs[ifob]->pftauRefs(), offset, keys, ids);
396  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->pfmetIds(), fobs[ifob]->pfmetRefs(), offset, keys, ids);
397  product->addFilter(filterTag, ids, keys);
398  }
399  }
400 
401  OrphanHandle<TriggerEvent> ref = iEvent.put(std::move(product));
402  LogTrace("TriggerSummaryProducerAOD") << "Number of physics objects packed: " << ref->sizeObjects();
403  LogTrace("TriggerSummaryProducerAOD") << "Number of filter objects packed: " << ref->sizeFilters();
404 }

References collectionTagsGlobal_, HLT_FULL_cff::distance, benchmark_cfg::fb, fillFilterObjectMembers(), edm::GetterOfProducts< T >::fillHandles(), filterTagsGlobal_, getCaloJetCollection_, getCaloMETCollection_, getCompositeCandidateCollection_, getElectronCollection_, getIsolatedPixelTrackCandidateCollection_, getL1EmParticleCollection_, getL1EtMissParticleCollection_, getL1HFRingsCollection_, getL1JetParticleCollection_, getL1MuonParticleCollection_, getL1TEGammaParticleCollection_, getL1TEtSumParticleCollection_, getL1TJetParticleCollection_, getL1TMuonParticleCollection_, getL1TTauParticleCollection_, getMETCollection_, getPFJetCollection_, getPFMETCollection_, getPFTauCollection_, getRecoChargedCandidateCollection_, getRecoEcalCandidateCollection_, getTriggerFilterObjectWithRefs_, iEvent, HLT_FULL_cff::InputTag, instance, edm::isDebugEnabled(), relativeConstraints::keys, label, LogDebug, LogTrace, HerwigMaxPtPartonFilter_cfi::moduleLabel, eostools::move(), hltrates_dqm_sourceclient-live_cfg::offset, pn_, LaserDQM_cfg::process, SimL1EmulatorRepack_CalouGT_cff::processName, trigger::TriggerEvent::sizeFilters(), trigger::TriggerEvent::sizeObjects(), triggerMatcherToHLTDebug_cfi::tags, and ZCounting_cff::TriggerEvent.

Member Data Documentation

◆ collectionTagsGlobal_

tbb::concurrent_unordered_set<edm::InputTag, InputTagHash> TriggerSummaryProducerAOD::collectionTagsGlobal_
mutableprivate

list of L3 collection tags

Definition at line 165 of file TriggerSummaryProducerAOD.h.

Referenced by endJob(), and produce().

◆ filterTagsGlobal_

tbb::concurrent_unordered_set<edm::InputTag, InputTagHash> TriggerSummaryProducerAOD::filterTagsGlobal_
mutableprivate

list of L3 filter tags

Definition at line 162 of file TriggerSummaryProducerAOD.h.

Referenced by endJob(), and produce().

◆ getCaloJetCollection_

edm::GetterOfProducts<reco::CaloJetCollection> TriggerSummaryProducerAOD::getCaloJetCollection_
private

Definition at line 185 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getCaloMETCollection_

edm::GetterOfProducts<reco::CaloMETCollection> TriggerSummaryProducerAOD::getCaloMETCollection_
private

Definition at line 188 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getCompositeCandidateCollection_

edm::GetterOfProducts<reco::CompositeCandidateCollection> TriggerSummaryProducerAOD::getCompositeCandidateCollection_
private

Definition at line 186 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getElectronCollection_

edm::GetterOfProducts<reco::ElectronCollection> TriggerSummaryProducerAOD::getElectronCollection_
private

Definition at line 183 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getIsolatedPixelTrackCandidateCollection_

edm::GetterOfProducts<reco::IsolatedPixelTrackCandidateCollection> TriggerSummaryProducerAOD::getIsolatedPixelTrackCandidateCollection_
private

Definition at line 190 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1EmParticleCollection_

edm::GetterOfProducts<l1extra::L1EmParticleCollection> TriggerSummaryProducerAOD::getL1EmParticleCollection_
private

Definition at line 191 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1EtMissParticleCollection_

edm::GetterOfProducts<l1extra::L1EtMissParticleCollection> TriggerSummaryProducerAOD::getL1EtMissParticleCollection_
private

Definition at line 194 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1HFRingsCollection_

edm::GetterOfProducts<l1extra::L1HFRingsCollection> TriggerSummaryProducerAOD::getL1HFRingsCollection_
private

Definition at line 195 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1JetParticleCollection_

edm::GetterOfProducts<l1extra::L1JetParticleCollection> TriggerSummaryProducerAOD::getL1JetParticleCollection_
private

Definition at line 193 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1MuonParticleCollection_

edm::GetterOfProducts<l1extra::L1MuonParticleCollection> TriggerSummaryProducerAOD::getL1MuonParticleCollection_
private

Definition at line 192 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TEGammaParticleCollection_

edm::GetterOfProducts<l1t::EGammaBxCollection> TriggerSummaryProducerAOD::getL1TEGammaParticleCollection_
private

Definition at line 199 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TEtSumParticleCollection_

edm::GetterOfProducts<l1t::EtSumBxCollection> TriggerSummaryProducerAOD::getL1TEtSumParticleCollection_
private

Definition at line 202 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TJetParticleCollection_

edm::GetterOfProducts<l1t::JetBxCollection> TriggerSummaryProducerAOD::getL1TJetParticleCollection_
private

Definition at line 200 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TMuonParticleCollection_

edm::GetterOfProducts<l1t::MuonBxCollection> TriggerSummaryProducerAOD::getL1TMuonParticleCollection_
private

Definition at line 198 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TTauParticleCollection_

edm::GetterOfProducts<l1t::TauBxCollection> TriggerSummaryProducerAOD::getL1TTauParticleCollection_
private

Definition at line 201 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getMETCollection_

edm::GetterOfProducts<reco::METCollection> TriggerSummaryProducerAOD::getMETCollection_
private

Definition at line 187 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getPFJetCollection_

edm::GetterOfProducts<reco::PFJetCollection> TriggerSummaryProducerAOD::getPFJetCollection_
private

Definition at line 196 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getPFMETCollection_

edm::GetterOfProducts<reco::PFMETCollection> TriggerSummaryProducerAOD::getPFMETCollection_
private

Definition at line 189 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getPFTauCollection_

edm::GetterOfProducts<reco::PFTauCollection> TriggerSummaryProducerAOD::getPFTauCollection_
private

Definition at line 197 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getRecoChargedCandidateCollection_

edm::GetterOfProducts<reco::RecoChargedCandidateCollection> TriggerSummaryProducerAOD::getRecoChargedCandidateCollection_
private

Definition at line 184 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getRecoEcalCandidateCollection_

edm::GetterOfProducts<reco::RecoEcalCandidateCollection> TriggerSummaryProducerAOD::getRecoEcalCandidateCollection_
private

Definition at line 182 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getTriggerFilterObjectWithRefs_

edm::GetterOfProducts<trigger::TriggerFilterObjectWithRefs> TriggerSummaryProducerAOD::getTriggerFilterObjectWithRefs_
private

trigger object collection

global map for indices into toc_: offset per input L3 collection keys ids packing decision

Definition at line 181 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ moduleLabelPatternsToMatch_

std::vector<std::regex> TriggerSummaryProducerAOD::moduleLabelPatternsToMatch_
private

module labels which should be avoided

Definition at line 158 of file TriggerSummaryProducerAOD.h.

Referenced by TriggerSummaryProducerAOD().

◆ moduleLabelPatternsToSkip_

std::vector<std::regex> TriggerSummaryProducerAOD::moduleLabelPatternsToSkip_
private

Definition at line 159 of file TriggerSummaryProducerAOD.h.

Referenced by TriggerSummaryProducerAOD().

◆ pn_

std::string TriggerSummaryProducerAOD::pn_
private

process name

Definition at line 156 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ throw_

const bool TriggerSummaryProducerAOD::throw_
private

throw on error

Definition at line 154 of file TriggerSummaryProducerAOD.h.

Referenced by fillFilterObjectMembers().

trigger::TriggerEvent::sizeFilters
trigger::size_type sizeFilters() const
Definition: TriggerEvent.h:146
mps_fire.i
i
Definition: mps_fire.py:428
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
TriggerSummaryProducerAOD::InputTagSet
std::set< edm::InputTag, OrderInputTag > InputTagSet
Definition: TriggerSummaryProducerAOD.h:107
trigger::Vids
std::vector< int > Vids
Definition: TriggerTypeDefs.h:21
TriggerSummaryProducerAOD::getElectronCollection_
edm::GetterOfProducts< reco::ElectronCollection > getElectronCollection_
Definition: TriggerSummaryProducerAOD.h:183
TriggerSummaryProducerAOD::getRecoChargedCandidateCollection_
edm::GetterOfProducts< reco::RecoChargedCandidateCollection > getRecoChargedCandidateCollection_
Definition: TriggerSummaryProducerAOD.h:184
trigger::TriggerMHTSig
Definition: TriggerTypeDefs.h:80
TriggerSummaryProducerAOD::collectionTagsGlobal_
tbb::concurrent_unordered_set< edm::InputTag, InputTagHash > collectionTagsGlobal_
list of L3 collection tags
Definition: TriggerSummaryProducerAOD.h:165
min
T min(T a, T b)
Definition: MathUtil.h:58
TriggerSummaryProducerAOD::getCompositeCandidateCollection_
edm::GetterOfProducts< reco::CompositeCandidateCollection > getCompositeCandidateCollection_
Definition: TriggerSummaryProducerAOD.h:186
edm
HLT enums.
Definition: AlignableModifier.h:19
deep_tau::DeepTauBase::BasicDiscriminator
BasicDiscriminator
Definition: DeepTauBase.h:115
TriggerSummaryProducerAOD::fillFilterObjectMembers
void fillFilterObjectMembers(const edm::Event &, const edm::InputTag &tag, const trigger::Vids &, const std::vector< edm::Ref< C >> &, const ProductIDtoIndex &, trigger::Keys &keys, trigger::Vids &oIds) const
Definition: TriggerSummaryProducerAOD.cc:537
TriggerSummaryProducerAOD::pn_
std::string pn_
process name
Definition: TriggerSummaryProducerAOD.h:156
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89287
edm::service::TriggerNamesService::getProcessName
std::string const & getProcessName() const
Definition: TriggerNamesService.h:107
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
TriggerSummaryProducerAOD::moduleLabelPatternsToMatch_
std::vector< std::regex > moduleLabelPatternsToMatch_
module labels which should be avoided
Definition: TriggerSummaryProducerAOD.h:158
objects.METAnalyzer.sumEt
sumEt
Definition: METAnalyzer.py:97
relativeConstraints.keys
keys
Definition: relativeConstraints.py:89
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
trigger::TriggerELongit
Definition: TriggerTypeDefs.h:79
trigger::TriggerTET
Definition: TriggerTypeDefs.h:73
edm::Service::isAvailable
bool isAvailable() const
Definition: Service.h:40
trigger::TriggerTHT
Definition: TriggerTypeDefs.h:74
edm::ProducerBase::callWhenNewProductsRegistered
void callWhenNewProductsRegistered(std::function< void(BranchDescription const &)> const &func)
Definition: ProducerBase.h:84
TriggerSummaryProducerAOD::getL1TTauParticleCollection_
edm::GetterOfProducts< l1t::TauBxCollection > getL1TTauParticleCollection_
Definition: TriggerSummaryProducerAOD.h:201
TriggerSummaryProducerAOD::getIsolatedPixelTrackCandidateCollection_
edm::GetterOfProducts< reco::IsolatedPixelTrackCandidateCollection > getIsolatedPixelTrackCandidateCollection_
Definition: TriggerSummaryProducerAOD.h:190
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
GlobalPosition_Frontier_DevDB_cff.tag
tag
Definition: GlobalPosition_Frontier_DevDB_cff.py:11
TriggerSummaryProducerAOD::getL1EtMissParticleCollection_
edm::GetterOfProducts< l1extra::L1EtMissParticleCollection > getL1EtMissParticleCollection_
Definition: TriggerSummaryProducerAOD.h:194
HLT_Fake1_cff.moduleLabelPatternsToMatch
moduleLabelPatternsToMatch
Definition: HLT_Fake1_cff.py:166
TriggerSummaryProducerAOD::getCaloMETCollection_
edm::GetterOfProducts< reco::CaloMETCollection > getCaloMETCollection_
Definition: TriggerSummaryProducerAOD.h:188
TriggerSummaryProducerAOD::getL1EmParticleCollection_
edm::GetterOfProducts< l1extra::L1EmParticleCollection > getL1EmParticleCollection_
Definition: TriggerSummaryProducerAOD.h:191
TriggerSummaryProducerAOD::getL1TEtSumParticleCollection_
edm::GetterOfProducts< l1t::EtSumBxCollection > getL1TEtSumParticleCollection_
Definition: TriggerSummaryProducerAOD.h:202
TriggerSummaryProducerAOD::throw_
const bool throw_
throw on error
Definition: TriggerSummaryProducerAOD.h:154
TriggerSummaryProducerAOD::getL1TJetParticleCollection_
edm::GetterOfProducts< l1t::JetBxCollection > getL1TJetParticleCollection_
Definition: TriggerSummaryProducerAOD.h:200
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
oniaPATMuonsWithTrigger_cff.collections
collections
Definition: oniaPATMuonsWithTrigger_cff.py:37
TriggerSummaryProducerAOD::getTriggerFilterObjectWithRefs_
edm::GetterOfProducts< trigger::TriggerFilterObjectWithRefs > getTriggerFilterObjectWithRefs_
trigger object collection
Definition: TriggerSummaryProducerAOD.h:181
trigger::TriggerMETSig
Definition: TriggerTypeDefs.h:78
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:223
trigger::TriggerL1HfBitCounts
Definition: TriggerTypeDefs.h:41
TriggerSummaryProducerAOD::getRecoEcalCandidateCollection_
edm::GetterOfProducts< reco::RecoEcalCandidateCollection > getRecoEcalCandidateCollection_
Definition: TriggerSummaryProducerAOD.h:182
l1t
delete x;
Definition: CaloConfig.h:22
LaserDQM_cfg.process
process
Definition: LaserDQM_cfg.py:3
TriggerSummaryProducerAOD::getCaloJetCollection_
edm::GetterOfProducts< reco::CaloJetCollection > getCaloJetCollection_
Definition: TriggerSummaryProducerAOD.h:185
trigger::TriggerObjectCollection
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:75
TriggerSummaryProducerAOD::getL1MuonParticleCollection_
edm::GetterOfProducts< l1extra::L1MuonParticleCollection > getL1MuonParticleCollection_
Definition: TriggerSummaryProducerAOD.h:192
gainCalibHelper::gainCalibPI::type
type
Definition: SiPixelGainCalibHelper.h:39
match
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:10
edm::Service
Definition: Service.h:30
iEvent
int iEvent
Definition: GenABIO.cc:224
edm::GetterOfProducts< trigger::TriggerFilterObjectWithRefs >
trigger::Keys
std::vector< size_type > Keys
Definition: TriggerTypeDefs.h:19
EcalCalibMonitorTasks_cfi.collectionTags
collectionTags
Definition: EcalCalibMonitorTasks_cfi.py:21
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
TriggerSummaryProducerAOD::fillTriggerObject
void fillTriggerObject(trigger::TriggerObjectCollection &, const T &) const
Definition: TriggerSummaryProducerAOD.cc:454
TriggerSummaryProducerAOD::getL1TEGammaParticleCollection_
edm::GetterOfProducts< l1t::EGammaBxCollection > getL1TEGammaParticleCollection_
Definition: TriggerSummaryProducerAOD.h:199
trigger::TriggerEvent::sizeObjects
trigger::size_type sizeObjects() const
Definition: TriggerEvent.h:145
instance
static PFTauRenderPlugin instance
Definition: PFTauRenderPlugin.cc:70
SimL1EmulatorRepack_CalouGT_cff.processName
processName
Definition: SimL1EmulatorRepack_CalouGT_cff.py:17
TriggerSummaryProducerAOD::getL1JetParticleCollection_
edm::GetterOfProducts< l1extra::L1JetParticleCollection > getL1JetParticleCollection_
Definition: TriggerSummaryProducerAOD.h:193
TriggerSummaryProducerAOD::moduleLabelPatternsToSkip_
std::vector< std::regex > moduleLabelPatternsToSkip_
Definition: TriggerSummaryProducerAOD.h:159
TriggerSummaryProducerAOD::filterTagsGlobal_
tbb::concurrent_unordered_set< edm::InputTag, InputTagHash > filterTagsGlobal_
list of L3 filter tags
Definition: TriggerSummaryProducerAOD.h:162
trigger::TriggerL1HfRingEtSums
Definition: TriggerTypeDefs.h:42
TriggerSummaryProducerAOD::getPFMETCollection_
edm::GetterOfProducts< reco::PFMETCollection > getPFMETCollection_
Definition: TriggerSummaryProducerAOD.h:189
edm::GetterOfProducts::fillHandles
void fillHandles(edm::Event const &event, std::vector< edm::Handle< T >> &handles) const
Definition: GetterOfProducts.h:142
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
eostools.move
def move(src, dest)
Definition: eostools.py:511
std
Definition: JetResolutionObject.h:76
edm::OrphanHandle
Definition: EDProductfwd.h:39
trigger::TriggerL1HTT
Definition: TriggerTypeDefs.h:38
gen::C
C
Definition: PomwigHadronizer.cc:78
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
TriggerSummaryProducerAOD::getPFTauCollection_
edm::GetterOfProducts< reco::PFTauCollection > getPFTauCollection_
Definition: TriggerSummaryProducerAOD.h:197
Exception
Definition: hltDiff.cc:246
trigger::TriggerHLongit
Definition: TriggerTypeDefs.h:81
HLT_Fake1_cff.moduleLabelPatternsToSkip
moduleLabelPatternsToSkip
Definition: HLT_Fake1_cff.py:163
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
TriggerSummaryProducerAOD::getMETCollection_
edm::GetterOfProducts< reco::METCollection > getMETCollection_
Definition: TriggerSummaryProducerAOD.h:187
triggerMatcherToHLTDebug_cfi.tags
tags
Definition: triggerMatcherToHLTDebug_cfi.py:9
trigger
Definition: HLTPrescaleTableCond.h:8
edm::isDebugEnabled
bool isDebugEnabled()
Definition: MessageLogger.cc:12
edm::BranchDescription
Definition: BranchDescription.h:32
edm::Ref::key
key_type key() const
Accessor for product key.
Definition: Ref.h:250
TriggerSummaryProducerAOD::getPFJetCollection_
edm::GetterOfProducts< reco::PFJetCollection > getPFJetCollection_
Definition: TriggerSummaryProducerAOD.h:196
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:224
TriggerSummaryProducerAOD::fillFilterObjectMember
void fillFilterObjectMember(trigger::Keys &keys, trigger::Vids &ids, const int &, const int &, const edm::Ref< C > &) const
Definition: TriggerSummaryProducerAOD.cc:596
HerwigMaxPtPartonFilter_cfi.moduleLabel
moduleLabel
Definition: HerwigMaxPtPartonFilter_cfi.py:4
TriggerSummaryProducerAOD::getL1TMuonParticleCollection_
edm::GetterOfProducts< l1t::MuonBxCollection > getL1TMuonParticleCollection_
Definition: TriggerSummaryProducerAOD.h:198
l1extra
Definition: L1EmParticle.h:26
edm::Provenance
Definition: Provenance.h:34
hltrates_dqm_sourceclient-live_cfg.offset
offset
Definition: hltrates_dqm_sourceclient-live_cfg.py:82
HLT_FULL_cff.distance
distance
Definition: HLT_FULL_cff.py:7733
trigger::TriggerL1ETT
Definition: TriggerTypeDefs.h:37
edm::InputTag
Definition: InputTag.h:15
TriggerSummaryProducerAOD::getL1HFRingsCollection_
edm::GetterOfProducts< l1extra::L1HFRingsCollection > getL1HFRingsCollection_
Definition: TriggerSummaryProducerAOD.h:195
label
const char * label
Definition: PFTauDecayModeTools.cc:11
benchmark_cfg.fb
fb
Definition: benchmark_cfg.py:14
edm::ProductID
Definition: ProductID.h:27
ZCounting_cff.TriggerEvent
TriggerEvent
Definition: ZCounting_cff.py:5
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443