Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HLTriggerspecialHLTMultipletFilter_h
0002 #define HLTriggerspecialHLTMultipletFilter_h
0003 
0004 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0005 #include "DataFormats/L1Trigger/interface/EGamma.h"
0006 #include "DataFormats/L1Trigger/interface/EtSum.h"
0007 #include "DataFormats/L1Trigger/interface/Jet.h"
0008 #include "DataFormats/L1Trigger/interface/Muon.h"
0009 #include "DataFormats/L1Trigger/interface/Tau.h"
0010 #include "DataFormats/HLTReco/interface/TriggerFilterObjectWithRefs.h"
0011 
0012 namespace edm {
0013   class ConfigurationDescriptions;
0014 }
0015 
0016 class HLTMultipletFilter : public HLTFilter {
0017 public:
0018   explicit HLTMultipletFilter(const edm::ParameterSet&);
0019   ~HLTMultipletFilter() override;
0020   bool hltFilter(edm::Event&,
0021                  const edm::EventSetup&,
0022                  trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0023   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0024 
0025 private:
0026   static const int nobj_ = 5;
0027   enum Types { EGamma = 0, EtSum = 1, Jet = 2, Muon = 3, Tau = 4 };
0028   template <typename T1>
0029   int objects(edm::Event&, edm::EDGetTokenT<T1> const&, edm::InputTag const&, HLTMultipletFilter::Types) const;
0030 
0031   edm::InputTag hltEGammaSeedLabel_, hltEtSumSeedLabel_;
0032   edm::InputTag hltJetSeedLabel_, hltMuonSeedLabel_;
0033   edm::InputTag hltTauSeedLabel_;
0034   double minEta_, maxEta_;
0035   double minPhi_, maxPhi_;
0036   double minPt_;
0037   int ibxMin_, ibxMax_, minN_;
0038   bool flag_[nobj_];
0039   edm::EDGetTokenT<l1t::EGammaBxCollection> hltEGammaToken_;
0040   edm::EDGetTokenT<l1t::EtSumBxCollection> hltEtSumToken_;
0041   edm::EDGetTokenT<l1t::JetBxCollection> hltJetToken_;
0042   edm::EDGetTokenT<l1t::MuonBxCollection> hltMuonToken_;
0043   edm::EDGetTokenT<l1t::TauBxCollection> hltTauToken_;
0044 };
0045 
0046 #endif