CMS 3D CMS Logo

EventShapeVariables.h
Go to the documentation of this file.
1 #ifndef EventShapeVariables_h
2 #define EventShapeVariables_h
3 
26 
27 #include "TMatrixDSym.h"
28 #include "TVectorD.h"
29 
30 #include <vector>
31 
33 
34  public:
36  explicit EventShapeVariables(const edm::View<reco::Candidate>& inputVectors);
38  explicit EventShapeVariables(const std::vector<math::XYZVector>& inputVectors);
40  explicit EventShapeVariables(const std::vector<math::RhoEtaPhiVector>& inputVectors);
42  explicit EventShapeVariables(const std::vector<math::RThetaPhiVector>& inputVectors);
45 
49  double isotropy(const unsigned int& numberOfSteps = 1000) const;
50 
53  double circularity(const unsigned int& numberOfSteps = 1000) const;
54 
58  double sphericity(double = 2.) const;
62  double aplanarity(double = 2.) const;
66  double C(double = 2.) const;
70  double D(double = 2.) const;
71 
72  private:
75  TMatrixDSym compMomentumTensor(double = 2.) const;
76  TVectorD compEigenValues(double = 2.) const;
77 
79  std::vector<math::XYZVector> inputVectors_;
80 };
81 
82 #endif
83 
TVectorD compEigenValues(double=2.) const
double C(double=2.) const
double circularity(const unsigned int &numberOfSteps=1000) const
Class for the calculation of several event shape variables.
EventShapeVariables(const edm::View< reco::Candidate > &inputVectors)
constructor from reco::Candidates
~EventShapeVariables()
default destructor
double sphericity(double=2.) const
std::vector< math::XYZVector > inputVectors_
cashing of input vectors
TMatrixDSym compMomentumTensor(double=2.) const
helper function to fill the 3 dimensional momentum tensor from the inputVecotrs where needed ...
double D(double=2.) const
double isotropy(const unsigned int &numberOfSteps=1000) const
double aplanarity(double=2.) const