ATLAS Offline Software
LargeJetTrimmer.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3  */
4 
6 
7 #include "xAODJet/Jet.h"
8 
9 #include <fastjet/PseudoJet.hh>
10 #include <fastjet/ClusterSequence.hh>
11 #include <fastjet/ClusterSequenceArea.hh>
12 #include <fastjet/AreaDefinition.hh>
13 #include <fastjet/contrib/Nsubjettiness.hh>
14 #include <fastjet/contrib/Njettiness.hh>
15 #include <fastjet/contrib/NjettinessPlugin.hh>
16 #include <fastjet/tools/Filter.hh>
17 
18 using namespace xAOD;
19 using namespace fastjet;
20 using namespace fastjet::contrib;
21 
23 }
24 
26 }
27 
29  JetConstituentVector vec = jet.getConstituents();
30 
31  std::vector<fastjet::PseudoJet> p_c;
32 
35  for (; it != itE; ++it) {
36  PseudoJet p(0, 0, 0, 0);
37  float pt = (*it)->pt();
38  float y = (*it)->rapidity();
39  float phi = (*it)->phi();
40  float m = (*it)->m();
41  p.reset_PtYPhiM(pt, y, phi, m);
42  p_c.push_back(p);
43  }
44 
45  JetDefinition jet_def_large = JetDefinition(antikt_algorithm, 1.0, fastjet::E_scheme, fastjet::Best);
46  ClusterSequence cs_large(p_c, jet_def_large);
47  std::vector<PseudoJet> ljets = sorted_by_pt(cs_large.inclusive_jets(50e3));
48  Filter trimmer(0.3, SelectorPtFractionMin(0.05));
49  if (ljets.size() == 0) {
50  return;
51  }
52  PseudoJet tjet = trimmer(ljets[0]);
53  jet.setJetP4(xAOD::JetFourMom_t(tjet.pt(), tjet.eta(), tjet.phi(), tjet.m()));
54 }
55 
56 void top::LargeJetTrimmer::print(std::ostream& o) const {
57  o << "LargeJetTrimmer" << std::endl;
58 }
Jet.h
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
fastjet
Definition: FastJetLinkBase.h:22
top::LargeJetTrimmer::print
void print(std::ostream &) const
Useful messages on the screen.
Definition: LargeJetTrimmer.cxx:56
skel.it
it
Definition: skel.GENtoEVGEN.py:423
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
xAOD::pt
setRcore setEtHad setFside pt
Definition: TrigPhoton_v1.cxx:106
TruthTest.itE
itE
Definition: TruthTest.py:25
xAOD::phi
setEt phi
Definition: TrigEMCluster_v1.cxx:29
top::LargeJetTrimmer::~LargeJetTrimmer
~LargeJetTrimmer()
Definition: LargeJetTrimmer.cxx:25
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
CheckAppliedSFs.e3
e3
Definition: CheckAppliedSFs.py:264
jet::ClusterSequence
fastjet::ClusterSequence ClusterSequence
Definition: ClusterSequence.h:21
top::LargeJetTrimmer::correctJet
void correctJet(xAOD::Jet &)
Definition: LargeJetTrimmer.cxx:28
xAOD::JetFourMom_t
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > JetFourMom_t
Base 4 Momentum type for Jet.
Definition: JetTypes.h:17
LargeJetTrimmer.h
xAOD::JetAlgorithmType::antikt_algorithm
@ antikt_algorithm
Definition: JetContainerInfo.h:33
fastjet::contrib
Definition: RCJet.h:43
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
y
#define y
top::LargeJetTrimmer::LargeJetTrimmer
LargeJetTrimmer()
Definition: LargeJetTrimmer.cxx:22
xAOD::JetConstituentVector
A vector of jet constituents at the scale used during jet finding.
Definition: JetConstituentVector.h:117
xAOD::JetConstituentVector::iterator
Definition: JetConstituentVector.h:121
python.StandardJetMods.Filter
Filter
Definition: StandardJetMods.py:36