Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-01-09 23:33:53

0001 #ifndef RecoMuon_L3MuonProducer_L3MuonCandidateProducerFromMuons_H
0002 #define RecoMuon_L3MuonProducer_L3MuonCandidateProducerFromMuons_H
0003 
0004 /**  \class L3MuonCandidateProducerFromMuons
0005  * 
0006  *   Intermediate step in the L3 muons selection.
0007  *   This class takes the tracker muons (which are reco::Muons) 
0008  *   and creates the correspondent reco::RecoChargedCandidate.
0009  *
0010  */
0011 
0012 #include "FWCore/Framework/interface/global/EDProducer.h"
0013 #include "FWCore/Utilities/interface/InputTag.h"
0014 
0015 #include "DataFormats/MuonReco/interface/Muon.h"
0016 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0017 
0018 namespace edm {
0019   class ParameterSet;
0020   class Event;
0021   class EventSetup;
0022 }  // namespace edm
0023 
0024 class L3MuonCandidateProducerFromMuons : public edm::global::EDProducer<> {
0025 public:
0026   /// constructor with config
0027   L3MuonCandidateProducerFromMuons(const edm::ParameterSet&);
0028 
0029   /// destructor
0030   ~L3MuonCandidateProducerFromMuons() override;
0031 
0032   /// descriptions
0033   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0034 
0035   /// produce candidates
0036   void produce(edm::StreamID, edm::Event&, const edm::EventSetup&) const override;
0037 
0038 private:
0039   // L3/GLB Collection Label
0040   edm::InputTag const m_L3CollectionLabel;
0041   edm::EDGetTokenT<reco::MuonCollection> const m_muonToken;
0042   bool const m_displacedReco;
0043 };
0044 
0045 #endif