CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Types | Private Attributes
HLTDoublet< T1, T2 > Class Template Reference

#include <HLTDoublet.h>

Inheritance diagram for HLTDoublet< T1, T2 >:
HLTFilter edm::global::EDFilter<> edm::global::EDFilterBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 HLTDoublet (const edm::ParameterSet &)
 
bool hltFilter (edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) const override
 
 ~HLTDoublet () override
 
- Public Member Functions inherited from HLTFilter
 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
 
- Public Member Functions inherited from edm::global::EDFilter<>
 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 EDFilteroperator= (const EDFilter &)=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::EDFilterBase
 EDFilterBase ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDFilterBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::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
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from HLTFilter
static void makeHLTFilterDescription (edm::ParameterSetDescription &desc)
 
- Static Public Member Functions inherited from edm::global::EDFilterBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Types

typedef std::vector< T1 > T1Collection
 
typedef edm::Ref< T1CollectionT1Ref
 
typedef std::vector< T2 > T2Collection
 
typedef edm::Ref< T2CollectionT2Ref
 

Private Attributes

const bool cutdelr_
 
const bool cutdeta_
 
const bool cutdphi_
 
const bool cutminv_
 
const bool cutpt_
 
const edm::InputTag inputTag1_
 
const edm::InputTag inputTag2_
 
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefsinputToken1_
 
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefsinputToken2_
 
const double max_DelR_
 
const double max_Deta_
 
const double max_Dphi_
 
const double max_Minv_
 
const double max_Pt_
 
const double min_DelR_
 
const double min_Deta_
 
const double min_Dphi_
 
const double min_Minv_
 
const int min_N_
 
const double min_Pt_
 
const std::vector< edm::InputTagoriginTag1_
 
const std::vector< edm::InputTagoriginTag2_
 
const bool same_
 
const int triggerType1_
 
const int triggerType2_
 

Additional Inherited Members

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

Detailed Description

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.

Member Typedef Documentation

◆ T1Collection

template<typename T1 , typename T2 >
typedef std::vector<T1> HLTDoublet< T1, T2 >::T1Collection
private

Definition at line 65 of file HLTDoublet.h.

◆ T1Ref

template<typename T1 , typename T2 >
typedef edm::Ref<T1Collection> HLTDoublet< T1, T2 >::T1Ref
private

Definition at line 66 of file HLTDoublet.h.

◆ T2Collection

template<typename T1 , typename T2 >
typedef std::vector<T2> HLTDoublet< T1, T2 >::T2Collection
private

Definition at line 67 of file HLTDoublet.h.

◆ T2Ref

template<typename T1 , typename T2 >
typedef edm::Ref<T2Collection> HLTDoublet< T1, T2 >::T2Ref
private

Definition at line 68 of file HLTDoublet.h.

Constructor & Destructor Documentation

◆ HLTDoublet()

template<typename T1 , typename T2 >
HLTDoublet< T1, T2 >::HLTDoublet ( const edm::ParameterSet iConfig)
explicit

Definition at line 29 of file HLTDoublet.cc.

30  : HLTFilter(iConfig),
31  originTag1_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag1")),
32  originTag2_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag2")),
33  inputTag1_(iConfig.template getParameter<edm::InputTag>("inputTag1")),
34  inputTag2_(iConfig.template getParameter<edm::InputTag>("inputTag2")),
35  inputToken1_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag1_)),
36  inputToken2_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag2_)),
37  triggerType1_(iConfig.template getParameter<int>("triggerType1")),
38  triggerType2_(iConfig.template getParameter<int>("triggerType2")),
39  min_Dphi_(iConfig.template getParameter<double>("MinDphi")),
40  max_Dphi_(iConfig.template getParameter<double>("MaxDphi")),
41  min_Deta_(iConfig.template getParameter<double>("MinDeta")),
42  max_Deta_(iConfig.template getParameter<double>("MaxDeta")),
43  min_Minv_(iConfig.template getParameter<double>("MinMinv")),
44  max_Minv_(iConfig.template getParameter<double>("MaxMinv")),
45  min_DelR_(iConfig.template getParameter<double>("MinDelR")),
46  max_DelR_(iConfig.template getParameter<double>("MaxDelR")),
47  min_Pt_(iConfig.template getParameter<double>("MinPt")),
48  max_Pt_(iConfig.template getParameter<double>("MaxPt")),
49  min_N_(iConfig.template getParameter<int>("MinN")),
50  same_(inputTag1_.encode() == inputTag2_.encode()), // same collections to be compared?
51  cutdphi_(min_Dphi_ <= max_Dphi_), // cut active?
52  cutdeta_(min_Deta_ <= max_Deta_), // cut active?
53  cutminv_(min_Minv_ <= max_Minv_), // cut active?
54  cutdelr_(min_DelR_ <= max_DelR_), // cut active?
55  cutpt_(min_Pt_ <= max_Pt_) // cut active?
56 {
57  LogDebug("") << "InputTags and cuts : " << inputTag1_.encode() << " " << inputTag2_.encode() << triggerType1_ << " "
58  << triggerType2_ << " Dphi [" << min_Dphi_ << " " << max_Dphi_ << "]"
59  << " Deta [" << min_Deta_ << " " << max_Deta_ << "]"
60  << " Minv [" << min_Minv_ << " " << max_Minv_ << "]"
61  << " DelR [" << min_DelR_ << " " << max_DelR_ << "]"
62  << " Pt [" << min_Pt_ << " " << max_Pt_ << "]"
63  << " MinN =" << min_N_ << " same/dphi/deta/minv/delr/pt " << same_ << cutdphi_ << cutdeta_ << cutminv_
64  << cutdelr_ << cutpt_;
65 }

References HLTDoublet< T1, T2 >::cutdelr_, 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_DelR_, HLTDoublet< T1, T2 >::max_Deta_, HLTDoublet< T1, T2 >::max_Dphi_, HLTDoublet< T1, T2 >::max_Minv_, HLTDoublet< T1, T2 >::max_Pt_, HLTDoublet< T1, T2 >::min_DelR_, 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_.

◆ ~HLTDoublet()

template<typename T1 , typename T2 >
HLTDoublet< T1, T2 >::~HLTDoublet ( )
overridedefault

Member Function Documentation

◆ fillDescriptions()

template<typename T1 , typename T2 >
void HLTDoublet< T1, T2 >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 70 of file HLTDoublet.cc.

70  {
73  std::vector<edm::InputTag> originTag1(1, edm::InputTag("hltOriginal1"));
74  std::vector<edm::InputTag> originTag2(1, edm::InputTag("hltOriginal2"));
75  desc.add<std::vector<edm::InputTag>>("originTag1", originTag1);
76  desc.add<std::vector<edm::InputTag>>("originTag2", originTag2);
77  desc.add<edm::InputTag>("inputTag1", edm::InputTag("hltFiltered1"));
78  desc.add<edm::InputTag>("inputTag2", edm::InputTag("hltFiltered22"));
79  desc.add<int>("triggerType1", 0);
80  desc.add<int>("triggerType2", 0);
81  desc.add<double>("MinDphi", +1.0);
82  desc.add<double>("MaxDphi", -1.0);
83  desc.add<double>("MinDeta", +1.0);
84  desc.add<double>("MaxDeta", -1.0);
85  desc.add<double>("MinMinv", +1.0);
86  desc.add<double>("MaxMinv", -1.0);
87  desc.add<double>("MinDelR", +1.0);
88  desc.add<double>("MaxDelR", -1.0);
89  desc.add<double>("MinPt", +1.0);
90  desc.add<double>("MaxPt", -1.0);
91  desc.add<int>("MinN", 1);
93 }

References edm::ConfigurationDescriptions::add(), defaultModuleLabel(), submitPVResolutionJobs::desc, HLT_FULL_cff::InputTag, HLT_FULL_cff::originTag1, and HLT_FULL_cff::originTag2.

◆ hltFilter()

template<typename T1 , typename T2 >
bool HLTDoublet< T1, T2 >::hltFilter ( edm::Event iEvent,
const edm::EventSetup iSetup,
trigger::TriggerFilterObjectWithRefs filterproduct 
) const
overridevirtual

Implements HLTFilter.

Definition at line 101 of file HLTDoublet.cc.

103  {
104  using namespace std;
105  using namespace edm;
106  using namespace reco;
107  using namespace trigger;
108 
109  // All HLT filters must create and fill an HLT filter object,
110  // recording any reconstructed physics objects satisfying (or not)
111  // this HLT filter, and place it in the Event.
112 
113  bool accept(false);
114 
115  LogVerbatim("HLTDoublet") << " XXX " << moduleLabel() << " 0 " << std::endl;
116 
117  std::vector<T1Ref> coll1;
118  std::vector<T2Ref> coll2;
119 
120  // get hold of pre-filtered object collections
121  Handle<TriggerFilterObjectWithRefs> handle1, handle2;
122  if (iEvent.getByToken(inputToken1_, handle1) && iEvent.getByToken(inputToken2_, handle2)) {
123  handle1->getObjects(triggerType1_, coll1);
124  handle2->getObjects(triggerType2_, coll2);
125  const size_type n1(coll1.size());
126  const size_type n2(coll2.size());
127 
128  if (saveTags()) {
129  InputTag tagOld;
130  for (unsigned int i = 0; i < originTag1_.size(); ++i) {
131  filterproduct.addCollectionTag(originTag1_[i]);
132  LogVerbatim("HLTDoublet") << " XXX " << moduleLabel() << " 1a/" << i << " " << originTag1_[i].encode()
133  << std::endl;
134  }
135  tagOld = InputTag();
136  for (size_type i1 = 0; i1 != n1; ++i1) {
137  const ProductID pid(coll1[i1].id());
138  const auto& prov = iEvent.getStableProvenance(pid);
139  const string& label(prov.moduleLabel());
140  const string& instance(prov.productInstanceName());
141  const string& process(prov.processName());
143  if (tagOld.encode() != tagNew.encode()) {
144  filterproduct.addCollectionTag(tagNew);
145  tagOld = tagNew;
146  LogVerbatim("HLTDoublet") << " XXX " << moduleLabel() << " 1b " << tagNew.encode() << std::endl;
147  }
148  }
149  for (unsigned int i = 0; i < originTag2_.size(); ++i) {
150  filterproduct.addCollectionTag(originTag2_[i]);
151  LogVerbatim("HLTDoublet") << " XXX " << moduleLabel() << " 2a/" << i << " " << originTag2_[i].encode()
152  << std::endl;
153  }
154  tagOld = InputTag();
155  for (size_type i2 = 0; i2 != n2; ++i2) {
156  const ProductID pid(coll2[i2].id());
157  const auto& prov = iEvent.getStableProvenance(pid);
158  const string& label(prov.moduleLabel());
159  const string& instance(prov.productInstanceName());
160  const string& process(prov.processName());
162  if (tagOld.encode() != tagNew.encode()) {
163  filterproduct.addCollectionTag(tagNew);
164  tagOld = tagNew;
165  LogVerbatim("HLTDoublet") << " XXX " << moduleLabel() << " 2b " << tagNew.encode() << std::endl;
166  }
167  }
168  }
169 
170  int n(0);
171  T1Ref r1;
172  T2Ref r2;
174  for (unsigned int i1 = 0; i1 != n1; i1++) {
175  r1 = coll1[i1];
176  p1 = r1->p4();
177  unsigned int I(0);
178  if (same_) {
179  I = i1 + 1;
180  }
181  for (unsigned int i2 = I; i2 != n2; i2++) {
182  r2 = coll2[i2];
183  p2 = r2->p4();
184 
185  double Dphi(std::abs(p1.phi() - p2.phi()));
186  if (Dphi > M_PI)
187  Dphi = 2.0 * M_PI - Dphi;
188 
189  double Deta(std::abs(p1.eta() - p2.eta()));
190 
191  p = p1 + p2;
192  double Minv(std::abs(p.mass()));
193  double Pt(p.pt());
194 
195  double DelR(sqrt(Dphi * Dphi + Deta * Deta));
196 
197  if (((!cutdphi_) || ((min_Dphi_ <= Dphi) && (Dphi <= max_Dphi_))) &&
198  ((!cutdeta_) || ((min_Deta_ <= Deta) && (Deta <= max_Deta_))) &&
199  ((!cutminv_) || ((min_Minv_ <= Minv) && (Minv <= max_Minv_))) &&
200  ((!cutdelr_) || ((min_DelR_ <= DelR) && (DelR <= max_DelR_))) &&
201  ((!cutpt_) || ((min_Pt_ <= Pt) && (Pt <= max_Pt_)))) {
202  n++;
203  filterproduct.addObject(triggerType1_, r1);
204  filterproduct.addObject(triggerType2_, r2);
205  }
206  }
207  }
208  // filter decision
209  accept = (n >= min_N_);
210  }
211 
212  return accept;
213 }

References funct::abs(), accept(), trigger::TriggerFilterObjectWithRefs::addCollectionTag(), trigger::TriggerRefsCollections::addObject(), trigger::TriggerRefsCollections::getObjects(), Exhume::I, mps_fire::i, testProducerWithPsetDescEmpty_cfi::i1, testProducerWithPsetDescEmpty_cfi::i2, iEvent, HLT_FULL_cff::InputTag, instance, label, M_PI, HerwigMaxPtPartonFilter_cfi::moduleLabel, dqmiodumpmetadata::n, callgraph::n2, AlCaHLTBitMon_ParallelJobs::p, p1, p2, LaserDQM_cfg::process, diffTwoXMLs::r1, diffTwoXMLs::r2, BeamBkgSkim_cff::saveTags, and mathSSE::sqrt().

Member Data Documentation

◆ cutdelr_

template<typename T1 , typename T2 >
const bool HLTDoublet< T1, T2 >::cutdelr_
private

Definition at line 62 of file HLTDoublet.h.

Referenced by HLTDoublet< T1, T2 >::HLTDoublet().

◆ cutdeta_

template<typename T1 , typename T2 >
const bool HLTDoublet< T1, T2 >::cutdeta_
private

Definition at line 62 of file HLTDoublet.h.

Referenced by HLTDoublet< T1, T2 >::HLTDoublet().

◆ cutdphi_

template<typename T1 , typename T2 >
const bool HLTDoublet< T1, T2 >::cutdphi_
private

Definition at line 62 of file HLTDoublet.h.

Referenced by HLTDoublet< T1, T2 >::HLTDoublet().

◆ cutminv_

template<typename T1 , typename T2 >
const bool HLTDoublet< T1, T2 >::cutminv_
private

Definition at line 62 of file HLTDoublet.h.

Referenced by HLTDoublet< T1, T2 >::HLTDoublet().

◆ cutpt_

template<typename T1 , typename T2 >
const bool HLTDoublet< T1, T2 >::cutpt_
private

Definition at line 62 of file HLTDoublet.h.

Referenced by HLTDoublet< T1, T2 >::HLTDoublet().

◆ inputTag1_

template<typename T1 , typename T2 >
const edm::InputTag HLTDoublet< T1, T2 >::inputTag1_
private

Definition at line 47 of file HLTDoublet.h.

Referenced by HLTDoublet< T1, T2 >::HLTDoublet().

◆ inputTag2_

template<typename T1 , typename T2 >
const edm::InputTag HLTDoublet< T1, T2 >::inputTag2_
private

Definition at line 48 of file HLTDoublet.h.

Referenced by HLTDoublet< T1, T2 >::HLTDoublet().

◆ inputToken1_

template<typename T1 , typename T2 >
const edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> HLTDoublet< T1, T2 >::inputToken1_
private

Definition at line 49 of file HLTDoublet.h.

◆ inputToken2_

template<typename T1 , typename T2 >
const edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> HLTDoublet< T1, T2 >::inputToken2_
private

Definition at line 50 of file HLTDoublet.h.

◆ max_DelR_

template<typename T1 , typename T2 >
const double HLTDoublet< T1, T2 >::max_DelR_
private

Definition at line 56 of file HLTDoublet.h.

Referenced by HLTDoublet< T1, T2 >::HLTDoublet().

◆ max_Deta_

template<typename T1 , typename T2 >
const double HLTDoublet< T1, T2 >::max_Deta_
private

Definition at line 54 of file HLTDoublet.h.

Referenced by HLTDoublet< T1, T2 >::HLTDoublet().

◆ max_Dphi_

template<typename T1 , typename T2 >
const double HLTDoublet< T1, T2 >::max_Dphi_
private

Definition at line 53 of file HLTDoublet.h.

Referenced by HLTDoublet< T1, T2 >::HLTDoublet().

◆ max_Minv_

template<typename T1 , typename T2 >
const double HLTDoublet< T1, T2 >::max_Minv_
private

Definition at line 55 of file HLTDoublet.h.

Referenced by HLTDoublet< T1, T2 >::HLTDoublet().

◆ max_Pt_

template<typename T1 , typename T2 >
const double HLTDoublet< T1, T2 >::max_Pt_
private

Definition at line 57 of file HLTDoublet.h.

Referenced by HLTDoublet< T1, T2 >::HLTDoublet().

◆ min_DelR_

template<typename T1 , typename T2 >
const double HLTDoublet< T1, T2 >::min_DelR_
private

Definition at line 56 of file HLTDoublet.h.

Referenced by HLTDoublet< T1, T2 >::HLTDoublet().

◆ min_Deta_

template<typename T1 , typename T2 >
const double HLTDoublet< T1, T2 >::min_Deta_
private

Definition at line 54 of file HLTDoublet.h.

Referenced by HLTDoublet< T1, T2 >::HLTDoublet().

◆ min_Dphi_

template<typename T1 , typename T2 >
const double HLTDoublet< T1, T2 >::min_Dphi_
private

Definition at line 53 of file HLTDoublet.h.

Referenced by HLTDoublet< T1, T2 >::HLTDoublet().

◆ min_Minv_

template<typename T1 , typename T2 >
const double HLTDoublet< T1, T2 >::min_Minv_
private

Definition at line 55 of file HLTDoublet.h.

Referenced by HLTDoublet< T1, T2 >::HLTDoublet().

◆ min_N_

template<typename T1 , typename T2 >
const int HLTDoublet< T1, T2 >::min_N_
private

Definition at line 58 of file HLTDoublet.h.

Referenced by HLTDoublet< T1, T2 >::HLTDoublet().

◆ min_Pt_

template<typename T1 , typename T2 >
const double HLTDoublet< T1, T2 >::min_Pt_
private

Definition at line 57 of file HLTDoublet.h.

Referenced by HLTDoublet< T1, T2 >::HLTDoublet().

◆ originTag1_

template<typename T1 , typename T2 >
const std::vector<edm::InputTag> HLTDoublet< T1, T2 >::originTag1_
private

Definition at line 45 of file HLTDoublet.h.

◆ originTag2_

template<typename T1 , typename T2 >
const std::vector<edm::InputTag> HLTDoublet< T1, T2 >::originTag2_
private

Definition at line 46 of file HLTDoublet.h.

◆ same_

template<typename T1 , typename T2 >
const bool HLTDoublet< T1, T2 >::same_
private

Definition at line 61 of file HLTDoublet.h.

Referenced by HLTDoublet< T1, T2 >::HLTDoublet().

◆ triggerType1_

template<typename T1 , typename T2 >
const int HLTDoublet< T1, T2 >::triggerType1_
private

Definition at line 51 of file HLTDoublet.h.

Referenced by HLTDoublet< T1, T2 >::HLTDoublet().

◆ triggerType2_

template<typename T1 , typename T2 >
const int HLTDoublet< T1, T2 >::triggerType2_
private

Definition at line 52 of file HLTDoublet.h.

Referenced by HLTDoublet< T1, T2 >::HLTDoublet().

trigger::TriggerRefsCollections::addObject
void addObject(int id, const reco::RecoEcalCandidateRef &ref)
setters for L3 collections: (id=physics type, and Ref<C>)
Definition: TriggerRefsCollections.h:299
HLTDoublet::min_Minv_
const double min_Minv_
Definition: HLTDoublet.h:55
testProducerWithPsetDescEmpty_cfi.i2
i2
Definition: testProducerWithPsetDescEmpty_cfi.py:46
mps_fire.i
i
Definition: mps_fire.py:428
HLTDoublet::min_N_
const int min_N_
Definition: HLTDoublet.h:58
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
edm
HLT enums.
Definition: AlignableModifier.h:19
testProducerWithPsetDescEmpty_cfi.i1
i1
Definition: testProducerWithPsetDescEmpty_cfi.py:45
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89301
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
trigger::TriggerFilterObjectWithRefs::addCollectionTag
void addCollectionTag(const edm::InputTag &collectionTag)
collectionTags
Definition: TriggerFilterObjectWithRefs.h:55
HLTDoublet::inputTag1_
const edm::InputTag inputTag1_
Definition: HLTDoublet.h:47
HLTDoublet::min_DelR_
const double min_DelR_
Definition: HLTDoublet.h:56
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:46
edm::Handle
Definition: AssociativeIterator.h:50
HLTFilter::HLTFilter
HLTFilter(const edm::ParameterSet &config)
Definition: HLTFilter.cc:20
trigger::TriggerRefsCollections::getObjects
void getObjects(Vids &ids, VRphoton &refs) const
various physics-level getters:
Definition: TriggerRefsCollections.h:590
HLTDoublet
Definition: HLTDoublet.h:34
accept
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:31
HLTDoublet::inputToken1_
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
Definition: HLTDoublet.h:49
trigger::size_type
uint16_t size_type
Definition: TriggerTypeDefs.h:18
Exhume::I
const std::complex< double > I
Definition: I.h:8
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
p2
double p2[4]
Definition: TauolaWrapper.h:90
callgraph.n2
n2
Definition: callgraph.py:50
HLTFilter::moduleLabel
const std::string * moduleLabel() const
Definition: HLTFilter.cc:61
HLTDoublet::T1Ref
edm::Ref< T1Collection > T1Ref
Definition: HLTDoublet.h:66
HLTDoublet::max_Pt_
const double max_Pt_
Definition: HLTDoublet.h:57
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:233
HLTFilter::saveTags
bool saveTags() const
Definition: HLTFilter.h:46
AlCaHLTBitMon_ParallelJobs.p
def p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
defaultModuleLabel
std::string defaultModuleLabel()
Definition: defaultModuleLabel.h:16
HLTDoublet::inputToken2_
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
Definition: HLTDoublet.h:50
LaserDQM_cfg.process
process
Definition: LaserDQM_cfg.py:3
diffTwoXMLs.r2
r2
Definition: diffTwoXMLs.py:73
iEvent
int iEvent
Definition: GenABIO.cc:224
M_PI
#define M_PI
Definition: BXVectorInputProducer.cc:49
p1
double p1[4]
Definition: TauolaWrapper.h:89
edm::InputTag::encode
std::string encode() const
Definition: InputTag.cc:159
HLTDoublet::cutdelr_
const bool cutdelr_
Definition: HLTDoublet.h:62
instance
static PFTauRenderPlugin instance
Definition: PFTauRenderPlugin.cc:70
reco::JetExtendedAssociation::LorentzVector
math::PtEtaPhiELorentzVectorF LorentzVector
Definition: JetExtendedAssociation.h:25
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
std
Definition: JetResolutionObject.h:76
HLTDoublet::triggerType1_
const int triggerType1_
Definition: HLTDoublet.h:51
diffTwoXMLs.r1
r1
Definition: diffTwoXMLs.py:53
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
HLTDoublet::cutdeta_
const bool cutdeta_
Definition: HLTDoublet.h:62
HLT_FULL_cff.originTag2
originTag2
Definition: HLT_FULL_cff.py:19417
HLTDoublet::min_Dphi_
const double min_Dphi_
Definition: HLTDoublet.h:53
HLTDoublet::same_
const bool same_
Definition: HLTDoublet.h:61
HLTDoublet::max_Minv_
const double max_Minv_
Definition: HLTDoublet.h:55
HLTDoublet::cutpt_
const bool cutpt_
Definition: HLTDoublet.h:62
HLTDoublet::originTag2_
const std::vector< edm::InputTag > originTag2_
Definition: HLTDoublet.h:46
HLTFilter::makeHLTFilterDescription
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
Definition: HLTFilter.cc:25
HLTDoublet::originTag1_
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoublet.h:45
trigger
Definition: HLTPrescaleTableCond.h:8
HLT_FULL_cff.originTag1
originTag1
Definition: HLT_FULL_cff.py:19416
HLTDoublet::cutminv_
const bool cutminv_
Definition: HLTDoublet.h:62
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
HLTDoublet::min_Pt_
const double min_Pt_
Definition: HLTDoublet.h:57
HLTDoublet::max_DelR_
const double max_DelR_
Definition: HLTDoublet.h:56
HLTDoublet::max_Deta_
const double max_Deta_
Definition: HLTDoublet.h:54
HLTDoublet::min_Deta_
const double min_Deta_
Definition: HLTDoublet.h:54
HLTDoublet::T2Ref
edm::Ref< T2Collection > T2Ref
Definition: HLTDoublet.h:68
edm::InputTag
Definition: InputTag.h:15
label
const char * label
Definition: PFTauDecayModeTools.cc:11
edm::ProductID
Definition: ProductID.h:27
HLTDoublet::inputTag2_
const edm::InputTag inputTag2_
Definition: HLTDoublet.h:48
HLTDoublet::triggerType2_
const int triggerType2_
Definition: HLTDoublet.h:52
HLTDoublet::max_Dphi_
const double max_Dphi_
Definition: HLTDoublet.h:53
HLTDoublet::cutdphi_
const bool cutdphi_
Definition: HLTDoublet.h:62