15 tagAlgo_(conf.getParameter<int>(
"tagAlgo")),
16 ptMin_(conf.getParameter<double>(
"jetPtMin")),
17 centralEtaCut_(conf.getParameter<double>(
"centralEtaCut")),
18 verbose_(conf.getParameter<bool>(
"verbose")) {
54 fastjet::JetDefinition::Plugin*
plugin =
new fastjet::SISConePlugin(0.6, 0.75);
55 fastjet::JetDefinition NsubJetDef(plugin);
56 fjNSUBTagger_ = std::make_unique<fastjet::RestFrameNSubjettinessTagger>(NsubJetDef,
84 cout <<
"Getting central jets" << endl;
86 vector<fastjet::PseudoJet> centralJets;
87 for (
unsigned int i = 0;
i < inclusiveJets.size();
i++) {
89 centralJets.push_back(inclusiveJets[
i]);
95 fastjet::RestFrameNSubjettinessTagger& NSUBTagger = *
fjNSUBTagger_;
97 vector<fastjet::PseudoJet>::iterator jetIt = centralJets.begin(), centralJetsEnd = centralJets.end();
99 cout <<
"Loop over jets" << endl;
100 for (; jetIt != centralJetsEnd; ++jetIt) {
102 cout <<
"CMS FJ jet pt: " << (*jetIt).perp() << endl;
104 fastjet::PseudoJet taggedJet;
106 taggedJet = CMSTagger.result(*jetIt);
108 taggedJet = JHUTagger.result(*jetIt);
110 taggedJet = NSUBTagger.result(*jetIt);
112 cout <<
"NOT A VALID TAGGING ALGORITHM CHOICE!" << endl;
123 desc.
add<
int>(
"tagAlgo", 0);
124 desc.
add<
double>(
"centralEtaCut", 2.5);
125 desc.
add<
bool>(
"verbose",
false);
126 desc.
add<
string>(
"jetCollInstanceName",
"caTopSubJets");
127 desc.
add<
int>(
"algorithm", 1);
128 desc.
add<
int>(
"useAdjacency", 2);
133 vector<double> sumEtBinsDefault = {0., 1600., 2600.};
134 desc.
add<vector<double>>(
137 vector<double> rBinsDefault(3, 0.8);
138 desc.
add<vector<double>>(
"rBins", rBinsDefault);
139 vector<double> ptFracBinsDefault(3, 0.05);
140 desc.
add<vector<double>>(
"ptFracBins", ptFracBinsDefault);
141 vector<double> deltarBinsDefault(3, 0.019);
142 desc.
add<vector<double>>(
143 "deltarBins", deltarBinsDefault);
144 vector<double> nCellBinsDefault(3, 1.9);
145 desc.
add<vector<double>>(
148 desc.
add<
bool>(
"useMaxTower",
false);
149 desc.
add<
double>(
"sumEtEtaCut", 3.0);
150 desc.
add<
double>(
"etFrac", 0.7);
151 desc.
add<
double>(
"ptFrac", 0.05);
152 desc.
add<
double>(
"rFrac", 0.);
153 desc.
add<
double>(
"adjacencyParam", 0.);
154 desc.
add<
double>(
"deltaRCut", 0.19);
155 desc.
add<
double>(
"cosThetaWMax", 0.7);
156 desc.
add<
double>(
"tau2Cut", 0.);
157 desc.
add<
double>(
"cosThetaSCut", 0.);
158 desc.
add<
bool>(
"useExclusive",
false);
164 descriptions.
add(
"CATopJetProducer", desc);
const edm::EventSetup & c
std::vector< fastjet::PseudoJet > fjJets_
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
#define DEFINE_FWK_MODULE(type)
std::shared_ptr< fastjet::ClusterSequence > ClusterSequencePtr
std::unique_ptr< fastjet::RestFrameNSubjettinessTagger > fjNSUBTagger_
std::unique_ptr< fastjet::JHTopTagger > fjJHUTopTagger_
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
std::vector< fastjet::PseudoJet > fjInputs_
ptMin_(conf.getParameter< double >("ptMin"))
ClusterSequencePtr fjClusterSeq_
unique_ptr< JetDefinition::Plugin > plugin
std::unique_ptr< CATopJetAlgorithm > legacyCMSTopTagger_
void runAlgorithm(edm::Event &iEvent, const edm::EventSetup &iSetup) override
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
static void fillDescriptionsFromFastJetProducer(edm::ParameterSetDescription &desc)
T getParameter(std::string const &) const
void add(std::string const &label, ParameterSetDescription const &psetDescription)
T perp() const
Magnitude of transverse component.
AreaDefinitionPtr fjAreaDefinition_
static void fillDescriptionsFromVirtualJetProducer(edm::ParameterSetDescription &desc)
std::unique_ptr< fastjet::CMSTopTagger > fjCMSTopTagger_
The algorithm to do the work.
JetDefPtr fjJetDefinition_