|
The Rivet MC analysis system
2.2.0
|
Get the transverse spherocity scalars for hadron-colliders.
More...
#include <Spherocity.hh>
List of all members.
Public Member Functions |
| Spherocity () |
| Spherocity (const FinalState &fsp) |
| Constructor.
|
virtual const Projection * | clone () const |
| Clone on the heap.
|
bool | before (const Projection &p) const |
virtual const std::set< PdgIdPair > | beamPairs () const |
virtual std::string | name () const |
| Get the name of the projection.
|
Projection & | addPdgIdPair (PdgId beam1, PdgId beam2) |
| Add a colliding beam pair.
|
Log & | getLog () const |
| Get a Log object based on the getName() property of the calling projection object.
|
void | setName (const std::string &name) |
| Used by derived classes to set their name.
|
|
double | spherocity () const |
| The spherocity scalar, , (minimum spherocity).
|
|
const Vector3 & | spherocityAxis () const |
| The spherocity axis.
|
const Vector3 & | spherocityMajorAxis () const |
| The spherocity major axis (axis of max spherocity perpendicular to spherocity axis).
|
const Vector3 & | spherocityMinorAxis () const |
| The spherocity minor axis (axis perpendicular to spherocity and spherocity major).
|
|
const Vector3 & | axis1 () const |
const Vector3 & | axis2 () const |
| The 2nd most significant ("major") axis.
|
const Vector3 & | axis3 () const |
| The least significant ("minor") axis.
|
|
Ways to do the calculation directly, without engaging the caching system
|
void | calc (const FinalState &fs) |
| Manually calculate the spherocity, without engaging the caching system.
|
void | calc (const vector< Particle > &fsparticles) |
| Manually calculate the spherocity, without engaging the caching system.
|
void | calc (const vector< FourMomentum > &fsmomenta) |
| Manually calculate the spherocity, without engaging the caching system.
|
void | calc (const vector< Vector3 > &threeMomenta) |
| Manually calculate the spherocity, without engaging the caching system.
|
|
std::set< ConstProjectionPtr > | getProjections () const |
| Get the contained projections, including recursion.
|
template<typename PROJ > |
const PROJ & | getProjection (const std::string &name) const |
| Get the named projection, specifying return type via a template argument.
|
const Projection & | getProjection (const std::string &name) const |
|
template<typename PROJ > |
const PROJ & | applyProjection (const Event &evt, const PROJ &proj) const |
| Apply the supplied projection on event.
|
template<typename PROJ > |
const PROJ & | applyProjection (const Event &evt, const Projection &proj) const |
| Apply the supplied projection on event.
|
template<typename PROJ > |
const PROJ & | applyProjection (const Event &evt, const std::string &name) const |
| Apply the named projection on event.
|
Protected Member Functions |
void | project (const Event &e) |
| Perform the projection on the Event.
|
int | compare (const Projection &p) const |
| Compare projections.
|
Cmp< Projection > | mkNamedPCmp (const Projection &otherparent, const std::string &pname) const |
Cmp< Projection > | mkPCmp (const Projection &otherparent, const std::string &pname) const |
ProjectionHandler & | getProjHandler () const |
| Get a reference to the ProjectionHandler for this thread.
|
|
template<typename PROJ > |
const PROJ & | addProjection (const PROJ &proj, const std::string &name) |
const Projection & | _addProjection (const Projection &proj, const std::string &name) |
| Untemplated function to do the work...
|
Protected Attributes |
bool | _allowProjReg |
| Flag to forbid projection registration in analyses until the init phase.
|
Private Member Functions |
void | _calcSpherocity (const vector< Vector3 > &fsmomenta) |
| Explicitly calculate the spherocity values.
|
Private Attributes |
vector< double > | _spherocities |
| The spherocity scalars.
|
vector< Vector3 > | _spherocityAxes |
| The spherocity axes.
|
bool | _calculatedSpherocity |
| Caching flag to avoid costly recalculations.
|
Friends |
class | Event |
| Event is a friend.
|
class | Cmp< Projection > |
| The Cmp specialization for Projection is a friend.
|
Detailed Description
Get the transverse spherocity scalars for hadron-colliders.
- Author:
- Holger Schulz
The scalar (minimum) transverse spherocity is defined as
, with the direction of the unit vector which minimises being identified as the spherocity axis. The unit vector which maximises the spherocity scalar in the plane perpendicular to is the "spherocity major" direction, and the vector perpendicular to both the spherocity and spherocity major directions is the spherocity minor. Both the major and minor directions have associated spherocity scalars.
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
Member Function Documentation
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().
{
vector<Vector3> fsperpmomenta;
foreach (const Vector3& p, fsmomenta) {
fsperpmomenta.push_back(Vector3(p.x(), p.y(), 0.0));
}
double perpmomentumSum(0.0);
foreach (const Vector3& p, fsperpmomenta) {
perpmomentumSum += p.mod();
}
_spherocities.clear();
_spherocityAxes.clear();
Vector3 axis(0,0,0);
double val = 0.;
_calcS(fsperpmomenta, val, axis);
MSG_DEBUG("Mom sum = " << perpmomentumSum);
double spherocity = 0.25 * PI * PI * val * val / (perpmomentumSum * perpmomentumSum);
_spherocities.push_back(spherocity);
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);
}
const PROJ& addProjection |
( |
const PROJ & |
proj, |
|
|
const std::string & |
name |
|
) |
| [inline, protected, inherited] |
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 ConcreteProjection via a pointer or reference to type Projection ) since this will screw up the internal type management.
Definition at line 116 of file ProjectionApplier.hh.
References ProjectionApplier::_addProjection().
Referenced by 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(), CMS_2010_S8547297::init(), CMS_2010_S8656010::init(), ATLAS_2010_S8894728::init(), ALICE_2012_I1181770::init(), ATLAS_2011_S8994773::init(), CMS_2011_S8950903::init(), CMS_2012_PAS_QCD_11_010::init(), ATLAS_2014_I1298811::init(), ATLAS_2011_I894867::init(), ALICE_2011_S8909580::init(), LHCB_2013_I1208105::init(), CMS_2011_S8941262::init(), CMS_2011_S8973270::init(), CMS_2012_I1090423::init(), ATLAS_2010_CONF_2010_049::init(), CMS_2011_S8968497::init(), CMS_2012_I1193338::init(), CMS_2012_I1184941::init(), CMSTOTEM_2014_I1294140::init(), CDF_2007_S7057202::init(), CMS_2011_S9086218::init(), TOTEM_2012_I1115294::init(), CMS_2011_S9215166::init(), CMS_2012_I1087342::init(), ATLAS_2014_I1282441::init(), ALICE_2011_S8945144::init(), ATLAS_2012_I1091481::init(), MC_MUONS::init(), MC_TAUS::init(), ATLAS_2010_S8591806::init(), ATLAS_2011_S9002537::init(), CMS_2011_I954992::init(), CMS_2011_S8957746::init(), CMS_2011_S8978280::init(), TOTEM_2012_002::init(), CMS_2011_S9088458::init(), CMS_2013_I1265659::init(), D0_2011_I895662::init(), ATLAS_2011_I930220::init(), LHCF_2012_I1115479::init(), MC_ELECTRONS::init(), CMS_2013_I1273574::init(), D0_2010_S8570965::init(), ATLAS_2011_I925932::init(), MC_JETTAGS::init(), CDF_2012_NOTE10874::init(), ATLAS_2012_I1124167::init(), STAR_2006_S6500200::init(), STAR_2008_S7993412::init(), CMS_2013_I1256943::init(), CMS_QCD_10_024::init(), UA5_1987_S1640666::init(), CDF_1997_S3541940::init(), MC_HINC::init(), MC_JETS::init(), MC_KTSPLITTINGS::init(), CDF_2005_S6080774::init(), CDF_2006_S6450792::init(), SFM_1984_S1178091::init(), ARGUS_1993_S2789213::init(), ATLAS_2011_S9128077::init(), CMS_2013_I1261026::init(), CMS_2013_I1258128::init(), CMS_2014_I1298810::init(), D0_2000_S4480767::init(), BABAR_2007_S7266081::init(), BELLE_2008_I786560::init(), CDF_1993_S2742446::init(), CDF_2000_S4155203::init(), MC_WWINC::init(), CDF_2008_S7782535::init(), MC_ZJETS::init(), CDF_2008_S8093652::init(), MC_ZZINC::init(), STAR_2006_S6870392::init(), UA5_1982_S875503::init(), UA5_1989_S1926373::init(), ATLAS_2013_I1190187::init(), CMS_2013_I1209721::init(), D0_2008_S6879055::init(), ATLAS_2012_I1204447::init(), ARGUS_1993_S2669951::init(), LHCB_2012_I1208102::init(), ATLAS_2011_I944826::init(), MC_ZINC::init(), ALEPH_1991_S2435284::init(), MC_WINC::init(), MC_WJETS::init(), MC_WWKTSPLITTINGS::init(), MC_ZZJETS::init(), ATLAS_2012_I1183818::init(), ATLAS_2011_S9035664::init(), ATLAS_2012_I1204784::init(), CMS_2012_I1102908::init(), ATLAS_2013_I1219109::init(), CMS_2013_I1272853::init(), ATLAS_2013_I1243871::init(), ATLAS_2014_I1268975::init(), D0_2000_I499943::init(), ATLAS_2014_I1325553::init(), E735_1998_S3905616::init(), MC_ZZKTSPLITTINGS::init(), MC_DIJET::init(), MC_DIPHOTON::init(), DELPHI_1999_S3960137::init(), ALEPH_1996_S3196992::init(), UA5_1986_S1583476::init(), EXAMPLE_CUTS::init(), CDF_1990_S2089246::init(), CDF_1988_S1865951::init(), MC_ZKTSPLITTINGS::init(), MC_HJETS::init(), MC_HKTSPLITTINGS::init(), CDF_2005_S6217184::init(), MC_PHOTONINC::init(), MC_WKTSPLITTINGS::init(), ATLAS_2011_S8924791::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(), ATLAS_2010_S8817804::init(), PDG_TAUS::init(), D0_1996_S3324664::init(), D0_2007_S7075677::init(), D0_2009_S8202443::init(), D0_2010_S8821313::init(), ALEPH_2002_S4823664::init(), ATLAS_2011_I945498::init(), MC_PHOTONKTSPLITTINGS::init(), MC_PHOTONJETS::init(), MC_WWJETS::init(), CMS_2012_I1107658::init(), D0_2008_S7554427::init(), D0_2008_S7863608::init(), D0_2010_S8671338::init(), MC_IDENTIFIED::init(), H1_1995_S3167097::init(), CDF_1994_S2952106::init(), ATLAS_2011_I954993::init(), MC_TTBAR::init(), CDF_2008_S7828950::init(), ATLAS_2012_I1180197::init(), MC_PHOTONJETUE::init(), ATLAS_2012_I1188891::init(), CDF_2008_S7540469::init(), D0_2001_S4674421::init(), ATLAS_2011_S9212353::init(), ATLAS_2014_I1300647::init(), ATLAS_2014_I1306615::init(), D0_2008_S7837160::init(), ATLAS_2014_I1307756::init(), ATLAS_2011_S9131140::init(), ATLAS_2012_CONF_2012_104::init(), ATLAS_2012_CONF_2012_105::init(), UA1_1990_S2044935::init(), ZEUS_2001_S4815815::init(), LHCB_2011_I919315::init(), ATLAS_2012_I1119557::init(), MC_GENERIC::init(), MC_LEADJETUE::init(), ATLAS_2012_I1126136::init(), ATLAS_2011_I926145::init(), ALICE_2010_S8624100::init(), ATLAS_2012_CONF_2012_103::init(), OPAL_1997_S3396100::init(), CDF_2008_S8095620::init(), MC_QCD_PARTONS::init(), ATLAS_2012_CONF_2012_109::init(), ATLAS_2011_S8983313::init(), ATLAS_2013_I1217863_Z::init(), ATLAS_2012_I1186556::init(), STAR_2006_S6860818::init(), ATLAS_2011_CONF_2011_098::init(), ATLAS_2013_I1217863_W::init(), CMS_2012_I941555::init(), ATLAS_2012_I1095236::init(), CMS_2014_I1303894::init(), D0_1996_S3214044::init(), DELPHI_1995_S3137023::init(), EXAMPLE::init(), STAR_2009_UE_HELEN::init(), JADE_1998_S3612880::init(), JADE_OPAL_2000_S4300807::init(), CDF_1996_S3108457::init(), ALEPH_2004_S5765862::init(), CMS_2013_I1218372::init(), ALICE_2010_S8706239::init(), ATLAS_2012_I1125575::init(), ATLAS_2014_I1288706::init(), ATLAS_2012_I1125961::init(), ATLAS_2011_S9212183::init(), LHCB_2013_I1218996::init(), ATLAS_2012_CONF_2012_001::init(), MC_HFJETS::init(), ATLAS_2012_I1112263::init(), ATLAS_2012_I1190891::init(), ALICE_2010_S8625980::init(), CDF_2009_NOTE_9936::init(), CDF_1996_S3349578::init(), CDF_1998_S3618439::init(), ATLAS_2013_I1263495::init(), D0_2009_S8320160::init(), CDF_2000_S4266730::init(), CDF_2001_S4563131::init(), MC_SUSY::init(), ATLAS_2011_S8971293::init(), CDF_2009_S8383952::init(), D0_2009_S8349509::init(), CDF_2009_S8436959::init(), ALEPH_2001_S4656318::init(), ATLAS_2010_S8919674::init(), CDF_2001_S4517016::init(), D0_2006_S6438750::init(), SLD_2002_S4869273::init(), DELPHI_2002_069_CONF_603::init(), ATLAS_2012_I1082936::init(), D0_2010_S8566488::init(), SLD_1996_S3398250::init(), UA5_1988_S1867512::init(), MC_PHOTONS::init(), ATLAS_2011_I921594::init(), LHCB_2014_I1281685::init(), CDF_1996_S3418421::init(), LHCB_2011_I917009::init(), LHCB_2012_I1119400::init(), ATLAS_2014_I1304688::init(), D0_2008_S7662670::init(), CDF_2006_S6653332::init(), ATLAS_2014_I1306294::init(), ATLAS_2011_S9108483::init(), MC_WPOL::init(), CDF_2008_S7541902::init(), ATLAS_2013_I1230812::init(), ATLAS_2012_I1199269::init(), ATLAS_2014_I1307243::init(), ATLAS_2011_S9225137::init(), ATLAS_2012_I1117704::init(), ATLAS_2011_CONF_2011_090::init(), ATLAS_2012_I1082009::init(), ATLAS_2011_S9019561::init(), DELPHI_2000_S4328825::init(), OPAL_2002_S5361494::init(), ATLAS_2012_I946427::init(), ATLAS_2012_I943401::init(), TASSO_1990_S2148048::init(), ATLAS_2012_CONF_2012_153::init(), ATLAS_2012_I1084540::init(), CMS_2013_I1224539_WJET::init(), CMS_2013_I1224539_DIJET::init(), ATLAS_2012_I1083318::init(), CDF_2009_S8233977::init(), ATLAS_2013_I1217867::init(), CMS_2013_I1224539_ZJET::init(), CDF_2010_S8591881_DY::init(), CDF_2010_S8591881_QCD::init(), D0_2004_S5992206::init(), ATLAS_2010_S8914702::init(), ATLAS_2014_I1312627::init(), D0_2008_S7719523::init(), ATLAS_2010_S8918562::init(), ATLAS_2011_S9120807::init(), CDF_2001_S4751469::init(), ATLAS_2011_S9041966::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(), BABAR_2007_S6895344::init(), ATLAS_2011_S9126244::init(), MC_VH2BB::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(), ATLAS_2012_I1203852::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(), H1_1994_S2919893::init(), H1_2000_S4129130::init(), SLD_2004_S5693039::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(), TauFinder::TauFinder(), 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;
}
const PROJ& applyProjection |
( |
const Event & |
evt, |
|
|
const std::string & |
name |
|
) |
| const [inline, inherited] |
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);
}
}
const PROJ& getProjection |
( |
const std::string & |
name | ) |
const [inline, inherited] |
Shortcut to make a named Cmp<Projection> comparison with the *this object automatically passed as one of the parent projections.
Definition at line 45 of file Projection.cc.
References Rivet::pcmp().
Referenced by BeamThrust::compare(), ChargedLeptons::compare(), FParameter::compare(), CentralEtHCM::compare(), MergedFinalState::compare(), ChargedFinalState::compare(), DISLepton::compare(), DISKinematics::compare(), DISFinalState::compare(), VisibleFinalState::compare(), TauFinder::compare(), PromptFinalState::compare(), NeutralFinalState::compare(), Spherocity::compare(), LeadingParticlesFinalState::compare(), ParisiTensor::compare(), FoxWolframMoments::compare(), MissingMomentum::compare(), LossyFinalState< ConstRandomFilter >::compare(), Thrust::compare(), InvMassFinalState::compare(), Sphericity::compare(), HeavyHadrons::compare(), ZFinder::compare(), Hemispheres::compare(), DressedLeptons::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 *this object automatically passed as one of the parent projections.
Definition at line 51 of file Projection.cc.
References Rivet::pcmp().
{
return pcmp(*this, otherparent, pname);
}
virtual std::string name |
( |
| ) |
const [inline, virtual, inherited] |
void project |
( |
const Event & |
e | ) |
[inline, protected, virtual] |
void setName |
( |
const std::string & |
name | ) |
[inline, inherited] |
Used by derived classes to set their name.
Definition at line 120 of file Projection.hh.
References Projection::_name, and Projection::name().
Referenced by 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(), TauFinder::TauFinder(), Thrust::Thrust(), TriggerCDFRun0Run1::TriggerCDFRun0Run1(), TriggerCDFRun2::TriggerCDFRun2(), TriggerUA5::TriggerUA5(), UnstableFinalState::UnstableFinalState(), VetoedFinalState::VetoedFinalState(), VisibleFinalState::VisibleFinalState(), WFinder::WFinder(), and ZFinder::ZFinder().
Friends And Related Function Documentation
friend class Event [friend, inherited] |
Member Data Documentation
Caching flag to avoid costly recalculations.
Definition at line 124 of file Spherocity.hh.
The documentation for this class was generated from the following files:
|