CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/HLTrigger/HLTfilters/interface/HLTSmartSinglet.h

Go to the documentation of this file.
00001 #ifndef HLTSmartSinglet_h
00002 #define HLTSmartSinglet_h
00003 
00020 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
00021 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
00022 #include<vector>
00023 
00024 #include "CommonTools/Utils/interface/StringCutObjectSelector.h"
00025 #include<string>
00026 
00027 //
00028 // class declaration
00029 //
00030 
00031 template<typename T>
00032 class HLTSmartSinglet : public HLTFilter {
00033 
00034    public:
00035 
00036       explicit HLTSmartSinglet(const edm::ParameterSet&);
00037       ~HLTSmartSinglet();
00038       static void fillDescriptions(edm::ConfigurationDescriptions & descriptions);
00039       virtual bool hltFilter(edm::Event&, const edm::EventSetup&, trigger::TriggerFilterObjectWithRefs & filterproduct);
00040 
00041    private:
00042       edm::InputTag inputTag_; // input tag identifying product
00043       int triggerType_;        // triggerType
00044       std::string   cut_;      // smart cut
00045       int           min_N_;    // number of objects passing cuts required
00046 
00047       StringCutObjectSelector<T,true> select_; // smart selector
00048 };
00049 
00050 #endif //HLTSmartSinglet_h