Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:06:45

0001 #ifndef DPGAnalysis_Skim_TagProbeMassProducer_h
0002 #define DPGAnalysis_Skim_TagProbeMassProducer_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     TagAndProbe
0006 // Class  :     TagProbeMassProducer
0007 //
0008 /**\class TagProbeMassProducer TagProbeMassProducer.h PhysicsTools/TagAndProbe/interface/TagProbeMassProducer.h
0009 
0010  Description: <one line class summary>
0011 
0012  Usage:
0013     <usage>
0014 
0015 */
0016 //
0017 // Original Author:
0018 //         Created:  Wed Apr 16 10:08:13 CDT 2008
0019 // $Id: TagProbeMassProducer.h,v 1.1 2010/05/04 09:42:40 azzi Exp $
0020 //
0021 
0022 // system include files
0023 #include <memory>
0024 
0025 // user include files
0026 #include "FWCore/Framework/interface/Frameworkfwd.h"
0027 #include "FWCore/Framework/interface/stream/EDProducer.h"
0028 #include "FWCore/Framework/interface/Event.h"
0029 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0030 #include "DataFormats/Candidate/interface/CandidateFwd.h"
0031 
0032 // forward declarations
0033 
0034 class TagProbeMassProducer : public edm::stream::EDProducer<> {
0035 public:
0036   explicit TagProbeMassProducer(const edm::ParameterSet&);
0037   ~TagProbeMassProducer() override;
0038 
0039 private:
0040   void produce(edm::Event&, const edm::EventSetup&) override;
0041 
0042   bool isPassingProbe(const unsigned int iprobe) const;
0043 
0044   // ----------member data ---------------------------
0045 
0046   edm::InputTag tagCollection_;
0047   edm::InputTag probeCollection_;
0048   edm::InputTag passingProbeCollection_;
0049 
0050   edm::Handle<reco::CandidateView> tags;
0051   edm::Handle<reco::CandidateView> probes;
0052   edm::Handle<reco::CandidateView> passingProbes;
0053 
0054   double massMinCut_;
0055   double massMaxCut_;
0056   double delRMinCut_;
0057   double delRMaxCut_;
0058 
0059   bool requireOS_;
0060 };
0061 
0062 #endif