File indexing completed on 2024-04-06 12:25:31
0001 #ifndef RecoJets_JetProducers_CATopJetProducer_h
0002 #define RecoJets_JetProducers_CATopJetProducer_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042 #include "FWCore/Framework/interface/Event.h"
0043 #include "FWCore/Framework/interface/EventSetup.h"
0044 #include "DataFormats/Common/interface/View.h"
0045 #include "DataFormats/Common/interface/Handle.h"
0046 #include "DataFormats/Provenance/interface/ProductID.h"
0047 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0048 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
0049 #include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
0050
0051 #include "DataFormats/JetReco/interface/CaloJetCollection.h"
0052 #include "DataFormats/JetReco/interface/GenJetCollection.h"
0053 #include "DataFormats/JetReco/interface/PFJetCollection.h"
0054 #include "DataFormats/JetReco/interface/BasicJetCollection.h"
0055 #include "RecoJets/JetAlgorithms/interface/JetAlgoHelper.h"
0056 #include "DataFormats/Candidate/interface/CandidateFwd.h"
0057 #include "DataFormats/Candidate/interface/LeafCandidate.h"
0058 #include "FWCore/Framework/interface/ESHandle.h"
0059 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
0060 #include "Geometry/Records/interface/CaloGeometryRecord.h"
0061
0062 #include "RecoJets/JetProducers/plugins/FastjetJetProducer.h"
0063 #include "RecoJets/JetAlgorithms/interface/CATopJetAlgorithm.h"
0064 #include "CATopJetProducer.h"
0065 #include "RecoJets/JetAlgorithms/interface/CMSTopTagger.h"
0066
0067 #include <fastjet/tools/RestFrameNSubjettinessTagger.hh>
0068 #include "fastjet/SISConePlugin.hh"
0069
0070 namespace cms {
0071 class CATopJetProducer : public FastjetJetProducer {
0072 public:
0073 CATopJetProducer(const edm::ParameterSet& ps);
0074
0075 ~CATopJetProducer() override {}
0076 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0077
0078 void produce(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
0079
0080 void runAlgorithm(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
0081
0082 private:
0083 std::unique_ptr<CATopJetAlgorithm> legacyCMSTopTagger_;
0084 std::unique_ptr<fastjet::CMSTopTagger> fjCMSTopTagger_;
0085 std::unique_ptr<fastjet::JHTopTagger> fjJHUTopTagger_;
0086 std::unique_ptr<fastjet::RestFrameNSubjettinessTagger> fjNSUBTagger_;
0087
0088 int tagAlgo_;
0089 double ptMin_;
0090 double centralEtaCut_;
0091 bool verbose_;
0092 enum tagalgos { CA_TOPTAGGER, FJ_CMS_TOPTAG, FJ_JHU_TOPTAG, FJ_NSUB_TAG };
0093 };
0094
0095 }
0096
0097 #endif