49#include <fastjet/ClusterSequence.hh> 
   50#include <fastjet/Selector.hh> 
   51#include <fastjet/tools/JHTopTagger.hh> 
   67  vector<PseudoJet> particles;
 
   73  while (getline(cin,line)) {
 
   74    if (line.substr(0,1) == 
"#") {
continue;}
 
   75    istringstream linestream(line);
 
   77    linestream >> px >> py >> pz >> E;
 
   80    particles.push_back(
PseudoJet(px,py,pz,E));
 
   86  for (
unsigned int i=0; i<particles.size(); i++)
 
   87    Et += particles[i].perp();
 
   89  double R, delta_p, delta_r;
 
   90  if      (Et>2600){ R=0.4; delta_p=0.05; delta_r=0.19;}
 
   91  else if (Et>1600){ R=0.6; delta_p=0.05; delta_r=0.19;}
 
   92  else if (Et>1000){ R=0.8; delta_p=0.10; delta_r=0.19;}
 
   93  else{ cerr << 
"Et has to be at least 1 TeV"<< endl; 
return 1;}
 
   95  double ptmin = min(500.0, 0.7*Et/2);
 
  101  vector<PseudoJet> jets = 
sorted_by_pt(cs.inclusive_jets());
 
  103  cout << 
"Ran: " << jet_def.description() << endl << endl;
 
  104  cout << 
"2 Hardest jets: " << jets[0] << endl
 
  105       << 
"                " << jets[1] << endl << endl;
 
  107  if (jets[0].perp()<ptmin){
 
  108    cout << 
"No jet above the ptmin threshold" << endl;
 
  131  cout << 
"Ran the following top tagger: " << top_tagger.description() << endl;
 
  134    cout << 
"No top substructure found" << endl;
 
  138  cout << 
"Found top substructure from the hardest jet:" << endl;
 
  139  cout << 
"  top candidate:     " << tagged << endl;
 
  152  ostr << 
"pt, y, phi =" << setprecision(6)
 
  153       << 
" " << setw(9) << jet.
perp() 
 
  154       << 
" " << setw(9)  <<  jet.
rap()  
 
  155       << 
" " << setw(9)  <<  jet.
phi()  
 
  156       << 
", mass = " << setw(9) << jet.
m();
 
int main()
an example program showing how to use fastjet
 
ostream & operator<<(ostream &, PseudoJet &)
does the actual work for printing out a jet
 
Class that helps perform boosted top tagging using the "Johns Hopkins" method from arXiv:0806....
 
class that is intended to hold a full definition of the jet clusterer
 
Class to contain pseudojets, including minimal information of use to jet-clustering routines.
 
double rap() const
returns the rapidity or some large value when the rapidity is infinite
 
const TransformerType::StructureType & structure_of() const
this is a helper to access any structure created by a Transformer (that is, of type Transformer::Stru...
 
double phi() const
returns phi (in the range 0..2pi)
 
double perp() const
returns the scalar transverse momentum
 
double m() const
returns the invariant mass (If m2() is negative then -sqrt(-m2()) is returned, as in CLHEP)
 
Selector SelectorMassRange(double mmin, double mmax)
select objects with Mmin <= Mass <= Mmax
 
vector< PseudoJet > sorted_by_pt(const vector< PseudoJet > &jets)
return a vector of jets sorted into decreasing kt2