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<vector>
00025
00026
00027
00028
00029
00030 template<typename T1, int Tid1, typename T2, int Tid2>
00031 class HLTDoublet : public HLTFilter {
00032
00033 public:
00034
00035 explicit HLTDoublet(const edm::ParameterSet&);
00036 ~HLTDoublet();
00037 virtual bool filter(edm::Event&, const edm::EventSetup&);
00038
00039 private:
00040
00041 edm::InputTag inputTag1_;
00042 edm::InputTag inputTag2_;
00043 bool saveTags_;
00044 double min_Dphi_,max_Dphi_;
00045 double min_Deta_,max_Deta_;
00046 double min_Minv_,max_Minv_;
00047 double min_DelR_,max_DelR_;
00048 int min_N_;
00049
00050
00051 bool same_;
00052 bool cutdphi_,cutdeta_,cutminv_,cutdelr_;
00053
00054
00055 typedef std::vector<T1> T1Collection;
00056 typedef edm::Ref<T1Collection> T1Ref;
00057 std::vector<T1Ref> coll1_;
00058 typedef std::vector<T2> T2Collection;
00059 typedef edm::Ref<T2Collection> T2Ref;
00060 std::vector<T2Ref> coll2_;
00061
00062
00063 };
00064
00065 #endif //HLTDoublet_h