Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HLTMuonL1TtoL3TkPreFilter_h
0002 #define HLTMuonL1TtoL3TkPreFilter_h
0003 
0004 /** \class HLTMuonL1TtoL3TkPreFilter
0005  *
0006  *
0007  *  This class is an HLTFilter (-> EDFilter) implementing a first
0008  *  filtering for HLT muons
0009  *
0010  *  \author J-R Vlimant
0011  *
0012  */
0013 
0014 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0015 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidateFwd.h"
0016 #include "DataFormats/TrackReco/interface/Track.h"
0017 #include "DataFormats/MuonReco/interface/MuonTrackLinks.h"
0018 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0019 #include "DataFormats/MuonSeed/interface/L3MuonTrajectorySeedCollection.h"
0020 #include "DataFormats/L1Trigger/interface/Muon.h"
0021 
0022 namespace edm {
0023   class ConfigurationDescriptions;
0024 }
0025 
0026 class HLTMuonL1TtoL3TkPreFilter : public HLTFilter {
0027 public:
0028   explicit HLTMuonL1TtoL3TkPreFilter(const edm::ParameterSet&);
0029   ~HLTMuonL1TtoL3TkPreFilter() override;
0030   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0031   bool hltFilter(edm::Event&,
0032                  const edm::EventSetup&,
0033                  trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0034 
0035 private:
0036   bool triggeredAtL1(const l1t::MuonRef& l1mu, std::vector<l1t::MuonRef>& vcands) const;
0037 
0038   edm::InputTag beamspotTag_;
0039   edm::EDGetTokenT<reco::BeamSpot> beamspotToken_;
0040   edm::InputTag candTag_;                                             // input tag identifying product contains muons
0041   edm::EDGetTokenT<reco::RecoChargedCandidateCollection> candToken_;  // token identifying product contains muons
0042   edm::InputTag previousCandTag_;  // input tag identifying product contains muons passing the previous level
0043   edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs>
0044       previousCandToken_;  // token identifying product contains muons passing the previous level
0045   int min_N_;              // minimum number of muons to fire the trigger
0046   double max_Eta_;         // Eta cut
0047   int min_Nhits_;          // threshold on number of hits on muon
0048   double max_Dr_;          // impact parameter cut
0049   double max_Dz_;          // dz cut
0050   double min_Pt_;          // pt threshold in GeV
0051   double nsigma_Pt_;       // pt uncertainty margin (in number of sigmas)
0052 };
0053 
0054 #endif  //HLTMuonL1TtoL3TkPreFilter_h