49 #include <fastjet/ClusterSequence.hh>    50 #include <fastjet/Selector.hh>    51 #include <fastjet/tools/JHTopTagger.hh>    60 ostream & operator<<(ostream &, 
const PseudoJet &);
    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;
   151 ostream & operator<<(ostream & ostr, 
const PseudoJet & jet) {
   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();
 vector< PseudoJet > sorted_by_pt(const vector< PseudoJet > &jets)
return a vector of jets sorted into decreasing kt2 
 
Class that helps perform boosted top tagging using the "Johns Hopkins" method from arXiv:0806...
 
double perp() const
returns the scalar transverse momentum 
 
int main()
an example program showing how to use fastjet 
 
double m() const
returns the invariant mass (If m2() is negative then -sqrt(-m2()) is returned, as in CLHEP) ...
 
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 rap() const
returns the rapidity or some large value when the rapidity is infinite 
 
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