Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:09:39

0001 #ifndef HLTMuonL1toL3TkPreFilter_h
0002 #define HLTMuonL1toL3TkPreFilter_h
0003 
0004 /** \class HLTMuonL1toL3TkPreFilter
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/L1Trigger/interface/L1MuonParticleFwd.h"
0016 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidateFwd.h"
0017 #include "DataFormats/TrackReco/interface/Track.h"
0018 #include "DataFormats/MuonReco/interface/MuonTrackLinks.h"
0019 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0020 #include "DataFormats/MuonSeed/interface/L3MuonTrajectorySeedCollection.h"
0021 namespace edm {
0022   class ConfigurationDescriptions;
0023 }
0024 
0025 class HLTMuonL1toL3TkPreFilter : public HLTFilter {
0026 public:
0027   explicit HLTMuonL1toL3TkPreFilter(const edm::ParameterSet&);
0028   ~HLTMuonL1toL3TkPreFilter() override;
0029   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0030   bool hltFilter(edm::Event&,
0031                  const edm::EventSetup&,
0032                  trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0033 
0034 private:
0035   bool triggeredAtL1(const l1extra::L1MuonParticleRef& l1mu, std::vector<l1extra::L1MuonParticleRef>& vcands) const;
0036 
0037   edm::InputTag beamspotTag_;
0038   edm::EDGetTokenT<reco::BeamSpot> beamspotToken_;
0039   edm::InputTag candTag_;                                             // input tag identifying product contains muons
0040   edm::EDGetTokenT<reco::RecoChargedCandidateCollection> candToken_;  // token identifying product contains muons
0041   edm::InputTag previousCandTag_;  // input tag identifying product contains muons passing the previous level
0042   edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs>
0043       previousCandToken_;  // token identifying product contains muons passing the previous level
0044   int min_N_;              // minimum number of muons to fire the trigger
0045   double max_Eta_;         // Eta cut
0046   int min_Nhits_;          // threshold on number of hits on muon
0047   double max_Dr_;          // impact parameter cut
0048   double max_Dz_;          // dz cut
0049   double min_Pt_;          // pt threshold in GeV
0050   double nsigma_Pt_;       // pt uncertainty margin (in number of sigmas)
0051 };
0052 
0053 #endif  //HLTMuonL1toL3TkPreFilter_h