CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
HLTBeamModeFilter Class Reference

#include <HLTBeamModeFilter.h>

Inheritance diagram for HLTBeamModeFilter:
HLTFilter edm::EDFilter edm::ProducerBase edm::ProductRegistryHelper

Public Member Functions

 HLTBeamModeFilter (const edm::ParameterSet &)
 constructor More...
 
virtual bool hltFilter (edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct)
 filter the event More...
 
virtual ~HLTBeamModeFilter ()
 destructor More...
 
- Public Member Functions inherited from HLTFilter
 HLTFilter (const edm::ParameterSet &config)
 
int module () const
 
const std::string * moduleLabel () const
 
int path () const
 
const std::string * pathName () const
 
std::pair< int, int > pmid () const
 
bool saveTags () const
 
virtual ~HLTFilter ()
 
- Public Member Functions inherited from edm::EDFilter
 EDFilter ()
 
virtual ~EDFilter ()
 
- Public Member Functions inherited from edm::ProducerBase
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
boost::function< void(const
BranchDescription &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 

Private Attributes

std::vector< unsigned int > m_allowedBeamMode
 vector of beam modes (coded as integer numbers) More...
 
bool m_isDebugEnabled
 cache edm::isDebugEnabled() More...
 
edm::InputTag m_l1GtEvmReadoutRecordTag
 InputTag for the L1 Global Trigger EVM readout record. More...
 

Additional Inherited Members

- Public Types inherited from edm::EDFilter
typedef EDFilter ModuleType
 
typedef WorkerT< EDFilterWorkerType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Static Public Member Functions inherited from HLTFilter
static void makeHLTFilterDescription (edm::ParameterSetDescription &desc)
 
- Static Public Member Functions inherited from edm::EDFilter
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from edm::EDFilter
CurrentProcessingContext const * currentContext () const
 
- Protected Member Functions inherited from edm::ProducerBase
template<class TProducer , class TMethod >
void callWhenNewProductsRegistered (TProducer *iProd, TMethod iMethod)
 

Detailed Description

Description: filter according to the beam mode using the BST information received by L1 GT.

Implementation: This class is an HLTFilter (-> EDFilter). It implements:

Author
: Vasile Mihai Ghete - HEPHY Vienna

$Date$ $Revision$

Description: see class header.

Author
: Vasile Mihai Ghete - HEPHY Vienna

$Date$ $Revision$

Definition at line 37 of file HLTBeamModeFilter.h.

Constructor & Destructor Documentation

HLTBeamModeFilter::HLTBeamModeFilter ( const edm::ParameterSet parSet)
explicit

constructor

Definition at line 39 of file HLTBeamModeFilter.cc.

References LogDebug, LogTrace, m_allowedBeamMode, m_isDebugEnabled, and m_l1GtEvmReadoutRecordTag.

39  : HLTFilter(parSet),
40 
42  "L1GtEvmReadoutRecordTag")),
43  m_allowedBeamMode(parSet.getParameter<std::vector<unsigned int> >(
44  "AllowedBeamMode")),
46 
47  if (m_isDebugEnabled) {
48 
49  LogDebug("HLTBeamModeFilter") << std::endl;
50 
51  LogTrace("HLTBeamModeFilter") << "Input tag for L1 GT EVM record: "
52  << m_l1GtEvmReadoutRecordTag << "\nAllowed beam modes:"
53  << std::endl;
54 
55  for (std::vector<unsigned int>::const_iterator itMode =
56  m_allowedBeamMode.begin(); itMode != m_allowedBeamMode.end(); ++itMode) {
57 
58  LogTrace("HLTBeamModeFilter") << " " << (*itMode) << std::endl;
59 
60  }
61 
62  LogTrace("HLTBeamModeFilter") << std::endl;
63 
64  }
65 }
#define LogDebug(id)
T getParameter(std::string const &) const
bool isDebugEnabled()
std::vector< unsigned int > m_allowedBeamMode
vector of beam modes (coded as integer numbers)
#define LogTrace(id)
HLTFilter(const edm::ParameterSet &config)
Definition: HLTFilter.cc:18
edm::InputTag m_l1GtEvmReadoutRecordTag
InputTag for the L1 Global Trigger EVM readout record.
bool m_isDebugEnabled
cache edm::isDebugEnabled()
HLTBeamModeFilter::~HLTBeamModeFilter ( )
virtual

destructor

Definition at line 69 of file HLTBeamModeFilter.cc.

69  {
70  // empty now
71 }

Member Function Documentation

bool HLTBeamModeFilter::hltFilter ( edm::Event iEvent,
const edm::EventSetup evSetup,
trigger::TriggerFilterObjectWithRefs filterproduct 
)
virtual

filter the event

Implements HLTFilter.

Definition at line 75 of file HLTBeamModeFilter.cc.

References edm::Event::getByLabel(), edm::EventBase::isRealData(), edm::HandleBase::isValid(), m_allowedBeamMode, and m_l1GtEvmReadoutRecordTag.

75  {
76 
77  // for MC samples, return always true (not even checking validity of L1GlobalTriggerEvmReadoutRecord)
78  // eventually, the BST information will be filled also in MC simulation to spare this check
79 
80  if (!(iEvent.isRealData())) {
81  //LogDebug("HLTBeamModeFilter") << "\nRunning on MC sample."
82  // << "\nAll events are automatically selected, without testing the beam mode"
83  // << "\n" << std::endl;
84  return true;
85  }
86 
87  // data
88 
89  // initialize filter result
90  bool filterResult = false;
91 
92  // get L1GlobalTriggerEvmReadoutRecord and beam mode
94  iEvent.getByLabel(m_l1GtEvmReadoutRecordTag, gtEvmReadoutRecord);
95 
96  if (!gtEvmReadoutRecord.isValid()) {
97  edm::LogWarning("HLTBeamModeFilter")
98  << "\nWarning: L1GlobalTriggerEvmReadoutRecord with input tag "
100  << "\nrequested in configuration, but not found in the event."
101  << std::endl;
102 
103  return false;
104  }
105 
106  const boost::uint16_t beamModeValue =
107  (gtEvmReadoutRecord->gtfeWord()).beamMode();
108 
109  edm::LogInfo("HLTBeamModeFilter") << "Beam mode: " << beamModeValue;
110 
111  for (std::vector<unsigned int>::const_iterator itMode =
112  m_allowedBeamMode.begin(); itMode != m_allowedBeamMode.end(); ++itMode) {
113 
114  if (beamModeValue == (*itMode)) {
115  filterResult = true;
116 
117  //LogTrace("HLTBeamModeFilter") << "Event selected - beam mode: "
118  // << beamModeValue << "\n" << std::endl;
119 
120  break;
121 
122  }
123  }
124 
125  //
126  return filterResult;
127 
128 }
bool isRealData() const
Definition: EventBase.h:60
std::vector< unsigned int > m_allowedBeamMode
vector of beam modes (coded as integer numbers)
bool isValid() const
Definition: HandleBase.h:76
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:356
edm::InputTag m_l1GtEvmReadoutRecordTag
InputTag for the L1 Global Trigger EVM readout record.

Member Data Documentation

std::vector<unsigned int> HLTBeamModeFilter::m_allowedBeamMode
private

vector of beam modes (coded as integer numbers)

Definition at line 56 of file HLTBeamModeFilter.h.

Referenced by HLTBeamModeFilter(), and hltFilter().

bool HLTBeamModeFilter::m_isDebugEnabled
private

cache edm::isDebugEnabled()

Definition at line 59 of file HLTBeamModeFilter.h.

Referenced by HLTBeamModeFilter().

edm::InputTag HLTBeamModeFilter::m_l1GtEvmReadoutRecordTag
private

InputTag for the L1 Global Trigger EVM readout record.

Definition at line 53 of file HLTBeamModeFilter.h.

Referenced by HLTBeamModeFilter(), and hltFilter().