Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HLTGlobalSums_h
0002 #define HLTGlobalSums_h
0003 
0004 /** \class HLTGlobalSums
0005  *
0006  *
0007  *  This class is an HLTFilter (-> EDFilter) implementing cuts on
0008  *  global sums such as the scalar sum of Et (a.k.a. H_T), available
0009  *  in the T=CaloMET or T=MET object.
0010  *
0011  *
0012  *  \author Martin Grunewald
0013  *
0014  */
0015 
0016 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
0017 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0018 #include <string>
0019 #include <vector>
0020 
0021 //
0022 // class declaration
0023 //
0024 
0025 template <typename T>
0026 class HLTGlobalSums : public HLTFilter {
0027 public:
0028   explicit HLTGlobalSums(const edm::ParameterSet&);
0029   ~HLTGlobalSums() override;
0030   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0031   bool hltFilter(edm::Event&,
0032                  const edm::EventSetup&,
0033                  trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0034 
0035 private:
0036   // configuration
0037   edm::InputTag inputTag_;                        // input tag identifying MET product
0038   edm::EDGetTokenT<std::vector<T> > inputToken_;  // token identifying MET product
0039   int triggerType_;                               // triggerType configured
0040   std::string observable_;                        // which observable to cut on
0041   double min_, max_;                              // cut: Min<=observable<=Max
0042   int min_N_;                                     // how many needed to pass
0043   int tid_;                                       // actual triggerType
0044 };
0045 
0046 #endif  //HLTGlobalSums_h