Public Member Functions |
Protected Member Functions |
Protected Attributes |
Private Member Functions |
Private Attributes |
Friends
Spherocity Class Reference Get the transverse spherocity scalars for hadron-colliders. More...
Inheritance diagram for Spherocity:
![]()
Collaboration diagram for Spherocity:
![]()
Detailed DescriptionGet the transverse spherocity scalars for hadron-colliders. The scalar (minimum) transverse spherocity is defined as
, with the direction of the unit vector Care must be taken in the case of Drell-Yan processes - there we should use the newly proposed observable Definition at line 30 of file Spherocity.hh. Constructor & Destructor Documentation
Constructor. Definition at line 37 of file Spherocity.hh. References ProjectionApplier::addProjection(), and Projection::setName(). : _calculatedSpherocity(false) { setName("Spherocity"); addProjection(fsp, "FS"); } Member Function Documentation
Untemplated function to do the work... Definition at line 33 of file ProjectionApplier.cc. References ProjectionApplier::_allowProjReg, ProjectionApplier::getProjHandler(), ProjectionApplier::name(), Projection::name(), and ProjectionHandler::registerProjection(). Referenced by ProjectionApplier::addProjection(). { if (!_allowProjReg) { cerr << "Trying to register projection '" << proj.name() << "' before init phase in '" << this->name() << "'." << endl; exit(2); } const Projection& reg = getProjHandler().registerProjection(*this, proj, name); return reg; }
Explicitly calculate the spherocity values. Definition at line 79 of file Spherocity.cc. References Rivet::_calcS(), Spherocity::_spherocities, Spherocity::_spherocityAxes, Vector< N >::mod(), MSG_DEBUG, MSG_WARNING, Rivet::PI, Spherocity::spherocity(), Vector3::x(), and Vector3::y(). Referenced by Spherocity::calc(). { // Make a vector of the three-momenta in the final state // Explicitly set the z-component (parallel to beam axis) to zero // This creates a 3D-vector representation of the transverse momentum // but takes the full information momentum vectors as input // A small iteration over full momenta but set z-coord. to 0.0 to get transverse momenta vector<Vector3> fsperpmomenta; foreach (const Vector3& p, fsmomenta) { fsperpmomenta.push_back(Vector3(p.x(), p.y(), 0.0)); } // This returns the scalar sum of (transverse) momenta double perpmomentumSum(0.0); foreach (const Vector3& p, fsperpmomenta) { perpmomentumSum += p.mod(); } // Clear the caches _spherocities.clear(); _spherocityAxes.clear(); // Temporary variables for calcs Vector3 axis(0,0,0); double val = 0.; // Get spherocity _calcS(fsperpmomenta, val, axis); MSG_DEBUG("Mom sum = " << perpmomentumSum); double spherocity = 0.25 * PI * PI * val * val / (perpmomentumSum * perpmomentumSum); _spherocities.push_back(spherocity); // See if calculated spherocity value makes sense if (spherocity < 0.0 || spherocity > 1.0) { MSG_WARNING("Spherocity = " << spherocity); } MSG_DEBUG("Spherocity value = " << spherocity); MSG_DEBUG("Sperocity axis = " << axis); _spherocityAxes.push_back(axis); }
Add a colliding beam pair. Definition at line 107 of file Projection.hh. References Projection::_beamPairs. Referenced by Projection::Projection(). { _beamPairs.insert(PdgIdPair(beam1, beam2)); return *this; }
Register a contained projection. The type of the argument is used to instantiate a new projection internally: this new object is applied to events rather than the argument object. Hence you are advised to only use locally-scoped Projection objects in your Projection and Analysis constructors, and to avoid polymorphism (e.g. handling Definition at line 116 of file ProjectionApplier.hh. References ProjectionApplier::_addProjection(). Referenced by TauFinder::_init(), FastJets::_init1(), FastJets::_init2(), FastJets::_init3(), VetoedFinalState::addVetoOnThisFinalState(), BeamThrust::BeamThrust(), CDF_2009_S8057893::CDF_2009_S8057893::init(), CentralEtHCM::CentralEtHCM(), ChargedFinalState::ChargedFinalState(), ChargedLeptons::ChargedLeptons(), DISFinalState::DISFinalState(), DISKinematics::DISKinematics(), DISLepton::DISLepton(), DressedLeptons::DressedLeptons(), FinalState::FinalState(), FoxWolframMoments::FoxWolframMoments(), FParameter::FParameter(), HadronicFinalState::HadronicFinalState(), HeavyHadrons::HeavyHadrons(), Hemispheres::Hemispheres(), IdentifiedFinalState::IdentifiedFinalState(), ATLAS_2010_S8894728::init(), CMS_2010_S8547297::init(), CMS_2010_S8656010::init(), ALICE_2012_I1181770::init(), ATLAS_2011_S8994773::init(), CMS_2011_S8950903::init(), CMS_2012_PAS_QCD_11_010::init(), CMS_2012_I1090423::init(), CMSTOTEM_2014_I1294140::init(), ATLAS_2010_CONF_2010_049::init(), ATLAS_2011_I894867::init(), LHCB_2013_I1208105::init(), CMS_2011_S8941262::init(), CMS_2011_S8968497::init(), CMS_2011_S8973270::init(), CMS_2011_S8978280::init(), ATLAS_2014_I1298811::init(), ALICE_2011_S8909580::init(), CDF_2007_S7057202::init(), ALICE_2011_S8945144::init(), TOTEM_2012_I1115294::init(), ATLAS_2014_I1282441::init(), CMS_2011_S9086218::init(), CMS_2011_S9215166::init(), CMS_2012_I1087342::init(), CMS_2012_I1184941::init(), CMS_2012_I1193338::init(), ATLAS_2010_S8591806::init(), CMS_2013_I1265659::init(), D0_2011_I895662::init(), LHCF_2012_I1115479::init(), ATLAS_2011_I930220::init(), CMS_2011_I954992::init(), TOTEM_2012_002::init(), CMS_2011_S8957746::init(), CMS_2011_S9088458::init(), ATLAS_2011_S9002537::init(), CMS_2013_I1273574::init(), D0_2010_S8570965::init(), CDF_2012_NOTE10874::init(), ATLAS_2012_I1124167::init(), STAR_2006_S6500200::init(), STAR_2008_S7993412::init(), UA5_1987_S1640666::init(), CMS_QCD_10_024::init(), CDF_1997_S3541940::init(), ATLAS_2011_S9128077::init(), BELLE_2008_I786560::init(), CDF_1993_S2742446::init(), ARGUS_1993_S2789213::init(), CDF_2000_S4155203::init(), CDF_2005_S6080774::init(), CDF_2006_S6450792::init(), SFM_1984_S1178091::init(), BABAR_2007_S7266081::init(), CMS_2013_I1261026::init(), D0_2008_S6879055::init(), ATLAS_2012_I1091481::init(), UA5_1982_S875503::init(), CDF_2008_S7782535::init(), CDF_2008_S8093652::init(), ATLAS_2012_I1204447::init(), STAR_2006_S6870392::init(), ARGUS_1993_S2669951::init(), UA5_1989_S1926373::init(), CMS_2013_I1272853::init(), D0_2000_I499943::init(), ALEPH_1991_S2435284::init(), E735_1998_S3905616::init(), ATLAS_2012_I1183818::init(), ATLAS_2013_I1243871::init(), ATLAS_2014_I1268975::init(), CMS_2012_I1102908::init(), ATLAS_2011_S9035664::init(), ALEPH_2002_S4823664::init(), D0_1996_S3324664::init(), D0_2007_S7075677::init(), CDF_1988_S1865951::init(), CDF_1990_S2089246::init(), DELPHI_1999_S3960137::init(), ATLAS_2010_S8817804::init(), ATLAS_2011_S8924791::init(), ALEPH_1996_S3196992::init(), CDF_2005_S6217184::init(), OPAL_1995_S3198391::init(), OPAL_1996_S3257789::init(), OPAL_1997_S3608263::init(), OPAL_1998_S3702294::init(), OPAL_1998_S3749908::init(), OPAL_2000_S4418603::init(), UA5_1986_S1583476::init(), D0_2001_S4674421::init(), D0_2008_S7554427::init(), CDF_1994_S2952106::init(), H1_1995_S3167097::init(), LHCB_2011_I919315::init(), ATLAS_2012_I1119557::init(), CDF_2008_S7540469::init(), CDF_2008_S7828950::init(), ATLAS_2014_I1307756::init(), UA1_1990_S2044935::init(), ZEUS_2001_S4815815::init(), ATLAS_2012_I1188891::init(), D0_1996_S3214044::init(), STAR_2009_UE_HELEN::init(), EXAMPLE::init(), CDF_2008_S8095620::init(), DELPHI_1995_S3137023::init(), STAR_2006_S6860818::init(), JADE_1998_S3612880::init(), JADE_OPAL_2000_S4300807::init(), ALICE_2010_S8624100::init(), OPAL_1997_S3396100::init(), ALEPH_2004_S5765862::init(), ATLAS_2012_I1125575::init(), ALICE_2010_S8625980::init(), LHCB_2013_I1218996::init(), CDF_2009_NOTE_9936::init(), CMS_2013_I1218372::init(), ALICE_2010_S8706239::init(), D0_2009_S8320160::init(), CDF_1996_S3108457::init(), CDF_1998_S3618439::init(), CDF_2000_S4266730::init(), CDF_2001_S4563131::init(), ATLAS_2011_S8971293::init(), CDF_2009_S8383952::init(), CDF_2009_S8436959::init(), ATLAS_2013_I1263495::init(), SLD_2002_S4869273::init(), D0_2010_S8566488::init(), D0_2006_S6438750::init(), CDF_1996_S3349578::init(), CDF_2001_S4517016::init(), DELPHI_2002_069_CONF_603::init(), ATLAS_2012_I1082936::init(), ALEPH_2001_S4656318::init(), CDF_1996_S3418421::init(), UA5_1988_S1867512::init(), LHCB_2011_I917009::init(), LHCB_2012_I1119400::init(), ATLAS_2011_I921594::init(), SLD_1996_S3398250::init(), ATLAS_2011_S9108483::init(), D0_2008_S7662670::init(), CDF_2008_S7541902::init(), CDF_2006_S6653332::init(), OPAL_2002_S5361494::init(), ATLAS_2012_I1082009::init(), TASSO_1990_S2148048::init(), ATLAS_2012_I946427::init(), ATLAS_2012_I1199269::init(), DELPHI_2000_S4328825::init(), ATLAS_2012_I1084540::init(), CMS_2013_I1224539_DIJET::init(), CDF_2009_S8233977::init(), CDF_2010_S8591881_QCD::init(), D0_2004_S5992206::init(), ATLAS_2010_S8914702::init(), ATLAS_2010_S8918562::init(), D0_2008_S7719523::init(), ATLAS_2011_S9120807::init(), CDF_2001_S4751469::init(), ATLAS_2012_I1094568::init(), DELPHI_1996_S3430090::init(), ALEPH_1996_S3486095::init(), ALEPH_1999_S4193598::init(), ATLAS_2012_I1093738::init(), OPAL_2004_S6132243::init(), OPAL_1994_S2927284::init(), BELLE_2013_I1216515::init(), STAR_2008_S7869363::init(), ATLAS_2011_S9126244::init(), BABAR_2007_S6895344::init(), BELLE_2001_S4598261::init(), BABAR_2005_S6181155::init(), ATLAS_2011_I919017::init(), OPAL_2001_S4553896::init(), BABAR_2013_I1238276::init(), DELPHI_2003_WUD_03_11::init(), CDF_2004_S5839831::init(), BABAR_2003_I593379::init(), ATLAS_2012_I1094061::init(), ARGUS_1993_S2653028::init(), CLEO_2004_S5809304::init(), OPAL_1998_S3780481::init(), ATLAS_2012_I1093734::init(), OPAL_1993_S2692198::init(), ATLAS_2014_I1279489::init(), ATLAS_2012_I1094564::init(), SLD_2004_S5693039::init(), BELLE_2006_S6265367::init(), SLD_1999_S3743934::init(), PDG_HADRON_MULTIPLICITIES::init(), PDG_HADRON_MULTIPLICITIES_RATIOS::init(), JetAlg::JetAlg(), JetShape::JetShape(), LeadingParticlesFinalState::LeadingParticlesFinalState(), LossyFinalState< ConstRandomFilter >::LossyFinalState(), MergedFinalState::MergedFinalState(), MissingMomentum::MissingMomentum(), NeutralFinalState::NeutralFinalState(), NonHadronicFinalState::NonHadronicFinalState(), ParisiTensor::ParisiTensor(), PrimaryHadrons::PrimaryHadrons(), PromptFinalState::PromptFinalState(), Sphericity::Sphericity(), Spherocity::Spherocity(), Thrust::Thrust(), TriggerCDFRun0Run1::TriggerCDFRun0Run1(), TriggerCDFRun2::TriggerCDFRun2(), TriggerUA5::TriggerUA5(), VetoedFinalState::VetoedFinalState(), VisibleFinalState::VisibleFinalState(), WFinder::WFinder(), and ZFinder::ZFinder(). { const Projection& reg = _addProjection(proj, name); const PROJ& rtn = dynamic_cast<const PROJ&>(reg); return rtn; }
Apply the supplied projection on event. Definition at line 70 of file ProjectionApplier.hh. References ProjectionApplier::_applyProjection(). Referenced by DISFinalState::project(). { return pcast<PROJ>(_applyProjection(evt, proj)); }
Apply the supplied projection on event. Definition at line 77 of file ProjectionApplier.hh. References ProjectionApplier::_applyProjection(). { return pcast<PROJ>(_applyProjection(evt, proj)); }
Apply the named projection on event. Definition at line 84 of file ProjectionApplier.hh. References ProjectionApplier::_applyProjection(). { return pcast<PROJ>(_applyProjection(evt, name)); } Axis accessors, in decreasing order of significance. The main axis. Implements AxesDefinition. Definition at line 88 of file Spherocity.hh. References Spherocity::spherocityAxis(). { return spherocityAxis(); } The 2nd most significant ("major") axis. Implements AxesDefinition. Definition at line 89 of file Spherocity.hh. References Spherocity::spherocityMajorAxis(). { return spherocityMajorAxis(); } The least significant ("minor") axis. Implements AxesDefinition. Definition at line 90 of file Spherocity.hh. References Spherocity::spherocityMinorAxis(). { return spherocityMinorAxis(); } Return the allowed beam pairs on which this projection can operate, not including recursion. Derived classes should ensure that all contained projections are registered in the _projections set for the beam constraint chaining to work.
Definition at line 33 of file Projection.cc. References Projection::_beamPairs, Projection::beamPairs(), Projection::getLog(), ProjectionApplier::getProjections(), Rivet::intersection(), and Log::TRACE. Referenced by Projection::beamPairs(). { set<PdgIdPair> ret = _beamPairs; set<ConstProjectionPtr> projs = getProjections(); for (set<ConstProjectionPtr>::const_iterator ip = projs.begin(); ip != projs.end(); ++ip) { ConstProjectionPtr p = *ip; getLog() << Log::TRACE << "Proj addr = " << p << endl; if (p) ret = intersection(ret, p->beamPairs()); } return ret; }
Determine whether this object should be ordered before the object p given as argument. If p is of a different class than this, the before() function of the corresponding type_info objects is used. Otherwise, if the objects are of the same class, the virtual compare(const Projection &) will be returned. Definition at line 22 of file Projection.cc. References Projection::compare(). Referenced by less< const Rivet::Projection * >::operator()(). { const std::type_info& thisid = typeid(*this); const std::type_info& otherid = typeid(p); if (thisid == otherid) { return compare(p) < 0; } else { return thisid.before(otherid); } }
Manually calculate the spherocity, without engaging the caching system. Definition at line 10 of file Spherocity.cc. References ParticleFinder::particles(). Referenced by Spherocity::project(). { calc(fs.particles()); } Manually calculate the spherocity, without engaging the caching system. Definition at line 15 of file Spherocity.cc. References Spherocity::_calcSpherocity(), Particle::momentum(), and FourVector::vector3(). { vector<Vector3> threeMomenta; threeMomenta.reserve(fsparticles.size()); foreach (const Particle& p, fsparticles) { threeMomenta.push_back( p.momentum().vector3() ); } _calcSpherocity(threeMomenta); }
Manually calculate the spherocity, without engaging the caching system. Definition at line 25 of file Spherocity.cc. References Spherocity::_calcSpherocity(), and FourVector::vector3(). { vector<Vector3> threeMomenta; threeMomenta.reserve(fsmomenta.size()); foreach (const FourMomentum& v, fsmomenta) { threeMomenta.push_back(v.vector3()); } _calcSpherocity(threeMomenta); } Manually calculate the spherocity, without engaging the caching system. Definition at line 35 of file Spherocity.cc. References Spherocity::_calcSpherocity(). { _calcSpherocity(fsmomenta); }
Clone on the heap. Implements AxesDefinition. Definition at line 45 of file Spherocity.hh. References Spherocity::Spherocity(). { return new Spherocity(*this); }
Compare projections. Implements Projection. Definition at line 61 of file Spherocity.hh. References Projection::mkNamedPCmp(). { return mkNamedPCmp(p, "FS"); } Get a Log object based on the getName() property of the calling projection object. Reimplemented from ProjectionApplier. Definition at line 114 of file Projection.hh. References Projection::name(). Referenced by Projection::beamPairs(), InvMassFinalState::calc(), ChargedFinalState::project(), InitialQuarks::project(), UnstableFinalState::project(), PromptFinalState::project(), LossyFinalState< ConstRandomFilter >::project(), and VetoedFinalState::project(). { string logname = "Rivet.Projection." + name(); return Log::getLog(logname); }
Get the named projection, specifying return type via a template argument. Definition at line 52 of file ProjectionApplier.hh. References ProjectionHandler::getProjection(), and ProjectionApplier::getProjHandler(). Referenced by ProjectionApplier::_applyProjection(), Rivet::pcmp(), and Hemispheres::project(). { const Projection& p = getProjHandler().getProjection(*this, name); return pcast<PROJ>(p); }
Get the named projection (non-templated, so returns as a reference to a Projection base class). Definition at line 60 of file ProjectionApplier.hh. References ProjectionHandler::getProjection(), and ProjectionApplier::getProjHandler(). { return getProjHandler().getProjection(*this, name); }
Get the contained projections, including recursion. Definition at line 45 of file ProjectionApplier.hh. References ProjectionHandler::DEEP, ProjectionHandler::getChildProjections(), and ProjectionApplier::getProjHandler(). Referenced by Projection::beamPairs(). { return getProjHandler().getChildProjections(*this, ProjectionHandler::DEEP); }
Get a reference to the ProjectionHandler for this thread. Definition at line 97 of file ProjectionApplier.hh. References ProjectionApplier::_projhandler. Referenced by ProjectionApplier::_addProjection(), ProjectionApplier::getProjection(), ProjectionApplier::getProjections(), and ProjectionApplier::~ProjectionApplier(). { return _projhandler; }
Shortcut to make a named Cmp<Projection> comparison with the Definition at line 45 of file Projection.cc. References Rivet::pcmp(). Referenced by ChargedFinalState::compare(), ChargedLeptons::compare(), BeamThrust::compare(), FParameter::compare(), CentralEtHCM::compare(), MergedFinalState::compare(), DISLepton::compare(), DISKinematics::compare(), NeutralFinalState::compare(), DISFinalState::compare(), VisibleFinalState::compare(), PromptFinalState::compare(), Spherocity::compare(), LeadingParticlesFinalState::compare(), ParisiTensor::compare(), FoxWolframMoments::compare(), LossyFinalState< ConstRandomFilter >::compare(), MissingMomentum::compare(), Thrust::compare(), InvMassFinalState::compare(), Sphericity::compare(), DressedLeptons::compare(), ZFinder::compare(), Hemispheres::compare(), WFinder::compare(), IdentifiedFinalState::compare(), VetoedFinalState::compare(), JetShape::compare(), and FastJets::compare(). { return pcmp(*this, otherparent, pname); }
Shortcut to make a named Cmp<Projection> comparison with the Definition at line 51 of file Projection.cc. References Rivet::pcmp(). { return pcmp(*this, otherparent, pname); }
Get the name of the projection. Implements ProjectionApplier. Definition at line 101 of file Projection.hh. References Projection::_name. Referenced by ProjectionApplier::_addProjection(), ProjectionHandler::_checkDuplicate(), ProjectionHandler::_clone(), ProjectionHandler::_getEquiv(), VetoedFinalState::addVetoOnThisFinalState(), Projection::getLog(), ProjectionHandler::registerProjection(), and Projection::setName(). { return _name; } Perform the projection on the Event. Implements Projection. Definition at line 53 of file Spherocity.hh. References Spherocity::calc(), and Rivet::particles().
Used by derived classes to set their name. Definition at line 120 of file Projection.hh. References Projection::_name, and Projection::name(). Referenced by TauFinder::_init(), FastJets::_init1(), FastJets::_init2(), FastJets::_init3(), Beam::Beam(), BeamThrust::BeamThrust(), CentralEtHCM::CentralEtHCM(), ChargedFinalState::ChargedFinalState(), ChargedLeptons::ChargedLeptons(), ConstLossyFinalState::ConstLossyFinalState(), DISFinalState::DISFinalState(), DISKinematics::DISKinematics(), DISLepton::DISLepton(), DressedLeptons::DressedLeptons(), FinalState::FinalState(), FoxWolframMoments::FoxWolframMoments(), FParameter::FParameter(), HadronicFinalState::HadronicFinalState(), HeavyHadrons::HeavyHadrons(), Hemispheres::Hemispheres(), IdentifiedFinalState::IdentifiedFinalState(), InitialQuarks::InitialQuarks(), JetAlg::JetAlg(), JetShape::JetShape(), LeadingParticlesFinalState::LeadingParticlesFinalState(), LossyFinalState< ConstRandomFilter >::LossyFinalState(), MergedFinalState::MergedFinalState(), MissingMomentum::MissingMomentum(), NeutralFinalState::NeutralFinalState(), NonHadronicFinalState::NonHadronicFinalState(), ParisiTensor::ParisiTensor(), PrimaryHadrons::PrimaryHadrons(), PromptFinalState::PromptFinalState(), Sphericity::Sphericity(), Spherocity::Spherocity(), Thrust::Thrust(), TriggerCDFRun0Run1::TriggerCDFRun0Run1(), TriggerCDFRun2::TriggerCDFRun2(), TriggerUA5::TriggerUA5(), UnstableFinalState::UnstableFinalState(), VetoedFinalState::VetoedFinalState(), VisibleFinalState::VisibleFinalState(), WFinder::WFinder(), and ZFinder::ZFinder().
The spherocity scalar, Definition at line 71 of file Spherocity.hh. References Spherocity::_spherocities. Referenced by Spherocity::_calcSpherocity(). { return _spherocities[0]; }
The spherocity axis. Definition at line 78 of file Spherocity.hh. References Spherocity::_spherocityAxes. Referenced by Spherocity::axis1(). { return _spherocityAxes[0]; }
The spherocity major axis (axis of max spherocity perpendicular to spherocity axis). Definition at line 80 of file Spherocity.hh. References Spherocity::_spherocityAxes. Referenced by Spherocity::axis2(). { return _spherocityAxes[1]; }
The spherocity minor axis (axis perpendicular to spherocity and spherocity major). Definition at line 82 of file Spherocity.hh. References Spherocity::_spherocityAxes. Referenced by Spherocity::axis3(). { return _spherocityAxes[2]; } Friends And Related Function Documentation
The Cmp specialization for Projection is a friend. Definition at line 35 of file Projection.hh.
Event is a friend. Definition at line 32 of file Projection.hh. Member Data Documentation
Flag to forbid projection registration in analyses until the init phase. Definition at line 143 of file ProjectionApplier.hh. Referenced by ProjectionApplier::_addProjection(), and Analysis::Analysis().
Caching flag to avoid costly recalculations. Definition at line 124 of file Spherocity.hh.
The spherocity scalars. Definition at line 118 of file Spherocity.hh. Referenced by Spherocity::_calcSpherocity(), and Spherocity::spherocity().
The spherocity axes. Definition at line 121 of file Spherocity.hh. Referenced by Spherocity::_calcSpherocity(), Spherocity::spherocityAxis(), Spherocity::spherocityMajorAxis(), and Spherocity::spherocityMinorAxis(). The documentation for this class was generated from the following files: Generated on Tue Sep 30 2014 19:46:03 for The Rivet MC analysis system by ![]() |