CMS 3D CMS Logo

HLTEgammaGenericQuadraticEtaFilter.h
Go to the documentation of this file.
1 #ifndef HLTEgammaGenericQuadraticEtaFilter_h
2 #define HLTEgammaGenericQuadraticEtaFilter_h
3 
11 
14 
15 namespace edm {
17 }
18 
19 //
20 // class declaration
21 //
22 
24 
25  public:
28  bool hltFilter(edm::Event&, const edm::EventSetup&, trigger::TriggerFilterObjectWithRefs & filterproduct) const override;
29  static void fillDescriptions(edm::ConfigurationDescriptions & descriptions);
30 
31  private:
32  edm::InputTag candTag_; // input tag identifying product that contains filtered candidates
33  edm::InputTag varTag_; // input tag identifying product that contains the variable map
36  bool lessThan_; // the cut is "<" or ">" ?
37  bool useEt_; // use E or Et in relative isolation cuts
38  /* Barrel quadratic threshold function:
39  vali (<= or >=) thrRegularEB_ + (E or Et)*thrOverEEB_ + (E or Et)*(E or Et)*thrOverE2EB_
40  Endcap quadratic threshold function:
41  vali (<= or >=) thrRegularEE_ + (E or Et)*thrOverEEE_ + (E or Et)*(E or Et)*thrOverE2EE_
42  */
43 
44  std::vector<double> energyLowEdges_; // lower bin edges for energy-dependent cuts
45  double etaBoundaryEB12_; //eta Boundary between Regions 1 and 2 - ECAL barrel
46  double etaBoundaryEE12_; //eta Boundary between Regions 1 and 2 - ECAL endcap
47  std::vector<double> thrRegularEB1_; // threshold value for zeroth order term - ECAL barrel region 1
48  std::vector<double> thrRegularEE1_; // threshold value for zeroth order term - ECAL endcap region 1
49  std::vector<double> thrOverEEB1_; // coefficient for first order term - ECAL barrel region 1
50  std::vector<double> thrOverEEE1_; // coefficient for first order term - ECAL endcap region 1
51  std::vector<double> thrOverE2EB1_; // coefficient for second order term - ECAL barrel region 1
52  std::vector<double> thrOverE2EE1_; // coefficient for second order term - ECAL endcap region 1
53  std::vector<double> thrRegularEB2_; // threshold value for zeroth order term - ECAL barrel region 2
54  std::vector<double> thrRegularEE2_; // threshold value for zeroth order term - ECAL endcap region 2
55  std::vector<double> thrOverEEB2_; // coefficient for first order term - ECAL barrel region 2
56  std::vector<double> thrOverEEE2_; // coefficient for first order term - ECAL endcap region 2
57  std::vector<double> thrOverE2EB2_; // coefficient for second order term - ECAL barrel region 2
58  std::vector<double> thrOverE2EE2_; // coefficient for second order term - ECAL endcap region 2
59  int ncandcut_; // number of candidates required
60 
61  bool store_;
63 
64  edm::InputTag rhoTag_; // input tag identifying rho producer
67  double rhoMax_;
68  double rhoScale_;
69  std::vector<double> effectiveAreas_;
70  std::vector<double> absEtaLowEdges_;
71 };
72 
73 #endif //HLTEgammaGenericQuadraticEtaFilter_h
74 
75 
edm::EDGetTokenT< reco::RecoEcalCandidateIsolationMap > varToken_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > candToken_
HLT enums.