Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:19:58

0001 
0002 //-------------------------------------------------
0003 //
0004 //   \class L1MuGMTPattern
0005 /**
0006  *   Description:  Create GMT HW test patterns
0007 */
0008 //
0009 //
0010 //   I. Mikulec            HEPHY Vienna
0011 //
0012 //--------------------------------------------------
0013 #ifndef L1MUGMTPATTERN_H
0014 #define L1MUGMTPATTERN_H
0015 
0016 //---------------
0017 // C++ Headers --
0018 //---------------
0019 
0020 #include <memory>
0021 #include <string>
0022 #include <vector>
0023 
0024 //----------------------
0025 // Base Class Headers --
0026 //----------------------
0027 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0028 
0029 #include "FWCore/Framework/interface/Frameworkfwd.h"
0030 #include "FWCore/Framework/interface/MakerMacros.h"
0031 #include "FWCore/Framework/interface/Event.h"
0032 #include "DataFormats/Common/interface/Handle.h"
0033 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0034 
0035 #include "DataFormats/L1CaloTrigger/interface/L1CaloCollections.h"
0036 
0037 //------------------------------------
0038 // Collaborating Class Declarations --
0039 //------------------------------------
0040 
0041 #include "FWCore/Utilities/interface/InputTag.h"
0042 
0043 class L1MuRegionalCand;
0044 class L1MuGMTExtendedCand;
0045 
0046 //              ---------------------
0047 //              -- Class Interface --
0048 //              ---------------------
0049 
0050 class L1MuGMTPattern : public edm::one::EDAnalyzer<> {
0051 public:
0052   // constructor
0053   explicit L1MuGMTPattern(const edm::ParameterSet&);
0054   ~L1MuGMTPattern() override;
0055 
0056   void analyze(const edm::Event&, const edm::EventSetup&) override;
0057   void printRegional(std::string tag, const std::vector<L1MuRegionalCand>& rmc);
0058   void printGMT(std::string tag, const std::vector<L1MuGMTExtendedCand>& exc);
0059   void printMipIso(L1CaloRegionCollection const* regions);
0060   void printMI(const std::vector<unsigned>* mi);
0061   void printCANC();
0062   unsigned invertQPt(unsigned);
0063 
0064   void beginJob() override;
0065   void endJob() override;
0066 
0067 private:
0068   edm::InputTag m_inputTag;
0069   edm::InputTag m_inputCaloTag;
0070   std::string m_outfilename;
0071   int m_outputType;
0072 };
0073 
0074 #endif