18 maxFatjetAbsEta_(2.5),
60 produces<HTTTopJetTagInfoCollection>();
65 fjHEPTopTagger_ = std::auto_ptr<fastjet::HEPTopTaggerV2>(
new fastjet::HEPTopTaggerV2(
118 vector<fastjet::PseudoJet> centralJets;
119 for (
unsigned int i = 0;
i < inclusiveJets.size();
i++) {
122 centralJets.push_back(inclusiveJets[
i]);
128 vector<fastjet::PseudoJet>::iterator jetIt = centralJets.begin(), centralJetsEnd = centralJets.end();
130 for ( ; jetIt != centralJetsEnd; ++jetIt ) {
132 if (
verbose_)
cout <<
"CMS FJ jet pt: " << (*jetIt).perp() << endl;
134 fastjet::PseudoJet taggedJet;
136 taggedJet = HEPTagger.result(*jetIt);
151 auto tagInfos = std::make_unique<HTTTopJetTagInfoCollection>();
154 for (
size_t ij=0; ij !=
fjJets_.size(); ij++){
166 fastjet::HEPTopTaggerV2Structure *
s = (fastjet::HEPTopTaggerV2Structure*)
fjJets_[ij].structure_non_const_ptr();
168 properties.
fjMass = s->fj_mass();
169 properties.
fjPt = s->fj_pt();
170 properties.
fjEta = s->fj_eta();
171 properties.
fjPhi = s->fj_phi();
173 properties.
topMass = s->top_mass();
176 properties.
fRec = s->fRec();
179 properties.
ropt = s->ropt();
180 properties.
roptCalc = s->roptCalc();
189 properties.
qWeight = s->qweight();
190 properties.
qEpsilon = s->qepsilon();
191 properties.
qSigmaM = s->qsigmaM();
193 tagInfo.
insert(rtb, properties );
205 desc.
add<
bool> (
"optimalR",
true);
206 desc.
add<
bool> (
"qJets",
false);
207 desc.
add<
double>(
"minFatjetPt", 200.);
208 desc.
add<
double>(
"minSubjetPt", 0.);
209 desc.
add<
double>(
"minCandPt", 0.);
210 desc.
add<
double>(
"maxFatjetAbsEta", 99.);
211 desc.
add<
double>(
"subjetMass", 30.);
212 desc.
add<
double>(
"filtR", 0.3);
213 desc.
add<
int> (
"filtN", 5);
214 desc.
add<
int> (
"mode", 4);
215 desc.
add<
double>(
"minCandMass", 0.);
216 desc.
add<
double>(
"maxCandMass", 999999.);
217 desc.
add<
double>(
"massRatioWidth",999999.);
218 desc.
add<
double>(
"minM23Cut", 0.);
219 desc.
add<
double>(
"minM13Cut", 0.);
220 desc.
add<
double>(
"maxM13Cut", 999999.);
221 desc.
add<
double>(
"maxR", 1.5);
222 desc.
add<
double>(
"minR", 0.5);
223 desc.
add<
bool> (
"rejectMinR",
false);
224 desc.
add<
bool> (
"verbose",
false);
226 desc.
add<
int> (
"algorithm", 1);
234 descriptions.
add(
"HTTTopJetProducer",desc);
T getParameter(std::string const &) const
std::auto_ptr< fastjet::HEPTopTaggerV2 > fjHEPTopTagger_
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
std::vector< fastjet::PseudoJet > fjJets_
#define DEFINE_FWK_MODULE(type)
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &)=0
Use this engine in event methods.
void insert(const edm::RefToBase< Jet > &jet, const HTTTopJetProperties &properties)
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
std::vector< fastjet::PseudoJet > fjInputs_
ClusterSequencePtr fjClusterSeq_
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void addHTTTopJetTagInfoCollection(edm::Event &iEvent, const edm::EventSetup &iSetup, edm::OrphanHandle< reco::BasicJetCollection > &oh) override
static void fillDescriptionsFromFastJetProducer(edm::ParameterSetDescription &desc)
bool fromHTTTopJetProducer_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
T perp() const
Magnitude of transverse component.
StreamID streamID() const
AreaDefinitionPtr fjAreaDefinition_
static void fillDescriptionsFromVirtualJetProducer(edm::ParameterSetDescription &desc)
void runAlgorithm(edm::Event &iEvent, const edm::EventSetup &iSetup) override
boost::shared_ptr< fastjet::ClusterSequence > ClusterSequencePtr
JetDefPtr fjJetDefinition_