CMS 3D CMS Logo

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

#include <TriggerSummaryProducerAOD.h>

Inheritance diagram for TriggerSummaryProducerAOD:
edm::stream::EDProducer< edm::GlobalCache< GlobalInputTags > > edm::stream::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Classes

struct  OrderInputTag
 InputTag ordering class. More...
 

Public Member Functions

void endStream () override
 
template<typename C >
void fillFilterObjectMember (const int &, const int &, const edm::Ref< C > &)
 
void fillFilterObjectMember (const int &, const int &, const edm::Ref< l1extra::L1HFRingsCollection > &)
 
void fillFilterObjectMember (const int &, const int &, const edm::Ref< l1extra::L1EtMissParticleCollection > &)
 
void fillFilterObjectMember (const int &, const int &, const edm::Ref< reco::PFMETCollection > &)
 
void fillFilterObjectMember (const int &, const int &, const edm::Ref< reco::CaloMETCollection > &)
 
void fillFilterObjectMember (const int &, const int &, const edm::Ref< reco::METCollection > &)
 
template<typename C >
void fillFilterObjectMembers (const edm::Event &, const edm::InputTag &tag, const trigger::Vids &, const std::vector< edm::Ref< C > > &)
 
template<typename T >
void fillTriggerObject (const T &)
 
void fillTriggerObject (const l1extra::L1HFRings &)
 
void fillTriggerObject (const l1extra::L1EtMissParticle &)
 
void fillTriggerObject (const reco::PFMET &)
 
void fillTriggerObject (const reco::CaloMET &)
 
void fillTriggerObject (const reco::MET &)
 
template<typename C >
void fillTriggerObjectCollections (const edm::Event &, edm::GetterOfProducts< C > &)
 
void produce (edm::Event &, const edm::EventSetup &) override
 
 TriggerSummaryProducerAOD (const edm::ParameterSet &, const GlobalInputTags *)
 
 ~TriggerSummaryProducerAOD () override
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< GlobalInputTags > >
 EDProducer ()=default
 
- Public Member Functions inherited from edm::stream::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
 
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)
 
virtual ~ProducerBase () noexcept(false)
 
- 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
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
static void globalEndJob (const GlobalInputTags *)
 
static std::unique_ptr< GlobalInputTagsinitializeGlobalCache (edm::ParameterSet const &)
 
- Static Public Member Functions inherited from edm::stream::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Types

typedef std::set< edm::InputTag, OrderInputTagInputTagSet
 

Private Attributes

InputTagSet collectionTagsEvent_
 list of L3 collection tags More...
 
InputTagSet collectionTagsStream_
 
InputTagSet filterTagsEvent_
 list of L3 filter tags More...
 
InputTagSet filterTagsStream_
 
edm::GetterOfProducts< reco::CaloJetCollectiongetCaloJetCollection_
 
edm::GetterOfProducts< reco::CaloMETCollectiongetCaloMETCollection_
 
edm::GetterOfProducts< reco::CompositeCandidateCollectiongetCompositeCandidateCollection_
 
edm::GetterOfProducts< reco::ElectronCollectiongetElectronCollection_
 
edm::GetterOfProducts< reco::IsolatedPixelTrackCandidateCollectiongetIsolatedPixelTrackCandidateCollection_
 
edm::GetterOfProducts< l1extra::L1EmParticleCollectiongetL1EmParticleCollection_
 
edm::GetterOfProducts< l1extra::L1EtMissParticleCollectiongetL1EtMissParticleCollection_
 
edm::GetterOfProducts< l1extra::L1HFRingsCollectiongetL1HFRingsCollection_
 
edm::GetterOfProducts< l1extra::L1JetParticleCollectiongetL1JetParticleCollection_
 
edm::GetterOfProducts< l1extra::L1MuonParticleCollectiongetL1MuonParticleCollection_
 
edm::GetterOfProducts< l1t::EGammaBxCollectiongetL1TEGammaParticleCollection_
 
edm::GetterOfProducts< l1t::EtSumBxCollectiongetL1TEtSumParticleCollection_
 
edm::GetterOfProducts< l1t::JetBxCollectiongetL1TJetParticleCollection_
 
edm::GetterOfProducts< l1t::MuonBxCollectiongetL1TMuonParticleCollection_
 
edm::GetterOfProducts< l1t::TauBxCollectiongetL1TTauParticleCollection_
 
edm::GetterOfProducts< reco::METCollectiongetMETCollection_
 
edm::GetterOfProducts< reco::PFJetCollectiongetPFJetCollection_
 
edm::GetterOfProducts< reco::PFMETCollectiongetPFMETCollection_
 
edm::GetterOfProducts< reco::PFTauCollectiongetPFTauCollection_
 
edm::GetterOfProducts< reco::RecoChargedCandidateCollectiongetRecoChargedCandidateCollection_
 
edm::GetterOfProducts< reco::RecoEcalCandidateCollectiongetRecoEcalCandidateCollection_
 
edm::GetterOfProducts< trigger::TriggerFilterObjectWithRefsgetTriggerFilterObjectWithRefs_
 
trigger::Vids ids_
 ids More...
 
trigger::Keys keys_
 keys More...
 
std::vector< bool > maskFilters_
 packing decision More...
 
std::vector< std::regex > moduleLabelPatternsToMatch_
 module labels which should be avoided More...
 
std::vector< std::regex > moduleLabelPatternsToSkip_
 
std::map< edm::ProductID, unsigned int > offset_
 global map for indices into toc_: offset per input L3 collection More...
 
std::string pn_
 process name More...
 
std::vector< std::string > tags_
 
bool throw_
 throw on error More...
 
trigger::TriggerObjectCollection toc_
 trigger object collection More...
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< GlobalInputTags > >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDProducerBase
typedef EDProducerAdaptorBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
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 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)
 

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

Member Typedef Documentation

Definition at line 148 of file TriggerSummaryProducerAOD.h.

Constructor & Destructor Documentation

TriggerSummaryProducerAOD::TriggerSummaryProducerAOD ( const edm::ParameterSet ps,
const GlobalInputTags gt 
)
explicit

Definition at line 76 of file TriggerSummaryProducerAOD.cc.

References edm::ProducerBase::callWhenNewProductsRegistered(), collectionTagsEvent_, collectionTagsStream_, relativeConstraints::empty, filterTagsEvent_, filterTagsStream_, getCaloJetCollection_, getCaloMETCollection_, getCompositeCandidateCollection_, getElectronCollection_, getIsolatedPixelTrackCandidateCollection_, getL1EmParticleCollection_, getL1EtMissParticleCollection_, getL1HFRingsCollection_, getL1JetParticleCollection_, getL1MuonParticleCollection_, getL1TEGammaParticleCollection_, getL1TEtSumParticleCollection_, getL1TJetParticleCollection_, getL1TMuonParticleCollection_, getL1TTauParticleCollection_, getMETCollection_, getPFJetCollection_, getPFMETCollection_, getPFTauCollection_, edm::service::TriggerNamesService::getProcessName(), getRecoChargedCandidateCollection_, getRecoEcalCandidateCollection_, getTriggerFilterObjectWithRefs_, instance, edm::Service< T >::isAvailable(), diffTwoXMLs::label, LogDebug, match(), moduleLabelPatternsToMatch_, moduleLabelPatternsToSkip_, pn_, LaserDQM_cfg::process, AlCaHLTBitMon_QueryRunRegistry::string, GlobalPosition_Frontier_DevDB_cff::tag, and ~TriggerSummaryProducerAOD().

76  :
77  throw_(ps.getParameter<bool>("throw")),
78  pn_(ps.getParameter<std::string>("processName")),
79  moduleLabelPatternsToMatch_(convertToRegex(ps.getParameter<std::vector<std::string>>("moduleLabelPatternsToMatch"))),
80  moduleLabelPatternsToSkip_(convertToRegex(ps.getParameter<std::vector<std::string>>("moduleLabelPatternsToSkip"))),
81  filterTagsEvent_(pn_!="*"),
82  filterTagsStream_(pn_!="*"),
85  toc_(),
86  tags_(),
87  offset_(),
88  keys_(),
89  ids_(),
90  maskFilters_()
91 {
92  if (pn_=="@") {
94  if (tns.isAvailable()) {
95  pn_ = tns->getProcessName();
96  } else {
97  edm::LogError("TriggerSummaryProducerAOD") << "HLT Error: TriggerNamesService not available!";
98  pn_="*";
99  }
100 
105  }
106  LogDebug("TriggerSummaryProducerAOD") << "Using process name: '" << pn_ <<"'";
107 
108  filterTagsStream_.clear();
109  collectionTagsStream_.clear();
110 
111  produces<trigger::TriggerEvent>();
112 
113  auto const* pProcessName = &pn_;
114  auto const& moduleLabelPatternsToMatch = moduleLabelPatternsToMatch_;
115  auto const& moduleLabelPatternsToSkip = moduleLabelPatternsToSkip_;
116  auto productMatch = [pProcessName,&moduleLabelPatternsToSkip,&moduleLabelPatternsToMatch](edm::BranchDescription const& iBranch) -> bool {
117  if(iBranch.processName() == *pProcessName || *pProcessName == "*") {
118  auto const& label = iBranch.moduleLabel();
119  for(auto& match: moduleLabelPatternsToMatch) {
120  if(std::regex_match(label,match)) {
121  //make sure this is not in the reject list
122  for(auto& reject: moduleLabelPatternsToSkip) {
123  if(std::regex_match(label,reject)) {
124  return false;
125  }
126  }
127  return true;
128  }
129  }
130  }
131  return false;
132  };
133 
156 
164  getMETCollection_(bd);
180  });
181 }
#define LogDebug(id)
T getParameter(std::string const &) const
void callWhenNewProductsRegistered(std::function< void(BranchDescription const &)> const &func)
Definition: ProducerBase.h:76
edm::GetterOfProducts< l1t::TauBxCollection > getL1TTauParticleCollection_
std::vector< std::regex > moduleLabelPatternsToSkip_
edm::GetterOfProducts< l1extra::L1JetParticleCollection > getL1JetParticleCollection_
edm::GetterOfProducts< reco::IsolatedPixelTrackCandidateCollection > getIsolatedPixelTrackCandidateCollection_
edm::GetterOfProducts< reco::RecoEcalCandidateCollection > getRecoEcalCandidateCollection_
std::string const & getProcessName() const
edm::GetterOfProducts< l1extra::L1MuonParticleCollection > getL1MuonParticleCollection_
trigger::TriggerObjectCollection toc_
trigger object collection
edm::GetterOfProducts< reco::PFTauCollection > getPFTauCollection_
std::vector< bool > maskFilters_
packing decision
edm::GetterOfProducts< reco::METCollection > getMETCollection_
edm::GetterOfProducts< l1t::JetBxCollection > getL1TJetParticleCollection_
std::set< edm::InputTag, OrderInputTag > InputTagSet
edm::GetterOfProducts< reco::CaloJetCollection > getCaloJetCollection_
edm::GetterOfProducts< l1extra::L1EtMissParticleCollection > getL1EtMissParticleCollection_
std::vector< std::string > tags_
edm::GetterOfProducts< reco::PFJetCollection > getPFJetCollection_
edm::GetterOfProducts< reco::RecoChargedCandidateCollection > getRecoChargedCandidateCollection_
edm::GetterOfProducts< l1extra::L1HFRingsCollection > getL1HFRingsCollection_
std::vector< std::regex > moduleLabelPatternsToMatch_
module labels which should be avoided
bool isAvailable() const
Definition: Service.h:46
std::map< edm::ProductID, unsigned int > offset_
global map for indices into toc_: offset per input L3 collection
edm::GetterOfProducts< l1t::MuonBxCollection > getL1TMuonParticleCollection_
edm::GetterOfProducts< reco::CaloMETCollection > getCaloMETCollection_
edm::GetterOfProducts< reco::ElectronCollection > getElectronCollection_
InputTagSet collectionTagsEvent_
list of L3 collection tags
edm::GetterOfProducts< reco::CompositeCandidateCollection > getCompositeCandidateCollection_
edm::GetterOfProducts< trigger::TriggerFilterObjectWithRefs > getTriggerFilterObjectWithRefs_
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_
InputTagSet filterTagsEvent_
list of L3 filter tags
edm::GetterOfProducts< l1t::EtSumBxCollection > getL1TEtSumParticleCollection_
edm::GetterOfProducts< l1extra::L1EmParticleCollection > getL1EmParticleCollection_
edm::GetterOfProducts< l1t::EGammaBxCollection > getL1TEGammaParticleCollection_
TriggerSummaryProducerAOD::~TriggerSummaryProducerAOD ( )
overridedefault

Member Function Documentation

void TriggerSummaryProducerAOD::endStream ( )
overridevirtual

Reimplemented from edm::stream::EDProducerBase.

Definition at line 670 of file TriggerSummaryProducerAOD.cc.

References collectionTagsStream_, and filterTagsStream_.

670  {
671  globalCache()->collectionTagsGlobal_.insert(collectionTagsStream_.begin(),collectionTagsStream_.end());
672  globalCache()->filterTagsGlobal_.insert(filterTagsStream_.begin(),filterTagsStream_.end());
673  return;
674 }
void TriggerSummaryProducerAOD::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 217 of file TriggerSummaryProducerAOD.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), edm::ParameterDescriptionNode::setComment(), and AlCaHLTBitMon_QueryRunRegistry::string.

217  {
219  desc.add<bool>("throw",false)->setComment("Throw exception or LogError");
220  desc.add<std::string>("processName","@")->setComment("Process name to use when getting data. The value of '@' is used to denote the current process name.");
221  desc.add<std::vector<std::string>>("moduleLabelPatternsToMatch",std::vector<std::string>(1,"hlt*"))->setComment("glob patterns for module labels to get data.");
222  desc.add<std::vector<std::string>>("moduleLabelPatternsToSkip",std::vector<std::string>())->setComment("module labels for data products which should not be gotten.");
223  descriptions.add("triggerSummaryProducerAOD", desc);
224 }
void setComment(std::string const &value)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
template<typename C >
void TriggerSummaryProducerAOD::fillFilterObjectMember ( const int &  offset,
const int &  id,
const edm::Ref< C > &  ref 
)

Definition at line 580 of file TriggerSummaryProducerAOD.cc.

References ids_, edm::Ref< C, T, F >::key(), and keys_.

Referenced by fillFilterObjectMembers().

580  {
581 
582  keys_.push_back(offset+ref.key());
583  ids_.push_back(id);
584 
585  return;
586 }
key_type key() const
Accessor for product key.
Definition: Ref.h:265
void TriggerSummaryProducerAOD::fillFilterObjectMember ( const int &  offset,
const int &  id,
const edm::Ref< l1extra::L1HFRingsCollection > &  ref 
)

Definition at line 588 of file TriggerSummaryProducerAOD.cc.

References ids_, edm::Ref< C, T, F >::key(), keys_, and trigger::TriggerL1HfBitCounts.

588  {
589 
590  using namespace trigger;
591 
592  if (id==TriggerL1HfBitCounts) {
593  keys_.push_back(offset+2*ref.key()+1);
594  } else { // if (ids[i]==TriggerL1HfRingEtSums) {
595  keys_.push_back(offset+2*ref.key()+0);
596  }
597  ids_.push_back(id);
598 
599  return;
600 }
key_type key() const
Accessor for product key.
Definition: Ref.h:265
void TriggerSummaryProducerAOD::fillFilterObjectMember ( const int &  offset,
const int &  id,
const edm::Ref< l1extra::L1EtMissParticleCollection > &  ref 
)

Definition at line 602 of file TriggerSummaryProducerAOD.cc.

References ids_, edm::Ref< C, T, F >::key(), keys_, trigger::TriggerL1ETT, and trigger::TriggerL1HTT.

602  {
603 
604  using namespace trigger;
605 
606  if ( (id==TriggerL1ETT) || (id==TriggerL1HTT) ) {
607  keys_.push_back(offset+2*ref.key()+1);
608  } else {
609  keys_.push_back(offset+2*ref.key()+0);
610  }
611  ids_.push_back(id);
612 
613  return;
614 }
key_type key() const
Accessor for product key.
Definition: Ref.h:265
void TriggerSummaryProducerAOD::fillFilterObjectMember ( const int &  offset,
const int &  id,
const edm::Ref< reco::PFMETCollection > &  ref 
)

Definition at line 616 of file TriggerSummaryProducerAOD.cc.

References ids_, edm::Ref< C, T, F >::key(), keys_, trigger::TriggerELongit, trigger::TriggerHLongit, trigger::TriggerMETSig, trigger::TriggerMHTSig, trigger::TriggerTET, and trigger::TriggerTHT.

616  {
617 
618  using namespace trigger;
619 
620  if ( (id==TriggerTHT) || (id==TriggerTET) ) {
621  keys_.push_back(offset+4*ref.key()+1);
622  } else if ( (id==TriggerMETSig) || (id==TriggerMHTSig) ) {
623  keys_.push_back(offset+4*ref.key()+2);
624  } else if ( (id==TriggerELongit) || (id==TriggerHLongit) ) {
625  keys_.push_back(offset+4*ref.key()+3);
626  } else {
627  keys_.push_back(offset+4*ref.key()+0);
628  }
629  ids_.push_back(id);
630 
631  return;
632 }
key_type key() const
Accessor for product key.
Definition: Ref.h:265
void TriggerSummaryProducerAOD::fillFilterObjectMember ( const int &  offset,
const int &  id,
const edm::Ref< reco::CaloMETCollection > &  ref 
)

Definition at line 634 of file TriggerSummaryProducerAOD.cc.

References ids_, edm::Ref< C, T, F >::key(), keys_, trigger::TriggerELongit, trigger::TriggerHLongit, trigger::TriggerMETSig, trigger::TriggerMHTSig, trigger::TriggerTET, and trigger::TriggerTHT.

634  {
635 
636  using namespace trigger;
637 
638  if ( (id==TriggerTHT) || (id==TriggerTET) ) {
639  keys_.push_back(offset+4*ref.key()+1);
640  } else if ( (id==TriggerMETSig) || (id==TriggerMHTSig) ) {
641  keys_.push_back(offset+4*ref.key()+2);
642  } else if ( (id==TriggerELongit) || (id==TriggerHLongit) ) {
643  keys_.push_back(offset+4*ref.key()+3);
644  } else {
645  keys_.push_back(offset+4*ref.key()+0);
646  }
647  ids_.push_back(id);
648 
649  return;
650 }
key_type key() const
Accessor for product key.
Definition: Ref.h:265
void TriggerSummaryProducerAOD::fillFilterObjectMember ( const int &  offset,
const int &  id,
const edm::Ref< reco::METCollection > &  ref 
)

Definition at line 652 of file TriggerSummaryProducerAOD.cc.

References ids_, edm::Ref< C, T, F >::key(), keys_, trigger::TriggerELongit, trigger::TriggerHLongit, trigger::TriggerMETSig, trigger::TriggerMHTSig, trigger::TriggerTET, and trigger::TriggerTHT.

652  {
653 
654  using namespace trigger;
655 
656  if ( (id==TriggerTHT) || (id==TriggerTET) ) {
657  keys_.push_back(offset+4*ref.key()+1);
658  } else if ( (id==TriggerMETSig) || (id==TriggerMHTSig) ) {
659  keys_.push_back(offset+4*ref.key()+2);
660  } else if ( (id==TriggerELongit) || (id==TriggerHLongit) ) {
661  keys_.push_back(offset+4*ref.key()+3);
662  } else {
663  keys_.push_back(offset+4*ref.key()+0);
664  }
665  ids_.push_back(id);
666 
667  return;
668 }
key_type key() const
Accessor for product key.
Definition: Ref.h:265
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 
)

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

References patCaloMETCorrections_cff::C, edm::InputTag::encode(), Exception, fillFilterObjectMember(), edm::Event::getProvenance(), mps_fire::i, instance, edm::ProductID::isValid(), diffTwoXMLs::label, min(), edm::Provenance::moduleLabel(), gen::n, dataset::name, offset_, sysUtil::pid, LaserDQM_cfg::process, edm::Provenance::processName(), edm::Provenance::productInstanceName(), and throw_.

Referenced by produce().

518  {
519 
523 
524  using namespace std;
525  using namespace edm;
526  using namespace reco;
527  using namespace l1extra;
528  using namespace trigger;
529 
530  if (ids.size()!=refs.size()) {
531  LogError("TriggerSummaryProducerAOD") << "Vector length is different: "
532  << ids.size() << " " << refs.size();
533  }
534 
535  const unsigned int n(min(ids.size(),refs.size()));
536  for (unsigned int i=0; i!=n; ++i) {
537  const ProductID pid(refs[i].id());
538  if (!(pid.isValid())) {
539  std::ostringstream ost;
540  ost
541  << "Iinvalid pid: " << pid
542  << " FilterTag / Key: " << tag.encode()
543  << " / " << i << "of" << n
544  << " CollectionTag / Key: "
545  << " <Unrecoverable>"
546  << " / " << refs[i].key()
547  << " CollectionType: " << typeid(C).name();
548  if (throw_) {
549  throw cms::Exception("TriggerSummaryProducerAOD") << ost.str();
550  } else {
551  LogError("TriggerSummaryProducerAOD") << ost.str();
552  }
553  } else if (offset_.find(pid)==offset_.end()) {
554  const string& label(iEvent.getProvenance(pid).moduleLabel());
555  const string& instance(iEvent.getProvenance(pid).productInstanceName());
556  const string& process(iEvent.getProvenance(pid).processName());
557  std::ostringstream ost;
558  ost
559  << "Uunknown pid: " << pid
560  << " FilterTag / Key: " << tag.encode()
561  << " / " << i << "of" << n
562  << " CollectionTag / Key: "
564  << " / " << refs[i].key()
565  << " CollectionType: " << typeid(C).name();
566  if (throw_) {
567  throw cms::Exception("TriggerSummaryProducerAOD") << ost.str();
568  } else {
569  LogError("TriggerSummaryProducerAOD") << ost.str();
570  }
571  } else {
573  }
574  }
575  return;
576 
577 }
static PFTauRenderPlugin instance
void fillFilterObjectMember(const int &, const int &, const edm::Ref< C > &)
std::string const & processName() const
Definition: Provenance.h:52
std::string encode() const
Definition: InputTag.cc:166
std::map< edm::ProductID, unsigned int > offset_
global map for indices into toc_: offset per input L3 collection
T min(T a, T b)
Definition: MathUtil.h:58
std::string const & moduleLabel() const
Definition: Provenance.h:50
fixed size matrix
HLT enums.
std::string const & productInstanceName() const
Definition: Provenance.h:53
Provenance getProvenance(BranchID const &theID) const
Definition: Event.cc:129
template<typename T >
void TriggerSummaryProducerAOD::fillTriggerObject ( const T object)

Definition at line 434 of file TriggerSummaryProducerAOD.cc.

References toc_.

Referenced by fillTriggerObjectCollections().

434  {
435 
436  using namespace trigger;
437  toc_.push_back( TriggerObject(object) );
438 
439  return;
440 }
trigger::TriggerObjectCollection toc_
trigger object collection
void TriggerSummaryProducerAOD::fillTriggerObject ( const l1extra::L1HFRings object)

Definition at line 442 of file TriggerSummaryProducerAOD.cc.

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

442  {
443 
444  using namespace l1extra;
445  using namespace trigger;
446 
448  object.hfEtSum(L1HFRings::kRing1PosEta),
449  object.hfEtSum(L1HFRings::kRing1NegEta),
450  object.hfEtSum(L1HFRings::kRing2PosEta),
451  object.hfEtSum(L1HFRings::kRing2NegEta) ) );
453  object.hfBitCount(L1HFRings::kRing1PosEta),
454  object.hfBitCount(L1HFRings::kRing1NegEta),
455  object.hfBitCount(L1HFRings::kRing2PosEta),
456  object.hfBitCount(L1HFRings::kRing2NegEta) ) );
457 
458  return;
459 }
trigger::TriggerObjectCollection toc_
trigger object collection
void TriggerSummaryProducerAOD::fillTriggerObject ( const l1extra::L1EtMissParticle object)

Definition at line 461 of file TriggerSummaryProducerAOD.cc.

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

461  {
462 
463  using namespace l1extra;
464  using namespace trigger;
465 
466  toc_.push_back( TriggerObject(object) );
467  if (object.type()==L1EtMissParticle::kMET) {
468  toc_.push_back(TriggerObject(TriggerL1ETT,object.etTotal(),0.0,0.0,0.0));
469  } else if (object.type()==L1EtMissParticle::kMHT) {
470  toc_.push_back(TriggerObject(TriggerL1HTT,object.etTotal(),0.0,0.0,0.0));
471  } else {
472  toc_.push_back(TriggerObject(0, object.etTotal(),0.0,0.0,0.0));
473  }
474 
475  return;
476 }
type
Definition: HCALResponse.h:21
trigger::TriggerObjectCollection toc_
trigger object collection
void TriggerSummaryProducerAOD::fillTriggerObject ( const reco::PFMET object)

Definition at line 478 of file TriggerSummaryProducerAOD.cc.

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

478  {
479 
480  using namespace reco;
481  using namespace trigger;
482 
483  toc_.push_back( TriggerObject(object) );
484  toc_.push_back(TriggerObject(TriggerTET ,object.sumEt() ,0.0,0.0,0.0));
485  toc_.push_back(TriggerObject(TriggerMETSig ,object.mEtSig() ,0.0,0.0,0.0));
486  toc_.push_back(TriggerObject(TriggerELongit,object.e_longitudinal(),0.0,0.0,0.0));
487 
488  return;
489 }
trigger::TriggerObjectCollection toc_
trigger object collection
fixed size matrix
void TriggerSummaryProducerAOD::fillTriggerObject ( const reco::CaloMET object)

Definition at line 491 of file TriggerSummaryProducerAOD.cc.

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

491  {
492 
493  using namespace reco;
494  using namespace trigger;
495 
496  toc_.push_back( TriggerObject(object) );
497  toc_.push_back(TriggerObject(TriggerTET ,object.sumEt() ,0.0,0.0,0.0));
498  toc_.push_back(TriggerObject(TriggerMETSig ,object.mEtSig() ,0.0,0.0,0.0));
499  toc_.push_back(TriggerObject(TriggerELongit,object.e_longitudinal(),0.0,0.0,0.0));
500 
501  return;
502 }
trigger::TriggerObjectCollection toc_
trigger object collection
fixed size matrix
void TriggerSummaryProducerAOD::fillTriggerObject ( const reco::MET object)

Definition at line 504 of file TriggerSummaryProducerAOD.cc.

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

504  {
505 
506  using namespace reco;
507  using namespace trigger;
508 
509  toc_.push_back( TriggerObject(object) );
510  toc_.push_back(TriggerObject(TriggerTHT ,object.sumEt() ,0.0,0.0,0.0));
511  toc_.push_back(TriggerObject(TriggerMHTSig ,object.mEtSig() ,0.0,0.0,0.0));
512  toc_.push_back(TriggerObject(TriggerHLongit,object.e_longitudinal(),0.0,0.0,0.0));
513 
514  return;
515 }
trigger::TriggerObjectCollection toc_
trigger object collection
fixed size matrix
template<typename C >
void TriggerSummaryProducerAOD::fillTriggerObjectCollections ( const edm::Event iEvent,
edm::GetterOfProducts< C > &  getter 
)

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

References collectionTagsEvent_, edm::GetterOfProducts< T >::fillHandles(), fillTriggerObject(), mps_fire::i, instance, keys_, diffTwoXMLs::label, edm::Provenance::moduleLabel(), gen::n, offset_, sysUtil::pid, LaserDQM_cfg::process, edm::Provenance::processName(), edm::Provenance::productInstanceName(), findQualityFiles::size, tags_, and toc_.

392  {
393 
397 
398  using namespace std;
399  using namespace edm;
400  using namespace reco;
401  using namespace l1extra;
402  using namespace trigger;
403  using namespace l1t;
404 
405  vector<Handle<C> > collections;
406  getter.fillHandles(iEvent, collections);
407  const unsigned int nc(collections.size());
408 
409  for (unsigned int ic=0; ic!=nc; ++ic) {
410  const Provenance& provenance(*(collections[ic].provenance()));
411  const string& label (provenance.moduleLabel());
412  const string& instance (provenance.productInstanceName());
413  const string& process (provenance.processName());
414  const InputTag collectionTag(label,instance,process);
415 
416  if (collectionTagsEvent_.find(collectionTag)!=collectionTagsEvent_.end()) {
417  const ProductID pid(collections[ic].provenance()->productID());
418  if (offset_.find(pid)!=offset_.end()) {
419  LogError("TriggerSummaryProducerAOD") << "Duplicate pid: " << pid;
420  }
421  offset_[pid]=toc_.size();
422  const unsigned int n(collections[ic]->size());
423  for (unsigned int i=0; i!=n; ++i) {
424  fillTriggerObject( (*collections[ic])[i] );
425  }
426  tags_.push_back(collectionTag.encode());
427  keys_.push_back(toc_.size());
428  }
429 
430  }
431 }
size
Write out results.
trigger::TriggerObjectCollection toc_
trigger object collection
static PFTauRenderPlugin instance
delete x;
Definition: CaloConfig.h:22
std::vector< std::string > tags_
std::map< edm::ProductID, unsigned int > offset_
global map for indices into toc_: offset per input L3 collection
fixed size matrix
HLT enums.
InputTagSet collectionTagsEvent_
list of L3 collection tags
void fillHandles(edm::Event const &event, std::vector< edm::Handle< T > > &handles) const
void TriggerSummaryProducerAOD::globalEndJob ( const GlobalInputTags globalInputTags)
static

Definition at line 676 of file TriggerSummaryProducerAOD.cc.

References GlobalInputTags::collectionTagsGlobal_, SoftLeptonByDistance_cfi::distance, benchmark_cfg::fb, and GlobalInputTags::filterTagsGlobal_.

676  {
677 
678  using namespace std;
679  using namespace edm;
680  using namespace trigger;
681 
682  LogVerbatim("TriggerSummaryProducerAOD") << endl;
683  LogVerbatim("TriggerSummaryProducerAOD") << "TriggerSummaryProducerAOD::globalEndJob - accumulated tags:" << endl;
684 
685  InputTagSet filterTags(false);
686  InputTagSet collectionTags(false);
687 
688  filterTags.insert(globalInputTags->filterTagsGlobal_.begin(),globalInputTags->filterTagsGlobal_.end());
689  collectionTags.insert(globalInputTags->collectionTagsGlobal_.begin(),globalInputTags->collectionTagsGlobal_.end());
690 
691  const unsigned int nc(collectionTags.size());
692  const unsigned int nf(filterTags.size());
693  LogVerbatim("TriggerSummaryProducerAOD") << " Overall number of Collections/Filters: "
694  << nc << "/" << nf << endl;
695 
696  LogVerbatim("TriggerSummaryProducerAOD") << " The collections: " << nc << endl;
697  const InputTagSet::const_iterator cb(collectionTags.begin());
698  const InputTagSet::const_iterator ce(collectionTags.end());
699  for ( InputTagSet::const_iterator ci=cb; ci!=ce; ++ci) {
700  LogVerbatim("TriggerSummaryProducerAOD") << " " << distance(cb,ci) << " " << ci->encode() << endl;
701  }
702 
703  LogVerbatim("TriggerSummaryProducerAOD") << " The filters:" << nf << endl;
704  const InputTagSet::const_iterator fb(filterTags.begin());
705  const InputTagSet::const_iterator fe(filterTags.end());
706  for ( InputTagSet::const_iterator fi=fb; fi!=fe; ++fi) {
707  LogVerbatim("TriggerSummaryProducerAOD") << " " << distance(fb,fi) << " " << fi->encode() << endl;
708  }
709 
710  LogVerbatim("TriggerSummaryProducerAOD") << "TriggerSummaryProducerAOD::endJob." << endl;
711  LogVerbatim("TriggerSummaryProducerAOD") << endl;
712 
713  return;
714 
715 }
std::set< edm::InputTag, OrderInputTag > InputTagSet
tbb::concurrent_unordered_set< edm::InputTag, InputTagHash > filterTagsGlobal_
HLT enums.
tbb::concurrent_unordered_set< edm::InputTag, InputTagHash > collectionTagsGlobal_
static std::unique_ptr<GlobalInputTags> TriggerSummaryProducerAOD::initializeGlobalCache ( edm::ParameterSet const &  )
inlinestatic

Definition at line 95 of file TriggerSummaryProducerAOD.h.

References GlobalPosition_Frontier_DevDB_cff::tag.

95  {
96  return std::unique_ptr<GlobalInputTags> (new GlobalInputTags());
97  };
void TriggerSummaryProducerAOD::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

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

Definition at line 228 of file TriggerSummaryProducerAOD.cc.

References collectionTagsEvent_, collectionTagsStream_, SoftLeptonByDistance_cfi::distance, benchmark_cfg::fb, fillFilterObjectMembers(), edm::GetterOfProducts< T >::fillHandles(), filterTagsEvent_, filterTagsStream_, getCaloJetCollection_, getCaloMETCollection_, getCompositeCandidateCollection_, getElectronCollection_, getIsolatedPixelTrackCandidateCollection_, getL1EmParticleCollection_, getL1EtMissParticleCollection_, getL1HFRingsCollection_, getL1JetParticleCollection_, getL1MuonParticleCollection_, getL1TEGammaParticleCollection_, getL1TEtSumParticleCollection_, getL1TJetParticleCollection_, getL1TMuonParticleCollection_, getL1TTauParticleCollection_, getMETCollection_, getPFJetCollection_, getPFMETCollection_, getPFTauCollection_, getRecoChargedCandidateCollection_, getRecoEcalCandidateCollection_, getTriggerFilterObjectWithRefs_, ids_, iEvent, instance, edm::isDebugEnabled(), keys_, diffTwoXMLs::label, LogDebug, LogTrace, maskFilters_, eostools::move(), create_public_lumi_plots::ncol, offset_, pn_, LaserDQM_cfg::process, modifiedElectrons_cfi::processName, trigger::TriggerEvent::sizeFilters(), trigger::TriggerEvent::sizeObjects(), tags_, and toc_.

229 {
230  using namespace std;
231  using namespace edm;
232  using namespace reco;
233  using namespace l1extra;
234  using namespace trigger;
235  using namespace l1t;
236 
237  std::vector<edm::Handle<trigger::TriggerFilterObjectWithRefs> > fobs;
239 
240  const unsigned int nfob(fobs.size());
241  LogTrace("TriggerSummaryProducerAOD") << "Number of filter objects found: " << nfob;
242 
243  string tagLabel,tagInstance,tagProcess;
244 
250  maskFilters_.clear();
251  maskFilters_.resize(nfob);
252  filterTagsEvent_.clear();
253  collectionTagsEvent_.clear();
254  unsigned int nf(0);
255  for (unsigned int ifob=0; ifob!=nfob; ++ifob) {
256  maskFilters_[ifob]=false;
257  const vector<string>& collectionTags_(fobs[ifob]->getCollectionTagsAsStrings());
258  const unsigned int ncol(collectionTags_.size());
259  if (ncol>0) {
260  nf++;
261  maskFilters_[ifob]=true;
262  const string& label (fobs[ifob].provenance()->moduleLabel());
263  const string& instance (fobs[ifob].provenance()->productInstanceName());
264  const string& process (fobs[ifob].provenance()->processName());
266  for (unsigned int icol=0; icol!=ncol; ++icol) {
267  // overwrite process name (usually not set)
268  tokenizeTag(collectionTags_[icol],tagLabel,tagInstance,tagProcess);
269  collectionTagsEvent_.insert(InputTag(tagLabel,tagInstance,pn_));
270  }
271  }
272  }
274  if (filterTagsEvent_.size()!=nf) {
275  LogError("TriggerSummaryProducerAOD")
276  << "Mismatch in number of filter tags: "
277  << filterTagsEvent_.size() << "!=" << nf ;
278  }
279 
283 
285  if (isDebugEnabled()) {
286 
288  const unsigned int nc(collectionTagsEvent_.size());
289  LogTrace("TriggerSummaryProducerAOD") << "Number of unique collections requested " << nc;
290  const InputTagSet::const_iterator cb(collectionTagsEvent_.begin());
291  const InputTagSet::const_iterator ce(collectionTagsEvent_.end());
292  for ( InputTagSet::const_iterator ci=cb; ci!=ce; ++ci) {
293  LogTrace("TriggerSummaryProducerAOD") << distance(cb,ci) << " " << ci->encode();
294  }
295  const unsigned int nf(filterTagsEvent_.size());
296  LogTrace("TriggerSummaryProducerAOD") << "Number of unique filters requested " << nf;
297  const InputTagSet::const_iterator fb(filterTagsEvent_.begin());
298  const InputTagSet::const_iterator fe(filterTagsEvent_.end());
299  for ( InputTagSet::const_iterator fi=fb; fi!=fe; ++fi) {
300  LogTrace("TriggerSummaryProducerAOD") << distance(fb,fi) << " " << fi->encode();
301  }
302 
303  }
304 
310  toc_.clear();
311  tags_.clear();
312  keys_.clear();
313  offset_.clear();
314  fillTriggerObjectCollections< RecoEcalCandidateCollection>(iEvent, getRecoEcalCandidateCollection_);
315  fillTriggerObjectCollections< ElectronCollection>(iEvent, getElectronCollection_);
316  fillTriggerObjectCollections< RecoChargedCandidateCollection>(iEvent, getRecoChargedCandidateCollection_);
317  fillTriggerObjectCollections< CaloJetCollection>(iEvent, getCaloJetCollection_);
318  fillTriggerObjectCollections< CompositeCandidateCollection>(iEvent, getCompositeCandidateCollection_);
319  fillTriggerObjectCollections< METCollection>(iEvent, getMETCollection_);
320  fillTriggerObjectCollections< CaloMETCollection>(iEvent, getCaloMETCollection_);
321  fillTriggerObjectCollections<IsolatedPixelTrackCandidateCollection>(iEvent, getIsolatedPixelTrackCandidateCollection_);
323  fillTriggerObjectCollections< L1EmParticleCollection>(iEvent, getL1EmParticleCollection_);
324  fillTriggerObjectCollections< L1MuonParticleCollection>(iEvent, getL1MuonParticleCollection_);
325  fillTriggerObjectCollections< L1JetParticleCollection>(iEvent, getL1JetParticleCollection_);
326  fillTriggerObjectCollections< L1EtMissParticleCollection>(iEvent, getL1EtMissParticleCollection_);
327  fillTriggerObjectCollections< L1HFRingsCollection>(iEvent, getL1HFRingsCollection_);
328  fillTriggerObjectCollections< MuonBxCollection>(iEvent, getL1TMuonParticleCollection_);
329  fillTriggerObjectCollections< EGammaBxCollection>(iEvent, getL1TEGammaParticleCollection_);
330  fillTriggerObjectCollections< JetBxCollection>(iEvent, getL1TJetParticleCollection_);
331  fillTriggerObjectCollections< TauBxCollection>(iEvent, getL1TTauParticleCollection_);
332  fillTriggerObjectCollections< EtSumBxCollection>(iEvent, getL1TEtSumParticleCollection_);
334  fillTriggerObjectCollections< PFJetCollection>(iEvent, getPFJetCollection_);
335  fillTriggerObjectCollections< PFTauCollection>(iEvent, getPFTauCollection_);
336  fillTriggerObjectCollections< PFMETCollection>(iEvent, getPFMETCollection_);
338  const unsigned int nk(tags_.size());
339  LogDebug("TriggerSummaryProducerAOD") << "Number of collections found: " << nk;
340  const unsigned int no(toc_.size());
341  LogDebug("TriggerSummaryProducerAOD") << "Number of physics objects found: " << no;
342 
345  unique_ptr<TriggerEvent> product(new TriggerEvent(pn_,nk,no,nf));
346 
348  product->addCollections(tags_,keys_);
349  product->addObjects(toc_);
350 
352  for (unsigned int ifob=0; ifob!=nfob; ++ifob) {
353  if (maskFilters_[ifob]) {
354  const string& label (fobs[ifob].provenance()->moduleLabel());
355  const string& instance (fobs[ifob].provenance()->productInstanceName());
356  const string& process (fobs[ifob].provenance()->processName());
357  const edm::InputTag filterTag(label,instance,process);
358  ids_.clear();
359  keys_.clear();
360  fillFilterObjectMembers(iEvent,filterTag,fobs[ifob]->photonIds() ,fobs[ifob]->photonRefs());
361  fillFilterObjectMembers(iEvent,filterTag,fobs[ifob]->electronIds() ,fobs[ifob]->electronRefs());
362  fillFilterObjectMembers(iEvent,filterTag,fobs[ifob]->muonIds() ,fobs[ifob]->muonRefs());
363  fillFilterObjectMembers(iEvent,filterTag,fobs[ifob]->jetIds() ,fobs[ifob]->jetRefs());
364  fillFilterObjectMembers(iEvent,filterTag,fobs[ifob]->compositeIds(),fobs[ifob]->compositeRefs());
365  fillFilterObjectMembers(iEvent,filterTag,fobs[ifob]->basemetIds() ,fobs[ifob]->basemetRefs());
366  fillFilterObjectMembers(iEvent,filterTag,fobs[ifob]->calometIds() ,fobs[ifob]->calometRefs());
367  fillFilterObjectMembers(iEvent,filterTag,fobs[ifob]->pixtrackIds() ,fobs[ifob]->pixtrackRefs());
368  fillFilterObjectMembers(iEvent,filterTag,fobs[ifob]->l1emIds() ,fobs[ifob]->l1emRefs());
369  fillFilterObjectMembers(iEvent,filterTag,fobs[ifob]->l1muonIds() ,fobs[ifob]->l1muonRefs());
370  fillFilterObjectMembers(iEvent,filterTag,fobs[ifob]->l1jetIds() ,fobs[ifob]->l1jetRefs());
371  fillFilterObjectMembers(iEvent,filterTag,fobs[ifob]->l1etmissIds() ,fobs[ifob]->l1etmissRefs());
372  fillFilterObjectMembers(iEvent,filterTag,fobs[ifob]->l1hfringsIds(),fobs[ifob]->l1hfringsRefs());
373  fillFilterObjectMembers(iEvent,filterTag,fobs[ifob]->l1tmuonIds() ,fobs[ifob]->l1tmuonRefs());
374  fillFilterObjectMembers(iEvent,filterTag,fobs[ifob]->l1tegammaIds(),fobs[ifob]->l1tegammaRefs());
375  fillFilterObjectMembers(iEvent,filterTag,fobs[ifob]->l1tjetIds() ,fobs[ifob]->l1tjetRefs());
376  fillFilterObjectMembers(iEvent,filterTag,fobs[ifob]->l1ttauIds() ,fobs[ifob]->l1ttauRefs());
377  fillFilterObjectMembers(iEvent,filterTag,fobs[ifob]->l1tetsumIds() ,fobs[ifob]->l1tetsumRefs());
378  fillFilterObjectMembers(iEvent,filterTag,fobs[ifob]->pfjetIds() ,fobs[ifob]->pfjetRefs());
379  fillFilterObjectMembers(iEvent,filterTag,fobs[ifob]->pftauIds() ,fobs[ifob]->pftauRefs());
380  fillFilterObjectMembers(iEvent,filterTag,fobs[ifob]->pfmetIds() ,fobs[ifob]->pfmetRefs());
381  product->addFilter(filterTag,ids_,keys_);
382  }
383  }
384 
385  OrphanHandle<TriggerEvent> ref = iEvent.put(std::move(product));
386  LogTrace("TriggerSummaryProducerAOD") << "Number of physics objects packed: " << ref->sizeObjects();
387  LogTrace("TriggerSummaryProducerAOD") << "Number of filter objects packed: " << ref->sizeFilters();
388 
389 }
#define LogDebug(id)
bool isDebugEnabled()
edm::GetterOfProducts< l1t::TauBxCollection > getL1TTauParticleCollection_
edm::GetterOfProducts< l1extra::L1JetParticleCollection > getL1JetParticleCollection_
edm::GetterOfProducts< reco::IsolatedPixelTrackCandidateCollection > getIsolatedPixelTrackCandidateCollection_
edm::GetterOfProducts< reco::RecoEcalCandidateCollection > getRecoEcalCandidateCollection_
edm::GetterOfProducts< l1extra::L1MuonParticleCollection > getL1MuonParticleCollection_
The single EDProduct to be saved for each event (AOD case)
Definition: TriggerEvent.h:25
trigger::size_type sizeFilters() const
Definition: TriggerEvent.h:135
trigger::TriggerObjectCollection toc_
trigger object collection
edm::GetterOfProducts< reco::PFTauCollection > getPFTauCollection_
static PFTauRenderPlugin instance
std::vector< bool > maskFilters_
packing decision
edm::GetterOfProducts< reco::METCollection > getMETCollection_
edm::GetterOfProducts< l1t::JetBxCollection > getL1TJetParticleCollection_
edm::GetterOfProducts< reco::CaloJetCollection > getCaloJetCollection_
delete x;
Definition: CaloConfig.h:22
edm::GetterOfProducts< l1extra::L1EtMissParticleCollection > getL1EtMissParticleCollection_
std::vector< std::string > tags_
edm::GetterOfProducts< reco::PFJetCollection > getPFJetCollection_
int iEvent
Definition: GenABIO.cc:230
edm::GetterOfProducts< reco::RecoChargedCandidateCollection > getRecoChargedCandidateCollection_
edm::GetterOfProducts< l1extra::L1HFRingsCollection > getL1HFRingsCollection_
std::map< edm::ProductID, unsigned int > offset_
global map for indices into toc_: offset per input L3 collection
void fillFilterObjectMembers(const edm::Event &, const edm::InputTag &tag, const trigger::Vids &, const std::vector< edm::Ref< C > > &)
edm::GetterOfProducts< l1t::MuonBxCollection > getL1TMuonParticleCollection_
#define LogTrace(id)
trigger::size_type sizeObjects() const
Definition: TriggerEvent.h:134
edm::GetterOfProducts< reco::CaloMETCollection > getCaloMETCollection_
edm::GetterOfProducts< reco::ElectronCollection > getElectronCollection_
fixed size matrix
HLT enums.
InputTagSet collectionTagsEvent_
list of L3 collection tags
void fillHandles(edm::Event const &event, std::vector< edm::Handle< T > > &handles) const
edm::GetterOfProducts< reco::CompositeCandidateCollection > getCompositeCandidateCollection_
edm::GetterOfProducts< trigger::TriggerFilterObjectWithRefs > getTriggerFilterObjectWithRefs_
edm::GetterOfProducts< reco::PFMETCollection > getPFMETCollection_
InputTagSet filterTagsEvent_
list of L3 filter tags
edm::GetterOfProducts< l1t::EtSumBxCollection > getL1TEtSumParticleCollection_
edm::GetterOfProducts< l1extra::L1EmParticleCollection > getL1EmParticleCollection_
def move(src, dest)
Definition: eostools.py:510
edm::GetterOfProducts< l1t::EGammaBxCollection > getL1TEGammaParticleCollection_

Member Data Documentation

InputTagSet TriggerSummaryProducerAOD::collectionTagsEvent_
private

list of L3 collection tags

Definition at line 155 of file TriggerSummaryProducerAOD.h.

Referenced by fillTriggerObjectCollections(), produce(), and TriggerSummaryProducerAOD().

InputTagSet TriggerSummaryProducerAOD::collectionTagsStream_
private

Definition at line 156 of file TriggerSummaryProducerAOD.h.

Referenced by endStream(), produce(), and TriggerSummaryProducerAOD().

InputTagSet TriggerSummaryProducerAOD::filterTagsEvent_
private

list of L3 filter tags

Definition at line 151 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

InputTagSet TriggerSummaryProducerAOD::filterTagsStream_
private

Definition at line 152 of file TriggerSummaryProducerAOD.h.

Referenced by endStream(), produce(), and TriggerSummaryProducerAOD().

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

Definition at line 176 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

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

Definition at line 179 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

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

Definition at line 177 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

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

Definition at line 174 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

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

Definition at line 181 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

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

Definition at line 182 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

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

Definition at line 185 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

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

Definition at line 186 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

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

Definition at line 184 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

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

Definition at line 183 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

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

Definition at line 190 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

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

Definition at line 193 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

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

Definition at line 191 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

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

Definition at line 189 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

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

Definition at line 192 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

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

Definition at line 178 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

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

Definition at line 187 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

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

Definition at line 180 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

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

Definition at line 188 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

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

Definition at line 175 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

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

Definition at line 173 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

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

Definition at line 172 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

trigger::Vids TriggerSummaryProducerAOD::ids_
private

ids

Definition at line 167 of file TriggerSummaryProducerAOD.h.

Referenced by fillFilterObjectMember(), and produce().

trigger::Keys TriggerSummaryProducerAOD::keys_
private
std::vector<bool> TriggerSummaryProducerAOD::maskFilters_
private

packing decision

Definition at line 170 of file TriggerSummaryProducerAOD.h.

Referenced by produce().

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

module labels which should be avoided

Definition at line 127 of file TriggerSummaryProducerAOD.h.

Referenced by TriggerSummaryProducerAOD().

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

Definition at line 128 of file TriggerSummaryProducerAOD.h.

Referenced by TriggerSummaryProducerAOD().

std::map<edm::ProductID,unsigned int> TriggerSummaryProducerAOD::offset_
private

global map for indices into toc_: offset per input L3 collection

Definition at line 162 of file TriggerSummaryProducerAOD.h.

Referenced by fillFilterObjectMembers(), fillTriggerObjectCollections(), and produce().

std::string TriggerSummaryProducerAOD::pn_
private

process name

Definition at line 125 of file TriggerSummaryProducerAOD.h.

Referenced by produce(), and TriggerSummaryProducerAOD().

std::vector<std::string> TriggerSummaryProducerAOD::tags_
private

Definition at line 160 of file TriggerSummaryProducerAOD.h.

Referenced by fillTriggerObjectCollections(), and produce().

bool TriggerSummaryProducerAOD::throw_
private

throw on error

Definition at line 123 of file TriggerSummaryProducerAOD.h.

Referenced by fillFilterObjectMembers().

trigger::TriggerObjectCollection TriggerSummaryProducerAOD::toc_
private

trigger object collection

Definition at line 159 of file TriggerSummaryProducerAOD.h.

Referenced by fillTriggerObject(), fillTriggerObjectCollections(), and produce().