Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-03-23 12:04:25

0001 #ifndef HLTMuonTrkFilter_h
0002 #define HLTMuonTrkFilter_h
0003 // author D. Olivito
0004 //  based on HLTDiMuonGlbTrkFilter.h
0005 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0006 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidateFwd.h"
0007 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0008 #include "DataFormats/MuonReco/interface/MuonSelectors.h"
0009 #include "MuonAnalysis/MuonAssociators/interface/PropagateToMuonSetup.h"
0010 
0011 namespace edm {
0012   class ConfigurationDescriptions;
0013 }
0014 
0015 class HLTMuonTrkFilter : public HLTFilter {
0016 public:
0017   HLTMuonTrkFilter(const edm::ParameterSet&);
0018   ~HLTMuonTrkFilter() 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  //HLTMuonTrkFilter_h