#ifndef RHOEVENTSHAPES_H #define RHOEVENTSHAPES_H ////////////////////////////////////////////////////////////////////////// // // // RhoEventShapes // // // // Functions to calculate the event & event shape variables // // // // Author List: // // Klaus Goetzen, GSI, May 2013 // // Ralf Kliemt, HIM/GSI May.2013 // // // ////////////////////////////////////////////////////////////////////////// #include "TLorentzVector.h" #include "TVector3.h" #include "TMatrixD.h" #include "TMatrixDEigen.h" #include "RhoCandList.h" #define FWMAX 6 // maximum Fox Wolfram moment class RhoEventShapes { public: RhoEventShapes(RhoCandList &l, TLorentzVector cms); ~RhoEventShapes(){}; // ******* multiplicities int NParticles() const {return fN;} // number of particle candidates int NCharged() const {return fnChrg;} // number of charged candidates int NNeutral() const {return fnNeut;} // number of neutral candidates // ******* maxima of momenta double PmaxLab() const {return fpmaxlab;} // max momentum in lab system double PmaxCms() const {return fpmaxcms;} // max momentum im cms system double Ptmax() const {return fptmax;} // max pt (same for lab and cms) // ******* sum of energies/momenta (lab system) double PtSumLab() const {return fptsumlab;} // sum of pt in (lab) double NeutEtSumLab() const {return fneutetsumlab;} // sum of transvers energys of neutrals (lab) double NeutESumLab() const {return fneutesumlab;} // sum of energys of neutrals (lab) double ChrgPtSumLab() const {return fchrgptsumlab;} // sum of pt of charged (lab) double ChrgPSumLab() const {return fchrgpsumlab;} // sum of momenta of charged (lab) // ******* sum of energies/momenta (cms system) double PtSumCms() const {return fptsumcms;} // sum of pt in (lab) double NeutEtSumCms() const {return fneutetsumcms;} // sum of transvers energys of neutrals (lab) double NeutESumCms() const {return fneutesumcms;} // sum of energys of neutrals (lab) double ChrgPtSumCms() const {return fchrgptsumcms;} // sum of pt of charged (lab) double ChrgPSumCms() const {return fchrgpsumcms;} // sum of momenta of charged (lab) // ******* multiplicities with threshold int MultPminLab(double pmin); // number of particles with p>pmin (lab frame) int MultPmaxLab(double pmax); // number of particles with ppmin (cms frame) int MultPmaxCms(double pmax); // number of particles with p0. ? 1. : -1.;} // aux for Thrust double Legendre( int l, double x ); // Legendre function; auxilliary for Fox Wolfram moments std::vector fLabList; //! fCmsList; //! fCharge; //!