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