Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:25:34

0001 #ifndef RECOJETS_JETPRODUCERS_SUBJETFILTERJETPRODUCER_H
0002 #define RECOJETS_JETPRODUCERS_SUBJETFILTERJETPRODUCER_H 1
0003 
0004 /*
0005   The plugin produces the output of the Subjet/Filter jet reconstruction
0006   algorithm which was first proposed here: http://arXiv.org/abs/0802.2470
0007   
0008   The real work is done in RecoJets/JetAlgorithms/src/SubjetFilterAlgorithm.cc
0009   
0010   CMSSW implementation by David Lopes-Pegna           <david.lopes-pegna@cern.ch>
0011                       and Philipp Schieferdecker <philipp.schieferdecker@cern.ch>
0012 
0013   see: https://twiki.cern.ch/twiki/bin/view/CMS/SWGuideSubjetFilterJetProducer
0014 
0015 */
0016 
0017 #include "VirtualJetProducer.h"
0018 #include "FWCore/Framework/interface/EventSetup.h"
0019 #include "RecoJets/JetAlgorithms/interface/CompoundPseudoJet.h"
0020 #include "RecoJets/JetAlgorithms/interface/SubjetFilterAlgorithm.h"
0021 
0022 class SubjetFilterJetProducer : public VirtualJetProducer {
0023   //
0024   // construction / destruction
0025   //
0026 public:
0027   SubjetFilterJetProducer(const edm::ParameterSet& ps);
0028   ~SubjetFilterJetProducer() override;
0029 
0030   //
0031   // member functions
0032   //
0033 public:
0034   void produce(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
0035   void endJob();
0036   void runAlgorithm(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
0037   void inputTowers() override;
0038   void output(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
0039   template <class T>
0040   void writeCompoundJets(edm::Event& iEvent, const edm::EventSetup& iSetup);
0041 
0042   //
0043   // member data
0044   //
0045 private:
0046   SubjetFilterAlgorithm alg_;
0047   std::vector<CompoundPseudoJet> fjCompoundJets_;
0048 };
0049 
0050 #endif