CMS 3D CMS Logo

HLTMuonDimuonL3Filter.h
Go to the documentation of this file.
1 #ifndef HLTMuonDimuonL3Filter_h
2 #define HLTMuonDimuonL3Filter_h
3 
26 
27 namespace edm {
29 }
30 
32 
33  public:
35  ~HLTMuonDimuonL3Filter() override;
36  static void fillDescriptions(edm::ConfigurationDescriptions & descriptions);
37  bool hltFilter(edm::Event&, const edm::EventSetup&, trigger::TriggerFilterObjectWithRefs & filterproduct) const override;
38 
39  private:
40  static bool triggeredByLevel2(reco::TrackRef const & track, std::vector<reco::RecoChargedCandidateRef> const & vcands);
41  bool applyMuonSelection(const reco::RecoChargedCandidateRef&, const reco::BeamSpot&) const;
42  bool applyDiMuonSelection(const reco::RecoChargedCandidateRef&, const reco::RecoChargedCandidateRef&, const reco::BeamSpot&, const edm::ESHandle<MagneticField>&) const;
45  const edm::InputTag candTag_; // input tag identifying product contains muons
46  const edm::EDGetTokenT<reco::RecoChargedCandidateCollection> candToken_; // token identifying product contains muons
47  const edm::InputTag previousCandTag_; // input tag identifying product contains muons passing the previous level
48  const edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> previousCandToken_; // tokenidentifying product contains muons passing the previous level
49  const edm::InputTag l1CandTag_; // input tag identifying product contains muons passing the L1 level
50  const edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> l1CandToken_; // token identifying product contains muons passing the L1 level
51  const edm::InputTag recoMuTag_; // input tag identifying reco muons
52  const edm::EDGetTokenT<reco::MuonCollection> recoMuToken_; // token identifying product contains reco muons
54  bool fast_Accept_; // flag to save time: stop processing after identification of the first valid pair
55  int min_N_; // minimum number of muons to fire the trigger
56  double max_Eta_; // Eta cut
57  int min_Nhits_; // threshold on number of hits on muon
58  double max_Dr_; // impact parameter cut
59  double max_Dz_; // dz cut
60  int chargeOpt_; // Charge option (0:nothing; +1:same charge, -1:opposite charge)
61  std::vector<double> min_PtPair_; // minimum Pt for the dimuon system
62  std::vector<double> max_PtPair_; // miaximum Pt for the dimuon system
63  std::vector<double> min_PtMax_; // minimum Pt for muon with max Pt in pair
64  std::vector<double> min_PtMin_; // minimum Pt for muon with min Pt in pair
65  std::vector<double> max_PtMin_; // maximum Pt for muon with min Pt in pair
66  std::vector<double> min_InvMass_; // minimum invariant mass of pair
67  std::vector<double> max_InvMass_; // maximum invariant mass of pair
68  double min_Acop_; // minimum acoplanarity
69  double max_Acop_; // maximum acoplanarity
70  double min_PtBalance_; // minimum Pt difference
71  double max_PtBalance_; // maximum Pt difference
72  double nsigma_Pt_; // pt uncertainty margin (in number of sigmas)
73  double max_DCAMuMu_; // DCA between the two muons
74  double max_YPair_; // |rapidity| of pair
75  bool cutCowboys_;
76  const edm::InputTag theL3LinksLabel; //Needed to iterL3
78  const double L1MatchingdR_;
79  const bool matchPreviousCand_;
80  const double MuMass2_;
81 };
82 
83 #endif //HLTMuonDimuonFilter_h
std::vector< double > max_PtPair_
std::vector< double > max_PtMin_
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > previousCandToken_
std::vector< double > max_InvMass_
std::vector< double > min_InvMass_
std::vector< double > min_PtPair_
const edm::EDGetTokenT< reco::MuonCollection > recoMuToken_
const edm::InputTag recoMuTag_
const edm::InputTag l1CandTag_
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > l1CandToken_
const edm::InputTag previousCandTag_
std::vector< double > min_PtMin_
std::vector< double > min_PtMax_
const edm::EDGetTokenT< reco::BeamSpot > beamspotToken_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
const edm::InputTag theL3LinksLabel
const edm::EDGetTokenT< reco::RecoChargedCandidateCollection > candToken_
HLT enums.
const edm::InputTag beamspotTag_
const edm::EDGetTokenT< reco::MuonTrackLinksCollection > linkToken_
bool cutCowboys_
if true, reject muon-track pairs that bend towards each other
const edm::InputTag candTag_