Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HLTDiMuonGlbTrkFilter_h
0002 #define HLTDiMuonGlbTrkFilter_h
0003 // author D.Kovalskyi
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 "MagneticField/Engine/interface/MagneticField.h"
0009 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
0010 
0011 namespace edm {
0012   class ConfigurationDescriptions;
0013 }
0014 
0015 class HLTDiMuonGlbTrkFilter : public HLTFilter {
0016 public:
0017   HLTDiMuonGlbTrkFilter(const edm::ParameterSet&);
0018   ~HLTDiMuonGlbTrkFilter() 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   edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> const idealMagneticFieldRecordToken_;
0026   // WARNING: two input collection represent should be aligned and represent
0027   // the same list of muons, just stored in different containers
0028   edm::InputTag m_muonsTag;                             // input collection of muons
0029   edm::EDGetTokenT<reco::MuonCollection> m_muonsToken;  // input collection of muons
0030   edm::InputTag m_candsTag;                             // input collection of candidates to be referenced
0031   edm::EDGetTokenT<reco::RecoChargedCandidateCollection> m_candsToken;  // input collection of candidates to be referenced
0032   int m_minTrkHits;
0033   int m_minMuonHits;
0034   unsigned int m_allowedTypeMask;
0035   unsigned int m_requiredTypeMask;
0036   double m_maxNormalizedChi2;
0037   double m_minDR;
0038   double m_minPtMuon1;
0039   double m_minPtMuon2;
0040   double m_maxEtaMuon;
0041   double m_maxYDimuon;
0042   double m_minMass;
0043   double m_maxMass;
0044   int m_chargeOpt;
0045   double m_maxDCAMuMu;
0046   double m_maxdEtaMuMu;
0047   muon::SelectionType m_trkMuonId;
0048   bool m_saveTags;
0049 };
0050 
0051 #endif  //HLTMuonDimuonFilter_h