Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HLTEgammaCaloIsolFilterPairs_h
0002 #define HLTEgammaCaloIsolFilterPairs_h
0003 
0004 /** \class HLTEgammaCaloIsolFilterPairs
0005  *
0006  *  \author Alessio Ghezzi
0007  *
0008  */
0009 
0010 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0011 
0012 #include "DataFormats/HLTReco/interface/TriggerFilterObjectWithRefs.h"
0013 
0014 #include "DataFormats/RecoCandidate/interface/RecoEcalCandidate.h"
0015 #include "DataFormats/RecoCandidate/interface/RecoEcalCandidateFwd.h"
0016 #include "DataFormats/RecoCandidate/interface/RecoEcalCandidateIsolation.h"
0017 
0018 //
0019 // class decleration
0020 //
0021 
0022 namespace edm {
0023   class ConfigurationDescriptions;
0024 }
0025 
0026 class HLTEgammaCaloIsolFilterPairs : public HLTFilter {
0027 public:
0028   explicit HLTEgammaCaloIsolFilterPairs(const edm::ParameterSet&);
0029   ~HLTEgammaCaloIsolFilterPairs() 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 candTag_;    // input tag identifying product contains filtered egammas
0037   edm::InputTag isoTag_;     // input tag identifying product contains ecal isolation map
0038   edm::InputTag nonIsoTag_;  // input tag identifying product contains ecal isolation map
0039   edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> candToken_;
0040   edm::EDGetTokenT<reco::RecoEcalCandidateIsolationMap> isoToken_;
0041   edm::EDGetTokenT<reco::RecoEcalCandidateIsolationMap> nonIsoToken_;
0042 
0043   double isolcut_EB1;
0044   double FracCut_EB1;
0045   double IsoloEt2_EB1;
0046   double isolcut_EE1;
0047   double FracCut_EE1;
0048   double IsoloEt2_EE1;
0049 
0050   double isolcut_EB2;
0051   double FracCut_EB2;
0052   double IsoloEt2_EB2;
0053   double isolcut_EE2;
0054   double FracCut_EE2;
0055   double IsoloEt2_EE2;
0056 
0057   bool AlsoNonIso_1, AlsoNonIso_2;
0058 
0059   bool PassCaloIsolation(edm::Ref<reco::RecoEcalCandidateCollection> ref,
0060                          const reco::RecoEcalCandidateIsolationMap& IsoMap,
0061                          const reco::RecoEcalCandidateIsolationMap& NonIsoMap,
0062                          int which,
0063                          bool ChekAlsoNonIso) const;
0064 };
0065 
0066 #endif  //HLTEgammaCaloIsolFilterPairs_h