Go to the documentation of this file.00001 #ifndef HLTDoublet_h
00002 #define HLTDoublet_h
00003
00022 #include "DataFormats/Common/interface/Ref.h"
00023 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
00024 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
00025 #include<string>
00026 #include<vector>
00027
00028
00029
00030
00031
00032 template<typename T1, typename T2>
00033 class HLTDoublet : public HLTFilter {
00034
00035 public:
00036
00037 explicit HLTDoublet(const edm::ParameterSet&);
00038 ~HLTDoublet();
00039 static void fillDescriptions(edm::ConfigurationDescriptions & descriptions);
00040 virtual bool hltFilter(edm::Event&, const edm::EventSetup&, trigger::TriggerFilterObjectWithRefs & filterproduct);
00041
00042 private:
00043
00044 edm::InputTag originTag1_;
00045 edm::InputTag originTag2_;
00046 edm::InputTag inputTag1_;
00047 edm::InputTag inputTag2_;
00048 int triggerType1_;
00049 int triggerType2_;
00050 double min_Dphi_,max_Dphi_;
00051 double min_Deta_,max_Deta_;
00052 double min_Minv_,max_Minv_;
00053 double min_DelR_,max_DelR_;
00054 double min_Pt_ ,max_Pt_;
00055 int min_N_;
00056
00057
00058 bool same_;
00059 bool cutdphi_,cutdeta_,cutminv_,cutdelr_,cutpt_;
00060
00061 std::string label_;
00062
00063
00064 typedef std::vector<T1> T1Collection;
00065 typedef edm::Ref<T1Collection> T1Ref;
00066 std::vector<T1Ref> coll1_;
00067 typedef std::vector<T2> T2Collection;
00068 typedef edm::Ref<T2Collection> T2Ref;
00069 std::vector<T2Ref> coll2_;
00070
00071 };
00072
00073 #endif //HLTDoublet_h