CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
egHLT::EgObjTrigCut< T > Struct Template Reference

#include <EgHLTDQMCut.h>

Inheritance diagram for egHLT::EgObjTrigCut< T >:
egHLT::EgHLTDQMCut< T >

Public Types

enum  CutLogic { AND, OR }
 

Public Member Functions

EgHLTDQMCut< T > * clone () const override
 
 EgObjTrigCut (TrigCodes::TrigBitSet bitsToPass, CutLogic passLogic=OR, TrigCodes::TrigBitSet bitsToFail=TrigCodes::TrigBitSet(), CutLogic failLogic=AND)
 
bool pass (const T &obj, const OffEvt &evt) const override
 
 ~EgObjTrigCut () override=default
 
- Public Member Functions inherited from egHLT::EgHLTDQMCut< T >
 EgHLTDQMCut ()=default
 
virtual ~EgHLTDQMCut ()=default
 

Private Attributes

TrigCodes::TrigBitSet bitsToFail_
 
TrigCodes::TrigBitSet bitsToPass_
 
CutLogic failLogic_
 
CutLogic passLogic_
 

Additional Inherited Members

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

Detailed Description

template<class T>
struct egHLT::EgObjTrigCut< T >

Definition at line 166 of file EgHLTDQMCut.h.

Member Enumeration Documentation

template<class T >
enum egHLT::EgObjTrigCut::CutLogic
Enumerator
AND 
OR 

Definition at line 168 of file EgHLTDQMCut.h.

Constructor & Destructor Documentation

template<class T >
egHLT::EgObjTrigCut< T >::EgObjTrigCut ( TrigCodes::TrigBitSet  bitsToPass,
CutLogic  passLogic = OR,
TrigCodes::TrigBitSet  bitsToFail = TrigCodes::TrigBitSet(),
CutLogic  failLogic = AND 
)
inline

Definition at line 178 of file EgHLTDQMCut.h.

References hgcalPlots::obj, and egHLT::EgHLTDQMCut< T >::pass().

178  :
179  bitsToPass_(bitsToPass),passLogic_(passLogic),bitsToFail_(bitsToFail),failLogic_(failLogic){}
TrigCodes::TrigBitSet bitsToFail_
Definition: EgHLTDQMCut.h:174
TrigCodes::TrigBitSet bitsToPass_
Definition: EgHLTDQMCut.h:172
template<class T >
egHLT::EgObjTrigCut< T >::~EgObjTrigCut ( )
overridedefault

Member Function Documentation

template<class T >
EgHLTDQMCut<T>* egHLT::EgObjTrigCut< T >::clone ( void  ) const
inlineoverridevirtual

Implements egHLT::EgHLTDQMCut< T >.

Definition at line 183 of file EgHLTDQMCut.h.

183 {return new EgObjTrigCut(*this);}
EgObjTrigCut(TrigCodes::TrigBitSet bitsToPass, CutLogic passLogic=OR, TrigCodes::TrigBitSet bitsToFail=TrigCodes::TrigBitSet(), CutLogic failLogic=AND)
Definition: EgHLTDQMCut.h:178
template<class T >
bool egHLT::EgObjTrigCut< T >::pass ( const T obj,
const OffEvt evt 
) const
overridevirtual

Implements egHLT::EgHLTDQMCut< T >.

Definition at line 186 of file EgHLTDQMCut.h.

References reco::tau::qcuts::AND().

187  {
188  TrigCodes::TrigBitSet passMasked = bitsToPass_&obj.trigBits();
189  TrigCodes::TrigBitSet failMasked = bitsToFail_&obj.trigBits();
190 
191  bool passResult = passLogic_==AND ? passMasked==bitsToPass_ : passMasked!=0x0;
192  bool failResult = failLogic_==AND ? failMasked==bitsToFail_ : failMasked!=0x0;
193  if(bitsToFail_==0x0) failResult=false; //ensuring it has no effect if bits not specified
194  return passResult && !failResult;
195 
196  }
TrigCodes::TrigBitSet bitsToFail_
Definition: EgHLTDQMCut.h:174
TrigCodes::TrigBitSet bitsToPass_
Definition: EgHLTDQMCut.h:172
std::bitset< maxNrBits_ > TrigBitSet

Member Data Documentation

template<class T >
TrigCodes::TrigBitSet egHLT::EgObjTrigCut< T >::bitsToFail_
private

Definition at line 174 of file EgHLTDQMCut.h.

template<class T >
TrigCodes::TrigBitSet egHLT::EgObjTrigCut< T >::bitsToPass_
private

Definition at line 172 of file EgHLTDQMCut.h.

template<class T >
CutLogic egHLT::EgObjTrigCut< T >::failLogic_
private

Definition at line 175 of file EgHLTDQMCut.h.

template<class T >
CutLogic egHLT::EgObjTrigCut< T >::passLogic_
private

Definition at line 173 of file EgHLTDQMCut.h.