HLTmumutkFilter

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
#ifndef HLTmumutkFilter_h
#define HLTmumutkFilter_h

#include "HLTrigger/HLTcore/interface/HLTFilter.h"
namespace edm {
  class ConfigurationDescriptions;
}
#include "DataFormats/RecoCandidate/interface/RecoChargedCandidateFwd.h"
#include "DataFormats/VertexReco/interface/VertexFwd.h"
#include "DataFormats/BeamSpot/interface/BeamSpot.h"
// ----------------------------------------------------------------------

class HLTmumutkFilter : public HLTFilter {
public:
  explicit HLTmumutkFilter(const edm::ParameterSet &);
  ~HLTmumutkFilter() override;
  static void fillDescriptions(edm::ConfigurationDescriptions &descriptions);
  bool hltFilter(edm::Event &,
                 const edm::EventSetup &,
                 trigger::TriggerFilterObjectWithRefs &filterproduct) const override;

private:
  edm::InputTag muCandTag_;
  edm::EDGetTokenT<reco::RecoChargedCandidateCollection> muCandToken_;
  edm::InputTag trkCandTag_;
  edm::EDGetTokenT<reco::RecoChargedCandidateCollection> trkCandToken_;
  edm::InputTag MuMuTkVertexTag_;
  edm::EDGetTokenT<reco::VertexCollection> MuMuTkVertexToken_;
  edm::InputTag beamSpotTag_;
  edm::EDGetTokenT<reco::BeamSpot> beamSpotToken_;

  const double maxEta_;
  const double minPt_;
  const double maxNormalisedChi2_;
  const double minVtxProbability_;
  const double minLxySignificance_;
  const double minCosinePointingAngle_;

  static bool triggerdByPreviousLevel(const reco::RecoChargedCandidateRef &,
                                      const std::vector<reco::RecoChargedCandidateRef> &);
};
#endif