EventShape

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#include <DataFormats/TrackReco/interface/TrackFwd.h>
#include <DataFormats/Math/interface/LorentzVectorFwd.h>
#include <TVector3.h>
#include <vector>

class EventShape {
public:
  static math::XYZTLorentzVectorF thrust(const reco::TrackCollection&);
  static float sphericity(const reco::TrackCollection&);
  static float aplanarity(const reco::TrackCollection&);
  static float planarity(const reco::TrackCollection&);

  EventShape(reco::TrackCollection&);

  math::XYZTLorentzVectorF thrust() const;
  float sphericity() const;
  float aplanarity() const;
  float planarity() const;

private:
  std::vector<TVector3> p;
  std::vector<float> eigenvalues;
};