Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HLTrigger_Egamma_HLTEgammaAllCombMassFilter_h
0002 #define HLTrigger_Egamma_HLTEgammaAllCombMassFilter_h
0003 
0004 //Class: HLTEgammaAllCombMassFilter
0005 //purpose: the last filter of multi-e/g triggers which have asymetric cuts on the e/g objects
0006 //         this checks that the required number of pair candidate pass a minimum mass cut
0007 
0008 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0009 
0010 #include "DataFormats/HLTReco/interface/TriggerFilterObjectWithRefs.h"
0011 
0012 #include "DataFormats/Math/interface/LorentzVector.h"
0013 
0014 namespace edm {
0015   class ConfigurationDescriptions;
0016 }
0017 
0018 class HLTEgammaAllCombMassFilter : public HLTFilter {
0019 public:
0020   explicit HLTEgammaAllCombMassFilter(const edm::ParameterSet&);
0021   ~HLTEgammaAllCombMassFilter() override;
0022   bool hltFilter(edm::Event&,
0023                  const edm::EventSetup&,
0024                  trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0025   static void getP4OfLegCands(const edm::Event& iEvent,
0026                               const edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs>& filterToken,
0027                               std::vector<math::XYZTLorentzVector>& p4s);
0028   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0029 
0030 private:
0031   edm::InputTag firstLegLastFilterTag_;
0032   edm::InputTag secondLegLastFilterTag_;
0033   edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> firstLegLastFilterToken_;
0034   edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> secondLegLastFilterToken_;
0035   double minMass_;
0036 };
0037 
0038 #endif