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 const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
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::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
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::L1HFRingsCollection > &) 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< reco::PFMETCollection > &) 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
 
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
 
template<typename T >
void fillTriggerObject (trigger::TriggerObjectCollection &, const T &) const
 
void fillTriggerObject (trigger::TriggerObjectCollection &, const l1extra::L1HFRings &) const
 
void fillTriggerObject (trigger::TriggerObjectCollection &, const l1extra::L1EtMissParticle &) const
 
void fillTriggerObject (trigger::TriggerObjectCollection &, const reco::PFMET &) const
 
void fillTriggerObject (trigger::TriggerObjectCollection &, const reco::CaloMET &) const
 
void fillTriggerObject (trigger::TriggerObjectCollection &, const reco::MET &) 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::HPSPFTauCollectiongetL1THPSPFTauCollection_
 
edm::GetterOfProducts< l1t::JetBxCollectiongetL1TJetParticleCollection_
 
edm::GetterOfProducts< l1t::MuonBxCollectiongetL1TMuonParticleCollection_
 
edm::GetterOfProducts< l1t::MuonShowerBxCollectiongetL1TMuonShowerParticleCollection_
 
edm::GetterOfProducts< l1t::PFJetCollectiongetL1TPFJetCollection_
 
edm::GetterOfProducts< l1t::PFTauCollectiongetL1TPFTauCollection_
 
edm::GetterOfProducts< l1t::PFTrackCollectiongetL1TPFTrackCollection_
 
edm::GetterOfProducts< l1t::TauBxCollectiongetL1TTauParticleCollection_
 
edm::GetterOfProducts< l1t::TkElectronCollectiongetL1TTkElectronCollection_
 
edm::GetterOfProducts< l1t::TkEmCollectiongetL1TTkEmCollection_
 
edm::GetterOfProducts< l1t::TrackerMuonCollectiongetL1TTkMuonCollection_
 
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
template<typename T >
using BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T >
 
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<Transition Tr = Transition::Event>
auto produces (std::string instanceName) noexcept
 declare what type of product will make and with which optional label More...
 
template<Transition B>
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)
 
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 ()
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
template<Transition Tr = Transition::Event>
auto produces () noexcept
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
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<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 

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 87 of file TriggerSummaryProducerAOD.h.

Member Typedef Documentation

◆ InputTagSet

Definition at line 116 of file TriggerSummaryProducerAOD.h.

◆ ProductIDtoIndex

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

Definition at line 115 of file TriggerSummaryProducerAOD.h.

Constructor & Destructor Documentation

◆ TriggerSummaryProducerAOD()

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

Definition at line 86 of file TriggerSummaryProducerAOD.cc.

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

87  : throw_(ps.getParameter<bool>("throw")),
88  pn_(ps.getParameter<std::string>("processName")),
90  convertToRegex(ps.getParameter<std::vector<std::string>>("moduleLabelPatternsToMatch"))),
92  convertToRegex(ps.getParameter<std::vector<std::string>>("moduleLabelPatternsToSkip"))) {
93  if (pn_ == "@") {
95  if (tns.isAvailable()) {
96  pn_ = tns->getProcessName();
97  } else {
98  edm::LogError("TriggerSummaryProducerAOD") << "HLT Error: TriggerNamesService not available!";
99  pn_ = "*";
100  }
101  }
102  LogDebug("TriggerSummaryProducerAOD") << "Using process name: '" << pn_ << "'";
103 
104  produces<trigger::TriggerEvent>();
105 
106  auto const* pProcessName = &pn_;
109  auto productMatch = [pProcessName, &moduleLabelPatternsToSkip, &moduleLabelPatternsToMatch](
110  edm::BranchDescription const& iBranch) -> bool {
111  if (iBranch.processName() == *pProcessName || *pProcessName == "*") {
112  auto const& label = iBranch.moduleLabel();
113  for (auto& match : moduleLabelPatternsToMatch) {
114  if (std::regex_match(label, match)) {
115  //make sure this is not in the reject list
116  for (auto& reject : moduleLabelPatternsToSkip) {
117  if (std::regex_match(label, reject)) {
118  return false;
119  }
120  }
121  return true;
122  }
123  }
124  }
125  return false;
126  };
127 
149 
157 
161 
193  });
194 }
void callWhenNewProductsRegistered(std::function< void(BranchDescription const &)> const &func)
Definition: ProducerBase.h:87
edm::GetterOfProducts< l1t::TauBxCollection > getL1TTauParticleCollection_
std::vector< std::regex > moduleLabelPatternsToSkip_
edm::GetterOfProducts< l1extra::L1JetParticleCollection > getL1JetParticleCollection_
edm::GetterOfProducts< reco::IsolatedPixelTrackCandidateCollection > getIsolatedPixelTrackCandidateCollection_
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::GetterOfProducts< reco::RecoEcalCandidateCollection > getRecoEcalCandidateCollection_
edm::GetterOfProducts< l1t::PFTrackCollection > getL1TPFTrackCollection_
edm::GetterOfProducts< l1extra::L1MuonParticleCollection > getL1MuonParticleCollection_
edm::GetterOfProducts< reco::PFTauCollection > getPFTauCollection_
edm::GetterOfProducts< reco::METCollection > getMETCollection_
edm::GetterOfProducts< l1t::JetBxCollection > getL1TJetParticleCollection_
edm::GetterOfProducts< l1t::TkElectronCollection > getL1TTkElectronCollection_
edm::GetterOfProducts< reco::CaloJetCollection > getCaloJetCollection_
edm::GetterOfProducts< l1extra::L1EtMissParticleCollection > getL1EtMissParticleCollection_
Log< level::Error, false > LogError
std::string const & getProcessName() const
edm::GetterOfProducts< reco::PFJetCollection > getPFJetCollection_
const bool throw_
throw on error
char const * label
edm::GetterOfProducts< l1t::TkEmCollection > getL1TTkEmCollection_
edm::GetterOfProducts< reco::RecoChargedCandidateCollection > getRecoChargedCandidateCollection_
edm::GetterOfProducts< l1extra::L1HFRingsCollection > getL1HFRingsCollection_
std::vector< std::regex > moduleLabelPatternsToMatch_
module labels which should be avoided
edm::GetterOfProducts< l1t::PFTauCollection > getL1TPFTauCollection_
edm::GetterOfProducts< l1t::MuonBxCollection > getL1TMuonParticleCollection_
edm::GetterOfProducts< l1t::TrackerMuonCollection > getL1TTkMuonCollection_
edm::GetterOfProducts< l1t::HPSPFTauCollection > getL1THPSPFTauCollection_
edm::GetterOfProducts< l1t::MuonShowerBxCollection > getL1TMuonShowerParticleCollection_
edm::GetterOfProducts< reco::CaloMETCollection > getCaloMETCollection_
edm::GetterOfProducts< reco::ElectronCollection > getElectronCollection_
edm::GetterOfProducts< reco::CompositeCandidateCollection > getCompositeCandidateCollection_
edm::GetterOfProducts< trigger::TriggerFilterObjectWithRefs > getTriggerFilterObjectWithRefs_
trigger object collection
bool isAvailable() const
Definition: Service.h:40
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:10
edm::GetterOfProducts< reco::PFMETCollection > getPFMETCollection_
edm::GetterOfProducts< l1t::PFJetCollection > getL1TPFJetCollection_
edm::GetterOfProducts< l1t::EtSumBxCollection > getL1TEtSumParticleCollection_
edm::GetterOfProducts< l1extra::L1EmParticleCollection > getL1EmParticleCollection_
#define LogDebug(id)
edm::GetterOfProducts< l1t::EGammaBxCollection > getL1TEGammaParticleCollection_

◆ ~TriggerSummaryProducerAOD()

TriggerSummaryProducerAOD::~TriggerSummaryProducerAOD ( )
overridedefault

Member Function Documentation

◆ endJob()

void TriggerSummaryProducerAOD::endJob ( void  )
overridevirtual

Reimplemented from edm::global::EDProducerBase.

Definition at line 765 of file TriggerSummaryProducerAOD.cc.

References EcalCalibMonitorTasks_cfi::collectionTags, collectionTagsGlobal_, HLT_2023v12_cff::distance, and filterTagsGlobal_.

765  {
766  using namespace std;
767  using namespace edm;
768  using namespace trigger;
769 
770  LogVerbatim("TriggerSummaryProducerAOD") << endl;
771  LogVerbatim("TriggerSummaryProducerAOD") << "TriggerSummaryProducerAOD::globalEndJob - accumulated tags:" << endl;
772 
773  InputTagSet filterTags(false);
775 
776  filterTags.insert(filterTagsGlobal_.begin(), filterTagsGlobal_.end());
778 
779  const unsigned int nc(collectionTags.size());
780  const unsigned int nf(filterTags.size());
781  LogVerbatim("TriggerSummaryProducerAOD") << " Overall number of Collections/Filters: " << nc << "/" << nf << endl;
782 
783  LogVerbatim("TriggerSummaryProducerAOD") << " The collections: " << nc << endl;
784  const InputTagSet::const_iterator cb(collectionTags.begin());
785  const InputTagSet::const_iterator ce(collectionTags.end());
786  for (InputTagSet::const_iterator ci = cb; ci != ce; ++ci) {
787  LogVerbatim("TriggerSummaryProducerAOD") << " " << distance(cb, ci) << " " << ci->encode() << endl;
788  }
789 
790  LogVerbatim("TriggerSummaryProducerAOD") << " The filters:" << nf << endl;
791  const InputTagSet::const_iterator fb(filterTags.begin());
792  const InputTagSet::const_iterator fe(filterTags.end());
793  for (InputTagSet::const_iterator fi = fb; fi != fe; ++fi) {
794  LogVerbatim("TriggerSummaryProducerAOD") << " " << distance(fb, fi) << " " << fi->encode() << endl;
795  }
796 
797  LogVerbatim("TriggerSummaryProducerAOD") << "TriggerSummaryProducerAOD::endJob." << endl;
798  LogVerbatim("TriggerSummaryProducerAOD") << endl;
799 
800  return;
801 }
Log< level::Info, true > LogVerbatim
tbb::concurrent_unordered_set< edm::InputTag, InputTagHash > filterTagsGlobal_
list of L3 filter tags
tbb::concurrent_unordered_set< edm::InputTag, InputTagHash > collectionTagsGlobal_
list of L3 collection tags
std::set< edm::InputTag, OrderInputTag > InputTagSet
HLT enums.

◆ fillDescriptions()

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

Definition at line 228 of file TriggerSummaryProducerAOD.cc.

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

228  {
230  desc.add<bool>("throw", false)->setComment("Throw exception or LogError");
231  desc.add<std::string>("processName", "@")
232  ->setComment(
233  "Process name to use when getting data. The value of '@' is used to denote the current process name.");
234  desc.add<std::vector<std::string>>("moduleLabelPatternsToMatch", std::vector<std::string>(1, "hlt*"))
235  ->setComment("glob patterns for module labels to get data.");
236  desc.add<std::vector<std::string>>("moduleLabelPatternsToSkip", std::vector<std::string>())
237  ->setComment("module labels for data products which should not be gotten.");
238  descriptions.add("triggerSummaryProducerAOD", desc);
239 }
void add(std::string const &label, ParameterSetDescription const &psetDescription)

◆ 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 660 of file TriggerSummaryProducerAOD.cc.

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

Referenced by fillFilterObjectMembers().

661  {
662  keys.push_back(offset + ref.key());
663  ids.push_back(id);
664 
665  return;
666 }
key_type key() const
Accessor for product key.
Definition: Ref.h:250

◆ fillFilterObjectMember() [2/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 668 of file TriggerSummaryProducerAOD.cc.

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

672  {
673  using namespace trigger;
674 
675  if (id == TriggerL1HfBitCounts) {
676  keys.push_back(offset + 2 * ref.key() + 1);
677  } else { // if (ids[i]==TriggerL1HfRingEtSums) {
678  keys.push_back(offset + 2 * ref.key() + 0);
679  }
680  ids.push_back(id);
681 
682  return;
683 }
key_type key() const
Accessor for product key.
Definition: Ref.h:250

◆ fillFilterObjectMember() [3/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 685 of file TriggerSummaryProducerAOD.cc.

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

689  {
690  using namespace trigger;
691 
692  if ((id == TriggerL1ETT) || (id == TriggerL1HTT)) {
693  keys.push_back(offset + 2 * ref.key() + 1);
694  } else {
695  keys.push_back(offset + 2 * ref.key() + 0);
696  }
697  ids.push_back(id);
698 
699  return;
700 }
key_type key() const
Accessor for product key.
Definition: Ref.h:250

◆ fillFilterObjectMember() [4/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 702 of file TriggerSummaryProducerAOD.cc.

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.

706  {
707  using namespace trigger;
708 
709  if ((id == TriggerTHT) || (id == TriggerTET)) {
710  keys.push_back(offset + 4 * ref.key() + 1);
711  } else if ((id == TriggerMETSig) || (id == TriggerMHTSig)) {
712  keys.push_back(offset + 4 * ref.key() + 2);
713  } else if ((id == TriggerELongit) || (id == TriggerHLongit)) {
714  keys.push_back(offset + 4 * ref.key() + 3);
715  } else {
716  keys.push_back(offset + 4 * ref.key() + 0);
717  }
718  ids.push_back(id);
719 
720  return;
721 }
key_type key() const
Accessor for product key.
Definition: Ref.h:250

◆ fillFilterObjectMember() [5/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 723 of file TriggerSummaryProducerAOD.cc.

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.

727  {
728  using namespace trigger;
729 
730  if ((id == TriggerTHT) || (id == TriggerTET)) {
731  keys.push_back(offset + 4 * ref.key() + 1);
732  } else if ((id == TriggerMETSig) || (id == TriggerMHTSig)) {
733  keys.push_back(offset + 4 * ref.key() + 2);
734  } else if ((id == TriggerELongit) || (id == TriggerHLongit)) {
735  keys.push_back(offset + 4 * ref.key() + 3);
736  } else {
737  keys.push_back(offset + 4 * ref.key() + 0);
738  }
739  ids.push_back(id);
740 
741  return;
742 }
key_type key() const
Accessor for product key.
Definition: Ref.h:250

◆ fillFilterObjectMember() [6/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 744 of file TriggerSummaryProducerAOD.cc.

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.

748  {
749  using namespace trigger;
750 
751  if ((id == TriggerTHT) || (id == TriggerTET)) {
752  keys.push_back(offset + 4 * ref.key() + 1);
753  } else if ((id == TriggerMETSig) || (id == TriggerMHTSig)) {
754  keys.push_back(offset + 4 * ref.key() + 2);
755  } else if ((id == TriggerELongit) || (id == TriggerHLongit)) {
756  keys.push_back(offset + 4 * ref.key() + 3);
757  } else {
758  keys.push_back(offset + 4 * ref.key() + 0);
759  }
760  ids.push_back(id);
761 
762  return;
763 }
key_type key() const
Accessor for product key.
Definition: Ref.h:250

◆ 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 600 of file TriggerSummaryProducerAOD.cc.

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

Referenced by produce().

606  {
610 
611  using namespace std;
612  using namespace edm;
613  using namespace reco;
614  using namespace l1extra;
615  using namespace trigger;
616 
617  if (ids.size() != refs.size()) {
618  LogError("TriggerSummaryProducerAOD") << "Vector length is different: " << ids.size() << " " << refs.size();
619  }
620 
621  const unsigned int n(min(ids.size(), refs.size()));
622  for (unsigned int i = 0; i != n; ++i) {
623  const ProductID pid(refs[i].id());
624  if (!(pid.isValid())) {
625  std::ostringstream ost;
626  ost << "Iinvalid pid: " << pid << " FilterTag / Key: " << tag.encode() << " / " << i << "of" << n
627  << " CollectionTag / Key: "
628  << " <Unrecoverable>"
629  << " / " << refs[i].key() << " CollectionType: " << typeid(C).name();
630  if (throw_) {
631  throw cms::Exception("TriggerSummaryProducerAOD") << ost.str();
632  } else {
633  LogError("TriggerSummaryProducerAOD") << ost.str();
634  }
635  } else {
636  auto itOffset = offset.find(pid);
637  if (itOffset == offset.end()) {
638  const auto& prov = iEvent.getStableProvenance(pid);
639  const string& label(prov.moduleLabel());
640  const string& instance(prov.productInstanceName());
641  const string& process(prov.processName());
642  std::ostringstream ost;
643  ost << "Uunknown pid: " << pid << " FilterTag / Key: " << tag.encode() << " / " << i << "of" << n
644  << " CollectionTag / Key: " << InputTag(label, instance, process).encode() << " / " << refs[i].key()
645  << " CollectionType: " << typeid(C).name();
646  if (throw_) {
647  throw cms::Exception("TriggerSummaryProducerAOD") << ost.str();
648  } else {
649  LogError("TriggerSummaryProducerAOD") << ost.str();
650  }
651  } else {
652  fillFilterObjectMember(keys, oIDs, itOffset->second, ids[i], refs[i]);
653  }
654  }
655  }
656  return;
657 }
static PFTauRenderPlugin instance
Log< level::Error, false > LogError
const bool throw_
throw on error
char const * label
void fillFilterObjectMember(trigger::Keys &keys, trigger::Vids &ids, const int &, const int &, const edm::Ref< C > &) const
int iEvent
Definition: GenABIO.cc:224
fixed size matrix
HLT enums.

◆ fillTriggerObject() [1/6]

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

Definition at line 517 of file TriggerSummaryProducerAOD.cc.

Referenced by fillTriggerObjectCollections().

517  {
518  using namespace trigger;
519  toc.emplace_back(object);
520 
521  return;
522 }

◆ fillTriggerObject() [2/6]

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

Definition at line 524 of file TriggerSummaryProducerAOD.cc.

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

525  {
526  using namespace l1extra;
527  using namespace trigger;
528 
529  toc.emplace_back(TriggerL1HfRingEtSums,
530  object.hfEtSum(L1HFRings::kRing1PosEta),
531  object.hfEtSum(L1HFRings::kRing1NegEta),
532  object.hfEtSum(L1HFRings::kRing2PosEta),
533  object.hfEtSum(L1HFRings::kRing2NegEta));
534  toc.emplace_back(TriggerL1HfBitCounts,
535  object.hfBitCount(L1HFRings::kRing1PosEta),
536  object.hfBitCount(L1HFRings::kRing1NegEta),
537  object.hfBitCount(L1HFRings::kRing2PosEta),
538  object.hfBitCount(L1HFRings::kRing2NegEta));
539 
540  return;
541 }

◆ fillTriggerObject() [3/6]

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

Definition at line 543 of file TriggerSummaryProducerAOD.cc.

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

544  {
545  using namespace l1extra;
546  using namespace trigger;
547 
548  toc.emplace_back(object);
549  if (object.type() == L1EtMissParticle::kMET) {
550  toc.emplace_back(TriggerL1ETT, object.etTotal(), 0.0, 0.0, 0.0);
551  } else if (object.type() == L1EtMissParticle::kMHT) {
552  toc.emplace_back(TriggerL1HTT, object.etTotal(), 0.0, 0.0, 0.0);
553  } else {
554  toc.emplace_back(0, object.etTotal(), 0.0, 0.0, 0.0);
555  }
556 
557  return;
558 }

◆ fillTriggerObject() [4/6]

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

Definition at line 560 of file TriggerSummaryProducerAOD.cc.

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

561  {
562  using namespace reco;
563  using namespace trigger;
564 
565  toc.emplace_back(object);
566  toc.emplace_back(TriggerTET, object.sumEt(), 0.0, 0.0, 0.0);
567  toc.emplace_back(TriggerMETSig, object.mEtSig(), 0.0, 0.0, 0.0);
568  toc.emplace_back(TriggerELongit, object.e_longitudinal(), 0.0, 0.0, 0.0);
569 
570  return;
571 }
fixed size matrix

◆ fillTriggerObject() [5/6]

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

Definition at line 573 of file TriggerSummaryProducerAOD.cc.

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

574  {
575  using namespace reco;
576  using namespace trigger;
577 
578  toc.emplace_back(object);
579  toc.emplace_back(TriggerTET, object.sumEt(), 0.0, 0.0, 0.0);
580  toc.emplace_back(TriggerMETSig, object.mEtSig(), 0.0, 0.0, 0.0);
581  toc.emplace_back(TriggerELongit, object.e_longitudinal(), 0.0, 0.0, 0.0);
582 
583  return;
584 }
fixed size matrix

◆ fillTriggerObject() [6/6]

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

Definition at line 586 of file TriggerSummaryProducerAOD.cc.

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

587  {
588  using namespace reco;
589  using namespace trigger;
590 
591  toc.emplace_back(object);
592  toc.emplace_back(TriggerTHT, object.sumEt(), 0.0, 0.0, 0.0);
593  toc.emplace_back(TriggerMHTSig, object.mEtSig(), 0.0, 0.0, 0.0);
594  toc.emplace_back(TriggerHLongit, object.e_longitudinal(), 0.0, 0.0, 0.0);
595 
596  return;
597 }
fixed size matrix

◆ 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 470 of file TriggerSummaryProducerAOD.cc.

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.

476  {
480 
481  using namespace std;
482  using namespace edm;
483  using namespace reco;
484  using namespace l1extra;
485  using namespace trigger;
486  using namespace l1t;
487 
488  vector<Handle<C>> collections;
489  getter.fillHandles(iEvent, collections);
490  const unsigned int nc(collections.size());
491 
492  for (unsigned int ic = 0; ic != nc; ++ic) {
493  const Provenance& provenance(*(collections[ic].provenance()));
494  const string& label(provenance.moduleLabel());
495  const string& instance(provenance.productInstanceName());
496  const string& process(provenance.processName());
497  const InputTag collectionTag(label, instance, process);
498 
499  if (collectionTagsEvent.find(collectionTag) != collectionTagsEvent.end()) {
500  const ProductID pid(collections[ic].provenance()->productID());
501  if (offset.find(pid) != offset.end()) {
502  LogError("TriggerSummaryProducerAOD") << "Duplicate pid: " << pid;
503  }
504  offset[pid] = toc.size();
505  const unsigned int n(collections[ic]->size());
506  for (unsigned int i = 0; i != n; ++i) {
507  fillTriggerObject(toc, (*collections[ic])[i]);
508  }
509  tags.push_back(collectionTag.encode());
510  keys.push_back(toc.size());
511  }
512 
513  }
514 }
size
Write out results.
static PFTauRenderPlugin instance
delete x;
Definition: CaloConfig.h:22
Log< level::Error, false > LogError
void fillTriggerObject(trigger::TriggerObjectCollection &, const T &) const
char const * label
int iEvent
Definition: GenABIO.cc:224
void fillHandles(edm::Event const &event, std::vector< edm::Handle< T >> &handles) const
fixed size matrix
HLT enums.

◆ 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 242 of file TriggerSummaryProducerAOD.cc.

References collectionTagsGlobal_, HLT_2023v12_cff::distance, fillFilterObjectMembers(), edm::GetterOfProducts< T >::fillHandles(), filterTagsGlobal_, getCaloJetCollection_, getCaloMETCollection_, getCompositeCandidateCollection_, getElectronCollection_, getIsolatedPixelTrackCandidateCollection_, getL1EmParticleCollection_, getL1EtMissParticleCollection_, getL1HFRingsCollection_, getL1JetParticleCollection_, getL1MuonParticleCollection_, getL1TEGammaParticleCollection_, getL1TEtSumParticleCollection_, getL1THPSPFTauCollection_, getL1TJetParticleCollection_, getL1TMuonParticleCollection_, getL1TMuonShowerParticleCollection_, getL1TPFJetCollection_, getL1TPFTauCollection_, getL1TPFTrackCollection_, getL1TTauParticleCollection_, getL1TTkElectronCollection_, getL1TTkEmCollection_, getL1TTkMuonCollection_, getMETCollection_, getPFJetCollection_, getPFMETCollection_, getPFTauCollection_, getRecoChargedCandidateCollection_, getRecoEcalCandidateCollection_, getTriggerFilterObjectWithRefs_, iEvent, ProducerED_cfi::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_cfi::TriggerEvent.

242  {
243  using namespace std;
244  using namespace edm;
245  using namespace reco;
246  using namespace l1extra;
247  using namespace trigger;
248  using namespace l1t;
249 
250  std::vector<edm::Handle<trigger::TriggerFilterObjectWithRefs>> fobs;
252 
253  const unsigned int nfob(fobs.size());
254  LogTrace("TriggerSummaryProducerAOD") << "Number of filter objects found: " << nfob;
255 
256  string tagLabel, tagInstance, tagProcess;
257 
263  std::vector<bool> maskFilters;
264  maskFilters.resize(nfob);
265  InputTagSet filterTagsEvent(pn_ == "*");
266  InputTagSet collectionTagsEvent(pn_ == "*");
267 
268  unsigned int nf(0);
269  for (unsigned int ifob = 0; ifob != nfob; ++ifob) {
270  maskFilters[ifob] = false;
271  const vector<string>& collectionTags_(fobs[ifob]->getCollectionTagsAsStrings());
272  const unsigned int ncol(collectionTags_.size());
273  if (ncol > 0) {
274  nf++;
275  maskFilters[ifob] = true;
276  const string& label(fobs[ifob].provenance()->moduleLabel());
277  const string& instance(fobs[ifob].provenance()->productInstanceName());
278  const string& process(fobs[ifob].provenance()->processName());
279  filterTagsEvent.insert(InputTag(label, instance, process));
280  for (unsigned int icol = 0; icol != ncol; ++icol) {
281  // overwrite process name (usually not set)
282  tokenizeTag(collectionTags_[icol], tagLabel, tagInstance, tagProcess);
283  collectionTagsEvent.insert(InputTag(tagLabel, tagInstance, pn_));
284  }
285  }
286  }
288  if (filterTagsEvent.size() != nf) {
289  LogError("TriggerSummaryProducerAOD")
290  << "Mismatch in number of filter tags: " << filterTagsEvent.size() << "!=" << nf;
291  }
292 
294  collectionTagsGlobal_.insert(collectionTagsEvent.begin(), collectionTagsEvent.end());
295  filterTagsGlobal_.insert(filterTagsEvent.begin(), filterTagsEvent.end());
296 
298  if (isDebugEnabled()) {
300  const unsigned int nc(collectionTagsEvent.size());
301  LogTrace("TriggerSummaryProducerAOD") << "Number of unique collections requested " << nc;
302  const InputTagSet::const_iterator cb(collectionTagsEvent.begin());
303  const InputTagSet::const_iterator ce(collectionTagsEvent.end());
304  for (InputTagSet::const_iterator ci = cb; ci != ce; ++ci) {
305  LogTrace("TriggerSummaryProducerAOD") << distance(cb, ci) << " " << ci->encode();
306  }
307  const unsigned int nf(filterTagsEvent.size());
308  LogTrace("TriggerSummaryProducerAOD") << "Number of unique filters requested " << nf;
309  const InputTagSet::const_iterator fb(filterTagsEvent.begin());
310  const InputTagSet::const_iterator fe(filterTagsEvent.end());
311  for (InputTagSet::const_iterator fi = fb; fi != fe; ++fi) {
312  LogTrace("TriggerSummaryProducerAOD") << distance(fb, fi) << " " << fi->encode();
313  }
314  }
315 
322  //toc_.clear();
323  std::vector<std::string> tags;
325  std::map<edm::ProductID, unsigned int> offset;
326 
327  fillTriggerObjectCollections<RecoEcalCandidateCollection>(
328  toc, offset, tags, keys, iEvent, getRecoEcalCandidateCollection_, collectionTagsEvent);
329  fillTriggerObjectCollections<ElectronCollection>(
330  toc, offset, tags, keys, iEvent, getElectronCollection_, collectionTagsEvent);
331  fillTriggerObjectCollections<RecoChargedCandidateCollection>(
332  toc, offset, tags, keys, iEvent, getRecoChargedCandidateCollection_, collectionTagsEvent);
333  fillTriggerObjectCollections<CaloJetCollection>(
334  toc, offset, tags, keys, iEvent, getCaloJetCollection_, collectionTagsEvent);
335  fillTriggerObjectCollections<CompositeCandidateCollection>(
336  toc, offset, tags, keys, iEvent, getCompositeCandidateCollection_, collectionTagsEvent);
337  fillTriggerObjectCollections<METCollection>(toc, offset, tags, keys, iEvent, getMETCollection_, collectionTagsEvent);
338  fillTriggerObjectCollections<CaloMETCollection>(
339  toc, offset, tags, keys, iEvent, getCaloMETCollection_, collectionTagsEvent);
340  fillTriggerObjectCollections<IsolatedPixelTrackCandidateCollection>(
341  toc, offset, tags, keys, iEvent, getIsolatedPixelTrackCandidateCollection_, collectionTagsEvent);
343  fillTriggerObjectCollections<L1EmParticleCollection>(
344  toc, offset, tags, keys, iEvent, getL1EmParticleCollection_, collectionTagsEvent);
345  fillTriggerObjectCollections<L1MuonParticleCollection>(
346  toc, offset, tags, keys, iEvent, getL1MuonParticleCollection_, collectionTagsEvent);
347  fillTriggerObjectCollections<L1JetParticleCollection>(
348  toc, offset, tags, keys, iEvent, getL1JetParticleCollection_, collectionTagsEvent);
349  fillTriggerObjectCollections<L1EtMissParticleCollection>(
350  toc, offset, tags, keys, iEvent, getL1EtMissParticleCollection_, collectionTagsEvent);
351  fillTriggerObjectCollections<L1HFRingsCollection>(
352  toc, offset, tags, keys, iEvent, getL1HFRingsCollection_, collectionTagsEvent);
353  fillTriggerObjectCollections<MuonBxCollection>(
354  toc, offset, tags, keys, iEvent, getL1TMuonParticleCollection_, collectionTagsEvent);
355  fillTriggerObjectCollections<MuonShowerBxCollection>(
356  toc, offset, tags, keys, iEvent, getL1TMuonShowerParticleCollection_, collectionTagsEvent);
357  fillTriggerObjectCollections<EGammaBxCollection>(
358  toc, offset, tags, keys, iEvent, getL1TEGammaParticleCollection_, collectionTagsEvent);
359  fillTriggerObjectCollections<JetBxCollection>(
360  toc, offset, tags, keys, iEvent, getL1TJetParticleCollection_, collectionTagsEvent);
361  fillTriggerObjectCollections<TauBxCollection>(
362  toc, offset, tags, keys, iEvent, getL1TTauParticleCollection_, collectionTagsEvent);
363  fillTriggerObjectCollections<EtSumBxCollection>(
364  toc, offset, tags, keys, iEvent, getL1TEtSumParticleCollection_, collectionTagsEvent);
366  fillTriggerObjectCollections<l1t::TrackerMuonCollection>(
367  toc, offset, tags, keys, iEvent, getL1TTkMuonCollection_, collectionTagsEvent);
368  fillTriggerObjectCollections<l1t::TkElectronCollection>(
369  toc, offset, tags, keys, iEvent, getL1TTkElectronCollection_, collectionTagsEvent);
370  fillTriggerObjectCollections<l1t::TkEmCollection>(
371  toc, offset, tags, keys, iEvent, getL1TTkEmCollection_, collectionTagsEvent);
372  fillTriggerObjectCollections<l1t::PFJetCollection>(
373  toc, offset, tags, keys, iEvent, getL1TPFJetCollection_, collectionTagsEvent);
374  fillTriggerObjectCollections<l1t::PFTauCollection>(
375  toc, offset, tags, keys, iEvent, getL1TPFTauCollection_, collectionTagsEvent);
376  fillTriggerObjectCollections<l1t::HPSPFTauCollection>(
377  toc, offset, tags, keys, iEvent, getL1THPSPFTauCollection_, collectionTagsEvent);
378  fillTriggerObjectCollections<l1t::PFTrackCollection>(
379  toc, offset, tags, keys, iEvent, getL1TPFTrackCollection_, collectionTagsEvent);
381  fillTriggerObjectCollections<reco::PFJetCollection>(
382  toc, offset, tags, keys, iEvent, getPFJetCollection_, collectionTagsEvent);
383  fillTriggerObjectCollections<reco::PFTauCollection>(
384  toc, offset, tags, keys, iEvent, getPFTauCollection_, collectionTagsEvent);
385  fillTriggerObjectCollections<reco::PFMETCollection>(
386  toc, offset, tags, keys, iEvent, getPFMETCollection_, collectionTagsEvent);
388  const unsigned int nk(tags.size());
389  LogDebug("TriggerSummaryProducerAOD") << "Number of collections found: " << nk;
390  const unsigned int no(toc.size());
391  LogDebug("TriggerSummaryProducerAOD") << "Number of physics objects found: " << no;
392 
395  unique_ptr<TriggerEvent> product(new TriggerEvent(pn_, nk, no, nf));
396 
398  product->addCollections(tags, keys);
399  product->addObjects(toc);
400 
402  trigger::Vids ids;
403  for (unsigned int ifob = 0; ifob != nfob; ++ifob) {
404  if (maskFilters[ifob]) {
405  const string& label(fobs[ifob].provenance()->moduleLabel());
406  const string& instance(fobs[ifob].provenance()->productInstanceName());
407  const string& process(fobs[ifob].provenance()->processName());
408  const edm::InputTag filterTag(label, instance, process);
409  ids.clear();
410  keys.clear();
411  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->photonIds(), fobs[ifob]->photonRefs(), offset, keys, ids);
413  iEvent, filterTag, fobs[ifob]->electronIds(), fobs[ifob]->electronRefs(), offset, keys, ids);
414  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->muonIds(), fobs[ifob]->muonRefs(), offset, keys, ids);
415  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->jetIds(), fobs[ifob]->jetRefs(), offset, keys, ids);
417  iEvent, filterTag, fobs[ifob]->compositeIds(), fobs[ifob]->compositeRefs(), offset, keys, ids);
419  iEvent, filterTag, fobs[ifob]->basemetIds(), fobs[ifob]->basemetRefs(), offset, keys, ids);
421  iEvent, filterTag, fobs[ifob]->calometIds(), fobs[ifob]->calometRefs(), offset, keys, ids);
423  iEvent, filterTag, fobs[ifob]->pixtrackIds(), fobs[ifob]->pixtrackRefs(), offset, keys, ids);
424  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->l1emIds(), fobs[ifob]->l1emRefs(), offset, keys, ids);
425  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->l1muonIds(), fobs[ifob]->l1muonRefs(), offset, keys, ids);
426  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->l1jetIds(), fobs[ifob]->l1jetRefs(), offset, keys, ids);
428  iEvent, filterTag, fobs[ifob]->l1etmissIds(), fobs[ifob]->l1etmissRefs(), offset, keys, ids);
430  iEvent, filterTag, fobs[ifob]->l1hfringsIds(), fobs[ifob]->l1hfringsRefs(), offset, keys, ids);
432  iEvent, filterTag, fobs[ifob]->l1tmuonIds(), fobs[ifob]->l1tmuonRefs(), offset, keys, ids);
434  iEvent, filterTag, fobs[ifob]->l1tmuonShowerIds(), fobs[ifob]->l1tmuonShowerRefs(), offset, keys, ids);
436  iEvent, filterTag, fobs[ifob]->l1tegammaIds(), fobs[ifob]->l1tegammaRefs(), offset, keys, ids);
437  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->l1tjetIds(), fobs[ifob]->l1tjetRefs(), offset, keys, ids);
438  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->l1ttauIds(), fobs[ifob]->l1ttauRefs(), offset, keys, ids);
440  iEvent, filterTag, fobs[ifob]->l1tetsumIds(), fobs[ifob]->l1tetsumRefs(), offset, keys, ids);
441 
443  iEvent, filterTag, fobs[ifob]->l1ttkmuonIds(), fobs[ifob]->l1ttkmuonRefs(), offset, keys, ids);
445  iEvent, filterTag, fobs[ifob]->l1ttkeleIds(), fobs[ifob]->l1ttkeleRefs(), offset, keys, ids);
447  iEvent, filterTag, fobs[ifob]->l1ttkemIds(), fobs[ifob]->l1ttkemRefs(), offset, keys, ids);
449  iEvent, filterTag, fobs[ifob]->l1tpfjetIds(), fobs[ifob]->l1tpfjetRefs(), offset, keys, ids);
451  iEvent, filterTag, fobs[ifob]->l1tpftauIds(), fobs[ifob]->l1tpftauRefs(), offset, keys, ids);
453  iEvent, filterTag, fobs[ifob]->l1thpspftauIds(), fobs[ifob]->l1thpspftauRefs(), offset, keys, ids);
455  iEvent, filterTag, fobs[ifob]->l1tpftrackIds(), fobs[ifob]->l1tpftrackRefs(), offset, keys, ids);
456 
457  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->pfjetIds(), fobs[ifob]->pfjetRefs(), offset, keys, ids);
458  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->pftauIds(), fobs[ifob]->pftauRefs(), offset, keys, ids);
459  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->pfmetIds(), fobs[ifob]->pfmetRefs(), offset, keys, ids);
460  product->addFilter(filterTag, ids, keys);
461  }
462  }
463 
464  OrphanHandle<TriggerEvent> ref = iEvent.put(std::move(product));
465  LogTrace("TriggerSummaryProducerAOD") << "Number of physics objects packed: " << ref->sizeObjects();
466  LogTrace("TriggerSummaryProducerAOD") << "Number of filter objects packed: " << ref->sizeFilters();
467 }
bool isDebugEnabled()
edm::GetterOfProducts< l1t::TauBxCollection > getL1TTauParticleCollection_
edm::GetterOfProducts< l1extra::L1JetParticleCollection > getL1JetParticleCollection_
edm::GetterOfProducts< reco::IsolatedPixelTrackCandidateCollection > getIsolatedPixelTrackCandidateCollection_
edm::GetterOfProducts< reco::RecoEcalCandidateCollection > getRecoEcalCandidateCollection_
edm::GetterOfProducts< l1t::PFTrackCollection > getL1TPFTrackCollection_
edm::GetterOfProducts< l1extra::L1MuonParticleCollection > getL1MuonParticleCollection_
edm::GetterOfProducts< reco::PFTauCollection > getPFTauCollection_
static PFTauRenderPlugin instance
edm::GetterOfProducts< reco::METCollection > getMETCollection_
edm::GetterOfProducts< l1t::JetBxCollection > getL1TJetParticleCollection_
edm::GetterOfProducts< l1t::TkElectronCollection > getL1TTkElectronCollection_
trigger::size_type sizeFilters() const
Definition: TriggerEvent.h:146
tbb::concurrent_unordered_set< edm::InputTag, InputTagHash > filterTagsGlobal_
list of L3 filter tags
tbb::concurrent_unordered_set< edm::InputTag, InputTagHash > collectionTagsGlobal_
list of L3 collection tags
edm::GetterOfProducts< reco::CaloJetCollection > getCaloJetCollection_
delete x;
Definition: CaloConfig.h:22
edm::GetterOfProducts< l1extra::L1EtMissParticleCollection > getL1EtMissParticleCollection_
Log< level::Error, false > LogError
#define LogTrace(id)
edm::GetterOfProducts< reco::PFJetCollection > getPFJetCollection_
char const * label
std::set< edm::InputTag, OrderInputTag > InputTagSet
int iEvent
Definition: GenABIO.cc:224
edm::GetterOfProducts< l1t::TkEmCollection > getL1TTkEmCollection_
edm::GetterOfProducts< reco::RecoChargedCandidateCollection > getRecoChargedCandidateCollection_
edm::GetterOfProducts< l1extra::L1HFRingsCollection > getL1HFRingsCollection_
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
edm::GetterOfProducts< l1t::PFTauCollection > getL1TPFTauCollection_
trigger::size_type sizeObjects() const
Definition: TriggerEvent.h:145
edm::GetterOfProducts< l1t::MuonBxCollection > getL1TMuonParticleCollection_
edm::GetterOfProducts< l1t::TrackerMuonCollection > getL1TTkMuonCollection_
edm::GetterOfProducts< l1t::HPSPFTauCollection > getL1THPSPFTauCollection_
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:75
void fillHandles(edm::Event const &event, std::vector< edm::Handle< T >> &handles) const
std::vector< size_type > Keys
edm::GetterOfProducts< l1t::MuonShowerBxCollection > getL1TMuonShowerParticleCollection_
edm::GetterOfProducts< reco::CaloMETCollection > getCaloMETCollection_
edm::GetterOfProducts< reco::ElectronCollection > getElectronCollection_
fixed size matrix
HLT enums.
edm::GetterOfProducts< reco::CompositeCandidateCollection > getCompositeCandidateCollection_
edm::GetterOfProducts< trigger::TriggerFilterObjectWithRefs > getTriggerFilterObjectWithRefs_
trigger object collection
edm::GetterOfProducts< reco::PFMETCollection > getPFMETCollection_
edm::GetterOfProducts< l1t::PFJetCollection > getL1TPFJetCollection_
edm::GetterOfProducts< l1t::EtSumBxCollection > getL1TEtSumParticleCollection_
std::vector< int > Vids
edm::GetterOfProducts< l1extra::L1EmParticleCollection > getL1EmParticleCollection_
def move(src, dest)
Definition: eostools.py:511
#define LogDebug(id)
edm::GetterOfProducts< l1t::EGammaBxCollection > getL1TEGammaParticleCollection_

Member Data Documentation

◆ collectionTagsGlobal_

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

list of L3 collection tags

Definition at line 174 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 171 of file TriggerSummaryProducerAOD.h.

Referenced by endJob(), and produce().

◆ getCaloJetCollection_

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

Definition at line 194 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getCaloMETCollection_

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

Definition at line 197 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getCompositeCandidateCollection_

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

Definition at line 195 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getElectronCollection_

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

Definition at line 192 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getIsolatedPixelTrackCandidateCollection_

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

Definition at line 199 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1EmParticleCollection_

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

Definition at line 200 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1EtMissParticleCollection_

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

Definition at line 203 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1HFRingsCollection_

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

Definition at line 204 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1JetParticleCollection_

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

Definition at line 202 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1MuonParticleCollection_

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

Definition at line 201 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TEGammaParticleCollection_

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

Definition at line 209 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TEtSumParticleCollection_

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

Definition at line 212 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1THPSPFTauCollection_

edm::GetterOfProducts<l1t::HPSPFTauCollection> TriggerSummaryProducerAOD::getL1THPSPFTauCollection_
private

Definition at line 218 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TJetParticleCollection_

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

Definition at line 210 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TMuonParticleCollection_

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

Definition at line 207 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TMuonShowerParticleCollection_

edm::GetterOfProducts<l1t::MuonShowerBxCollection> TriggerSummaryProducerAOD::getL1TMuonShowerParticleCollection_
private

Definition at line 208 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TPFJetCollection_

edm::GetterOfProducts<l1t::PFJetCollection> TriggerSummaryProducerAOD::getL1TPFJetCollection_
private

Definition at line 216 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TPFTauCollection_

edm::GetterOfProducts<l1t::PFTauCollection> TriggerSummaryProducerAOD::getL1TPFTauCollection_
private

Definition at line 217 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TPFTrackCollection_

edm::GetterOfProducts<l1t::PFTrackCollection> TriggerSummaryProducerAOD::getL1TPFTrackCollection_
private

Definition at line 219 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TTauParticleCollection_

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

Definition at line 211 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TTkElectronCollection_

edm::GetterOfProducts<l1t::TkElectronCollection> TriggerSummaryProducerAOD::getL1TTkElectronCollection_
private

Definition at line 214 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TTkEmCollection_

edm::GetterOfProducts<l1t::TkEmCollection> TriggerSummaryProducerAOD::getL1TTkEmCollection_
private

Definition at line 215 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TTkMuonCollection_

edm::GetterOfProducts<l1t::TrackerMuonCollection> TriggerSummaryProducerAOD::getL1TTkMuonCollection_
private

Definition at line 213 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getMETCollection_

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

Definition at line 196 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getPFJetCollection_

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

Definition at line 205 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getPFMETCollection_

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

Definition at line 198 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getPFTauCollection_

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

Definition at line 206 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getRecoChargedCandidateCollection_

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

Definition at line 193 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getRecoEcalCandidateCollection_

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

Definition at line 191 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 190 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 167 of file TriggerSummaryProducerAOD.h.

Referenced by TriggerSummaryProducerAOD().

◆ moduleLabelPatternsToSkip_

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

Definition at line 168 of file TriggerSummaryProducerAOD.h.

Referenced by TriggerSummaryProducerAOD().

◆ pn_

std::string TriggerSummaryProducerAOD::pn_
private

process name

Definition at line 165 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ throw_

const bool TriggerSummaryProducerAOD::throw_
private

throw on error

Definition at line 163 of file TriggerSummaryProducerAOD.h.

Referenced by fillFilterObjectMembers().