CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 &)
 
virtual bool hltFilter (edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) const override
 
 ~HLTDoublet ()
 
- 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
 
virtual ~HLTFilter ()
 
- Public Member Functions inherited from edm::global::EDFilter<>
 EDFilter ()=default
 
- Public Member Functions inherited from edm::global::EDFilterBase
 EDFilterBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDFilterBase ()
 
- Public Member Functions inherited from edm::ProducerBase
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

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::TriggerFilterObjectWithRefs
inputToken1_
 
const edm::EDGetTokenT
< trigger::TriggerFilterObjectWithRefs
inputToken2_
 
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
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Protected Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
- 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

template<typename T1, typename T2>
class HLTDoublet< T1, T2 >

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

See header file for documentation

Author
Martin Grunewald

Definition at line 34 of file HLTDoublet.h.

Member Typedef Documentation

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

Definition at line 65 of file HLTDoublet.h.

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

Definition at line 66 of file HLTDoublet.h.

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

Definition at line 67 of file HLTDoublet.h.

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

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

Definition at line 28 of file HLTDoublet.cc.

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_.

28  : HLTFilter(iConfig),
29  originTag1_(iConfig.template getParameter<std::vector<edm::InputTag> >("originTag1")),
30  originTag2_(iConfig.template getParameter<std::vector<edm::InputTag> >("originTag2")),
31  inputTag1_(iConfig.template getParameter<edm::InputTag>("inputTag1")),
32  inputTag2_(iConfig.template getParameter<edm::InputTag>("inputTag2")),
33  inputToken1_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag1_)),
34  inputToken2_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag2_)),
35  triggerType1_(iConfig.template getParameter<int>("triggerType1")),
36  triggerType2_(iConfig.template getParameter<int>("triggerType2")),
37  min_Dphi_ (iConfig.template getParameter<double>("MinDphi")),
38  max_Dphi_ (iConfig.template getParameter<double>("MaxDphi")),
39  min_Deta_ (iConfig.template getParameter<double>("MinDeta")),
40  max_Deta_ (iConfig.template getParameter<double>("MaxDeta")),
41  min_Minv_ (iConfig.template getParameter<double>("MinMinv")),
42  max_Minv_ (iConfig.template getParameter<double>("MaxMinv")),
43  min_DelR_ (iConfig.template getParameter<double>("MinDelR")),
44  max_DelR_ (iConfig.template getParameter<double>("MaxDelR")),
45  min_Pt_ (iConfig.template getParameter<double>("MinPt")),
46  max_Pt_ (iConfig.template getParameter<double>("MaxPt")),
47  min_N_ (iConfig.template getParameter<int>("MinN")),
48  same_ (inputTag1_.encode() == inputTag2_.encode()), // same collections to be compared?
49  cutdphi_ (min_Dphi_ <= max_Dphi_), // cut active?
50  cutdeta_ (min_Deta_ <= max_Deta_), // cut active?
51  cutminv_ (min_Minv_ <= max_Minv_), // cut active?
52  cutdelr_ (min_DelR_ <= max_DelR_), // cut active?
53  cutpt_ (min_Pt_ <= max_Pt_ ) // cut active?
54 {
55  LogDebug("") << "InputTags and cuts : "
56  << inputTag1_.encode() << " " << inputTag2_.encode()
57  << triggerType1_ << " " << triggerType2_
58  << " 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_
64  << " same/dphi/deta/minv/delr/pt "
65  << same_
66  << cutdphi_ << cutdeta_ << cutminv_ << cutdelr_ << cutpt_;
67 }
#define LogDebug(id)
const edm::InputTag inputTag2_
Definition: HLTDoublet.h:48
const double min_Pt_
Definition: HLTDoublet.h:57
const double min_Deta_
Definition: HLTDoublet.h:54
const bool same_
Definition: HLTDoublet.h:61
const bool cutpt_
Definition: HLTDoublet.h:62
const double min_Dphi_
Definition: HLTDoublet.h:53
const edm::InputTag inputTag1_
Definition: HLTDoublet.h:47
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
Definition: HLTDoublet.h:49
const double min_Minv_
Definition: HLTDoublet.h:55
const double max_Deta_
Definition: HLTDoublet.h:54
std::string encode() const
Definition: InputTag.cc:164
const int triggerType2_
Definition: HLTDoublet.h:52
const bool cutdphi_
Definition: HLTDoublet.h:62
const double min_DelR_
Definition: HLTDoublet.h:56
const bool cutdelr_
Definition: HLTDoublet.h:62
const int min_N_
Definition: HLTDoublet.h:58
const double max_Minv_
Definition: HLTDoublet.h:55
HLTFilter(const edm::ParameterSet &config)
Definition: HLTFilter.cc:20
const double max_DelR_
Definition: HLTDoublet.h:56
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
Definition: HLTDoublet.h:50
const double max_Pt_
Definition: HLTDoublet.h:57
const std::vector< edm::InputTag > originTag2_
Definition: HLTDoublet.h:46
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoublet.h:45
const int triggerType1_
Definition: HLTDoublet.h:51
const bool cutminv_
Definition: HLTDoublet.h:62
const double max_Dphi_
Definition: HLTDoublet.h:53
const bool cutdeta_
Definition: HLTDoublet.h:62
template<typename T1 , typename T2 >
HLTDoublet< T1, T2 >::~HLTDoublet ( )

Definition at line 70 of file HLTDoublet.cc.

71 {
72 }

Member Function Documentation

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

Definition at line 75 of file HLTDoublet.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), mergeVDriftHistosByStation::name, and AlCaHLTBitMon_QueryRunRegistry::string.

75  {
78  std::vector<edm::InputTag> originTag1(1,edm::InputTag("hltOriginal1"));
79  std::vector<edm::InputTag> originTag2(1,edm::InputTag("hltOriginal2"));
80  desc.add<std::vector<edm::InputTag> >("originTag1",originTag1);
81  desc.add<std::vector<edm::InputTag> >("originTag2",originTag2);
82  desc.add<edm::InputTag>("inputTag1",edm::InputTag("hltFiltered1"));
83  desc.add<edm::InputTag>("inputTag2",edm::InputTag("hltFiltered22"));
84  desc.add<int>("triggerType1",0);
85  desc.add<int>("triggerType2",0);
86  desc.add<double>("MinDphi",+1.0);
87  desc.add<double>("MaxDphi",-1.0);
88  desc.add<double>("MinDeta",+1.0);
89  desc.add<double>("MaxDeta",-1.0);
90  desc.add<double>("MinMinv",+1.0);
91  desc.add<double>("MaxMinv",-1.0);
92  desc.add<double>("MinDelR",+1.0);
93  desc.add<double>("MaxDelR",-1.0);
94  desc.add<double>("MinPt" ,+1.0);
95  desc.add<double>("MaxPt" ,-1.0);
96  desc.add<int>("MinN",1);
97  descriptions.add(std::string("hlt")+std::string(typeid(HLTDoublet<T1,T2>).name()),desc);
98 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
Definition: HLTFilter.cc:29
void add(std::string const &label, ParameterSetDescription const &psetDescription)
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 107 of file HLTDoublet.cc.

References funct::abs(), accept(), trigger::TriggerFilterObjectWithRefs::addCollectionTag(), trigger::TriggerRefsCollections::addObject(), edm::InputTag::encode(), edm::Event::getByToken(), edm::Event::getProvenance(), Exhume::I, i, instance, diffTwoXMLs::label, M_PI, edm::Provenance::moduleLabel(), n, AlCaHLTBitMon_ParallelJobs::p, p1, p2, sysUtil::pid, LaserDQM_cfg::process, edm::Provenance::processName(), edm::Provenance::productInstanceName(), reco::tau::disc::Pt(), diffTwoXMLs::r1, diffTwoXMLs::r2, dt_dqm_sourceclient_common_cff::reco, CommPDSkim_cfg::saveTags, and mathSSE::sqrt().

108 {
109  using namespace std;
110  using namespace edm;
111  using namespace reco;
112  using namespace trigger;
113 
114  // All HLT filters must create and fill an HLT filter object,
115  // recording any reconstructed physics objects satisfying (or not)
116  // this HLT filter, and place it in the Event.
117 
118  bool accept(false);
119 
120  LogVerbatim("HLTDoublet") << " XXX " << moduleLabel() << " 0 " << std::endl;
121 
122  std::vector<T1Ref> coll1;
123  std::vector<T2Ref> coll2;
124 
125  // get hold of pre-filtered object collections
126  Handle<TriggerFilterObjectWithRefs> handle1, handle2;
127  if (iEvent.getByToken(inputToken1_,handle1) && iEvent.getByToken(inputToken2_,handle2)) {
128  handle1->getObjects(triggerType1_, coll1);
129  handle2->getObjects(triggerType2_, coll2);
130  const size_type n1(coll1.size());
131  const size_type n2(coll2.size());
132 
133  if (saveTags()) {
134  InputTag tagOld;
135  for (unsigned int i=0; i<originTag1_.size(); ++i) {
136  filterproduct.addCollectionTag(originTag1_[i]);
137  LogVerbatim("HLTDoublet") << " XXX " << moduleLabel() << " 1a/" << i << " " << originTag1_[i].encode() << std::endl;
138  }
139  tagOld=InputTag();
140  for (size_type i1=0; i1!=n1; ++i1) {
141  const ProductID pid(coll1[i1].id());
142  const string& label(iEvent.getProvenance(pid).moduleLabel());
143  const string& instance(iEvent.getProvenance(pid).productInstanceName());
144  const string& process(iEvent.getProvenance(pid).processName());
146  if (tagOld.encode()!=tagNew.encode()) {
147  filterproduct.addCollectionTag(tagNew);
148  tagOld=tagNew;
149  LogVerbatim("HLTDoublet") << " XXX " << moduleLabel() << " 1b " << tagNew.encode() << std::endl;
150  }
151  }
152  for (unsigned int i=0; i<originTag2_.size(); ++i) {
153  filterproduct.addCollectionTag(originTag2_[i]);
154  LogVerbatim("HLTDoublet") << " XXX " << moduleLabel() << " 2a/" << i << " " << originTag2_[i].encode() << std::endl;
155  }
156  tagOld=InputTag();
157  for (size_type i2=0; i2!=n2; ++i2) {
158  const ProductID pid(coll2[i2].id());
159  const string& label(iEvent.getProvenance(pid).moduleLabel());
160  const string& instance(iEvent.getProvenance(pid).productInstanceName());
161  const string& process(iEvent.getProvenance(pid).processName());
163  if (tagOld.encode()!=tagNew.encode()) {
164  filterproduct.addCollectionTag(tagNew);
165  tagOld=tagNew;
166  LogVerbatim("HLTDoublet") << " XXX " << moduleLabel() << " 2b " << tagNew.encode() << std::endl;
167  }
168  }
169  }
170 
171  int n(0);
172  T1Ref r1;
173  T2Ref r2;
175  for (unsigned int i1=0; i1!=n1; i1++) {
176  r1=coll1[i1];
177  p1=r1->p4();
178  unsigned int I(0);
179  if (same_) {I=i1+1;}
180  for (unsigned int i2=I; i2!=n2; i2++) {
181  r2=coll2[i2];
182  p2=r2->p4();
183 
184  double Dphi(std::abs(p1.phi()-p2.phi()));
185  if (Dphi>M_PI) Dphi=2.0*M_PI-Dphi;
186 
187  double Deta(std::abs(p1.eta()-p2.eta()));
188 
189  p=p1+p2;
190  double Minv(std::abs(p.mass()));
191  double Pt(p.pt());
192 
193  double DelR(sqrt(Dphi*Dphi+Deta*Deta));
194 
195  if ( ( (!cutdphi_) || ((min_Dphi_<=Dphi) && (Dphi<=max_Dphi_)) ) &&
196  ( (!cutdeta_) || ((min_Deta_<=Deta) && (Deta<=max_Deta_)) ) &&
197  ( (!cutminv_) || ((min_Minv_<=Minv) && (Minv<=max_Minv_)) ) &&
198  ( (!cutdelr_) || ((min_DelR_<=DelR) && (DelR<=max_DelR_)) ) &&
199  ( (!cutpt_ ) || ((min_Pt_ <=Pt ) && (Pt <=max_Pt_ )) ) ) {
200  n++;
201  filterproduct.addObject(triggerType1_,r1);
202  filterproduct.addObject(triggerType2_,r2);
203  }
204 
205  }
206  }
207  // filter decision
208  accept = (n>=min_N_);
209  }
210 
211  return accept;
212 }
int i
Definition: DBlmapReader.cc:9
const double min_Pt_
Definition: HLTDoublet.h:57
const double min_Deta_
Definition: HLTDoublet.h:54
const bool same_
Definition: HLTDoublet.h:61
const bool cutpt_
Definition: HLTDoublet.h:62
static PFTauRenderPlugin instance
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:434
edm::Ref< T2Collection > T2Ref
Definition: HLTDoublet.h:68
const double min_Dphi_
Definition: HLTDoublet.h:53
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
Definition: HLTDoublet.h:49
const double min_Minv_
Definition: HLTDoublet.h:55
const double max_Deta_
Definition: HLTDoublet.h:54
std::string const & processName() const
Definition: Provenance.h:61
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:26
uint16_t size_type
std::string encode() const
Definition: InputTag.cc:164
void addObject(int id, const reco::RecoEcalCandidateRef &ref)
setters for L3 collections: (id=physics type, and Ref&lt;C&gt;)
const int triggerType2_
Definition: HLTDoublet.h:52
edm::Ref< T1Collection > T1Ref
Definition: HLTDoublet.h:66
const bool cutdphi_
Definition: HLTDoublet.h:62
T sqrt(T t)
Definition: SSEVec.h:48
const double min_DelR_
Definition: HLTDoublet.h:56
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
const bool cutdelr_
Definition: HLTDoublet.h:62
const std::complex< double > I
Definition: I.h:8
const int min_N_
Definition: HLTDoublet.h:58
const double max_Minv_
Definition: HLTDoublet.h:55
const std::string * moduleLabel() const
Definition: HLTFilter.cc:67
double p2[4]
Definition: TauolaWrapper.h:90
#define M_PI
const double max_DelR_
Definition: HLTDoublet.h:56
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
Definition: HLTDoublet.h:50
tuple pid
Definition: sysUtil.py:22
const double max_Pt_
Definition: HLTDoublet.h:57
void addCollectionTag(const edm::InputTag &collectionTag)
collectionTags
std::string const & moduleLabel() const
Definition: Provenance.h:60
bool saveTags() const
Definition: HLTFilter.h:45
double p1[4]
Definition: TauolaWrapper.h:89
const std::vector< edm::InputTag > originTag2_
Definition: HLTDoublet.h:46
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoublet.h:45
const int triggerType1_
Definition: HLTDoublet.h:51
const bool cutminv_
Definition: HLTDoublet.h:62
const double max_Dphi_
Definition: HLTDoublet.h:53
std::string const & productInstanceName() const
Definition: Provenance.h:62
tuple process
Definition: LaserDQM_cfg.py:3
Provenance getProvenance(BranchID const &theID) const
Definition: Event.cc:76
const bool cutdeta_
Definition: HLTDoublet.h:62
math::PtEtaPhiELorentzVectorF LorentzVector

Member Data Documentation

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().

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().

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().

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().

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().

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().

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().

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

Definition at line 49 of file HLTDoublet.h.

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

Definition at line 50 of file HLTDoublet.h.

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().

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().

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().

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().

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().

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().

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().

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().

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().

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().

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().

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

Definition at line 45 of file HLTDoublet.h.

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

Definition at line 46 of file HLTDoublet.h.

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().

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().

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().