Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:52:57

0001 #ifndef HLTEgammaL1MatchFilterRegional_h
0002 #define HLTEgammaL1MatchFilterRegional_h
0003 
0004 /** \class HLTEgammaL1MatchFilterRegional
0005  *
0006  *  \author Monica Vazquez Acosta (CERN)
0007  *
0008  */
0009 
0010 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0011 
0012 #include "DataFormats/RecoCandidate/interface/RecoEcalCandidate.h"
0013 #include "DataFormats/RecoCandidate/interface/RecoEcalCandidateFwd.h"
0014 
0015 #include "DataFormats/L1Trigger/interface/L1EmParticle.h"
0016 #include "DataFormats/L1Trigger/interface/L1EmParticleFwd.h"
0017 
0018 namespace edm {
0019   class ConfigurationDescriptions;
0020 }
0021 
0022 //
0023 // class decleration
0024 //
0025 
0026 class HLTEgammaL1MatchFilterRegional : public HLTFilter {
0027 public:
0028   explicit HLTEgammaL1MatchFilterRegional(const edm::ParameterSet&);
0029   ~HLTEgammaL1MatchFilterRegional() override;
0030   bool hltFilter(edm::Event&,
0031                  const edm::EventSetup&,
0032                  trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0033   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0034 
0035 private:
0036   edm::InputTag candIsolatedTag_;     // input tag identifying product contains egammas
0037   edm::InputTag l1IsolatedTag_;       // input tag identifying product contains egammas
0038   edm::InputTag candNonIsolatedTag_;  // input tag identifying product contains egammas
0039   edm::InputTag l1NonIsolatedTag_;    // input tag identifying product contains egammas
0040   edm::InputTag l1CenJetsTag_;        //EGamma can now be seeded by L1 Jet seeds (important for high energy)
0041   edm::EDGetTokenT<reco::RecoEcalCandidateCollection> candIsolatedToken_;
0042   edm::EDGetTokenT<reco::RecoEcalCandidateCollection> candNonIsolatedToken_;
0043 
0044   edm::InputTag L1SeedFilterTag_;
0045   edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> L1SeedFilterToken_;
0046   bool doIsolated_;
0047 
0048   int ncandcut_;  // number of egammas required
0049   // L1 matching cuts
0050   double region_eta_size_;
0051   double region_eta_size_ecap_;
0052   double region_phi_size_;
0053   double barrel_end_;
0054   double endcap_end_;
0055 
0056 private:
0057   bool matchedToL1Cand(const std::vector<l1extra::L1EmParticleRef>& l1Cands,
0058                        const float scEta,
0059                        const float scPhi) const;
0060   bool matchedToL1Cand(const std::vector<l1extra::L1JetParticleRef>& l1Cands,
0061                        const float scEta,
0062                        const float scPhi) const;
0063 };
0064 
0065 #endif  //HLTEgammaL1MatchFilterRegional_h