CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Attributes
egHLT::EgDiEleUserCut< Key > Struct Template Reference

#include <EgHLTDQMCut.h>

Inheritance diagram for egHLT::EgDiEleUserCut< Key >:
egHLT::EgHLTDQMCut< OffEle >

Public Member Functions

EgHLTDQMCut< OffEle > * clone () const override
 
 EgDiEleUserCut (int(OffEle::*cutCodeFunc)(const Key &) const, const Key &key, int cutsNotToMask=~0x0)
 
bool pass (const OffEle &obj, const OffEvt &evt) const override
 
 ~EgDiEleUserCut () override=default
 
- Public Member Functions inherited from egHLT::EgHLTDQMCut< OffEle >
 EgHLTDQMCut ()=default
 
virtual ~EgHLTDQMCut ()=default
 

Private Attributes

int(OffEle::* cutCodeFunc_ )(const Key &) const
 
int cutsNotToMask_
 
const Keykey_
 

Additional Inherited Members

- Protected Member Functions inherited from egHLT::EgHLTDQMCut< OffEle >
 EgHLTDQMCut (const EgHLTDQMCut &rhs)=default
 

Detailed Description

template<class Key>
struct egHLT::EgDiEleUserCut< Key >

Definition at line 404 of file EgHLTDQMCut.h.

Constructor & Destructor Documentation

template<class Key>
egHLT::EgDiEleUserCut< Key >::EgDiEleUserCut ( int(OffEle::*)(const Key &) const  cutCodeFunc,
const Key key,
int  cutsNotToMask = ~0x0 
)
inline

Definition at line 411 of file EgHLTDQMCut.h.

Referenced by egHLT::EgDiEleUserCut< Key >::clone().

412  : cutCodeFunc_(cutCodeFunc), key_(key), cutsNotToMask_(cutsNotToMask) {}
int(OffEle::* cutCodeFunc_)(const Key &) const
Definition: EgHLTDQMCut.h:406
template<class Key>
egHLT::EgDiEleUserCut< Key >::~EgDiEleUserCut ( )
overridedefault

Member Function Documentation

template<class Key>
EgHLTDQMCut<OffEle>* egHLT::EgDiEleUserCut< Key >::clone ( void  ) const
inlineoverridevirtual

Implements egHLT::EgHLTDQMCut< OffEle >.

Definition at line 416 of file EgHLTDQMCut.h.

References egHLT::EgDiEleUserCut< Key >::EgDiEleUserCut().

416  {
417  return new EgDiEleUserCut(*this);
418  } //default copy constructor is fine
EgDiEleUserCut(int(OffEle::*cutCodeFunc)(const Key &) const, const Key &key, int cutsNotToMask=~0x0)
Definition: EgHLTDQMCut.h:411
template<class Key >
bool egHLT::EgDiEleUserCut< Key >::pass ( const OffEle obj,
const OffEvt evt 
) const
overridevirtual

Implements egHLT::EgHLTDQMCut< OffEle >.

Definition at line 422 of file EgHLTDQMCut.h.

References egHLT::OffEvt::eles().

422  {
423  const std::vector<OffEle>& eles = evt.eles();
424  for (const auto& ele : eles) {
425  if (&ele != &obj) { //different electrons
426  int diEleCutCode = (obj.*cutCodeFunc_)(key_) | (ele.*cutCodeFunc_)(key_);
427  if ((diEleCutCode & cutsNotToMask_) == 0x0)
428  return true;
429  }
430  }
431  return false;
432  }
int(OffEle::* cutCodeFunc_)(const Key &) const
Definition: EgHLTDQMCut.h:406

Member Data Documentation

template<class Key>
int(OffEle::* egHLT::EgDiEleUserCut< Key >::cutCodeFunc_)(const Key &) const
private

Definition at line 406 of file EgHLTDQMCut.h.

template<class Key>
int egHLT::EgDiEleUserCut< Key >::cutsNotToMask_
private

Definition at line 408 of file EgHLTDQMCut.h.

template<class Key>
const Key& egHLT::EgDiEleUserCut< Key >::key_
private

Definition at line 407 of file EgHLTDQMCut.h.