|
The Rivet MC analysis system
1.8.2
|
FS modifier to exclude classes of particles from the final state.
More...
#include <VetoedFinalState.hh>
List of all members.
Public Types |
typedef pair< double, double > | BinaryCut |
| Typedef for a pair of back-to-back cuts.
|
typedef map< long, BinaryCut > | VetoDetails |
| Typedef for a vetoing entry.
|
typedef multimap< int, BinaryCut > | CompositeVeto |
| Typedef for a veto on a composite particle mass.
|
typedef Particle | entity_type |
typedef ParticleVector | collection_type |
Public Member Functions |
const VetoDetails & | vetoDetails () const |
| Get the list of particle IDs and ranges to veto.
|
VetoedFinalState & | addVetoDetail (const long id, const double ptmin, const double ptmax) |
VetoedFinalState & | addVetoPairDetail (const long id, const double ptmin, const double ptmax) |
VetoedFinalState & | addVetoPairId (const long id) |
VetoedFinalState & | addVetoId (const long id) |
| Add a particle ID to veto (all range will be vetoed).
|
VetoedFinalState & | vetoNeutrinos () |
| Veto all neutrinos (convenience method)
|
VetoedFinalState & | addCompositeMassVeto (const double &mass, const double &width, int nProducts=2) |
VetoedFinalState & | addDecayProductsVeto (const long id) |
VetoedFinalState & | setVetoDetails (const VetoDetails &ids) |
| Set the list of particle IDs and ranges to veto.
|
VetoedFinalState & | reset () |
| Clear the list of particle IDs and ranges to veto.
|
VetoedFinalState & | addVetoOnThisFinalState (const FinalState &fs) |
| Veto particles from a supplied final state.
|
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.
|
|
| VetoedFinalState () |
| Default constructor.
|
| VetoedFinalState (const FinalState &fsp) |
| Constructor with specific FinalState.
|
| VetoedFinalState (const VetoDetails &vetocodes) |
| VetoedFinalState (const FinalState &fsp, const VetoDetails &vetocodes) |
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 |
void | project (const Event &e) |
| Apply the projection on the supplied event.
|
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.
|
Private Types |
typedef set< long > | ParentVetos |
Private Attributes |
VetoDetails | _vetoCodes |
| The final-state particles.
|
CompositeVeto | _compositeVetoes |
| Composite particle masses to veto.
|
set< int > | _nCompositeDecays |
ParentVetos | _parentVetoes |
| Set of decaying particle IDs to veto.
|
set< string > | _vetofsnames |
| Set of finalstate to be vetoed.
|
Friends |
class | Event |
| Event is a friend.
|
class | Cmp< Projection > |
| The Cmp specialization for Projection is a friend.
|
Detailed Description
FS modifier to exclude classes of particles from the final state.
Definition at line 16 of file VetoedFinalState.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(), CMS_2011_S8978280::init(), CMS_2011_S9086218::init(), CMS_2011_S9088458::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_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(), H1_1995_S3167097::init(), MC_HJETS::init(), CDF_2008_S8093652::init(), MC_ZJETS::init(), STAR_2006_S6870392::init(), UA5_1989_S1926373::init(), D0_2008_S6879055::init(), CDF_1993_S2742446::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(), ALICE_2010_S8706239::init(), CDF_2009_NOTE_9936::init(), D0_2000_S4480767::init(), ALICE_2010_S8625980::init(), D0_2009_S8202443::init(), D0_2009_S8349509::init(), CDF_2008_S8095620::init(), MC_SUSY::init(), EXAMPLE::init(), ATLAS_2011_S9128077::init(), D0_2009_S8320160::init(), ATLAS_2011_S8971293::init(), CDF_1996_S3108457::init(), CDF_2009_S8383952::init(), CDF_2009_S8436959::init(), CDF_1998_S3618439::init(), CDF_2000_S4266730::init(), CDF_2001_S4563131::init(), D0_2006_S6438750::init(), D0_2008_S7837160::init(), D0_2010_S8566488::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(), CDF_1996_S3349578::init(), D0_2010_S8821313::init(), MC_WPOL::init(), CDF_1996_S3418421::init(), ATLAS_2011_I944826::init(), D0_2008_S7662670::init(), ATLAS_2012_I1083318::init(), UA5_1988_S1867512::init(), ATLAS_2010_S8919674::init(), ATLAS_2011_S9108483::init(), ATLAS_2012_I1125961::init(), ATLAS_2011_S9212183::init(), CDF_2006_S6653332::init(), CDF_2008_S7541902::init(), ATLAS_2012_I1112263::init(), ATLAS_2012_CONF_2012_104::init(), ATLAS_2011_S8983313::init(), ATLAS_2012_I943401::init(), ATLAS_2011_S9225137::init(), ATLAS_2011_S9212353::init(), ATLAS_2011_CONF_2011_090::init(), ATLAS_2012_CONF_2012_001::init(), DELPHI_2000_S4328825::init(), OPAL_2002_S5361494::init(), ATLAS_2012_CONF_2012_103::init(), ATLAS_2012_I946427::init(), ATLAS_2012_I1095236::init(), ATLAS_2011_S9019561::init(), SLD_1996_S3398250::init(), ATLAS_2012_I1180197::init(), ATLAS_2012_CONF_2012_109::init(), ATLAS_2012_CONF_2012_105::init(), TASSO_1990_S2148048::init(), ATLAS_2012_I1117704::init(), ATLAS_2012_I1190891::init(), D0_2008_S7719523::init(), ATLAS_2011_CONF_2011_098::init(), ATLAS_2012_I1084540::init(), ATLAS_2012_I1082009::init(), ATLAS_2012_I1186556::init(), ATLAS_2012_I1126136::init(), CDF_2009_S8233977::init(), CDF_2008_NOTE_9351::init(), CDF_2010_S8591881_DY::init(), ATLAS_2012_CONF_2012_153::init(), CDF_2010_S8591881_QCD::init(), CDF_2008_LEADINGJETS::init(), D0_2004_S5992206::init(), ATLAS_2010_S8914702::init(), ATLAS_2011_S9120807::init(), CDF_2001_S4751469::init(), ATLAS_2010_S8918562::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;
}
Veto particles from a supplied final state.
Definition at line 151 of file VetoedFinalState.hh.
References VetoedFinalState::_vetofsnames, ProjectionApplier::addProjection(), and Projection::name().
Referenced by ZFinder::_init(), WFinder::_init(), CDF_1993_S2742446::init(), MC_PHOTONJETS::init(), MC_ZZJETS::init(), MC_TTBAR::init(), MC_WWJETS::init(), ATLAS_2011_I954993::init(), CDF_2008_S8095620::init(), ATLAS_2012_I1083318::init(), ATLAS_2010_S8919674::init(), CDF_2008_S7541902::init(), CDF_2006_S6653332::init(), D0_2008_S7719523::init(), ATLAS_2011_I945498::init(), and ATLAS_2012_I1093738::init().
Add a particle/antiparticle pair to veto. Given a single ID, both the particle and its corresponding antiparticle (for all values) will be vetoed.
Definition at line 97 of file VetoedFinalState.hh.
References VetoedFinalState::addVetoId().
Referenced by CMS_2012_I1107658::init(), STAR_2009_UE_HELEN::init(), ATLAS_2010_S8919674::init(), ATLAS_2011_S9108483::init(), ATLAS_2012_I1125961::init(), ATLAS_2012_I1190891::init(), ATLAS_2012_CONF_2012_001::init(), ATLAS_2012_I1180197::init(), ATLAS_2012_I1095236::init(), ATLAS_2012_CONF_2012_103::init(), ATLAS_2012_I1112263::init(), ATLAS_2011_S9019561::init(), ATLAS_2012_I1117704::init(), ATLAS_2011_CONF_2011_090::init(), ATLAS_2012_CONF_2012_104::init(), ATLAS_2011_S8983313::init(), ATLAS_2012_CONF_2012_109::init(), ATLAS_2012_CONF_2012_105::init(), ATLAS_2011_S9212353::init(), ATLAS_2012_I943401::init(), ATLAS_2011_S9225137::init(), ATLAS_2012_I1186556::init(), ATLAS_2012_I1082009::init(), ATLAS_2012_I1126136::init(), ATLAS_2012_CONF_2012_153::init(), ATLAS_2012_I1094568::init(), and VetoedFinalState::vetoNeutrinos().
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);
}
}
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(), ParisiTensor::compare(), Spherocity::compare(), LeadingParticlesFinalState::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(), BELLE_2001_S4598261::analyze(), BELLE_2006_S6265367::analyze(), BABAR_2007_S6895344::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(), DELPHI_1999_S3960137::analyze(), OPAL_1996_S3257789::analyze(), OPAL_1998_S3702294::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(), UA5_1986_S1583476::analyze(), CDF_2009_S8233977::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 on the supplied event.
- Todo:
- Improve!
Reimplemented from FinalState.
Definition at line 23 of file VetoedFinalState.cc.
References VetoedFinalState::_compositeVetoes, VetoedFinalState::_nCompositeDecays, VetoedFinalState::_parentVetoes, FinalState::_theParticles, VetoedFinalState::_vetoCodes, VetoedFinalState::_vetofsnames, Projection::getLog(), Log::isActive(), Rivet::mass(), Rivet::mass2(), Particle::momentum(), MSG_TRACE, FinalState::particles(), Particle::pdgId(), FourMomentum::pT(), and Log::TRACE.
{
const FinalState& fs = applyProjection<FinalState>(e, "FS");
_theParticles.clear();
_theParticles.reserve(fs.particles().size());
foreach (const Particle& p, fs.particles()) {
if (getLog().isActive(Log::TRACE)) {
vector<long> codes;
for (VetoDetails::const_iterator code = _vetoCodes.begin(); code != _vetoCodes.end(); ++code) {
codes.push_back(code->first);
}
const string codestr = "{ " + join(codes) + " }";
MSG_TRACE(p.pdgId() << " vs. veto codes = " << codestr << " (" << codes.size() << ")");
}
const long pdgid = p.pdgId();
const double pt = p.momentum().pT();
VetoDetails::iterator iter = _vetoCodes.find(pdgid);
if (iter == _vetoCodes.end()) {
MSG_TRACE("Storing with PDG code = " << pdgid << ", pT = " << pt);
_theParticles.push_back(p);
} else {
BinaryCut ptrange = iter->second;
assert(ptrange.first <= ptrange.second);
stringstream rangess;
if (ptrange.first < numeric_limits<double>::max()) rangess << ptrange.second;
rangess << " - ";
if (ptrange.second < numeric_limits<double>::max()) rangess << ptrange.second;
MSG_TRACE("ID = " << pdgid << ", pT range = " << rangess.str());
stringstream debugline;
debugline << "with PDG code = " << pdgid << " pT = " << p.momentum().pT();
if (pt < ptrange.first || pt > ptrange.second) {
MSG_TRACE("Storing " << debugline.str());
_theParticles.push_back(p);
} else {
MSG_TRACE("Vetoing " << debugline.str());
}
}
}
set<ParticleVector::iterator> toErase;
for (set<int>::iterator nIt = _nCompositeDecays.begin();
nIt != _nCompositeDecays.end() && !_theParticles.empty(); ++nIt) {
map<set<ParticleVector::iterator>, FourMomentum> oldMasses;
map<set<ParticleVector::iterator>, FourMomentum> newMasses;
set<ParticleVector::iterator> start;
start.insert(_theParticles.begin());
oldMasses.insert(pair<set<ParticleVector::iterator>, FourMomentum>
(start, _theParticles.begin()->momentum()));
for (int nParts = 1; nParts != *nIt; ++nParts) {
for (map<set<ParticleVector::iterator>, FourMomentum>::iterator mIt = oldMasses.begin();
mIt != oldMasses.end(); ++mIt) {
ParticleVector::iterator pStart = *(mIt->first.rbegin());
for (ParticleVector::iterator pIt = pStart + 1; pIt != _theParticles.end(); ++pIt) {
FourMomentum cMom = mIt->second + pIt->momentum();
set<ParticleVector::iterator> pList(mIt->first);
pList.insert(pIt);
newMasses[pList] = cMom;
}
}
oldMasses = newMasses;
newMasses.clear();
}
for (map<set<ParticleVector::iterator>, FourMomentum>::iterator mIt = oldMasses.begin();
mIt != oldMasses.end(); ++mIt) {
double mass2 = mIt->second.mass2();
if (mass2 >= 0.0) {
double mass = sqrt(mass2);
for (CompositeVeto::iterator cIt = _compositeVetoes.lower_bound(*nIt);
cIt != _compositeVetoes.upper_bound(*nIt); ++cIt) {
BinaryCut massRange = cIt->second;
if (mass < massRange.second && mass > massRange.first) {
for (set<ParticleVector::iterator>::iterator lIt = mIt->first.begin();
lIt != mIt->first.end(); ++lIt) {
toErase.insert(*lIt);
}
}
}
}
}
}
for (set<ParticleVector::iterator>::reverse_iterator p = toErase.rbegin(); p != toErase.rend(); ++p) {
_theParticles.erase(*p);
}
for (ParentVetos::const_iterator vIt = _parentVetoes.begin(); vIt != _parentVetoes.end(); ++vIt) {
for (ParticleVector::iterator p = _theParticles.begin(); p != _theParticles.end(); ++p) {
GenVertex* startVtx = ((*p).genParticle()).production_vertex();
bool veto = false;
if (startVtx!=0) {
for (GenVertex::particle_iterator pIt = startVtx->particles_begin(HepMC::ancestors);
pIt != startVtx->particles_end(HepMC::ancestors) && !veto; ++pIt) {
if (*vIt == (*pIt)->pdg_id()) {
veto = true;
p = _theParticles.erase(p);
--p;
}
}
}
}
}
foreach (const string& ifs, _vetofsnames) {
const FinalState& vfs = applyProjection<FinalState>(e, ifs);
const ParticleVector& vfsp = vfs.particles();
for (ParticleVector::iterator icheck = _theParticles.begin(); icheck != _theParticles.end(); ++icheck) {
if (!icheck->hasGenParticle()) continue;
bool found = false;
for (ParticleVector::const_iterator ipart = vfsp.begin(); ipart != vfsp.end(); ++ipart){
if (!ipart->hasGenParticle()) continue;
MSG_TRACE("Comparing barcode " << icheck->genParticle().barcode()
<< " with veto particle " << ipart->genParticle().barcode());
if (ipart->genParticle().barcode() == icheck->genParticle().barcode()){
found = true;
break;
}
}
if (found) {
_theParticles.erase(icheck);
--icheck;
}
}
}
}
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(), DELPHI_2000_S4328825::analyze(), OPAL_2002_S5361494::analyze(), SLD_1996_S3398250::analyze(), CDF_2012_NOTE10874::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(), FinalState::project(), IdentifiedFinalState::project(), WFinder::project(), VetoedFinalState::project(), and FinalState::size().
The documentation for this class was generated from the following files:
|