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
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > 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
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices 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::P2GTCandidateCollectiongetL1TP2GTCandCollection_
 
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 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 88 of file TriggerSummaryProducerAOD.h.

Member Typedef Documentation

◆ InputTagSet

Definition at line 117 of file TriggerSummaryProducerAOD.h.

◆ ProductIDtoIndex

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

Definition at line 116 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_, getL1TP2GTCandCollection_, 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 
163 
171  getMETCollection_(bd);
196  });
197 }
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:307
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::P2GTCandidateCollection > getL1TP2GTCandCollection_
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 770 of file TriggerSummaryProducerAOD.cc.

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

770  {
771  using namespace std;
772  using namespace edm;
773  using namespace trigger;
774 
775  LogVerbatim("TriggerSummaryProducerAOD") << endl;
776  LogVerbatim("TriggerSummaryProducerAOD") << "TriggerSummaryProducerAOD::globalEndJob - accumulated tags:" << endl;
777 
778  InputTagSet filterTags(false);
780 
781  filterTags.insert(filterTagsGlobal_.begin(), filterTagsGlobal_.end());
783 
784  const unsigned int nc(collectionTags.size());
785  const unsigned int nf(filterTags.size());
786  LogVerbatim("TriggerSummaryProducerAOD") << " Overall number of Collections/Filters: " << nc << "/" << nf << endl;
787 
788  LogVerbatim("TriggerSummaryProducerAOD") << " The collections: " << nc << endl;
789  const InputTagSet::const_iterator cb(collectionTags.begin());
790  const InputTagSet::const_iterator ce(collectionTags.end());
791  for (InputTagSet::const_iterator ci = cb; ci != ce; ++ci) {
792  LogVerbatim("TriggerSummaryProducerAOD") << " " << distance(cb, ci) << " " << ci->encode() << endl;
793  }
794 
795  LogVerbatim("TriggerSummaryProducerAOD") << " The filters:" << nf << endl;
796  const InputTagSet::const_iterator fb(filterTags.begin());
797  const InputTagSet::const_iterator fe(filterTags.end());
798  for (InputTagSet::const_iterator fi = fb; fi != fe; ++fi) {
799  LogVerbatim("TriggerSummaryProducerAOD") << " " << distance(fb, fi) << " " << fi->encode() << endl;
800  }
801 
802  LogVerbatim("TriggerSummaryProducerAOD") << "TriggerSummaryProducerAOD::endJob." << endl;
803  LogVerbatim("TriggerSummaryProducerAOD") << endl;
804 
805  return;
806 }
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 231 of file TriggerSummaryProducerAOD.cc.

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

231  {
233  desc.add<bool>("throw", false)->setComment("Throw exception or LogError");
234  desc.add<std::string>("processName", "@")
235  ->setComment(
236  "Process name to use when getting data. The value of '@' is used to denote the current process name.");
237  desc.add<std::vector<std::string>>("moduleLabelPatternsToMatch", std::vector<std::string>(1, "hlt*"))
238  ->setComment("glob patterns for module labels to get data.");
239  desc.add<std::vector<std::string>>("moduleLabelPatternsToSkip", std::vector<std::string>())
240  ->setComment("module labels for data products which should not be gotten.");
241  descriptions.add("triggerSummaryProducerAOD", desc);
242 }
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 665 of file TriggerSummaryProducerAOD.cc.

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

Referenced by fillFilterObjectMembers().

666  {
667  keys.push_back(offset + ref.key());
668  ids.push_back(id);
669 
670  return;
671 }
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 673 of file TriggerSummaryProducerAOD.cc.

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

677  {
678  using namespace trigger;
679 
680  if (id == TriggerL1HfBitCounts) {
681  keys.push_back(offset + 2 * ref.key() + 1);
682  } else { // if (ids[i]==TriggerL1HfRingEtSums) {
683  keys.push_back(offset + 2 * ref.key() + 0);
684  }
685  ids.push_back(id);
686 
687  return;
688 }
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 690 of file TriggerSummaryProducerAOD.cc.

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

694  {
695  using namespace trigger;
696 
697  if ((id == TriggerL1ETT) || (id == TriggerL1HTT)) {
698  keys.push_back(offset + 2 * ref.key() + 1);
699  } else {
700  keys.push_back(offset + 2 * ref.key() + 0);
701  }
702  ids.push_back(id);
703 
704  return;
705 }
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 707 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.

711  {
712  using namespace trigger;
713 
714  if ((id == TriggerTHT) || (id == TriggerTET)) {
715  keys.push_back(offset + 4 * ref.key() + 1);
716  } else if ((id == TriggerMETSig) || (id == TriggerMHTSig)) {
717  keys.push_back(offset + 4 * ref.key() + 2);
718  } else if ((id == TriggerELongit) || (id == TriggerHLongit)) {
719  keys.push_back(offset + 4 * ref.key() + 3);
720  } else {
721  keys.push_back(offset + 4 * ref.key() + 0);
722  }
723  ids.push_back(id);
724 
725  return;
726 }
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 728 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.

732  {
733  using namespace trigger;
734 
735  if ((id == TriggerTHT) || (id == TriggerTET)) {
736  keys.push_back(offset + 4 * ref.key() + 1);
737  } else if ((id == TriggerMETSig) || (id == TriggerMHTSig)) {
738  keys.push_back(offset + 4 * ref.key() + 2);
739  } else if ((id == TriggerELongit) || (id == TriggerHLongit)) {
740  keys.push_back(offset + 4 * ref.key() + 3);
741  } else {
742  keys.push_back(offset + 4 * ref.key() + 0);
743  }
744  ids.push_back(id);
745 
746  return;
747 }
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 749 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.

753  {
754  using namespace trigger;
755 
756  if ((id == TriggerTHT) || (id == TriggerTET)) {
757  keys.push_back(offset + 4 * ref.key() + 1);
758  } else if ((id == TriggerMETSig) || (id == TriggerMHTSig)) {
759  keys.push_back(offset + 4 * ref.key() + 2);
760  } else if ((id == TriggerELongit) || (id == TriggerHLongit)) {
761  keys.push_back(offset + 4 * ref.key() + 3);
762  } else {
763  keys.push_back(offset + 4 * ref.key() + 0);
764  }
765  ids.push_back(id);
766 
767  return;
768 }
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 605 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().

611  {
615 
616  using namespace std;
617  using namespace edm;
618  using namespace reco;
619  using namespace l1extra;
620  using namespace trigger;
621 
622  if (ids.size() != refs.size()) {
623  LogError("TriggerSummaryProducerAOD") << "Vector length is different: " << ids.size() << " " << refs.size();
624  }
625 
626  const unsigned int n(min(ids.size(), refs.size()));
627  for (unsigned int i = 0; i != n; ++i) {
628  const ProductID pid(refs[i].id());
629  if (!(pid.isValid())) {
630  std::ostringstream ost;
631  ost << "Iinvalid pid: " << pid << " FilterTag / Key: " << tag.encode() << " / " << i << "of" << n
632  << " CollectionTag / Key: "
633  << " <Unrecoverable>"
634  << " / " << refs[i].key() << " CollectionType: " << typeid(C).name();
635  if (throw_) {
636  throw cms::Exception("TriggerSummaryProducerAOD") << ost.str();
637  } else {
638  LogError("TriggerSummaryProducerAOD") << ost.str();
639  }
640  } else {
641  auto itOffset = offset.find(pid);
642  if (itOffset == offset.end()) {
643  const auto& prov = iEvent.getStableProvenance(pid);
644  const string& label(prov.moduleLabel());
645  const string& instance(prov.productInstanceName());
646  const string& process(prov.processName());
647  std::ostringstream ost;
648  ost << "Uunknown pid: " << pid << " FilterTag / Key: " << tag.encode() << " / " << i << "of" << n
649  << " CollectionTag / Key: " << InputTag(label, instance, process).encode() << " / " << refs[i].key()
650  << " CollectionType: " << typeid(C).name();
651  if (throw_) {
652  throw cms::Exception("TriggerSummaryProducerAOD") << ost.str();
653  } else {
654  LogError("TriggerSummaryProducerAOD") << ost.str();
655  }
656  } else {
657  fillFilterObjectMember(keys, oIDs, itOffset->second, ids[i], refs[i]);
658  }
659  }
660  }
661  return;
662 }
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 522 of file TriggerSummaryProducerAOD.cc.

Referenced by fillTriggerObjectCollections().

522  {
523  using namespace trigger;
524  toc.emplace_back(object);
525 
526  return;
527 }

◆ fillTriggerObject() [2/6]

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

Definition at line 529 of file TriggerSummaryProducerAOD.cc.

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

530  {
531  using namespace l1extra;
532  using namespace trigger;
533 
534  toc.emplace_back(TriggerL1HfRingEtSums,
535  object.hfEtSum(L1HFRings::kRing1PosEta),
536  object.hfEtSum(L1HFRings::kRing1NegEta),
537  object.hfEtSum(L1HFRings::kRing2PosEta),
538  object.hfEtSum(L1HFRings::kRing2NegEta));
539  toc.emplace_back(TriggerL1HfBitCounts,
540  object.hfBitCount(L1HFRings::kRing1PosEta),
541  object.hfBitCount(L1HFRings::kRing1NegEta),
542  object.hfBitCount(L1HFRings::kRing2PosEta),
543  object.hfBitCount(L1HFRings::kRing2NegEta));
544 
545  return;
546 }

◆ fillTriggerObject() [3/6]

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

Definition at line 548 of file TriggerSummaryProducerAOD.cc.

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

549  {
550  using namespace l1extra;
551  using namespace trigger;
552 
553  toc.emplace_back(object);
554  if (object.type() == L1EtMissParticle::kMET) {
555  toc.emplace_back(TriggerL1ETT, object.etTotal(), 0.0, 0.0, 0.0);
556  } else if (object.type() == L1EtMissParticle::kMHT) {
557  toc.emplace_back(TriggerL1HTT, object.etTotal(), 0.0, 0.0, 0.0);
558  } else {
559  toc.emplace_back(0, object.etTotal(), 0.0, 0.0, 0.0);
560  }
561 
562  return;
563 }

◆ fillTriggerObject() [4/6]

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

Definition at line 565 of file TriggerSummaryProducerAOD.cc.

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

566  {
567  using namespace reco;
568  using namespace trigger;
569 
570  toc.emplace_back(object);
571  toc.emplace_back(TriggerTET, object.sumEt(), 0.0, 0.0, 0.0);
572  toc.emplace_back(TriggerMETSig, object.mEtSig(), 0.0, 0.0, 0.0);
573  toc.emplace_back(TriggerELongit, object.e_longitudinal(), 0.0, 0.0, 0.0);
574 
575  return;
576 }
fixed size matrix

◆ fillTriggerObject() [5/6]

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

Definition at line 578 of file TriggerSummaryProducerAOD.cc.

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

579  {
580  using namespace reco;
581  using namespace trigger;
582 
583  toc.emplace_back(object);
584  toc.emplace_back(TriggerTET, object.sumEt(), 0.0, 0.0, 0.0);
585  toc.emplace_back(TriggerMETSig, object.mEtSig(), 0.0, 0.0, 0.0);
586  toc.emplace_back(TriggerELongit, object.e_longitudinal(), 0.0, 0.0, 0.0);
587 
588  return;
589 }
fixed size matrix

◆ fillTriggerObject() [6/6]

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

Definition at line 591 of file TriggerSummaryProducerAOD.cc.

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

592  {
593  using namespace reco;
594  using namespace trigger;
595 
596  toc.emplace_back(object);
597  toc.emplace_back(TriggerTHT, object.sumEt(), 0.0, 0.0, 0.0);
598  toc.emplace_back(TriggerMHTSig, object.mEtSig(), 0.0, 0.0, 0.0);
599  toc.emplace_back(TriggerHLongit, object.e_longitudinal(), 0.0, 0.0, 0.0);
600 
601  return;
602 }
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 475 of file TriggerSummaryProducerAOD.cc.

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

481  {
485 
486  using namespace std;
487  using namespace edm;
488  using namespace reco;
489  using namespace l1extra;
490  using namespace trigger;
491  using namespace l1t;
492 
493  vector<Handle<C>> collections;
494  getter.fillHandles(iEvent, collections);
495  const unsigned int nc(collections.size());
496 
497  for (unsigned int ic = 0; ic != nc; ++ic) {
498  const Provenance& provenance(*(collections[ic].provenance()));
499  const string& label(provenance.moduleLabel());
500  const string& instance(provenance.productInstanceName());
501  const string& process(provenance.processName());
502  const InputTag collectionTag(label, instance, process);
503 
504  if (collectionTagsEvent.find(collectionTag) != collectionTagsEvent.end()) {
505  const ProductID pid(collections[ic].provenance()->productID());
506  if (offset.find(pid) != offset.end()) {
507  LogError("TriggerSummaryProducerAOD") << "Duplicate pid: " << pid;
508  }
509  offset[pid] = toc.size();
510  const unsigned int n(collections[ic]->size());
511  for (unsigned int i = 0; i != n; ++i) {
512  fillTriggerObject(toc, (*collections[ic])[i]);
513  }
514  tags.push_back(collectionTag.encode());
515  keys.push_back(toc.size());
516  }
517 
518  }
519 }
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(ProductContainer const &productContainer, 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 245 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_, getL1TP2GTCandCollection_, 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, crab_script::provenance, trigger::TriggerEvent::sizeFilters(), trigger::TriggerEvent::sizeObjects(), triggerMatcherToHLTDebug_cfi::tags, and ZCounting_cfi::TriggerEvent.

245  {
246  using namespace std;
247  using namespace edm;
248  using namespace reco;
249  using namespace l1extra;
250  using namespace trigger;
251  using namespace l1t;
252 
253  std::vector<edm::Handle<trigger::TriggerFilterObjectWithRefs>> fobs;
255 
256  const unsigned int nfob(fobs.size());
257  LogTrace("TriggerSummaryProducerAOD") << "Number of filter objects found: " << nfob;
258 
259  string tagLabel, tagInstance, tagProcess;
260 
266  std::vector<bool> maskFilters;
267  maskFilters.resize(nfob);
268  InputTagSet filterTagsEvent(pn_ == "*");
269  InputTagSet collectionTagsEvent(pn_ == "*");
270 
271  unsigned int nf(0);
272  for (unsigned int ifob = 0; ifob != nfob; ++ifob) {
273  maskFilters[ifob] = false;
274  const vector<string>& collectionTags_(fobs[ifob]->getCollectionTagsAsStrings());
275  const unsigned int ncol(collectionTags_.size());
276  if (ncol > 0) {
277  nf++;
278  maskFilters[ifob] = true;
279  const string& label(fobs[ifob].provenance()->moduleLabel());
280  const string& instance(fobs[ifob].provenance()->productInstanceName());
281  const string& process(fobs[ifob].provenance()->processName());
282  filterTagsEvent.insert(InputTag(label, instance, process));
283  for (unsigned int icol = 0; icol != ncol; ++icol) {
284  // overwrite process name (usually not set)
285  tokenizeTag(collectionTags_[icol], tagLabel, tagInstance, tagProcess);
286  collectionTagsEvent.insert(InputTag(tagLabel, tagInstance, pn_));
287  }
288  }
289  }
291  if (filterTagsEvent.size() != nf) {
292  LogError("TriggerSummaryProducerAOD")
293  << "Mismatch in number of filter tags: " << filterTagsEvent.size() << "!=" << nf;
294  }
295 
297  collectionTagsGlobal_.insert(collectionTagsEvent.begin(), collectionTagsEvent.end());
298  filterTagsGlobal_.insert(filterTagsEvent.begin(), filterTagsEvent.end());
299 
301  if (isDebugEnabled()) {
303  LogTrace("TriggerSummaryProducerAOD") << "Number of unique collections requested " << collectionTagsEvent.size();
304  const InputTagSet::const_iterator cb(collectionTagsEvent.begin());
305  const InputTagSet::const_iterator ce(collectionTagsEvent.end());
306  for (InputTagSet::const_iterator ci = cb; ci != ce; ++ci) {
307  LogTrace("TriggerSummaryProducerAOD") << distance(cb, ci) << " " << ci->encode();
308  }
309  LogTrace("TriggerSummaryProducerAOD") << "Number of unique filters requested " << filterTagsEvent.size();
310  const InputTagSet::const_iterator fb(filterTagsEvent.begin());
311  const InputTagSet::const_iterator fe(filterTagsEvent.end());
312  for (InputTagSet::const_iterator fi = fb; fi != fe; ++fi) {
313  LogTrace("TriggerSummaryProducerAOD") << distance(fb, fi) << " " << fi->encode();
314  }
315  }
316 
323  //toc_.clear();
324  std::vector<std::string> tags;
326  std::map<edm::ProductID, unsigned int> offset;
327 
328  fillTriggerObjectCollections<RecoEcalCandidateCollection>(
329  toc, offset, tags, keys, iEvent, getRecoEcalCandidateCollection_, collectionTagsEvent);
330  fillTriggerObjectCollections<ElectronCollection>(
331  toc, offset, tags, keys, iEvent, getElectronCollection_, collectionTagsEvent);
332  fillTriggerObjectCollections<RecoChargedCandidateCollection>(
333  toc, offset, tags, keys, iEvent, getRecoChargedCandidateCollection_, collectionTagsEvent);
334  fillTriggerObjectCollections<CaloJetCollection>(
335  toc, offset, tags, keys, iEvent, getCaloJetCollection_, collectionTagsEvent);
336  fillTriggerObjectCollections<CompositeCandidateCollection>(
337  toc, offset, tags, keys, iEvent, getCompositeCandidateCollection_, collectionTagsEvent);
338  fillTriggerObjectCollections<METCollection>(toc, offset, tags, keys, iEvent, getMETCollection_, collectionTagsEvent);
339  fillTriggerObjectCollections<CaloMETCollection>(
340  toc, offset, tags, keys, iEvent, getCaloMETCollection_, collectionTagsEvent);
341  fillTriggerObjectCollections<IsolatedPixelTrackCandidateCollection>(
342  toc, offset, tags, keys, iEvent, getIsolatedPixelTrackCandidateCollection_, collectionTagsEvent);
344  fillTriggerObjectCollections<L1EmParticleCollection>(
345  toc, offset, tags, keys, iEvent, getL1EmParticleCollection_, collectionTagsEvent);
346  fillTriggerObjectCollections<L1MuonParticleCollection>(
347  toc, offset, tags, keys, iEvent, getL1MuonParticleCollection_, collectionTagsEvent);
348  fillTriggerObjectCollections<L1JetParticleCollection>(
349  toc, offset, tags, keys, iEvent, getL1JetParticleCollection_, collectionTagsEvent);
350  fillTriggerObjectCollections<L1EtMissParticleCollection>(
351  toc, offset, tags, keys, iEvent, getL1EtMissParticleCollection_, collectionTagsEvent);
352  fillTriggerObjectCollections<L1HFRingsCollection>(
353  toc, offset, tags, keys, iEvent, getL1HFRingsCollection_, collectionTagsEvent);
354  fillTriggerObjectCollections<MuonBxCollection>(
355  toc, offset, tags, keys, iEvent, getL1TMuonParticleCollection_, collectionTagsEvent);
356  fillTriggerObjectCollections<MuonShowerBxCollection>(
357  toc, offset, tags, keys, iEvent, getL1TMuonShowerParticleCollection_, collectionTagsEvent);
358  fillTriggerObjectCollections<EGammaBxCollection>(
359  toc, offset, tags, keys, iEvent, getL1TEGammaParticleCollection_, collectionTagsEvent);
360  fillTriggerObjectCollections<JetBxCollection>(
361  toc, offset, tags, keys, iEvent, getL1TJetParticleCollection_, collectionTagsEvent);
362  fillTriggerObjectCollections<TauBxCollection>(
363  toc, offset, tags, keys, iEvent, getL1TTauParticleCollection_, collectionTagsEvent);
364  fillTriggerObjectCollections<EtSumBxCollection>(
365  toc, offset, tags, keys, iEvent, getL1TEtSumParticleCollection_, collectionTagsEvent);
367  fillTriggerObjectCollections<l1t::TrackerMuonCollection>(
368  toc, offset, tags, keys, iEvent, getL1TTkMuonCollection_, collectionTagsEvent);
369  fillTriggerObjectCollections<l1t::TkElectronCollection>(
370  toc, offset, tags, keys, iEvent, getL1TTkElectronCollection_, collectionTagsEvent);
371  fillTriggerObjectCollections<l1t::TkEmCollection>(
372  toc, offset, tags, keys, iEvent, getL1TTkEmCollection_, collectionTagsEvent);
373  fillTriggerObjectCollections<l1t::PFJetCollection>(
374  toc, offset, tags, keys, iEvent, getL1TPFJetCollection_, collectionTagsEvent);
375  fillTriggerObjectCollections<l1t::PFTauCollection>(
376  toc, offset, tags, keys, iEvent, getL1TPFTauCollection_, collectionTagsEvent);
377  fillTriggerObjectCollections<l1t::HPSPFTauCollection>(
378  toc, offset, tags, keys, iEvent, getL1THPSPFTauCollection_, collectionTagsEvent);
379  fillTriggerObjectCollections<l1t::PFTrackCollection>(
380  toc, offset, tags, keys, iEvent, getL1TPFTrackCollection_, collectionTagsEvent);
382  fillTriggerObjectCollections<reco::PFJetCollection>(
383  toc, offset, tags, keys, iEvent, getPFJetCollection_, collectionTagsEvent);
384  fillTriggerObjectCollections<reco::PFTauCollection>(
385  toc, offset, tags, keys, iEvent, getPFTauCollection_, collectionTagsEvent);
386  fillTriggerObjectCollections<reco::PFMETCollection>(
387  toc, offset, tags, keys, iEvent, getPFMETCollection_, collectionTagsEvent);
389  fillTriggerObjectCollections<l1t::P2GTCandidateCollection>(
390  toc, offset, tags, keys, iEvent, getL1TP2GTCandCollection_, collectionTagsEvent);
391  const unsigned int nk(tags.size());
392  LogDebug("TriggerSummaryProducerAOD") << "Number of collections found: " << nk;
393  const unsigned int no(toc.size());
394  LogDebug("TriggerSummaryProducerAOD") << "Number of physics objects found: " << no;
395 
398  unique_ptr<TriggerEvent> product(new TriggerEvent(pn_, nk, no, nf));
399 
401  product->addCollections(tags, keys);
402  product->addObjects(toc);
403 
405  trigger::Vids ids;
406  for (unsigned int ifob = 0; ifob != nfob; ++ifob) {
407  if (maskFilters[ifob]) {
408  const string& label(fobs[ifob].provenance()->moduleLabel());
409  const string& instance(fobs[ifob].provenance()->productInstanceName());
410  const string& process(fobs[ifob].provenance()->processName());
411  const edm::InputTag filterTag(label, instance, process);
412  ids.clear();
413  keys.clear();
414  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->photonIds(), fobs[ifob]->photonRefs(), offset, keys, ids);
416  iEvent, filterTag, fobs[ifob]->electronIds(), fobs[ifob]->electronRefs(), offset, keys, ids);
417  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->muonIds(), fobs[ifob]->muonRefs(), offset, keys, ids);
418  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->jetIds(), fobs[ifob]->jetRefs(), offset, keys, ids);
420  iEvent, filterTag, fobs[ifob]->compositeIds(), fobs[ifob]->compositeRefs(), offset, keys, ids);
422  iEvent, filterTag, fobs[ifob]->basemetIds(), fobs[ifob]->basemetRefs(), offset, keys, ids);
424  iEvent, filterTag, fobs[ifob]->calometIds(), fobs[ifob]->calometRefs(), offset, keys, ids);
426  iEvent, filterTag, fobs[ifob]->pixtrackIds(), fobs[ifob]->pixtrackRefs(), offset, keys, ids);
427  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->l1emIds(), fobs[ifob]->l1emRefs(), offset, keys, ids);
428  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->l1muonIds(), fobs[ifob]->l1muonRefs(), offset, keys, ids);
429  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->l1jetIds(), fobs[ifob]->l1jetRefs(), offset, keys, ids);
431  iEvent, filterTag, fobs[ifob]->l1etmissIds(), fobs[ifob]->l1etmissRefs(), offset, keys, ids);
433  iEvent, filterTag, fobs[ifob]->l1hfringsIds(), fobs[ifob]->l1hfringsRefs(), offset, keys, ids);
435  iEvent, filterTag, fobs[ifob]->l1tmuonIds(), fobs[ifob]->l1tmuonRefs(), offset, keys, ids);
437  iEvent, filterTag, fobs[ifob]->l1tmuonShowerIds(), fobs[ifob]->l1tmuonShowerRefs(), offset, keys, ids);
439  iEvent, filterTag, fobs[ifob]->l1tegammaIds(), fobs[ifob]->l1tegammaRefs(), offset, keys, ids);
440  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->l1tjetIds(), fobs[ifob]->l1tjetRefs(), offset, keys, ids);
441  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->l1ttauIds(), fobs[ifob]->l1ttauRefs(), offset, keys, ids);
443  iEvent, filterTag, fobs[ifob]->l1tetsumIds(), fobs[ifob]->l1tetsumRefs(), offset, keys, ids);
444 
446  iEvent, filterTag, fobs[ifob]->l1ttkmuonIds(), fobs[ifob]->l1ttkmuonRefs(), offset, keys, ids);
448  iEvent, filterTag, fobs[ifob]->l1ttkeleIds(), fobs[ifob]->l1ttkeleRefs(), offset, keys, ids);
450  iEvent, filterTag, fobs[ifob]->l1ttkemIds(), fobs[ifob]->l1ttkemRefs(), offset, keys, ids);
452  iEvent, filterTag, fobs[ifob]->l1tpfjetIds(), fobs[ifob]->l1tpfjetRefs(), offset, keys, ids);
454  iEvent, filterTag, fobs[ifob]->l1tpftauIds(), fobs[ifob]->l1tpftauRefs(), offset, keys, ids);
456  iEvent, filterTag, fobs[ifob]->l1thpspftauIds(), fobs[ifob]->l1thpspftauRefs(), offset, keys, ids);
458  iEvent, filterTag, fobs[ifob]->l1tpftrackIds(), fobs[ifob]->l1tpftrackRefs(), offset, keys, ids);
459 
460  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->pfjetIds(), fobs[ifob]->pfjetRefs(), offset, keys, ids);
461  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->pftauIds(), fobs[ifob]->pftauRefs(), offset, keys, ids);
462  fillFilterObjectMembers(iEvent, filterTag, fobs[ifob]->pfmetIds(), fobs[ifob]->pfmetRefs(), offset, keys, ids);
464  iEvent, filterTag, fobs[ifob]->l1tp2gtcandIds(), fobs[ifob]->l1tp2gtcandRefs(), offset, keys, ids);
465  product->addFilter(filterTag, ids, keys);
466  }
467  }
468 
469  OrphanHandle<TriggerEvent> ref = iEvent.put(std::move(product));
470  LogTrace("TriggerSummaryProducerAOD") << "Number of physics objects packed: " << ref->sizeObjects();
471  LogTrace("TriggerSummaryProducerAOD") << "Number of filter objects packed: " << ref->sizeFilters();
472 }
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:147
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:146
edm::GetterOfProducts< l1t::MuonBxCollection > getL1TMuonParticleCollection_
edm::GetterOfProducts< l1t::TrackerMuonCollection > getL1TTkMuonCollection_
edm::GetterOfProducts< l1t::HPSPFTauCollection > getL1THPSPFTauCollection_
void fillHandles(ProductContainer const &productContainer, std::vector< edm::Handle< T >> &handles) const
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:75
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::P2GTCandidateCollection > getL1TP2GTCandCollection_
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 175 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 172 of file TriggerSummaryProducerAOD.h.

Referenced by endJob(), and produce().

◆ getCaloJetCollection_

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

Definition at line 195 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getCaloMETCollection_

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

Definition at line 198 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getCompositeCandidateCollection_

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

Definition at line 196 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getElectronCollection_

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

Definition at line 193 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getIsolatedPixelTrackCandidateCollection_

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

Definition at line 200 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1EmParticleCollection_

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

Definition at line 201 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1EtMissParticleCollection_

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

Definition at line 204 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1HFRingsCollection_

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

Definition at line 205 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1JetParticleCollection_

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

Definition at line 203 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1MuonParticleCollection_

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

Definition at line 202 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TEGammaParticleCollection_

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

Definition at line 210 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TEtSumParticleCollection_

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

Definition at line 213 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1THPSPFTauCollection_

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

Definition at line 219 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TJetParticleCollection_

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

Definition at line 211 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TMuonParticleCollection_

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

Definition at line 208 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TMuonShowerParticleCollection_

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

Definition at line 209 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TP2GTCandCollection_

edm::GetterOfProducts<l1t::P2GTCandidateCollection> TriggerSummaryProducerAOD::getL1TP2GTCandCollection_
private

Definition at line 221 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TPFJetCollection_

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

Definition at line 217 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TPFTauCollection_

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

Definition at line 218 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TPFTrackCollection_

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

Definition at line 220 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TTauParticleCollection_

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

Definition at line 212 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TTkElectronCollection_

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

Definition at line 215 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TTkEmCollection_

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

Definition at line 216 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getL1TTkMuonCollection_

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

Definition at line 214 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getMETCollection_

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

Definition at line 197 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getPFJetCollection_

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

Definition at line 206 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getPFMETCollection_

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

Definition at line 199 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getPFTauCollection_

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

Definition at line 207 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getRecoChargedCandidateCollection_

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

Definition at line 194 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ getRecoEcalCandidateCollection_

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

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

Referenced by TriggerSummaryProducerAOD().

◆ moduleLabelPatternsToSkip_

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

Definition at line 169 of file TriggerSummaryProducerAOD.h.

Referenced by TriggerSummaryProducerAOD().

◆ pn_

std::string TriggerSummaryProducerAOD::pn_
private

process name

Definition at line 166 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

◆ throw_

const bool TriggerSummaryProducerAOD::throw_
private

throw on error

Definition at line 164 of file TriggerSummaryProducerAOD.h.

Referenced by fillFilterObjectMembers().