CMS 3D CMS Logo

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 >

List of all members.

Public Types

enum  CutLogic { AND, OR }

Public Member Functions

EgHLTDQMCut< T > * clone () const
 EgObjTrigCut (TrigCodes::TrigBitSet bitsToPass, CutLogic passLogic=OR, TrigCodes::TrigBitSet bitsToFail=TrigCodes::TrigBitSet(), CutLogic failLogic=AND)
bool pass (const T &obj, const OffEvt &evt) const
 ~EgObjTrigCut ()

Private Attributes

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

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.

{AND,OR};

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.

Referenced by egHLT::EgObjTrigCut< T >::clone().

                                                                                                                                                   :
      bitsToPass_(bitsToPass),passLogic_(passLogic),bitsToFail_(bitsToFail),failLogic_(failLogic){}
template<class T>
egHLT::EgObjTrigCut< T >::~EgObjTrigCut ( ) [inline]

Definition at line 180 of file EgHLTDQMCut.h.

{}

Member Function Documentation

template<class T>
EgHLTDQMCut<T>* egHLT::EgObjTrigCut< T >::clone ( void  ) const [inline, virtual]

Implements egHLT::EgHLTDQMCut< T >.

Definition at line 183 of file EgHLTDQMCut.h.

References egHLT::EgObjTrigCut< T >::EgObjTrigCut().

{return new EgObjTrigCut(*this);}
template<class T >
bool egHLT::EgObjTrigCut< T >::pass ( const T obj,
const OffEvt evt 
) const [virtual]

Implements egHLT::EgHLTDQMCut< T >.

Definition at line 186 of file EgHLTDQMCut.h.

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

    {
      TrigCodes::TrigBitSet passMasked = bitsToPass_&obj.trigBits();
      TrigCodes::TrigBitSet failMasked = bitsToFail_&obj.trigBits();
    
      bool passResult = passLogic_==AND ? passMasked==bitsToPass_ : passMasked!=0x0;
      bool failResult = failLogic_==AND ? failMasked==bitsToFail_ : failMasked!=0x0;
      if(bitsToFail_==0x0) failResult=false; //ensuring it has no effect if bits not specified
      return passResult && !failResult;
    
    }

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.