Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:11:32

0001 #ifndef GlobalTriggerAnalyzer_L1GtBeamModeFilter_h
0002 #define GlobalTriggerAnalyzer_L1GtBeamModeFilter_h
0003 
0004 /**
0005  * \class L1GtBeamModeFilter
0006  *
0007  *
0008  * Description: filter according to the beam mode using the BST information received by L1 GT.
0009  *
0010  * Implementation:
0011  *    This class is an EDFilter. It implements:
0012  *      - filter according to the beam mode using the BST information received by L1 GT
0013  *      - the code for a given mode is the code given in the BST message document
0014  *        (LHC-BOB-ES-0001-20-00.pdf or newer version)
0015  *      - it requires as input the unpacked L1GlobalTriggerEvmReadoutRecord or
0016  *        the ConditionsInEdm product
0017  *
0018  * \author: Vasile Mihai Ghete - HEPHY Vienna
0019  *
0020  *
0021  */
0022 
0023 // system include files
0024 #include <vector>
0025 
0026 // user include files
0027 
0028 //   base class
0029 #include "FWCore/Framework/interface/global/EDFilter.h"
0030 
0031 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0032 #include "FWCore/Utilities/interface/InputTag.h"
0033 
0034 // forward declarations
0035 
0036 // class declaration
0037 class L1GtBeamModeFilter : public edm::global::EDFilter<> {
0038 public:
0039   /// constructor
0040   explicit L1GtBeamModeFilter(const edm::ParameterSet&);
0041 
0042   /// destructor
0043   ~L1GtBeamModeFilter() override;
0044 
0045   /// filter the event
0046   bool filter(edm::StreamID, edm::Event&, const edm::EventSetup&) const override;
0047 
0048 private:
0049   /// input tag for ConditionInEdm products
0050   edm::InputTag m_condInEdmInputTag;
0051 
0052   /// InputTag for the L1 Global Trigger EVM readout record
0053   edm::InputTag m_l1GtEvmReadoutRecordTag;
0054 
0055   /// vector of beam modes (coded as integer numbers)
0056   std::vector<unsigned int> m_allowedBeamMode;
0057 
0058   /// return the inverted result
0059   bool m_invertResult;
0060 
0061   /// cache edm::isDebugEnabled()
0062   bool m_isDebugEnabled;
0063 };
0064 
0065 #endif  // GlobalTriggerAnalyzer_L1GtBeamModeFilter_h