ATLAS Offline Software
Loading...
Searching...
No Matches
JetSubStructureUtils Namespace Reference

Classes

class  Angularity
class  BoostedXbbTag
class  Charge
class  Dipolarity
class  EnergyCorrelator
class  EnergyCorrelatorGeneralized
class  FoxWolfram
struct  jet_distance
class  JetDistanceCompare
class  KtDeltaR
class  KtMassDrop
class  KtSplittingScale
class  Multiplicities
class  Nsubjettiness
class  PlanarFlow
class  Pull
class  Qjets
class  QjetsPlugin
class  Qw
class  SoftDropObservables
class  SphericityTensor
class  SubjetFinder
class  SubstructureCalculator
class  Thrust
class  Volatility
class  ZCut

Functions

std::vector< fastjet::PseudoJet > boostToCenterOfMass (const fastjet::PseudoJet &jet, std::vector< fastjet::PseudoJet > constituents)

Function Documentation

◆ boostToCenterOfMass()

vector< fastjet::PseudoJet > JetSubStructureUtils::boostToCenterOfMass ( const fastjet::PseudoJet & jet,
std::vector< fastjet::PseudoJet > constituents )

Definition at line 9 of file BoostToCenterOfMass.cxx.

10 {
11 vector<fastjet::PseudoJet> clusters;
12 if(jet.e() < 1e-20) { // FPE
13 return clusters;
14 }
15
16 double bx = jet.px()/jet.e();
17 double by = jet.py()/jet.e();
18 double bz = jet.pz()/jet.e();
19
20 if(bx*bx + by*by + bz*bz >= 1) { // Faster than light
21 return clusters;
22 }
23
24 for(unsigned int i1=0; i1 < constit_pseudojets.size(); i1++) {
25 TLorentzVector v;
26 v.SetPxPyPzE(constit_pseudojets.at(i1).px(), constit_pseudojets.at(i1).py(),constit_pseudojets.at(i1).pz(),constit_pseudojets.at(i1).e());
27 v.Boost(-bx,-by,-bz);
28 fastjet::PseudoJet v2(v.Px(), v.Py(), v.Pz(), v.E());
29 clusters.push_back(v2);
30 }
31
32 return clusters;
33}