|
| HLTDoublet (const edm::ParameterSet &) |
|
bool | hltFilter (edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) const override |
|
| ~HLTDoublet () override=default |
|
| HLTFilter (const edm::ParameterSet &config) |
|
int | module (edm::Event const &) const |
|
const std::string * | moduleLabel () const |
|
int | path (edm::Event const &) const |
|
const std::string * | pathName (edm::Event const &) const |
|
std::pair< int, int > | pmid (edm::Event const &) const |
|
bool | saveTags () const |
|
| ~HLTFilter () override |
|
| EDFilter ()=default |
|
| EDFilter (const EDFilter &)=delete |
|
bool | hasAbilityToProduceInBeginLumis () const final |
|
bool | hasAbilityToProduceInBeginProcessBlocks () const final |
|
bool | hasAbilityToProduceInBeginRuns () const final |
|
bool | hasAbilityToProduceInEndLumis () const final |
|
bool | hasAbilityToProduceInEndProcessBlocks () const final |
|
bool | hasAbilityToProduceInEndRuns () const final |
|
const EDFilter & | operator= (const EDFilter &)=delete |
|
bool | wantsGlobalLuminosityBlocks () const noexcept final |
|
bool | wantsGlobalRuns () const noexcept final |
|
bool | wantsInputProcessBlocks () const noexcept final |
|
bool | wantsProcessBlocks () const noexcept final |
|
bool | wantsStreamLuminosityBlocks () const noexcept final |
|
bool | wantsStreamRuns () const noexcept final |
|
| EDFilterBase () |
|
ModuleDescription const & | moduleDescription () const |
|
| ~EDFilterBase () override |
|
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 |
|
std::vector< ConsumesInfo > | consumesInfo () 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 |
|
EDConsumerBase & | operator= (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) |
|
|
typedef EDFilterBase | ModuleType |
|
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 |
|
typedef ProductLabels | Labels |
|
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 () |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
|
template<BranchType B = InEvent> |
EDConsumerBaseAdaptor< B > | consumes (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) |
|
template<typename T1, typename T2>
class HLTDoublet< T1, T2 >
See header file for documentation
- Author
- Martin Grunewald
This class is an HLTFilter (-> EDFilter) implementing a basic HLT trigger for pairs of object, evaluating all pairs with the first object from collection 1, and the second object from collection 2, cutting on variables relating to their 4-momentum representations. The object collections are assumed to be outputs of HLTSinglet single-object-type filters so that the access is thorugh RefToBases and polymorphic.
- Author
- Martin Grunewald
Definition at line 34 of file HLTDoublet.h.
template<typename T1 , typename T2 >
Definition at line 24 of file HLTDoublet.cc.
References HLTDoublet< T1, T2 >::cutdelr2_, HLTDoublet< T1, T2 >::cutdeta_, HLTDoublet< T1, T2 >::cutdphi_, HLTDoublet< T1, T2 >::cutminv_, HLTDoublet< T1, T2 >::cutpt_, edm::InputTag::encode(), HLTDoublet< T1, T2 >::inputTag1_, HLTDoublet< T1, T2 >::inputTag2_, LogDebug, HLTDoublet< T1, T2 >::max_DelR2_, HLTDoublet< T1, T2 >::max_Deta_, HLTDoublet< T1, T2 >::max_Dphi_, HLTDoublet< T1, T2 >::max_Minv_, HLTDoublet< T1, T2 >::max_Pt_, HLTDoublet< T1, T2 >::min_DelR2_, HLTDoublet< T1, T2 >::min_Deta_, HLTDoublet< T1, T2 >::min_Dphi_, HLTDoublet< T1, T2 >::min_Minv_, HLTDoublet< T1, T2 >::min_N_, HLTDoublet< T1, T2 >::min_Pt_, HLTDoublet< T1, T2 >::same_, HLTDoublet< T1, T2 >::triggerType1_, and HLTDoublet< T1, T2 >::triggerType2_.
26 originTag1_(iConfig.template getParameter<std::vector<edm::InputTag>>(
"originTag1")),
27 originTag2_(iConfig.template getParameter<std::vector<edm::InputTag>>(
"originTag2")),
28 inputTag1_(iConfig.template getParameter<edm::InputTag>(
"inputTag1")),
29 inputTag2_(iConfig.template getParameter<edm::InputTag>(
"inputTag2")),
32 triggerType1_(iConfig.template getParameter<int>(
"triggerType1")),
33 triggerType2_(iConfig.template getParameter<int>(
"triggerType2")),
34 min_Deta_(iConfig.template getParameter<double>(
"MinDeta")),
35 max_Deta_(iConfig.template getParameter<double>(
"MaxDeta")),
36 min_Dphi_(iConfig.template getParameter<double>(
"MinDphi")),
37 max_Dphi_(iConfig.template getParameter<double>(
"MaxDphi")),
39 min_DelR2_(iConfig.template getParameter<double>(
"MinDelR") *
40 std::abs(iConfig.template getParameter<double>(
"MinDelR"))),
42 max_DelR2_(iConfig.template getParameter<double>(
"MaxDelR") *
43 std::abs(iConfig.template getParameter<double>(
"MaxDelR"))),
44 min_Pt_(iConfig.template getParameter<double>(
"MinPt")),
45 max_Pt_(iConfig.template getParameter<double>(
"MaxPt")),
46 min_Minv_(iConfig.template getParameter<double>(
"MinMinv")),
47 max_Minv_(iConfig.template getParameter<double>(
"MaxMinv")),
48 min_N_(iConfig.template getParameter<int>(
"MinN")),
const edm::InputTag inputTag2_
const edm::InputTag inputTag1_
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
Abs< T >::type abs(const T &t)
HLTFilter(const edm::ParameterSet &config)
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
const std::vector< edm::InputTag > originTag2_
const std::vector< edm::InputTag > originTag1_
template<typename T1 , typename T2 >
Implements HLTFilter.
Definition at line 100 of file HLTDoublet.cc.
References funct::abs(), accept(), trigger::TriggerFilterObjectWithRefs::addCollectionTag(), trigger::TriggerRefsCollections::addObject(), reco::deltaPhi(), trigger::TriggerRefsCollections::getObjects(), Exhume::I, mps_fire::i, testProducerWithPsetDescEmpty_cfi::i1, testProducerWithPsetDescEmpty_cfi::i2, iEvent, ProducerED_cfi::InputTag, instance, label, HerwigMaxPtPartonFilter_cfi::moduleLabel, dqmiodumpmetadata::n, or, AlCaHLTBitMon_ParallelJobs::p, LaserDQM_cfg::p1, SiStripOfflineCRack_cfg::p2, LaserDQM_cfg::process, diffTwoXMLs::r2, and PDWG_EXODelayedJetMET_cff::saveTags.
105 using namespace reco;
116 std::vector<T1Ref> coll1;
117 std::vector<T2Ref> coll2;
136 const auto& prov =
iEvent.getStableProvenance(pid);
137 const string&
label(prov.moduleLabel());
138 const string&
instance(prov.productInstanceName());
139 const string&
process(prov.processName());
141 if (tagOld.
encode() != tagNew.encode()) {
154 const auto& prov =
iEvent.getStableProvenance(pid);
155 const string&
label(prov.moduleLabel());
156 const string&
instance(prov.productInstanceName());
157 const string&
process(prov.processName());
159 if (tagOld.
encode() != tagNew.encode()) {
171 for (
unsigned int i1 = 0;
i1 != n1;
i1++) {
178 for (
unsigned int i2 =
I;
i2 != n2;
i2++) {
191 double const DelR2 = Deta * Deta + Dphi * Dphi;
198 double const Pt =
p.pt();
constexpr double deltaPhi(double phi1, double phi2)
Log< level::Info, true > LogVerbatim
void getObjects(Vids &ids, VRphoton &refs) const
various physics-level getters:
static PFTauRenderPlugin instance
edm::Ref< T2Collection > T2Ref
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
void addObject(int id, const reco::RecoEcalCandidateRef &ref)
setters for L3 collections: (id=physics type, and Ref<C>)
const std::string * moduleLabel() const
edm::Ref< T1Collection > T1Ref
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Abs< T >::type abs(const T &t)
const std::complex< double > I
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
void addCollectionTag(const edm::InputTag &collectionTag)
collectionTags
const std::vector< edm::InputTag > originTag2_
const std::vector< edm::InputTag > originTag1_
math::PtEtaPhiELorentzVectorF LorentzVector