CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/HLTrigger/HLTfilters/interface/HLTDoublet.h

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 // class declaration
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       // configuration
00041       edm::InputTag inputTag1_;   // input tag identifying 1st product
00042       edm::InputTag inputTag2_;   // input tag identifying 2nd product
00043       bool saveTags_;             // whether to save these tags
00044       double min_Dphi_,max_Dphi_; // Delta phi window
00045       double min_Deta_,max_Deta_; // Delta eta window
00046       double min_Minv_,max_Minv_; // Minv(1,2) window
00047       double min_DelR_,max_DelR_; // Delta R window
00048       int    min_N_;              // number of pairs passing cuts required
00049 
00050       // calculated from configuration in c'tor
00051       bool   same_;                      // 1st and 2nd product are one and the same
00052       bool   cutdphi_,cutdeta_,cutminv_,cutdelr_; // cuts are on=true or off=false
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