1 #ifndef __JSIRENE__JEVENTSHAPEVARIABLES__ 
    2 #define __JSIRENE__JEVENTSHAPEVARIABLES__ 
   24 namespace JPP { 
using namespace JSIRENE; }
 
   48     static const int    MAX_STEPS = 20;
 
   49     static const double epsilon = 1e-9;
 
   52     Vec axis0(0.0, 0.0, 0.0); 
 
   69         THROW(JValueOutOfRange, 
"getThrust(): No final state tracks given.");
 
   77     double res = numeric_limits<double>::max(); 
 
   79     for (
int k = 0; k < MAX_STEPS && res > 
epsilon; ++
k) {
 
   81       Vec axis1(0.0, 0.0, 0.0);
 
   89           axis1 += (p.
dot(axis0) > 0.0 ? p : -p);
 
   95       res = acos( axis0.
dot(axis1) );
 
  111         pSum += fabs(p.
dot(axis0));
 
  183                 for (
int k = 0; 
k < (int) this->size(); ++
k) {
 
  184                   (*this)[
k] += getContribution(p0, p1, 
k) / Evis / Evis;
 
  256                       const double                     r = 2.0)
 
  271           a00 += c * p.
x * p.
x;
 
  272           a01 += c * p.
x * p.
y;
 
  273           a02 += c * p.
x * p.
z;
 
  275           a10 += c * p.
y * p.
x;
 
  276           a11 += c * p.
y * p.
y;
 
  277           a12 += c * p.
y * p.
z;
 
  279           a20 += c * p.
z * p.
x;
 
  280           a21 += c * p.
z * p.
y;
 
  281           a22 += c * p.
z * p.
z;
 
  283           norm += c * p.
dot(p);
 
  300                       const double r = 2.0) :
 
  323       return 3 * (lambda[1] + lambda[2]) / 2.0;
 
  334       return 3 * lambda[2] / 2.0;
 
  345       return (fabs(lambda[0] + lambda[1]) > 0.0 ?
 
  346               2 * lambda[1] / (lambda[0] + lambda[1]) : 0.0);
 
  357       return 4 * lambda[0] * lambda[1] / (lambda[0] + lambda[1]) / (lambda[0] + lambda[1]);
 
  368       return 3 * (lambda[0]*lambda[1] + lambda[0]*lambda[2] + lambda[1]*lambda[2]);
 
  379       return 27 * lambda[0] * lambda[1] * lambda[2];
 
  437       lambda = getEigenValues();
 
  461       return lambda[2] / (lambda[0] + lambda[1] + lambda[2]);
 
eigen_values getEigenValues(const double epsilon=1e-6) const 
Get eigen values. 
 
then fatal No hydrophone data file $HYDROPHONE_TXT fi sort gr k
 
Class for hit inertia tensor calculations. 
 
std::vector< double >::reference reference
 
Auxiliary methods for mathematics. 
 
double getContribution(const Vec &p0, const Vec &p1, const size_t n)
Get contribution to Fox-Wolfram moment from two momenta. 
 
JSphericityTensor(const Evt &event, const double r=2.0)
Constructor. 
 
Class for computing Fox-Wolfram moments. 
 
JFoxWolframMoments(const Evt &event, const JCylinder3D &can=getMaximumContainmentVolume(), const int N=4)
Constructor. 
 
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message. 
 
JFoxWolframMoments()
Default constructor. 
 
double len() const 
Get length. 
 
eigen_values lambda
sorted eigenvalues 
 
bool is_finalstate(const Trk &track)
Test whether given track corresponds to a final state particle. 
 
double getD() const 
Get D-variable. 
 
double dot(const Vec &v) const 
Get dot product. 
 
JFoxWolframMoments(const std::vector< Trk >::const_iterator __begin, const std::vector< Trk >::const_iterator __end, const JCylinder3D &can=getMaximumContainmentVolume(), const int N=4)
Constructor. 
 
The Vec class is a straightforward 3-d vector, which also works in pyroot. 
 
JSphericityTensor(std::vector< Trk >::const_iterator __begin, std::vector< Trk >::const_iterator __end, const double r=2.0)
Constructor. 
 
double getKineticEnergy(const double E, const double m)
Get kinetic energy of particle with given mass. 
 
Class for sphericity tensor calculations. 
 
double getC() const 
Get C-variable. 
 
const JCylinder3D getMaximumContainmentVolume()
Auxiliary function to retrieve the maximum cylindrical containment volume. 
 
JSphericityTensor()
Default constructor. 
 
JPosition3D getPosition(const Vec &pos)
Get position. 
 
const eigen_values & getEigenValues() const 
Get eigenvalues. 
 
T pow(const T &x, const double y)
Power . 
 
double getVisibleEnergy(const Trk &track, const JCylinder3D &can=getMaximumContainmentVolume())
Get the visible energy of a track. 
 
double getAplanarity() const 
Get aplanarity. 
 
double getY() const 
Get y position. 
 
std::array< double, 3 > eigen_values
Type definition of Eigen vakues. 
 
double getLengthSquared() const 
Get length squared. 
 
Vec & normalize()
Normalise this vector. 
 
JMatrix3S::eigen_values eigen_values
 
double getSphericity() const 
Get sphericity. 
 
$WORKDIR ev_configure_dqsimulator txt echo process $DQ_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DQ_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'
 
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
 
double getCircularity() const 
Get circularity. 
 
JHitInertiaTensor(const Evt &event, const JPosition3D &reference)
Constructor. 
 
double legendre(const size_t n, const double x)
Legendre polynome. 
 
double getX() const 
Get x position. 
 
JHitInertiaTensor()
Default constructor. 
 
Data structure for position in three dimensions. 
 
double getEigenvalueRatio() const 
Get eigenvalue ratio. 
 
JHitInertiaTensor(std::vector< Hit >::const_iterator __begin, std::vector< Hit >::const_iterator __end, const JPosition3D &reference)
Constructor. 
 
do echo Generating $dir eval D
 
double getZ() const 
Get z position. 
 
double getPlanarFlow() const 
Get planar flow. 
 
std::vector< Trk > mc_trks
MC: list of MC truth tracks. 
 
JMatrix3S::eigen_values eigen_values
 
eigen_values lambda
eigenvalues 
 
The Evt class respresent a Monte Carlo (MC) event as well as an offline event. 
 
double getThrust(const std::vector< Trk >::const_iterator __begin, const std::vector< Trk >::const_iterator __end)
Compute thrust for a given range of tracks.