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();
 
double rap() const 
returns the rapidity or some large value when the rapidity is infinite 
vector< PseudoJet > sorted_by_pt(const vector< PseudoJet > &jets)
return a vector of jets sorted into decreasing kt2 
const TransformerType::StructureType & structure_of() const 
this is a helper to access any structure created by a Transformer (that is, of type Transformer::Stru...
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...
int main()
an example program showing how to use fastjet 
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) ...
Class to contain pseudojets, including minimal information of use to jet-clustering routines...
Selector SelectorMassRange(double mmin, double mmax)
select objects with Mmin <= Mass <= Mmax 
class that is intended to hold a full definition of the jet clusterer