Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HLTEgammaL1TMatchFilterRegional_h
0002 #define HLTEgammaL1TMatchFilterRegional_h
0003 
0004 /** \class HLTEgammaL1TMatchFilterRegional
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 #include "DataFormats/L1Trigger/interface/EGamma.h"
0018 
0019 namespace edm {
0020   class ConfigurationDescriptions;
0021 }
0022 
0023 //
0024 // class decleration
0025 //
0026 
0027 class HLTEgammaL1TMatchFilterRegional : public HLTFilter {
0028 public:
0029   explicit HLTEgammaL1TMatchFilterRegional(const edm::ParameterSet&);
0030   ~HLTEgammaL1TMatchFilterRegional() override;
0031   bool hltFilter(edm::Event&,
0032                  const edm::EventSetup&,
0033                  trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0034   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0035 
0036 private:
0037   edm::InputTag candIsolatedTag_;     // input tag identifying product contains egammas
0038   edm::InputTag l1EGTag_;             // input tag identifying product contains egammas
0039   edm::InputTag candNonIsolatedTag_;  // input tag identifying product contains egammas
0040   edm::InputTag l1JetsTag_;           //EGamma can now be seeded by L1 Jet seeds (important for high energy)
0041   edm::InputTag l1TausTag_;           //EGamma can now be seeded by L1 Tau seeds (extremely important for high energy)
0042   edm::EDGetTokenT<reco::RecoEcalCandidateCollection> candIsolatedToken_;
0043   edm::EDGetTokenT<reco::RecoEcalCandidateCollection> candNonIsolatedToken_;
0044 
0045   edm::InputTag L1SeedFilterTag_;
0046   edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> L1SeedFilterToken_;
0047   bool doIsolated_;
0048 
0049   int ncandcut_;  // number of egammas required
0050   // L1 matching cuts
0051   double region_eta_size_;
0052   double region_eta_size_ecap_;
0053   double region_phi_size_;
0054   double barrel_end_;
0055   double endcap_end_;
0056 
0057 private:
0058   bool matchedToL1Cand(const std::vector<l1t::EGammaRef>& l1Cands, const float scEta, const float scPhi) const;
0059   bool matchedToL1Cand(const std::vector<l1t::JetRef>& l1Cands, const float scEta, const float scPhi) const;
0060   bool matchedToL1Cand(const std::vector<l1t::TauRef>& l1Cands, const float scEta, const float scPhi) const;
0061 };
0062 
0063 #endif  //HLTEgammaL1TMatchFilterRegional_h