|
The Rivet MC analysis system
2.0.0b1
|
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 Particles | 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 Particles & | particles () const |
| Get the final-state particles.
|
template<typename F > |
const Particles & | particles (F sorter) const |
| Get the final-state particles, ordered by supplied sorting function object.
|
const Particles & | particlesByPt () const |
| Get the final-state particles, ordered by decreasing .
|
const Particles & | particlesByP () const |
| Get the final-state particles, ordered by decreasing .
|
const Particles & | particlesByE () const |
| Get the final-state particles, ordered by decreasing .
|
const Particles & | particlesByEt () const |
| Get the final-state particles, ordered by decreasing .
|
const Particles & | particlesByEta () const |
| Get the final-state particles, ordered by increasing .
|
const Particles & | particlesByModEta () const |
| Get the final-state particles, ordered by increasing .
|
const Particles & | particlesByRapidity () const |
| Get the final-state particles, ordered by increasing .
|
const Particles & | particlesByModRapidity () 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.
|
Particles | _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 93 of file FinalState.cc.
References FinalState::_etaRanges, FinalState::_ptmin, ParticleBase::eta(), Particle::genParticle(), Rivet::inRange(), and ParticleBase::pT().
Referenced by InvMassFinalState::calc(), LeptonClusters::project(), LeadingParticlesFinalState::project(), and FinalState::project().
{
assert(p.genParticle() == NULL || p.genParticle()->status() == 1);
if (_ptmin > 0.0) {
if (p.pT() < _ptmin) return false;
}
if (!_etaRanges.empty()) {
bool eta_pass = false;
typedef pair<double,double> EtaPair;
foreach (const EtaPair& etacuts, _etaRanges) {
if (inRange(p.eta(), etacuts.first, etacuts.second)) {
eta_pass = true;
break;
}
}
if (!eta_pass) return false;
}
return true;
}
Veto the decay products of particle with pdg id
- Todo:
- Need HepMC to sort themselves out and keep vector bosons from the hard vtx in the event record before this will work reliably for all pdg ids
Definition at line 132 of file VetoedFinalState.hh.
References VetoedFinalState::_parentVetoes.
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 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(), HeavyHadrons::HeavyHadrons(), Hemispheres::Hemispheres(), IdentifiedFinalState::IdentifiedFinalState(), ATLAS_2010_S8894728::init(), CMS_2010_S8547297::init(), CMS_2010_S8656010::init(), ALICE_2012_I1181770::init(), CMS_2012_PAS_QCD_11_010::init(), ATLAS_2011_S8994773::init(), CMS_2011_S8950903::init(), CMS_2011_S8978280::init(), CMS_2011_S8968497::init(), ATLAS_2010_CONF_2010_049::init(), ALICE_2011_S8909580::init(), ATLAS_2011_I894867::init(), CMS_2011_S8941262::init(), CMS_2011_S8973270::init(), CMS_2011_S9086218::init(), TOTEM_2012_I1115294::init(), CMS_2011_S9215166::init(), CMS_2012_I1087342::init(), CMS_2012_I1193338::init(), CMS_2012_I1184941::init(), CDF_2007_S7057202::init(), ALICE_2011_S8945144::init(), CMS_2011_S8957746::init(), TOTEM_2012_002::init(), CMS_2011_S9088458::init(), CMS_2012_I1107658::init(), ATLAS_2010_S8591806::init(), ATLAS_2011_S9002537::init(), D0_2011_I895662::init(), LHCF_2012_I1115479::init(), CMS_2011_I954992::init(), D0_2010_S8570965::init(), MC_JETS::init(), MC_KTSPLITTINGS::init(), CDF_2012_NOTE10874::init(), STAR_2006_S6500200::init(), STAR_2008_S7993412::init(), UA5_1987_S1640666::init(), CMS_QCD_10_024::init(), CDF_1997_S3541940::init(), MC_ZZINC::init(), SFM_1984_S1178091::init(), ARGUS_1993_S2789213::init(), BABAR_2007_S7266081::init(), CDF_1993_S2742446::init(), ATLAS_2011_S9128077::init(), CDF_2000_S4155203::init(), MC_DIJET::init(), MC_DIPHOTON::init(), MC_HINC::init(), CDF_2005_S6080774::init(), CDF_2006_S6450792::init(), MC_WINC::init(), MC_ZINC::init(), STAR_2006_S6870392::init(), UA5_1989_S1926373::init(), D0_2008_S6879055::init(), UA5_1982_S875503::init(), MC_HJETS::init(), MC_HKTSPLITTINGS::init(), MC_PHOTONINC::init(), CDF_2008_S7782535::init(), MC_WKTSPLITTINGS::init(), MC_WWINC::init(), CDF_2008_S8093652::init(), MC_ZJETS::init(), MC_ZKTSPLITTINGS::init(), MC_ZZJETS::init(), MC_ZZKTSPLITTINGS::init(), ARGUS_1993_S2669951::init(), ATLAS_2012_I1091481::init(), ALEPH_1991_S2435284::init(), CMS_2012_I1102908::init(), ATLAS_2012_I1183818::init(), ATLAS_2011_S9035664::init(), MC_WWKTSPLITTINGS::init(), E735_1998_S3905616::init(), MC_PHOTONJETS::init(), MC_PHOTONKTSPLITTINGS::init(), MC_WJETS::init(), MC_WWJETS::init(), ATLAS_2011_I944826::init(), ATLAS_2011_S8924791::init(), D0_1996_S3324664::init(), OPAL_1998_S3702294::init(), ATLAS_2010_S8817804::init(), ALEPH_1996_S3196992::init(), DELPHI_1999_S3960137::init(), CDF_1990_S2089246::init(), CDF_1988_S1865951::init(), UA5_1986_S1583476::init(), MC_GENERIC::init(), CDF_2005_S6217184::init(), MC_IDENTIFIED::init(), MC_LEADJETUE::init(), MC_PHOTONJETUE::init(), ALEPH_2002_S4823664::init(), MC_TTBAR::init(), OPAL_1995_S3198391::init(), OPAL_1996_S3257789::init(), OPAL_1997_S3608263::init(), OPAL_1998_S3749908::init(), OPAL_2000_S4418603::init(), ATLAS_2011_I954993::init(), H1_1995_S3167097::init(), MC_QCD_PARTONS::init(), ATLAS_2012_I1119557::init(), D0_2001_S4674421::init(), CDF_1994_S2952106::init(), ZEUS_2001_S4815815::init(), ATLAS_2012_I1188891::init(), D0_2007_S7075677::init(), D0_2008_S7837160::init(), CDF_2008_S7540469::init(), ATLAS_2011_S9131140::init(), UA1_1990_S2044935::init(), LHCB_2011_I919315::init(), CDF_2008_S7828950::init(), ATLAS_2011_I925932::init(), DELPHI_1995_S3137023::init(), EXAMPLE::init(), JADE_1998_S3612880::init(), JADE_OPAL_2000_S4300807::init(), CDF_2008_S8095620::init(), MC_SUSY::init(), OPAL_1997_S3396100::init(), ALICE_2010_S8624100::init(), STAR_2006_S6860818::init(), D0_1996_S3214044::init(), D0_2008_S7554427::init(), D0_2008_S7863608::init(), D0_2010_S8671338::init(), MC_PHOTONS::init(), ALEPH_2004_S5765862::init(), STAR_2009_UE_HELEN::init(), D0_2009_S8202443::init(), ALICE_2010_S8706239::init(), CDF_2009_NOTE_9936::init(), CMS_2012_PAS_FWD_11_003::init(), D0_2000_S4480767::init(), ALICE_2010_S8625980::init(), D0_2009_S8349509::init(), ATLAS_2011_I926145::init(), ATLAS_2012_I1125575::init(), D0_2009_S8320160::init(), CDF_1996_S3108457::init(), CDF_1998_S3618439::init(), CDF_2000_S4266730::init(), CDF_2001_S4563131::init(), CDF_2009_S8383952::init(), CDF_2009_S8436959::init(), ATLAS_2011_S8971293::init(), D0_2006_S6438750::init(), D0_2010_S8821313::init(), DELPHI_2002_069_CONF_603::init(), CDF_2001_S4517016::init(), MC_WPOL::init(), ALEPH_2001_S4656318::init(), SLD_2002_S4869273::init(), ATLAS_2012_I1082936::init(), CDF_1996_S3349578::init(), D0_2010_S8566488::init(), CDF_1996_S3418421::init(), SLD_1996_S3398250::init(), CDF_2006_S6653332::init(), D0_2008_S7662670::init(), ATLAS_2011_S9108483::init(), ATLAS_2010_S8919674::init(), CDF_2008_S7541902::init(), UA5_1988_S1867512::init(), ATLAS_2012_I1083318::init(), ATLAS_2012_I1125961::init(), ATLAS_2012_I1095236::init(), ATLAS_2011_S9212183::init(), ATLAS_2012_CONF_2012_109::init(), ATLAS_2011_S9212353::init(), ATLAS_2012_CONF_2012_001::init(), TASSO_1990_S2148048::init(), ATLAS_2012_CONF_2012_105::init(), ATLAS_2011_S8983313::init(), ATLAS_2012_I1112263::init(), ATLAS_2012_CONF_2012_103::init(), ATLAS_2012_I943401::init(), ATLAS_2012_I946427::init(), ATLAS_2013_I1217867::init(), DELPHI_2000_S4328825::init(), ATLAS_2011_S9019561::init(), ATLAS_2012_I1180197::init(), ATLAS_2012_I1190891::init(), ATLAS_2012_I1117704::init(), ATLAS_2011_S9225137::init(), ATLAS_2012_CONF_2012_104::init(), ATLAS_2011_CONF_2011_090::init(), OPAL_2002_S5361494::init(), ATLAS_2012_I1186556::init(), ATLAS_2011_CONF_2011_098::init(), ATLAS_2012_I1082009::init(), ATLAS_2012_I1084540::init(), ATLAS_2012_I1126136::init(), CDF_2009_S8233977::init(), CDF_2010_S8591881_DY::init(), ATLAS_2012_CONF_2012_153::init(), CDF_2010_S8591881_QCD::init(), ATLAS_2011_I945498::init(), D0_2004_S5992206::init(), ATLAS_2010_S8914702::init(), LHCB_2011_I917009::init(), CDF_2001_S4751469::init(), ATLAS_2010_S8918562::init(), D0_2008_S7719523::init(), ATLAS_2011_S9120807::init(), LHCB_2012_I1119400::init(), ATLAS_2012_I1094568::init(), ATLAS_2011_S9041966::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(), STAR_2008_S7869363::init(), ATLAS_2011_S9126244::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(), BABAR_2003_I593379::init(), ARGUS_1993_S2653028::init(), CLEO_2004_S5809304::init(), OPAL_1998_S3780481::init(), OPAL_1993_S2692198::init(), H1_1994_S2919893::init(), H1_2000_S4129130::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(), NeutralFinalState::NeutralFinalState(), NonHadronicFinalState::NonHadronicFinalState(), ParisiTensor::ParisiTensor(), PrimaryHadrons::PrimaryHadrons(), 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_ZZINC::init(), MC_WWINC::init(), MC_ZZKTSPLITTINGS::init(), MC_ZZJETS::init(), MC_PHOTONINC::init(), MC_WWJETS::init(), MC_WWKTSPLITTINGS::init(), MC_PHOTONJETS::init(), MC_PHOTONKTSPLITTINGS::init(), MC_TTBAR::init(), ATLAS_2011_I954993::init(), CDF_2008_S8095620::init(), CDF_2006_S6653332::init(), CDF_2008_S7541902::init(), ATLAS_2010_S8919674::init(), ATLAS_2012_I1083318::init(), ATLAS_2013_I1217867::init(), ATLAS_2011_I945498::init(), D0_2008_S7719523::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(), CMS_2012_PAS_FWD_11_003::init(), ATLAS_2011_S9108483::init(), ATLAS_2010_S8919674::init(), ATLAS_2012_I1095236::init(), ATLAS_2012_I1125961::init(), ATLAS_2012_CONF_2012_109::init(), ATLAS_2012_I1180197::init(), ATLAS_2012_I1190891::init(), ATLAS_2012_CONF_2012_103::init(), ATLAS_2012_I943401::init(), ATLAS_2011_S9019561::init(), ATLAS_2012_CONF_2012_001::init(), ATLAS_2012_I1112263::init(), ATLAS_2012_I1117704::init(), ATLAS_2011_CONF_2011_090::init(), ATLAS_2012_CONF_2012_104::init(), ATLAS_2012_CONF_2012_105::init(), ATLAS_2011_S9212353::init(), ATLAS_2011_S8983313::init(), ATLAS_2011_S9225137::init(), ATLAS_2012_I1126136::init(), ATLAS_2012_I1186556::init(), ATLAS_2012_I1082009::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 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);
}
}
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 45 of file Projection.cc.
References Rivet::pcmp().
Referenced by BeamThrust::compare(), ChargedLeptons::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(), FoxWolframMoments::compare(), MissingMomentum::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 51 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_2003_I593379::analyze(), BELLE_2006_S6265367::analyze(), CLEO_2004_S5809304::analyze(), BABAR_2005_S6181155::analyze(), BABAR_2007_S6895344::analyze(), BELLE_2001_S4598261::analyze(), ARGUS_1993_S2653028::analyze(), OPAL_1994_S2927284::analyze(), PDG_HADRON_MULTIPLICITIES::analyze(), H1_2000_S4129130::analyze(), PDG_HADRON_MULTIPLICITIES_RATIOS::analyze(), OPAL_1993_S2692198::analyze(), TOTEM_2012_002::analyze(), SLD_2004_S5693039::analyze(), TOTEM_2012_I1115294::analyze(), CMS_2010_S8656010::analyze(), OPAL_1998_S3780481::analyze(), CMS_2012_PAS_QCD_11_010::analyze(), ATLAS_2010_S8591806::analyze(), STAR_2008_S7993412::analyze(), LHCF_2012_I1115479::analyze(), ALICE_2011_S8909580::analyze(), ALICE_2011_S8945144::analyze(), SLD_1999_S3743934::analyze(), ARGUS_1993_S2669951::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(), ATLAS_2011_S9002537::analyze(), CMS_QCD_10_024::analyze(), BABAR_2007_S7266081::analyze(), UA5_1982_S875503::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(), ATLAS_2011_S9035664::analyze(), DELPHI_2002_069_CONF_603::analyze(), ALICE_2010_S8706239::analyze(), CDF_2008_S7540469::analyze(), SLD_1996_S3398250::analyze(), CMS_2011_S8973270::analyze(), OPAL_2002_S5361494::analyze(), DELPHI_2000_S4328825::analyze(), MC_PHOTONINC::analyze(), CMS_2011_S9215166::analyze(), LHCB_2011_I919315::analyze(), MC_PHOTONKTSPLITTINGS::analyze(), OPAL_1998_S3749908::analyze(), SFM_1984_S1178091::analyze(), ALICE_2010_S8625980::analyze(), MC_LEADJETUE::analyze(), MC_DIJET::analyze(), MC_IDENTIFIED::analyze(), D0_2006_S6438750::analyze(), OPAL_1997_S3396100::analyze(), ATLAS_2011_I925932::analyze(), STAR_2006_S6500200::analyze(), UA5_1986_S1583476::analyze(), CDF_2009_S8233977::analyze(), MC_PHOTONJETS::analyze(), STAR_2006_S6860818::analyze(), CMS_2011_S8884919::analyze(), CDF_2008_S8095620::analyze(), ATLAS_2012_I1082009::analyze(), LHCB_2010_S8758301::analyze(), STAR_2009_UE_HELEN::analyze(), CDF_2006_S6653332::analyze(), ARGUS_1993_S2789213::analyze(), ALEPH_1999_S4193598::analyze(), UA1_1990_S2044935::analyze(), D0_2001_S4674421::analyze(), CDF_2008_S7541902::analyze(), H1_1995_S3167097::analyze(), CMS_2012_PAS_FWD_11_003::analyze(), MC_PHOTONJETUE::analyze(), ATLAS_2012_I1183818::analyze(), JADE_1998_S3612880::analyze(), CDF_2010_S8591881_DY::analyze(), CDF_2010_S8591881_QCD::analyze(), LHCB_2011_I917009::analyze(), MC_GENERIC::analyze(), TASSO_1990_S2148048::analyze(), ATLAS_2012_I1084540::analyze(), STAR_2008_S7869363::analyze(), D0_2008_S7719523::analyze(), LHCB_2012_I1119400::analyze(), ATLAS_2011_I926145::analyze(), ATLAS_2010_S8919674::analyze(), ATLAS_2010_S8894728::analyze(), MC_SUSY::analyze(), DELPHI_2003_WUD_03_11::analyze(), ATLAS_2012_I1093738::analyze(), ALEPH_1996_S3486095::analyze(), ATLAS_2011_I944826::analyze(), ALEPH_2004_S5765862::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::particlesByModRapidity(), FinalState::particlesByP(), FinalState::particlesByPt(), FinalState::particlesByRapidity(), ChargedLeptons::project(), CentralEtHCM::project(), MergedFinalState::project(), DISLepton::project(), TriggerCDFRun2::project(), TriggerCDFRun0Run1::project(), ChargedFinalState::project(), PrimaryHadrons::project(), NonHadronicFinalState::project(), HadronicFinalState::project(), NeutralFinalState::project(), ClusteredPhotons::project(), VisibleFinalState::project(), TriggerUA5::project(), LossyFinalState< ConstRandomFilter >::project(), LeptonClusters::project(), HeavyHadrons::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!
- Todo:
- Use better HepMC iteration
Reimplemented from FinalState.
Definition at line 19 of file VetoedFinalState.cc.
References VetoedFinalState::_compositeVetoes, VetoedFinalState::_nCompositeDecays, VetoedFinalState::_parentVetoes, FinalState::_theParticles, VetoedFinalState::_vetoCodes, VetoedFinalState::_vetofsnames, Particle::genParticle(), Projection::getLog(), Log::isActive(), Rivet::join(), Rivet::mass(), Rivet::mass2(), MSG_TRACE, FinalState::particles(), Particle::pdgId(), ParticleBase::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() << ")");
}
VetoDetails::iterator iter = _vetoCodes.find(p.pdgId());
if (iter == _vetoCodes.end()) {
MSG_TRACE("Storing with PDG code = " << p.pdgId() << ", pT = " << p.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 = " << p.pdgId() << ", pT range = " << rangess.str());
stringstream debugline;
debugline << "with PDG code = " << p.pdgId() << " pT = " << p.pT();
if (p.pT() < ptrange.first || p.pT() > ptrange.second) {
MSG_TRACE("Storing " << debugline.str());
_theParticles.push_back(p);
} else {
MSG_TRACE("Vetoing " << debugline.str());
}
}
}
set<Particles::iterator> toErase;
for (set<int>::iterator nIt = _nCompositeDecays.begin();
nIt != _nCompositeDecays.end() && !_theParticles.empty(); ++nIt) {
map<set<Particles::iterator>, FourMomentum> oldMasses;
map<set<Particles::iterator>, FourMomentum> newMasses;
set<Particles::iterator> start;
start.insert(_theParticles.begin());
oldMasses.insert(pair<set<Particles::iterator>, FourMomentum>
(start, _theParticles.begin()->momentum()));
for (int nParts = 1; nParts != *nIt; ++nParts) {
for (map<set<Particles::iterator>, FourMomentum>::iterator mIt = oldMasses.begin();
mIt != oldMasses.end(); ++mIt) {
Particles::iterator pStart = *(mIt->first.rbegin());
for (Particles::iterator pIt = pStart + 1; pIt != _theParticles.end(); ++pIt) {
FourMomentum cMom = mIt->second + pIt->momentum();
set<Particles::iterator> pList(mIt->first);
pList.insert(pIt);
newMasses[pList] = cMom;
}
}
oldMasses = newMasses;
newMasses.clear();
}
for (map<set<Particles::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<Particles::iterator>::iterator lIt = mIt->first.begin();
lIt != mIt->first.end(); ++lIt) {
toErase.insert(*lIt);
}
}
}
}
}
}
for (set<Particles::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 (Particles::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 Particles& vfsp = vfs.particles();
for (Particles::iterator icheck = _theParticles.begin(); icheck != _theParticles.end(); ++icheck) {
if (icheck->genParticle() == NULL) continue;
bool found = false;
for (Particles::const_iterator ipart = vfsp.begin(); ipart != vfsp.end(); ++ipart){
if (ipart->genParticle() == NULL) 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 122 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(), HeavyHadrons::HeavyHadrons(), 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(), NeutralFinalState::NeutralFinalState(), NonHadronicFinalState::NonHadronicFinalState(), ParisiTensor::ParisiTensor(), PrimaryHadrons::PrimaryHadrons(), 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 89 of file FinalState.hh.
References FinalState::_theParticles.
Referenced by ATLAS_2011_I894867::analyze(), CMS_2012_I1193338::analyze(), TOTEM_2012_002::analyze(), TOTEM_2012_I1115294::analyze(), ATLAS_2010_S8591806::analyze(), CMS_2011_I954992::analyze(), ALEPH_1991_S2435284::analyze(), ALICE_2012_I1181770::analyze(), ATLAS_2011_S9002537::analyze(), UA5_1982_S875503::analyze(), ATLAS_2011_S8994773::analyze(), CDF_2009_NOTE_9936::analyze(), OPAL_2002_S5361494::analyze(), SLD_1996_S3398250::analyze(), CDF_2012_NOTE10874::analyze(), DELPHI_2000_S4328825::analyze(), ALICE_2010_S8625980::analyze(), STAR_2006_S6500200::analyze(), CDF_2009_S8233977::analyze(), UA5_1986_S1583476::analyze(), ALICE_2010_S8624100::analyze(), STAR_2006_S6860818::analyze(), ALEPH_1999_S4193598::analyze(), UA1_1990_S2044935::analyze(), ATLAS_2012_I1183818::analyze(), MC_PHOTONJETUE::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().
Veto all neutrinos (convenience method)
Definition at line 111 of file VetoedFinalState.hh.
References VetoedFinalState::addVetoPairId(), Rivet::PID::NU_E, Rivet::PID::NU_MU, and Rivet::PID::NU_TAU.
Referenced by CMS_2011_S9215166::init(), D0_2001_S4674421::init(), STAR_2009_UE_HELEN::init(), CMS_2012_PAS_FWD_11_003::init(), ATLAS_2010_S8919674::init(), ATLAS_2012_I1082009::init(), D0_2004_S5992206::init(), and ATLAS_2012_I1094568::init().
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 132 of file FinalState.hh.
Referenced by InvMassFinalState::calc(), ChargedLeptons::chargedLeptons(), ZFinder::clear(), WFinder::clear(), FinalState::empty(), FinalState::isEmpty(), FinalState::particles(), ChargedLeptons::project(), MergedFinalState::project(), PrimaryHadrons::project(), ChargedFinalState::project(), DISFinalState::project(), NonHadronicFinalState::project(), HadronicFinalState::project(), NeutralFinalState::project(), ClusteredPhotons::project(), VisibleFinalState::project(), UnstableFinalState::project(), LossyFinalState< ConstRandomFilter >::project(), LeptonClusters::project(), HeavyHadrons::project(), LeadingParticlesFinalState::project(), ZFinder::project(), IdentifiedFinalState::project(), WFinder::project(), FinalState::project(), VetoedFinalState::project(), and FinalState::size().
The documentation for this class was generated from the following files:
|