Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:18:21

0001 #ifndef RECOJETS_JETALGORITHMS_SUBJETFILTERALGORITHM_H
0002 #define RECOJETS_JETALGORITHMS_SUBJETFILTERALGORITHM_H 1
0003 
0004 /*
0005   Implementation of the subjet/filter jet reconstruction algorithm
0006   which is described in: http://arXiv.org/abs/0802.2470
0007   
0008   CMSSW implementation by David Lopes-Pegna           <david.lopes-pegna@cern.ch>
0009                       and Philipp Schieferdecker <philipp.schieferdecker@cern.ch>
0010 
0011   see: https://twiki.cern.ch/twiki/bin/view/CMS/SWGuideSubjetFilterJetProducer
0012 
0013 */
0014 
0015 #include <vector>
0016 
0017 #include "RecoJets/JetAlgorithms/interface/CompoundPseudoJet.h"
0018 #include "FWCore/Framework/interface/Event.h"
0019 
0020 #include <fastjet/JetDefinition.hh>
0021 #include <fastjet/AreaDefinition.hh>
0022 #include <fastjet/PseudoJet.hh>
0023 
0024 class SubjetFilterAlgorithm {
0025   //
0026   // construction / destruction
0027   //
0028 public:
0029   SubjetFilterAlgorithm(const std::string& moduleLabel,
0030                         const std::string& jetAlgorithm,
0031                         unsigned nFatMax,
0032                         double rParam,
0033                         double rFilt,
0034                         double jetPtMin,
0035                         double massDropCut,
0036                         double asymmCut,
0037                         bool asymmCutLater,
0038                         bool doAreaFastjet,
0039                         double ghostEtaMax,
0040                         int activeAreaRepeats,
0041                         double ghostArea,
0042                         bool verbose);
0043   virtual ~SubjetFilterAlgorithm();
0044 
0045   //
0046   // member functions
0047   //
0048 public:
0049   void run(const std::vector<fastjet::PseudoJet>& inputs,
0050            std::vector<CompoundPseudoJet>& fatJets,
0051            const edm::EventSetup& iSetup);
0052 
0053   std::string summary() const;
0054 
0055   //
0056   // member data
0057   //
0058 private:
0059   std::string moduleLabel_;
0060   std::string jetAlgorithm_;
0061   unsigned nFatMax_;
0062   double rParam_;
0063   double rFilt_;
0064   double jetPtMin_;
0065   double massDropCut_;
0066   double asymmCut2_;
0067   bool asymmCutLater_;
0068   bool doAreaFastjet_;
0069   double ghostEtaMax_;
0070   int activeAreaRepeats_;
0071   double ghostArea_;
0072   bool verbose_;
0073 
0074   unsigned nevents_;
0075   unsigned ntotal_;
0076   unsigned nfound_;
0077 
0078   fastjet::JetDefinition* fjJetDef_;
0079   fastjet::AreaDefinition* fjAreaDef_;
0080 };
0081 
0082 #endif