InvMassFinalState Class Reference

#include <InvMassFinalState.hh>

Inheritance diagram for InvMassFinalState:

Inheritance graph
[legend]

Collaboration diagram for InvMassFinalState:

Collaboration graph
[legend]

List of all members.


Detailed Description

Identify particles which can be paired to make an invariant mass within a given mass window.

Definition at line 11 of file InvMassFinalState.hh.


Public Types

typedef Particle entity_type
typedef ParticleVector collection_type

Public Member Functions

 InvMassFinalState (const FinalState &fsp, const std::pair< PdgId, PdgId > &idpair, double minmass, double maxmass)
 InvMassFinalState (const FinalState &fsp, const std::vector< std::pair< PdgId, PdgId > > &idpairs, double minmass, double maxmass)
virtual const Projectionclone () const
 Clone on the heap.
const std::vector< std::pair
< Particle, Particle > > & 
particlePairs () const
 Constituent pairs.
virtual const ParticleVectorparticles () const
 Get the final-state particles.
template<typename F>
const ParticleVectorparticles (F sorter) const
 Get the final-state particles, ordered by supplied sorting function object.
const ParticleVectorparticlesByPt () const
 Get the final-state particles, ordered by $ p_T $.
const ParticleVectorparticlesByE () const
 Get the final-state particles, ordered by $ E $.
const ParticleVectorparticlesByEt () const
 Get the final-state particles, ordered by $ E_T $.
virtual size_t size () const
 Access the projected final-state particles.
virtual bool empty () const
 Is this final state empty?
virtual bool isEmpty () const
const collection_typeentities () const
 Template-usable interface common to JetAlg.
bool before (const Projection &p) const
virtual const std::set< BeamPairbeamPairs () const
virtual std::string name () const
 Get the name of the projection.
ProjectionaddBeamPair (const ParticleName &beam1, const ParticleName &beam2)
 Add a colliding beam pair.
LoggetLog () 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.
Projection "getting" functions
std::set< ConstProjectionPtrgetProjections () 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 ProjectiongetProjection (const std::string &name) const
Projection applying functions
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< ProjectionmkNamedPCmp (const Projection &otherparent, const std::string &pname) const
Cmp< ProjectionmkPCmp (const Projection &otherparent, const std::string &pname) const
ProjectionHandlergetProjHandler () const
 Get a reference to the ProjectionHandler for this thread.
Projection registration functions
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 pair< PdgId, PdgIdPidPair
 Handy typedef for a pair of PID codes.

Private Attributes

std::vector< PidPair_decayids
 IDs of the decay products.
std::vector< std::pair
< Particle, Particle > > 
_particlePairs
 Constituent pairs.
double _minmass
 Min inv mass.
double _maxmass
 Max inv mass.

Friends

class Event
 Event is a friend.
class Cmp< Projection >
 The Cmp specialization for Projection is a friend.
class Projectionhandler

Member Typedef Documentation

typedef pair<PdgId,PdgId> PidPair [private]

Handy typedef for a pair of PID codes.

Definition at line 51 of file InvMassFinalState.hh.

typedef Particle entity_type [inherited]

Definition at line 75 of file FinalState.hh.

typedef ParticleVector collection_type [inherited]

Definition at line 76 of file FinalState.hh.


Constructor & Destructor Documentation

InvMassFinalState ( const FinalState fsp,
const std::pair< PdgId, PdgId > &  idpair,
double  minmass,
double  maxmass 
)

InvMassFinalState ( const FinalState fsp,
const std::vector< std::pair< PdgId, PdgId > > &  idpairs,
double  minmass,
double  maxmass 
)


Member Function Documentation

virtual const Projection* clone (  )  const [inline, virtual]

Clone on the heap.

Reimplemented from FinalState.

Definition at line 28 of file InvMassFinalState.hh.

References InvMassFinalState::InvMassFinalState().

00028                                             {
00029         return new InvMassFinalState(*this);
00030     }

const std::vector< std::pair< Particle, Particle > > & particlePairs (  )  const

Constituent pairs.

Definition at line 122 of file InvMassFinalState.cc.

References InvMassFinalState::_particlePairs.

00122                                                                                         {
00123     return _particlePairs;
00124   }

void project ( const Event e  )  [protected, virtual]

Apply the projection on the supplied event.

Reimplemented from FinalState.

Definition at line 58 of file InvMassFinalState.cc.

References InvMassFinalState::_decayids, InvMassFinalState::_maxmass, InvMassFinalState::_minmass, InvMassFinalState::_particlePairs, FinalState::_theParticles, FinalState::accept(), Log::DEBUG, Particle::genParticle(), Projection::getLog(), Rivet::GeV, FourMomentum::mass(), Particle::momentum(), FinalState::particles(), Particle::pdgId(), and Log::TRACE.

00058                                                 {
00059     _theParticles.clear();
00060     _particlePairs.clear();
00061     const FinalState& fs = applyProjection<FinalState>(e, "FS");
00062 
00063     // Containers for the particles of type specified in the pair
00064     vector<const Particle*> type1;
00065     vector<const Particle*> type2;
00066     // Get all the particles of the type specified in the pair from the particle list
00067     foreach (const Particle& ipart, fs.particles()) {
00068       // Loop around possible particle pairs (typedef needed to keep BOOST_FOREACH happy)
00069       foreach (const PidPair& ipair, _decayids) {
00070         if (ipart.pdgId() == ipair.first) {
00071           if (accept(ipart.genParticle())) {
00072             type1 += &ipart;
00073           }
00074         } else if (ipart.pdgId() == ipair.second) {
00075           if (accept(ipart.genParticle())) {
00076             type2 += &ipart;
00077           }
00078         }
00079       }
00080     }
00081 
00082     // Temporary container of selected particles iterators
00083     // Useful to compare iterators and avoid double occurrences of the same
00084     // particle in case it matches with more than another particle
00085     vector<const Particle*> tmp;
00086 
00087     // Now calculate the inv mass
00088     foreach (const Particle* i1, type1) {
00089       foreach (const Particle* i2, type2) {
00090         FourMomentum v4 = i1->momentum() + i2->momentum();
00091         if (v4.mass() > _minmass && v4.mass() < _maxmass) {
00092           getLog() << Log::DEBUG << "Selecting particles with IDs "
00093                    << i1->pdgId() << " & " << i2->pdgId()
00094                    << " and mass = " << v4.mass()/GeV << " GeV" << endl;
00095           // Store accepted particles, avoiding duplicates
00096           if (find(tmp.begin(), tmp.end(), i1) == tmp.end()) {
00097             tmp.push_back(i1);
00098             _theParticles += *i1;
00099           }
00100           if (find(tmp.begin(), tmp.end(), i2) == tmp.end()) {
00101             tmp.push_back(i2);
00102             _theParticles += *i2;
00103           }
00104           // Store accepted particle pairs
00105           _particlePairs += make_pair(*i1, *i2);          
00106         }
00107       }
00108     }
00109  
00110     getLog() << Log::DEBUG << "Selected " << _theParticles.size() << " particles " 
00111              << "(" << _particlePairs.size() << " pairs)" << endl;
00112     if (getLog().isActive(Log::TRACE)) {
00113       foreach (const Particle& p, _theParticles) {
00114         getLog() << Log::TRACE << "ID: " << p.pdgId()
00115                  << ", barcode: " << p.genParticle().barcode() << endl;
00116       }
00117     }
00118   }

int compare ( const Projection p  )  const [protected, virtual]

Compare projections.

Reimplemented from FinalState.

Definition at line 32 of file InvMassFinalState.cc.

References InvMassFinalState::_decayids, InvMassFinalState::_maxmass, InvMassFinalState::_minmass, Rivet::cmp(), FinalState::compare(), Rivet::EQUIVALENT, and Projection::mkNamedPCmp().

00032                                                           {
00033     // First compare the final states we are running on
00034     int fscmp = mkNamedPCmp(p, "FS");
00035     if (fscmp != EQUIVALENT) return fscmp;
00036 
00037     // Then compare the two as final states
00038     const InvMassFinalState& other = dynamic_cast<const InvMassFinalState&>(p);
00039     fscmp = FinalState::compare(other);
00040     if (fscmp != EQUIVALENT) return fscmp;
00041 
00042     // Then compare the mass limits
00043     int massllimcmp = cmp(_minmass, other._minmass);
00044     if (massllimcmp != EQUIVALENT) return massllimcmp;
00045     int masshlimcmp = cmp(_maxmass, other._maxmass);
00046     if (masshlimcmp != EQUIVALENT) return masshlimcmp;
00047 
00048     // Compare the decay species
00049     int decaycmp = cmp(_decayids, other._decayids);
00050     if (decaycmp != EQUIVALENT) return decaycmp;
00051 
00052     // Finally compare them as final states
00053     return FinalState::compare(other);
00054   }

virtual const ParticleVector& particles (  )  const [inline, virtual, inherited]

Get the final-state particles.

Definition at line 39 of file FinalState.hh.

References FinalState::_theParticles.

Referenced by UA5_1986_S1583476::analyze(), UA5_1982_S875503::analyze(), UA1_1990_S2044935::analyze(), STAR_2009_UE_HELEN::analyze(), STAR_2008_S7993412::analyze(), STAR_2006_S6500200::analyze(), SFM_1984_S1178091::analyze(), PDG_HADRON_MULTIPLICITIES_RATIOS::analyze(), PDG_HADRON_MULTIPLICITIES::analyze(), OPAL_1998_S3780481::analyze(), MC_ZJETS::analyze(), MC_WJETS::analyze(), MC_TTBAR::analyze(), MC_SUSY::analyze(), MC_PHOTONJETUE::analyze(), MC_PHOTONJETS::analyze(), MC_LEADINGJETS::analyze(), MC_DIJET::analyze(), H1_2000_S4129130::analyze(), H1_1995_S3167097::analyze(), H1_1994_S2919893::analyze(), E735_1998_S3905616::analyze(), DELPHI_2002_069_CONF_603::analyze(), DELPHI_1995_S3137023::analyze(), D0_2009_S8349509::analyze(), D0_2009_S8202443::analyze(), D0_2008_S7863608::analyze(), D0_2008_S7837160::analyze(), D0_2008_S7719523::analyze(), D0_2008_S7554427::analyze(), D0_2008_S6879055::analyze(), D0_2007_S7075677::analyze(), D0_2006_S6438750::analyze(), D0_2001_S4674421::analyze(), D0_1998_S3711838::analyze(), CDF_2009_S8383952::analyze(), CDF_2009_S8233977::analyze(), CDF_2008_S8095620::analyze(), CDF_2008_S7541902::analyze(), CDF_2008_S7540469::analyze(), CDF_2008_NOTE_9351::analyze(), CDF_2008_LEADINGJETS::analyze(), CDF_2006_S6653332::analyze(), CDF_2002_S4796047::analyze(), CDF_2000_S4155203::analyze(), CDF_1991_S2313472::analyze(), CDF_1990_S2089246::analyze(), CDF_1988_S1865951::analyze(), ATLAS_2010_S8591806::analyze(), ALEPH_1996_S3486095::analyze(), Thrust::calc(), Sphericity::calc(), FinalState::entities(), FinalState::particlesByE(), FinalState::particlesByEt(), FinalState::particlesByPt(), ZFinder::project(), WFinder::project(), VetoedFinalState::project(), TriggerUA5::project(), TriggerCDFRun0Run1::project(), TotalVisibleMomentum::project(), SVertex::project(), NeutralFinalState::project(), Multiplicity::project(), MergedFinalState::project(), LossyFinalState::project(), LeadingParticlesFinalState::project(), KtJets::project(), JetShape::project(), InvMassFinalState::project(), IdentifiedFinalState::project(), Hemispheres::project(), HadronicFinalState::project(), FoxWolframMoments::project(), FinalStateHCM::project(), FinalState::project(), FastJets::project(), DISLepton::project(), ClusteredPhotons::project(), ChargedLeptons::project(), ChargedFinalState::project(), and CentralEtHCM::project().

00039 { return _theParticles; }

const ParticleVector& particles ( sorter  )  const [inline, inherited]

Get the final-state particles, ordered by supplied sorting function object.

Definition at line 43 of file FinalState.hh.

References FinalState::_theParticles.

00043                                                     {
00044       std::sort(_theParticles.begin(), _theParticles.end(), sorter);
00045       return _theParticles;
00046     }

const ParticleVector& particlesByPt (  )  const [inline, inherited]

Get the final-state particles, ordered by $ p_T $.

Definition at line 49 of file FinalState.hh.

References Rivet::cmpParticleByPt(), and FinalState::particles().

Referenced by MC_PHOTONJETUE::analyze().

00049                                                 {
00050       return particles(cmpParticleByPt);
00051     }

const ParticleVector& particlesByE (  )  const [inline, inherited]

Get the final-state particles, ordered by $ E $.

Definition at line 54 of file FinalState.hh.

References Rivet::cmpParticleByE(), and FinalState::particles().

00054                                                {
00055       return particles(cmpParticleByE);
00056     }

const ParticleVector& particlesByEt (  )  const [inline, inherited]

Get the final-state particles, ordered by $ E_T $.

Definition at line 59 of file FinalState.hh.

References Rivet::cmpParticleByEt(), and FinalState::particles().

00059                                                 {
00060       return particles(cmpParticleByEt);
00061     }

virtual size_t size (  )  const [inline, virtual, inherited]

virtual bool empty (  )  const [inline, virtual, inherited]

virtual bool isEmpty (  )  const [inline, virtual, inherited]

Deprecated:
Is this final state empty?

Definition at line 70 of file FinalState.hh.

References FinalState::_theParticles.

00070 { return _theParticles.empty(); }

const collection_type& entities (  )  const [inline, inherited]

Template-usable interface common to JetAlg.

Definition at line 79 of file FinalState.hh.

References FinalState::particles().

00079                                             {
00080       return particles();
00081     }

bool accept ( const Particle p  )  const [protected, inherited]

Decide if a particle is to be accepted or not.

Definition at line 99 of file FinalState.cc.

References FinalState::_etaRanges, FinalState::_ptmin, FourVector::eta(), Rivet::eta(), Particle::genParticle(), Particle::momentum(), FourMomentum::pT(), and Rivet::pT().

Referenced by LeadingParticlesFinalState::project(), InvMassFinalState::project(), and FinalState::project().

00099                                                  {
00100     // Not having s.c. == 1 should never happen!
00101     assert(p.genParticle().status() == 1);
00102 
00103     // Check pT cut
00104     if (_ptmin > 0.0) {
00105       const double pT = p.momentum().pT();
00106       if (pT < _ptmin) return false;
00107     }
00108 
00109     // Check eta cuts
00110     if (!_etaRanges.empty()) {
00111       bool eta_pass = false;
00112       const double eta = p.momentum().eta();
00113       typedef pair<double,double> EtaPair;
00114       foreach (const EtaPair& etacuts, _etaRanges) {
00115         if (eta > etacuts.first && eta < etacuts.second) {
00116           eta_pass = true;
00117           break;
00118         }
00119       }
00120       if (!eta_pass) return false;
00121     }
00122  
00123     return true;
00124   }

bool before ( const Projection p  )  const [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()().

00028                                                    {
00029     const std::type_info& thisid = typeid(*this);
00030     const std::type_info& otherid = typeid(p);
00031     if (thisid == otherid) {
00032       return compare(p) < 0;
00033     } else {
00034       return thisid.before(otherid);
00035     }
00036   }

const set< BeamPair > beamPairs (  )  const [virtual, inherited]

Return the BeamConstraints for this projection, not including recursion. Derived classes should ensure that all contained projections are registered in the _projections set for the beam constraint chaining to work.

Definition at line 39 of file Projection.cc.

References Projection::_beamPairs, Projection::beamPairs(), Projection::getLog(), ProjectionApplier::getProjections(), Rivet::intersection(), and Log::TRACE.

Referenced by Projection::beamPairs().

00039                                                   {
00040     set<BeamPair> ret = _beamPairs;
00041     set<ConstProjectionPtr> projs = getProjections();
00042     for (set<ConstProjectionPtr>::const_iterator ip = projs.begin(); ip != projs.end(); ++ip) {
00043       ConstProjectionPtr p = *ip;
00044       getLog() << Log::TRACE << "Proj addr = " << p << endl;
00045       if (p) ret = intersection(ret, p->beamPairs());
00046     }
00047     return ret;
00048   }

virtual std::string name (  )  const [inline, virtual, inherited]

Projection& addBeamPair ( const ParticleName beam1,
const ParticleName beam2 
) [inline, inherited]

Add a colliding beam pair.

Definition at line 105 of file Projection.hh.

References Projection::_beamPairs.

Referenced by Projection::Projection().

00105                                                                                   {
00106       _beamPairs.insert(BeamPair(beam1, beam2));
00107       return *this;
00108     }

Log& getLog (  )  const [inline, inherited]

void setName ( const std::string &  name  )  [inline, inherited]

Cmp<Projection> mkNamedPCmp ( const Projection otherparent,
const std::string &  pname 
) const [protected, inherited]

Cmp<Projection> mkPCmp ( const Projection otherparent,
const std::string &  pname 
) const [protected, inherited]

Shortcut to make a named Cmp<Projection> comparison with the *this object automatically passed as one of the parent projections.

std::set<ConstProjectionPtr> getProjections (  )  const [inline, inherited]

Get the contained projections, including recursion.

Definition at line 43 of file ProjectionApplier.hh.

References ProjectionHandler::DEEP, ProjectionHandler::getChildProjections(), and ProjectionApplier::getProjHandler().

Referenced by Projection::beamPairs().

00043                                                       {
00044       return getProjHandler().getChildProjections(*this, ProjectionHandler::DEEP);
00045     }

const PROJ& getProjection ( const std::string &  name  )  const [inline, inherited]

Get the named projection, specifying return type via a template argument.

Definition at line 50 of file ProjectionApplier.hh.

References ProjectionHandler::getProjection(), and ProjectionApplier::getProjHandler().

Referenced by VetoedFinalState::compare(), Rivet::pcmp(), and Hemispheres::project().

00050                                                            {
00051       const Projection& p = getProjHandler().getProjection(*this, name);
00052       return pcast<PROJ>(p);
00053     }

const Projection& getProjection ( const std::string &  name  )  const [inline, inherited]

Get the named projection (non-templated, so returns as a reference to a Projection base class).

Definition at line 58 of file ProjectionApplier.hh.

References ProjectionHandler::getProjection(), and ProjectionApplier::getProjHandler().

00058                                                                  {
00059       return getProjHandler().getProjection(*this, name);
00060     }

const PROJ& applyProjection ( const Event evt,
const PROJ &  proj 
) const [inline, inherited]

Apply the supplied projection on event.

Definition at line 68 of file ProjectionApplier.hh.

References ProjectionApplier::_applyProjection().

Referenced by HadronicFinalState::project(), and FinalStateHCM::project().

00068                                                                           {
00069       return pcast<PROJ>(_applyProjection(evt, proj));
00070     }

const PROJ& applyProjection ( const Event evt,
const Projection proj 
) const [inline, inherited]

Apply the supplied projection on event.

Definition at line 75 of file ProjectionApplier.hh.

References ProjectionApplier::_applyProjection().

00075                                                                                 {
00076       return pcast<PROJ>(_applyProjection(evt, proj));
00077     }

const PROJ& applyProjection ( const Event evt,
const std::string &  name 
) const [inline, inherited]

Apply the named projection on event.

Definition at line 82 of file ProjectionApplier.hh.

References ProjectionApplier::_applyProjection().

00082                                                                                {
00083       return pcast<PROJ>(_applyProjection(evt, name));
00084     }

ProjectionHandler& getProjHandler (  )  const [inline, protected, inherited]

Get a reference to the ProjectionHandler for this thread.

Definition at line 95 of file ProjectionApplier.hh.

References ProjectionApplier::_projhandler.

Referenced by ProjectionApplier::_addProjection(), ProjectionApplier::getProjection(), ProjectionApplier::getProjections(), and ProjectionApplier::~ProjectionApplier().

00095                                               {
00096       assert(_projhandler);
00097       return *_projhandler;
00098     }

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 115 of file ProjectionApplier.hh.

References ProjectionApplier::_addProjection().

Referenced by ZFinder::_init(), WFinder::_init(), VetoedFinalState::addVetoOnThisFinalState(), CDF_2009_S8057893::CDF_2009_S8057893::init(), CentralEtHCM::CentralEtHCM(), ChargedFinalState::ChargedFinalState(), ChargedLeptons::ChargedLeptons(), ClusteredPhotons::ClusteredPhotons(), DISKinematics::DISKinematics(), DISLepton::DISLepton(), FinalState::FinalState(), FinalStateHCM::FinalStateHCM(), FoxWolframMoments::FoxWolframMoments(), HadronicFinalState::HadronicFinalState(), Hemispheres::Hemispheres(), IdentifiedFinalState::IdentifiedFinalState(), ZEUS_2001_S4815815::init(), UA5_1989_S1926373::init(), UA5_1988_S1867512::init(), UA5_1986_S1583476::init(), UA5_1982_S875503::init(), UA1_1990_S2044935::init(), STAR_2009_UE_HELEN::init(), STAR_2008_S7993412::init(), STAR_2006_S6870392::init(), STAR_2006_S6860818::init(), STAR_2006_S6500200::init(), SFM_1984_S1178091::init(), PDG_HADRON_MULTIPLICITIES_RATIOS::init(), PDG_HADRON_MULTIPLICITIES::init(), OPAL_2004_S6132243::init(), OPAL_1998_S3780481::init(), MC_ZJETS::init(), MC_WJETS::init(), MC_TTBAR::init(), MC_SUSY::init(), MC_PHOTONJETUE::init(), MC_PHOTONJETS::init(), MC_LEADINGJETS::init(), MC_JETS::init(), MC_DIPHOTON::init(), MC_DIJET::init(), JADE_OPAL_2000_S4300807::init(), H1_2000_S4129130::init(), H1_1995_S3167097::init(), H1_1994_S2919893::init(), ExampleAnalysis::init(), E735_1998_S3905616::init(), DELPHI_2002_069_CONF_603::init(), DELPHI_1995_S3137023::init(), D0_2010_S8570965::init(), D0_2010_S8566488::init(), D0_2009_S8349509::init(), D0_2009_S8320160::init(), D0_2009_S8202443::init(), D0_2008_S7863608::init(), D0_2008_S7837160::init(), D0_2008_S7719523::init(), D0_2008_S7662670::init(), D0_2008_S7554427::init(), D0_2008_S6879055::init(), D0_2007_S7075677::init(), D0_2006_S6438750::init(), D0_2004_S5992206::init(), D0_2001_S4674421::init(), D0_1998_S3711838::init(), D0_1996_S3324664::init(), D0_1996_S3214044::init(), CDF_2009_S8436959::init(), CDF_2009_S8383952::init(), CDF_2009_S8233977::init(), CDF_2008_S8095620::init(), CDF_2008_S8093652::init(), CDF_2008_S7828950::init(), CDF_2008_S7782535::init(), CDF_2008_S7541902::init(), CDF_2008_S7540469::init(), CDF_2008_NOTE_9351::init(), CDF_2008_LEADINGJETS::init(), CDF_2007_S7057202::init(), CDF_2006_S6653332::init(), CDF_2006_S6450792::init(), CDF_2005_S6217184::init(), CDF_2005_S6080774::init(), CDF_2004_S5839831::init(), CDF_2002_S4796047::init(), CDF_2001_S4751469::init(), CDF_2001_S4563131::init(), CDF_2001_S4517016::init(), CDF_2000_S4266730::init(), CDF_2000_S4155203::init(), CDF_1998_S3618439::init(), CDF_1997_S3541940::init(), CDF_1996_S3418421::init(), CDF_1996_S3349578::init(), CDF_1996_S3108457::init(), CDF_1994_S2952106::init(), CDF_1991_S2313472::init(), CDF_1990_S2089246::init(), CDF_1988_S1865951::init(), BELLE_2006_S6265367::init(), ATLAS_2010_S8591806::init(), ALEPH_2004_S5765862::init(), ALEPH_1996_S3486095::init(), ALEPH_1996_S3196992::init(), ALEPH_1991_S2435284::init(), IsolationProjection::IsolationProjection(), JetAlg::JetAlg(), JetShape::JetShape(), KtJets::KtJets(), LeadingParticlesFinalState::LeadingParticlesFinalState(), LossyFinalState::LossyFinalState(), MergedFinalState::MergedFinalState(), Multiplicity::Multiplicity(), NeutralFinalState::NeutralFinalState(), ParisiTensor::ParisiTensor(), Sphericity::Sphericity(), SVertex::SVertex(), Thrust::Thrust(), TotalVisibleMomentum::TotalVisibleMomentum(), TriggerCDFRun0Run1::TriggerCDFRun0Run1(), TriggerUA5::TriggerUA5(), and VetoedFinalState::VetoedFinalState().

00115                                                                        {
00116       const Projection& reg = _addProjection(proj, name);
00117       return dynamic_cast<const PROJ&>(reg);
00118     }

const Projection & _addProjection ( const Projection proj,
const std::string &  name 
) [protected, inherited]

Untemplated function to do the work...

Definition at line 33 of file ProjectionApplier.cc.

References ProjectionApplier::_allowProjReg, Log::ERROR, ProjectionApplier::getLog(), ProjectionApplier::getProjHandler(), ProjectionApplier::name(), Projection::name(), and ProjectionHandler::registerProjection().

Referenced by ProjectionApplier::addProjection().

00034                                                                              {
00035     if (!_allowProjReg) {
00036       getLog() << Log::ERROR << "Trying to register projection '"
00037                << proj.name() << "' before init phase in '" << this->name() << "'." << endl;
00038       exit(2);
00039     }
00040     const Projection& reg = getProjHandler().registerProjection(*this, proj, name);
00041     return reg;
00042   }


Friends And Related Function Documentation

friend class Event [friend, inherited]

Event is a friend.

Definition at line 31 of file Projection.hh.

friend class Cmp< Projection > [friend, inherited]

The Cmp specialization for Projection is a friend.

Definition at line 34 of file Projection.hh.

friend class Projectionhandler [friend, inherited]

Definition at line 23 of file ProjectionApplier.hh.


Member Data Documentation

std::vector<PidPair> _decayids [private]

IDs of the decay products.

Definition at line 54 of file InvMassFinalState.hh.

Referenced by InvMassFinalState::compare(), and InvMassFinalState::project().

std::vector<std::pair<Particle, Particle> > _particlePairs [private]

Constituent pairs.

Definition at line 57 of file InvMassFinalState.hh.

Referenced by InvMassFinalState::particlePairs(), and InvMassFinalState::project().

double _minmass [private]

Min inv mass.

Definition at line 60 of file InvMassFinalState.hh.

Referenced by InvMassFinalState::compare(), and InvMassFinalState::project().

double _maxmass [private]

Max inv mass.

Definition at line 63 of file InvMassFinalState.hh.

Referenced by InvMassFinalState::compare(), and InvMassFinalState::project().

vector<pair<double,double> > _etaRanges [protected, inherited]

The ranges allowed for pseudorapidity.

Definition at line 99 of file FinalState.hh.

Referenced by FinalState::accept(), FinalState::compare(), FinalState::FinalState(), and FinalState::project().

double _ptmin [protected, inherited]

The minimum allowed transverse momentum.

Definition at line 102 of file FinalState.hh.

Referenced by FinalState::accept(), FinalState::compare(), and FinalState::project().

ParticleVector _theParticles [mutable, protected, inherited]

bool _allowProjReg [protected, inherited]

Flag to forbid projection registration in analyses until the init phase.

Definition at line 141 of file ProjectionApplier.hh.

Referenced by ProjectionApplier::_addProjection(), and AnalysisHandler::init().


The documentation for this class was generated from the following files: