CMS 3D CMS Logo

HLTGenericFilter.h
Go to the documentation of this file.
1 #ifndef HLTGenericFilter_h
2 #define HLTGenericFilter_h
3 
11 
15 
17 
20 
23 
25 
26 namespace edm {
28 }
29 
30 //
31 // class declaration
32 //
33 
34 template<typename T1>
35 class HLTGenericFilter : public HLTFilter {
36 
37  typedef std::vector<T1> T1Collection;
40 
41 public:
42  explicit HLTGenericFilter(const edm::ParameterSet&);
43  ~HLTGenericFilter() override;
44  bool hltFilter(edm::Event&, const edm::EventSetup&, trigger::TriggerFilterObjectWithRefs & filterproduct) const override;
45  static void fillDescriptions(edm::ConfigurationDescriptions & descriptions);
46 
47 private:
48 
49  float getEnergy(T1Ref) const;
50  float getEt(T1Ref) const;
51 
52  edm::InputTag candTag_; // input tag identifying product that contains filtered candidates
53  edm::InputTag varTag_; // input tag identifying product that contains variable map
56 
57  std::vector<double> energyLowEdges_; // lower bin edges for energy-dependent cuts
58  bool lessThan_; // the cut is "<" or ">" ?
59  bool useEt_; // use E or Et in relative isolation cuts
60  std::vector<double> thrRegularEB_; // threshold for regular cut (x < thr) - ECAL barrel
61  std::vector<double> thrRegularEE_; // threshold for regular cut (x < thr) - ECAL endcap
62  std::vector<double> thrOverEEB_; // threshold for x/E < thr cut (isolations) - ECAL barrel
63  std::vector<double> thrOverEEE_; // threshold for x/E < thr cut (isolations) - ECAL endcap
64  std::vector<double> thrOverE2EB_; // threshold for x/E^2 < thr cut (isolations) - ECAL barrel
65  std::vector<double> thrOverE2EE_; // threshold for x/E^2 < thr cut (isolations) - ECAL endcap
66  int ncandcut_; // number of candidates required
67 
69 
70  edm::InputTag rhoTag_; // input tag identifying rho producer
73  double rhoMax_;
74  double rhoScale_;
75  std::vector<double> effectiveAreas_;
76  std::vector<double> absEtaLowEdges_;
77 };
78 
79 #endif //HLTGenericFilter_h
80 
81 
edm::EDGetTokenT< double > rhoToken_
edm::InputTag rhoTag_
std::vector< double > energyLowEdges_
double getEnergy(HBHERecHitCollection::const_iterator hit, int useRaw=0, bool debug=false)
edm::Ref< T1Collection > T1Ref
std::vector< double > thrOverE2EE_
edm::AssociationMap< edm::OneToValue< std::vector< T1 >, float > > T1IsolationMap
edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > candToken_
std::vector< double > thrRegularEB_
std::vector< T1 > T1Collection
edm::EDGetTokenT< T1IsolationMap > varToken_
edm::InputTag l1EGTag_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
std::vector< double > thrRegularEE_
edm::InputTag candTag_
std::vector< double > thrOverEEB_
std::vector< double > thrOverE2EB_
edm::InputTag varTag_
HLT enums.
std::vector< double > thrOverEEE_
std::vector< double > absEtaLowEdges_
std::vector< double > effectiveAreas_