Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HLTMuonTrkL1TFilter_h
0002 #define HLTMuonTrkL1TFilter_h
0003 // author D. Olivito
0004 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0005 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidateFwd.h"
0006 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0007 #include "DataFormats/MuonReco/interface/MuonSelectors.h"
0008 #include "DataFormats/L1Trigger/interface/Muon.h"
0009 #include "MuonAnalysis/MuonAssociators/interface/PropagateToMuonSetup.h"
0010 
0011 namespace edm {
0012   class ConfigurationDescriptions;
0013 }
0014 
0015 class HLTMuonTrkL1TFilter : public HLTFilter {
0016 public:
0017   HLTMuonTrkL1TFilter(const edm::ParameterSet&);
0018   ~HLTMuonTrkL1TFilter() override {}
0019   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0020   bool hltFilter(edm::Event&,
0021                  const edm::EventSetup&,
0022                  trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0023 
0024 private:
0025   const PropagateToMuonSetup propSetup_;
0026   // WARNING: two input collection represent should be aligned and represent
0027   // the same list of muons, just stored in different containers
0028   const edm::InputTag m_muonsTag;                             // input collection of muons
0029   const edm::EDGetTokenT<reco::MuonCollection> m_muonsToken;  // input collection of muons
0030   const edm::InputTag m_candsTag;                             // input collection of candidates to be referenced
0031   const edm::EDGetTokenT<reco::RecoChargedCandidateCollection>
0032       m_candsToken;                       // input collection of candidates to be referenced
0033   const edm::InputTag m_previousCandTag;  // input tag identifying product contains muons passing the previous level
0034   const edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs>
0035       m_previousCandToken;  // token identifying product contains muons passing the previous level
0036   const int m_minTrkHits;
0037   const int m_minMuonHits;
0038   const int m_minMuonStations;
0039   const double m_maxNormalizedChi2;
0040   const unsigned int m_allowedTypeMask;
0041   const unsigned int m_requiredTypeMask;
0042   const muon::SelectionType m_trkMuonId;
0043   const double m_minPt;
0044   const unsigned int m_minN;
0045   const double m_maxAbsEta;
0046   const double m_l1MatchingdR;
0047   const double m_l1MatchingdR2;
0048 
0049   bool m_saveTags;
0050 };
0051 
0052 #endif  //HLTMuonTrkL1TFilter_h