|
The Rivet MC analysis system
1.8.2
|
Project out all physical-but-decayed particles in an event.
More...
#include <UnstableFinalState.hh>
List of all members.
Public Types |
typedef Particle | entity_type |
typedef ParticleVector | collection_type |
Public Member Functions |
virtual const ParticleVector & | particles () const |
| Get the final-state particles.
|
template<typename F > |
const ParticleVector & | particles (F sorter) const |
| Get the final-state particles, ordered by supplied sorting function object.
|
const ParticleVector & | particlesByPt () const |
| Get the final-state particles, ordered by decreasing .
|
const ParticleVector & | particlesByP () const |
| Get the final-state particles, ordered by decreasing .
|
const ParticleVector & | particlesByE () const |
| Get the final-state particles, ordered by decreasing .
|
const ParticleVector & | particlesByEt () const |
| Get the final-state particles, ordered by decreasing .
|
const ParticleVector & | particlesByEta () const |
| Get the final-state particles, ordered by increasing .
|
const ParticleVector & | particlesByModEta () const |
| Get the final-state particles, ordered by increasing .
|
virtual size_t | size () const |
| Access the projected final-state particles.
|
virtual bool | empty () const |
| Is this final state empty?
|
virtual bool | isEmpty () const |
virtual double | ptMin () const |
| Minimum- requirement.
|
const collection_type & | entities () const |
| Template-usable interface common to JetAlg.
|
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.
|
|
| UnstableFinalState (double mineta=-MAXRAPIDITY, double maxeta=MAXRAPIDITY, double minpt=0.0 *GeV) |
virtual const Projection * | clone () const |
| Clone on the heap.
|
|
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 |
virtual void | project (const Event &e) |
| Apply the projection to the event.
|
virtual int | compare (const Projection &p) const |
| Compare projections.
|
bool | accept (const Particle &p) const |
| Decide if a particle is to be accepted or not.
|
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 |
vector< pair< double, double > > | _etaRanges |
| The ranges allowed for pseudorapidity.
|
double | _ptmin |
| The minimum allowed transverse momentum.
|
ParticleVector | _theParticles |
| The final-state particles.
|
bool | _allowProjReg |
| Flag to forbid projection registration in analyses until the init phase.
|
Friends |
class | Event |
| Event is a friend.
|
class | Cmp< Projection > |
| The Cmp specialization for Projection is a friend.
|
Detailed Description
Project out all physical-but-decayed particles in an event.
The particles returned by the UFS are unique unstable particles, such as hadrons which are decayed by the generator. If, for example, you set Ks and Lambda particles stable in the generator, they will not be returned by the UFS. Also, you should be aware that all unstable particles in a decay chain are returned: if you are looking for something like the number of B hadrons in an event and there is a decay chain from e.g. B** -> B, you will count both B mesons unless you are careful to check for ancestor/descendent relations between the particles. Duplicate particles in the event record, i.e. those which differ only in bookkeeping details or photon emissions, are stripped from the returned particles collection.
Definition at line 24 of file UnstableFinalState.hh.
Member Typedef Documentation
Constructor & Destructor Documentation
Member Function Documentation
Decide if a particle is to be accepted or not.
Definition at line 95 of file FinalState.cc.
References FinalState::_etaRanges, FinalState::_ptmin, FourVector::eta(), Rivet::eta(), Particle::genParticle(), Particle::hasGenParticle(), Particle::momentum(), FourMomentum::pT(), and Rivet::pT().
Referenced by InvMassFinalState::calc(), LeptonClusters::project(), LeadingParticlesFinalState::project(), and FinalState::project().
{
assert(!p.hasGenParticle() || p.genParticle().status() == 1);
if (_ptmin > 0.0) {
const double pT = p.momentum().pT();
if (pT < _ptmin) return false;
}
if (!_etaRanges.empty()) {
bool eta_pass = false;
const double eta = p.momentum().eta();
typedef pair<double,double> EtaPair;
foreach (const EtaPair& etacuts, _etaRanges) {
if (eta > etacuts.first && eta < etacuts.second) {
eta_pass = true;
break;
}
}
if (!eta_pass) return false;
}
return true;
}
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 113 of file ProjectionApplier.hh.
References ProjectionApplier::_addProjection().
Referenced by ZFinder::_init(), WFinder::_init(), VetoedFinalState::addVetoOnThisFinalState(), BeamThrust::BeamThrust(), CDF_2009_S8057893::CDF_2009_S8057893::init(), CentralEtHCM::CentralEtHCM(), ChargedFinalState::ChargedFinalState(), ChargedLeptons::ChargedLeptons(), ClusteredPhotons::ClusteredPhotons(), DISFinalState::DISFinalState(), DISKinematics::DISKinematics(), DISLepton::DISLepton(), FinalState::FinalState(), FoxWolframMoments::FoxWolframMoments(), FParameter::FParameter(), HadronicFinalState::HadronicFinalState(), Hemispheres::Hemispheres(), IdentifiedFinalState::IdentifiedFinalState(), ATLAS_2010_S8894728::init(), CMS_2010_S8547297::init(), CMS_2010_S8656010::init(), CMS_2011_S8968497::init(), ATLAS_2011_S8994773::init(), ATLAS_2011_I894867::init(), CMS_2011_S8950903::init(), ATLAS_2010_CONF_2010_049::init(), CMS_2012_I1087342::init(), ALICE_2011_S8909580::init(), ALICE_2011_S8945144::init(), CMS_2011_S8941262::init(), CMS_2011_S8973270::init(), CMS_2011_S8978280::init(), CMS_2011_S9086218::init(), CMS_2011_S9088458::init(), CMS_2011_S9215166::init(), CMS_2012_I1107658::init(), LHCF_2012_I1115479::init(), CDF_2007_S7057202::init(), TOTEM_2012_I1115294::init(), ATLAS_2010_S8591806::init(), D0_2011_I895662::init(), CMS_2011_S8957746::init(), MC_JETS::init(), CDF_2012_NOTE10874::init(), CMS_QCD_10_024::init(), ATLAS_2011_S9002537::init(), CDF_1997_S3541940::init(), UA5_1987_S1640666::init(), MC_DIJET::init(), STAR_2006_S6500200::init(), STAR_2008_S7993412::init(), CDF_2000_S4155203::init(), CDF_2005_S6080774::init(), CDF_2006_S6450792::init(), MC_DIPHOTON::init(), SFM_1984_S1178091::init(), UA5_1982_S875503::init(), CDF_2008_S8093652::init(), MC_ZJETS::init(), STAR_2006_S6870392::init(), UA5_1989_S1926373::init(), D0_2008_S6879055::init(), CDF_1993_S2742446::init(), H1_1995_S3167097::init(), MC_HJETS::init(), CMS_2012_I1102908::init(), CDF_1988_S1865951::init(), E735_1998_S3905616::init(), MC_PHOTONJETS::init(), MC_TTBAR::init(), MC_ZZJETS::init(), CDF_2008_S7782535::init(), ATLAS_2012_I1091481::init(), ATLAS_2012_I1183818::init(), D0_1996_S3324664::init(), ALEPH_1991_S2435284::init(), ATLAS_2010_S8817804::init(), DELPHI_1999_S3960137::init(), CDF_1990_S2089246::init(), OPAL_1998_S3749908::init(), UA5_1986_S1583476::init(), ALEPH_1996_S3196992::init(), MC_IDENTIFIED::init(), MC_LEADJETUE::init(), ALEPH_2002_S4823664::init(), MC_PHOTONJETUE::init(), MC_WJETS::init(), MC_WWJETS::init(), OPAL_1995_S3198391::init(), OPAL_1996_S3257789::init(), OPAL_1997_S3608263::init(), OPAL_1998_S3702294::init(), OPAL_2000_S4418603::init(), ATLAS_2011_S8924791::init(), D0_2010_S8570965::init(), CDF_1994_S2952106::init(), JADE_OPAL_2000_S4300807::init(), MC_GENERIC::init(), CDF_2005_S6217184::init(), ATLAS_2011_I954993::init(), D0_2001_S4674421::init(), D0_2007_S7075677::init(), LHCB_2011_I919315::init(), CDF_2008_S7540469::init(), CDF_2008_S7828950::init(), ATLAS_2011_I925932::init(), UA1_1990_S2044935::init(), ZEUS_2001_S4815815::init(), D0_1996_S3214044::init(), ALICE_2010_S8624100::init(), D0_2008_S7554427::init(), D0_2008_S7863608::init(), D0_2010_S8671338::init(), DELPHI_1995_S3137023::init(), ATLAS_2011_S9131140::init(), JADE_1998_S3612880::init(), MC_PHOTONS::init(), OPAL_1997_S3396100::init(), STAR_2006_S6860818::init(), STAR_2009_UE_HELEN::init(), ALEPH_2004_S5765862::init(), D0_2009_S8202443::init(), D0_2009_S8349509::init(), CDF_2008_S8095620::init(), MC_SUSY::init(), EXAMPLE::init(), ATLAS_2011_S9128077::init(), ALICE_2010_S8706239::init(), CDF_2009_NOTE_9936::init(), D0_2000_S4480767::init(), ALICE_2010_S8625980::init(), D0_2009_S8320160::init(), ATLAS_2011_S8971293::init(), CDF_1996_S3108457::init(), CDF_2001_S4563131::init(), CDF_2009_S8383952::init(), CDF_2009_S8436959::init(), CDF_1998_S3618439::init(), CDF_2000_S4266730::init(), D0_2006_S6438750::init(), D0_2008_S7837160::init(), D0_2010_S8566488::init(), CDF_1996_S3349578::init(), ALEPH_2001_S4656318::init(), CDF_2001_S4517016::init(), DELPHI_2002_069_CONF_603::init(), ATLAS_2012_I1082936::init(), ATLAS_2011_I926145::init(), SLD_2002_S4869273::init(), D0_2010_S8821313::init(), CDF_1996_S3418421::init(), MC_WPOL::init(), ATLAS_2011_I944826::init(), D0_2008_S7662670::init(), ATLAS_2010_S8919674::init(), ATLAS_2012_I1083318::init(), UA5_1988_S1867512::init(), ATLAS_2011_S9108483::init(), CDF_2008_S7541902::init(), ATLAS_2012_I1125961::init(), ATLAS_2011_S9212183::init(), CDF_2006_S6653332::init(), ATLAS_2011_S9019561::init(), ATLAS_2011_S8983313::init(), ATLAS_2012_I943401::init(), ATLAS_2011_S9212353::init(), ATLAS_2012_CONF_2012_105::init(), OPAL_2002_S5361494::init(), ATLAS_2012_CONF_2012_103::init(), ATLAS_2012_I946427::init(), ATLAS_2012_CONF_2012_104::init(), ATLAS_2012_CONF_2012_001::init(), ATLAS_2012_I1095236::init(), ATLAS_2011_CONF_2011_090::init(), DELPHI_2000_S4328825::init(), SLD_1996_S3398250::init(), ATLAS_2012_I1180197::init(), ATLAS_2011_S9225137::init(), ATLAS_2012_I1190891::init(), ATLAS_2012_CONF_2012_109::init(), TASSO_1990_S2148048::init(), ATLAS_2012_I1117704::init(), ATLAS_2012_I1112263::init(), ATLAS_2012_I1084540::init(), ATLAS_2012_I1186556::init(), ATLAS_2011_CONF_2011_098::init(), D0_2008_S7719523::init(), ATLAS_2012_I1082009::init(), ATLAS_2012_I1126136::init(), CDF_2009_S8233977::init(), ATLAS_2012_CONF_2012_153::init(), CDF_2008_NOTE_9351::init(), CDF_2010_S8591881_DY::init(), CDF_2010_S8591881_QCD::init(), CDF_2008_LEADINGJETS::init(), D0_2004_S5992206::init(), ATLAS_2010_S8914702::init(), ATLAS_2011_S9120807::init(), ATLAS_2010_S8918562::init(), CDF_2001_S4751469::init(), LHCB_2011_I917009::init(), ATLAS_2011_I945498::init(), ATLAS_2011_S9041966::init(), DELPHI_1996_S3430090::init(), ALEPH_1996_S3486095::init(), ALEPH_1999_S4193598::init(), ATLAS_2012_I1094568::init(), OPAL_2004_S6132243::init(), ATLAS_2012_I1093738::init(), OPAL_1994_S2927284::init(), ATLAS_2011_S9126244::init(), STAR_2008_S7869363::init(), BABAR_2007_S6895344::init(), MC_VH2BB::init(), BABAR_2005_S6181155::init(), BELLE_2001_S4598261::init(), ATLAS_2011_I919017::init(), OPAL_2001_S4553896::init(), DELPHI_2003_WUD_03_11::init(), CDF_2004_S5839831::init(), CLEO_2004_S5809304::init(), ARGUS_1993_S2653028::init(), OPAL_1998_S3780481::init(), BABAR_2007_S7266081::init(), OPAL_1993_S2692198::init(), ARGUS_1993_S2669951::init(), H1_1994_S2919893::init(), H1_2000_S4129130::init(), ARGUS_1993_S2789213::init(), SLD_2004_S5693039::init(), BELLE_2006_S6265367::init(), SLD_1999_S3743934::init(), PDG_HADRON_MULTIPLICITIES::init(), PDG_HADRON_MULTIPLICITIES_RATIOS::init(), IsolationProjection< PROJ1, PROJ2, EST >::IsolationProjection(), JetAlg::JetAlg(), JetShape::JetShape(), LeadingParticlesFinalState::LeadingParticlesFinalState(), LeptonClusters::LeptonClusters(), LossyFinalState< ConstRandomFilter >::LossyFinalState(), MergedFinalState::MergedFinalState(), MissingMomentum::MissingMomentum(), Multiplicity::Multiplicity(), NeutralFinalState::NeutralFinalState(), NonHadronicFinalState::NonHadronicFinalState(), ParisiTensor::ParisiTensor(), Sphericity::Sphericity(), Spherocity::Spherocity(), Thrust::Thrust(), TriggerCDFRun0Run1::TriggerCDFRun0Run1(), TriggerCDFRun2::TriggerCDFRun2(), TriggerUA5::TriggerUA5(), VetoedFinalState::VetoedFinalState(), and VisibleFinalState::VisibleFinalState().
{
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 28 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);
}
}
Compare projections.
Implements Projection.
Reimplemented in VetoedFinalState, WFinder, IdentifiedFinalState, ZFinder, InvMassFinalState, LossyFinalState< FILTER >, LossyFinalState< ConstRandomFilter >, LeadingParticlesFinalState, LeptonClusters, VisibleFinalState, ClusteredPhotons, NeutralFinalState, ChargedFinalState, DISFinalState, HadronicFinalState, NonHadronicFinalState, MergedFinalState, and ChargedLeptons.
Definition at line 44 of file FinalState.cc.
References FinalState::_etaRanges, FinalState::_ptmin, Rivet::cmp(), Rivet::ORDERED, and Rivet::UNORDERED.
{
const FinalState& other = dynamic_cast<const FinalState&>(p);
std::vector<std::pair<double, double> > eta1(_etaRanges);
std::vector<std::pair<double, double> > eta2(other._etaRanges);
std::sort(eta1.begin(), eta1.end());
std::sort(eta2.begin(), eta2.end());
if (eta1 < eta2) return ORDERED;
else if (eta2 < eta1) return UNORDERED;
return cmp(_ptmin, other._ptmin);
}
virtual bool empty |
( |
| ) |
const [inline, virtual, inherited] |
const PROJ& getProjection |
( |
const std::string & |
name | ) |
const [inline, inherited] |
virtual bool isEmpty |
( |
| ) |
const [inline, virtual, inherited] |
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().
Referenced by BeamThrust::compare(), ChargedLeptons::compare(), Multiplicity::compare(), FParameter::compare(), CentralEtHCM::compare(), DISLepton::compare(), MergedFinalState::compare(), DISKinematics::compare(), DISFinalState::compare(), ChargedFinalState::compare(), ClusteredPhotons::compare(), NeutralFinalState::compare(), VisibleFinalState::compare(), LeptonClusters::compare(), LeadingParticlesFinalState::compare(), ParisiTensor::compare(), Spherocity::compare(), MissingMomentum::compare(), FoxWolframMoments::compare(), LossyFinalState< ConstRandomFilter >::compare(), Thrust::compare(), InvMassFinalState::compare(), Sphericity::compare(), Hemispheres::compare(), ZFinder::compare(), IdentifiedFinalState::compare(), WFinder::compare(), JetShape::compare(), VetoedFinalState::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 57 of file Projection.cc.
References Rivet::pcmp().
{
return pcmp(*this, otherparent, pname);
}
virtual std::string name |
( |
| ) |
const [inline, virtual, inherited] |
Get the final-state particles.
Definition at line 39 of file FinalState.hh.
References FinalState::_theParticles.
Referenced by BABAR_2005_S6181155::analyze(), CLEO_2004_S5809304::analyze(), BABAR_2007_S6895344::analyze(), BELLE_2001_S4598261::analyze(), BELLE_2006_S6265367::analyze(), ARGUS_1993_S2653028::analyze(), BABAR_2007_S7266081::analyze(), OPAL_1994_S2927284::analyze(), ARGUS_1993_S2789213::analyze(), ARGUS_1993_S2669951::analyze(), PDG_HADRON_MULTIPLICITIES::analyze(), H1_2000_S4129130::analyze(), PDG_HADRON_MULTIPLICITIES_RATIOS::analyze(), OPAL_1993_S2692198::analyze(), SLD_2004_S5693039::analyze(), TOTEM_2012_I1115294::analyze(), CMS_2010_S8656010::analyze(), LHCF_2012_I1115479::analyze(), ATLAS_2010_S8591806::analyze(), ALICE_2011_S8909580::analyze(), ALICE_2011_S8945144::analyze(), OPAL_1998_S3780481::analyze(), SLD_1999_S3743934::analyze(), STAR_2008_S7993412::analyze(), OPAL_1995_S3198391::analyze(), OPAL_1997_S3608263::analyze(), OPAL_2000_S4418603::analyze(), ALEPH_2002_S4823664::analyze(), H1_1994_S2919893::analyze(), OPAL_1996_S3257789::analyze(), OPAL_1998_S3702294::analyze(), DELPHI_1999_S3960137::analyze(), E735_1998_S3905616::analyze(), UA5_1982_S875503::analyze(), CMS_QCD_10_024::analyze(), ATLAS_2011_S9002537::analyze(), CMS_2010_S8547297::analyze(), CMS_2011_S8978280::analyze(), DELPHI_1995_S3137023::analyze(), SLD_2002_S4869273::analyze(), CDF_1990_S2089246::analyze(), CDF_1988_S1865951::analyze(), ALEPH_2001_S4656318::analyze(), DELPHI_2002_069_CONF_603::analyze(), ALICE_2010_S8706239::analyze(), CDF_2008_S7540469::analyze(), CMS_2011_S8973270::analyze(), OPAL_2002_S5361494::analyze(), SLD_1996_S3398250::analyze(), DELPHI_2000_S4328825::analyze(), CMS_2011_S9215166::analyze(), LHCB_2011_I919315::analyze(), MC_DIJET::analyze(), OPAL_1998_S3749908::analyze(), SFM_1984_S1178091::analyze(), MC_IDENTIFIED::analyze(), MC_LEADJETUE::analyze(), STAR_2006_S6500200::analyze(), OPAL_1997_S3396100::analyze(), D0_2006_S6438750::analyze(), ALICE_2010_S8625980::analyze(), ATLAS_2011_I925932::analyze(), CDF_2009_S8233977::analyze(), UA5_1986_S1583476::analyze(), STAR_2006_S6860818::analyze(), MC_PHOTONJETS::analyze(), CMS_2011_S8884919::analyze(), LHCB_2010_S8758301::analyze(), ATLAS_2012_I1082009::analyze(), CDF_2008_S8095620::analyze(), STAR_2009_UE_HELEN::analyze(), CDF_2006_S6653332::analyze(), UA1_1990_S2044935::analyze(), ALEPH_1999_S4193598::analyze(), D0_2001_S4674421::analyze(), CDF_2008_S7541902::analyze(), MC_PHOTONJETUE::analyze(), JADE_1998_S3612880::analyze(), ATLAS_2012_I1183818::analyze(), CDF_2010_S8591881_QCD::analyze(), CDF_2010_S8591881_DY::analyze(), CDF_2008_LEADINGJETS::analyze(), TASSO_1990_S2148048::analyze(), LHCB_2011_I917009::analyze(), MC_GENERIC::analyze(), D0_2008_S7719523::analyze(), H1_1995_S3167097::analyze(), CDF_2008_NOTE_9351::analyze(), ATLAS_2012_I1084540::analyze(), STAR_2008_S7869363::analyze(), ATLAS_2011_I926145::analyze(), ATLAS_2010_S8919674::analyze(), ATLAS_2010_S8894728::analyze(), DELPHI_2003_WUD_03_11::analyze(), MC_SUSY::analyze(), ATLAS_2012_I1093738::analyze(), ALEPH_1996_S3486095::analyze(), ALEPH_2004_S5765862::analyze(), ATLAS_2011_I944826::analyze(), DELPHI_1996_S3430090::analyze(), BeamThrust::calc(), FParameter::calc(), Spherocity::calc(), Thrust::calc(), Sphericity::calc(), FinalState::entities(), ATLAS_2010_S8918562::fillPtEtaNch(), FinalState::particlesByE(), FinalState::particlesByEt(), FinalState::particlesByEta(), FinalState::particlesByModEta(), FinalState::particlesByP(), FinalState::particlesByPt(), ChargedLeptons::project(), Multiplicity::project(), CentralEtHCM::project(), DISLepton::project(), MergedFinalState::project(), TriggerCDFRun2::project(), TriggerCDFRun0Run1::project(), NonHadronicFinalState::project(), ChargedFinalState::project(), HadronicFinalState::project(), NeutralFinalState::project(), ClusteredPhotons::project(), VisibleFinalState::project(), TriggerUA5::project(), LossyFinalState< ConstRandomFilter >::project(), LeptonClusters::project(), LeadingParticlesFinalState::project(), FoxWolframMoments::project(), MissingMomentum::project(), InvMassFinalState::project(), Hemispheres::project(), IdentifiedFinalState::project(), FinalState::project(), and VetoedFinalState::project().
Apply the projection to the event.
Reimplemented from FinalState.
Definition at line 12 of file UnstableFinalState.cc.
References FinalState::_etaRanges, FinalState::_ptmin, FinalState::_theParticles, Event::genEvent(), Projection::getLog(), Rivet::inRange(), IS_PARTON_PDGID, Rivet::isZero(), Rivet::MAXRAPIDITY, MSG_DEBUG, MSG_TRACE, Rivet::particles(), and Log::TRACE.
{
_theParticles.clear();
double etamin, etamax;
if ( _etaRanges.empty() ) {
etamin = -MAXRAPIDITY;
etamax = MAXRAPIDITY;
} else {
assert( _etaRanges.size() == 1 );
etamin = _etaRanges[0].first;
etamax = _etaRanges[0].second;
}
vector<PdgId> vetoIds;
vetoIds += 22;
vetoIds += 110; vetoIds += 990; vetoIds += 9990;
foreach (GenParticle* p, Rivet::particles(e.genEvent())) {
const int st = p->status();
bool passed =
(st == 1 || (st == 2 && find(vetoIds.begin(), vetoIds.end(), abs(p->pdg_id())) == vetoIds.end())) &&
!IS_PARTON_PDGID(p->pdg_id()) &&
!isZero(p->momentum().perp()) && p->momentum().perp() >= _ptmin &&
inRange(p->momentum().eta(), etamin, etamax);
const GenVertex* pv = p->production_vertex();
const GenVertex* dv = p->end_vertex();
if (passed && pv) {
for (GenVertex::particles_in_const_iterator pp = pv->particles_in_const_begin() ;
pp != pv->particles_in_const_end() ; ++pp) {
if ( p->pdg_id() == (*pp)->pdg_id() ) {
passed = false;
break;
}
}
}
if (passed) {
_theParticles.push_back(Particle(*p));
}
if (getLog().isActive(Log::TRACE)) {
MSG_TRACE("ID = " << p->pdg_id()
<< ", status = " << st
<< ", pT = " << p->momentum().perp()
<< ", eta = " << p->momentum().eta()
<< ": result = " << std::boolalpha << passed);
if (pv) {
for (GenVertex::particles_in_const_iterator pp = pv->particles_in_const_begin() ;
pp != pv->particles_in_const_end() ; ++pp) {
MSG_TRACE(" parent ID = " << (*pp)->pdg_id());
}
}
if (dv) {
for (GenVertex::particles_out_const_iterator pp = dv->particles_out_const_begin() ;
pp != dv->particles_out_const_end() ; ++pp) {
MSG_TRACE(" child ID = " << (*pp)->pdg_id());
}
}
}
}
MSG_DEBUG("Number of unstable final-state particles = " << _theParticles.size());
}
virtual double ptMin |
( |
| ) |
const [inline, virtual, inherited] |
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 ZFinder::_init(), WFinder::_init(), FastJets::_init1(), FastJets::_init2(), FastJets::_init3(), Beam::Beam(), BeamThrust::BeamThrust(), CentralEtHCM::CentralEtHCM(), ChargedFinalState::ChargedFinalState(), ChargedLeptons::ChargedLeptons(), ClusteredPhotons::ClusteredPhotons(), ConstLossyFinalState::ConstLossyFinalState(), DISFinalState::DISFinalState(), DISKinematics::DISKinematics(), DISLepton::DISLepton(), FinalState::FinalState(), FoxWolframMoments::FoxWolframMoments(), FParameter::FParameter(), HadronicFinalState::HadronicFinalState(), Hemispheres::Hemispheres(), IdentifiedFinalState::IdentifiedFinalState(), InitialQuarks::InitialQuarks(), IsolationProjection< PROJ1, PROJ2, EST >::IsolationProjection(), JetAlg::JetAlg(), JetShape::JetShape(), LeadingParticlesFinalState::LeadingParticlesFinalState(), LeptonClusters::LeptonClusters(), LossyFinalState< ConstRandomFilter >::LossyFinalState(), MergedFinalState::MergedFinalState(), MissingMomentum::MissingMomentum(), Multiplicity::Multiplicity(), NeutralFinalState::NeutralFinalState(), NonHadronicFinalState::NonHadronicFinalState(), ParisiTensor::ParisiTensor(), Sphericity::Sphericity(), Spherocity::Spherocity(), Thrust::Thrust(), TriggerCDFRun0Run1::TriggerCDFRun0Run1(), TriggerCDFRun2::TriggerCDFRun2(), TriggerUA5::TriggerUA5(), UnstableFinalState::UnstableFinalState(), VetoedFinalState::VetoedFinalState(), and VisibleFinalState::VisibleFinalState().
virtual size_t size |
( |
| ) |
const [inline, virtual, inherited] |
Access the projected final-state particles.
Definition at line 79 of file FinalState.hh.
References FinalState::_theParticles.
Referenced by TOTEM_2012_I1115294::analyze(), ATLAS_2010_S8591806::analyze(), UA5_1982_S875503::analyze(), ATLAS_2011_S9002537::analyze(), ATLAS_2011_S8994773::analyze(), CDF_2009_NOTE_9936::analyze(), CDF_2012_NOTE10874::analyze(), DELPHI_2000_S4328825::analyze(), OPAL_2002_S5361494::analyze(), SLD_1996_S3398250::analyze(), ALICE_2010_S8625980::analyze(), STAR_2006_S6500200::analyze(), UA5_1986_S1583476::analyze(), CDF_2009_S8233977::analyze(), ALICE_2010_S8624100::analyze(), STAR_2006_S6860818::analyze(), ALEPH_1999_S4193598::analyze(), UA1_1990_S2044935::analyze(), MC_PHOTONJETUE::analyze(), ATLAS_2012_I1183818::analyze(), MC_GENERIC::analyze(), ATLAS_2011_I926145::analyze(), ATLAS_2010_S8894728::analyze(), ATLAS_2010_S8919674::analyze(), OPAL_2004_S6132243::analyze(), MC_SUSY::analyze(), ATLAS_2010_S8918562::analyze(), and ATLAS_2010_S8918562::fillPtEtaNch().
Friends And Related Function Documentation
friend class Event [friend, inherited] |
Member Data Documentation
vector<pair<double,double> > _etaRanges [protected, inherited] |
double _ptmin [protected, inherited] |
The final-state particles.
Definition at line 122 of file FinalState.hh.
Referenced by InvMassFinalState::calc(), ChargedLeptons::chargedLeptons(), ZFinder::clear(), WFinder::clear(), FinalState::empty(), FinalState::isEmpty(), FinalState::particles(), ChargedLeptons::project(), MergedFinalState::project(), ChargedFinalState::project(), NonHadronicFinalState::project(), DISFinalState::project(), HadronicFinalState::project(), NeutralFinalState::project(), ClusteredPhotons::project(), VisibleFinalState::project(), UnstableFinalState::project(), LossyFinalState< ConstRandomFilter >::project(), LeptonClusters::project(), LeadingParticlesFinalState::project(), ZFinder::project(), IdentifiedFinalState::project(), FinalState::project(), WFinder::project(), VetoedFinalState::project(), and FinalState::size().
The documentation for this class was generated from the following files:
|