Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:27:00

0001 #ifndef MuonIdentification_MuonIDFilterProducerForHLT_h
0002 #define MuonIdentification_MuonIDFilterProducerForHLT_h
0003 
0004 /** \class MuonIDFilterProducerForHLT
0005  *
0006  * Simple filter to apply ID to the reco::Muon collection 
0007  * for the HLT reconstruction.
0008  *
0009  *  \author S. Folgueras <santiago.folgueras@cern.ch>
0010  */
0011 
0012 // user include files
0013 #include "FWCore/Framework/interface/Frameworkfwd.h"
0014 #include "FWCore/Framework/interface/global/EDProducer.h"
0015 #include "FWCore/Framework/interface/Event.h"
0016 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0017 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0018 #include "DataFormats/MuonReco/interface/Muon.h"
0019 #include "DataFormats/MuonReco/interface/MuonSelectors.h"
0020 
0021 class MuonIDFilterProducerForHLT : public edm::global::EDProducer<> {
0022 public:
0023   explicit MuonIDFilterProducerForHLT(const edm::ParameterSet&);
0024 
0025   ~MuonIDFilterProducerForHLT() override;
0026 
0027   void produce(edm::StreamID, edm::Event&, const edm::EventSetup&) const override;
0028   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0029 
0030 private:
0031   const edm::InputTag muonTag_;
0032   const edm::EDGetTokenT<reco::MuonCollection> muonToken_;
0033 
0034   const bool applyTriggerIdLoose_;
0035   const muon::SelectionType type_;
0036   const unsigned int allowedTypeMask_;
0037   const unsigned int requiredTypeMask_;
0038   const int min_NMuonHits_;      // threshold on number of hits on muon
0039   const int min_NMuonStations_;  // threshold on number of hits on muon
0040   const int min_NTrkLayers_;
0041   const int min_NTrkHits_;
0042   const int min_PixLayers_;
0043   const int min_PixHits_;
0044   const double min_Pt_;              // pt threshold in GeV
0045   const double max_NormalizedChi2_;  // cutoff in normalized chi2
0046 };
0047 #endif