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 
56  void set_r(double r);
57 
59  void setFWmax(unsigned m);
60 
64  double sphericity();
68  double aplanarity();
72  double C();
76  double D();
77 
78  const std::vector<double>& getEigenValues() { if(!tensors_computed_) compTensorsAndVectors(); return eigenValues_; }
79  const std::vector<double>& getEigenValuesNoNorm() { if(!tensors_computed_) compTensorsAndVectors(); return eigenValuesNoNorm_; }
81 
82  double getFWmoment( unsigned l ) ;
83  const std::vector<double>& getFWmoments();
84 
85  private:
89  void compTensorsAndVectors() ;
90 
91  void computeFWmoments() ;
92 
94  std::vector<math::XYZVector> inputVectors_;
95 
97  double r_;
99  TMatrixD eigenVectors_;
101  std::vector<double> eigenValues_, eigenValuesNoNorm_;
102 
104  unsigned fwmom_maxl_;
105  std::vector<double> fwmom_;
107 
108 };
109 
110 #endif
111 
std::vector< double > eigenValuesNoNorm_
const std::vector< double > & getEigenValues()
double circularity(const unsigned int &numberOfSteps=1000) const
Class for the calculation of several event shape variables.
void setFWmax(unsigned m)
set number of Fox-Wolfram moments to compute
std::vector< double > eigenValues_
double r_
caching of output
const TMatrixD & getEigenVectors()
EventShapeVariables(const edm::View< reco::Candidate > &inputVectors)
constructor from reco::Candidates
~EventShapeVariables()
default destructor
const std::vector< double > & getFWmoments()
double getFWmoment(unsigned l)
std::vector< math::XYZVector > inputVectors_
caching of input vectors
unsigned fwmom_maxl_
Owen ; save computed Fox-Wolfram moments.
void set_r(double r)
set exponent for computation of momentum tensor and related products
double isotropy(const unsigned int &numberOfSteps=1000) const
const std::vector< double > & getEigenValuesNoNorm()
std::vector< double > fwmom_