Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:18:35

0001 #ifndef HLTTrigger_HLTL1MuonSelector_HLTL1MuonSelector_H
0002 #define HLTTrigger_HLTL1MuonSelector_HLTL1MuonSelector_H
0003 
0004 //-------------------------------------------------
0005 //
0006 /**  \class HLTL1MuonSelector
0007  * 
0008  *   HLTL1MuonSelector:
0009  *   Simple selector to output a subset of L1 muon collection 
0010  *   
0011  *   based on RecoMuon/L2MuonSeedGenerator
0012  *
0013  *
0014  *   \author  D. Olivito
0015  */
0016 //
0017 //--------------------------------------------------
0018 
0019 #include "FWCore/Framework/interface/global/EDProducer.h"
0020 #include "FWCore/Utilities/interface/InputTag.h"
0021 
0022 // Data Formats
0023 #include "DataFormats/TrajectoryState/interface/PTrajectoryStateOnDet.h"
0024 #include "DataFormats/MuonDetId/interface/DTChamberId.h"
0025 #include "DataFormats/MuonDetId/interface/CSCDetId.h"
0026 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTExtendedCand.h"
0027 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTReadoutCollection.h"
0028 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuRegionalCand.h"
0029 #include "DataFormats/L1Trigger/interface/L1MuonParticle.h"
0030 #include "DataFormats/L1Trigger/interface/L1MuonParticleFwd.h"
0031 #include "DataFormats/Common/interface/Handle.h"
0032 #include "DataFormats/GeometrySurface/interface/BoundCylinder.h"
0033 #include "DataFormats/Math/interface/deltaR.h"
0034 
0035 namespace edm {
0036   class ParameterSet;
0037   class Event;
0038   class EventSetup;
0039 }  // namespace edm
0040 
0041 class HLTL1MuonSelector : public edm::global::EDProducer<> {
0042 public:
0043   /// Constructor
0044   explicit HLTL1MuonSelector(const edm::ParameterSet&);
0045 
0046   /// Destructor
0047   ~HLTL1MuonSelector() override;
0048 
0049   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0050   void produce(edm::StreamID, edm::Event&, const edm::EventSetup&) const override;
0051 
0052 private:
0053   edm::InputTag theSource;
0054 
0055   edm::EDGetTokenT<l1extra::L1MuonParticleCollection> muCollToken_;
0056 
0057   const double theL1MinPt;
0058   const double theL1MaxEta;
0059   const unsigned theL1MinQuality;
0060 };
0061 
0062 #endif