Project out jets found using the FastJet package jet algorithms. More...
#include <FastJets.hh>
Public Types | |
enum | JetAlgName { KT, CAM, SISCONE, ANTIKT, PXCONE, ATLASCONE, CMSCONE, CDFJETCLU, CDFMIDPOINT, D0ILCONE, JADE, DURHAM, TRACKJET } |
Wrapper enum for selected Fastjet jet algorithms. More... | |
typedef Jet | entity_type |
typedef Jets | collection_type |
Public Member Functions | |
void | reset () |
Reset the projection. Jet def, etc. are unchanged. | |
void | useJetArea (fastjet::AreaDefinition *adef) |
Use provided jet area definition. | |
size_t | numJets (double ptmin=0.0) const |
Number of jets above the ![]() | |
size_t | size () const |
Number of jets. | |
Jets | _jets (double ptmin=0.0) const |
Get the jets (unordered). | |
PseudoJets | pseudoJets (double ptmin=0.0) const |
Get the pseudo jets (unordered). | |
PseudoJets | pseudoJetsByPt (double ptmin=0.0) const |
Get the pseudo jets, ordered by ![]() | |
PseudoJets | pseudoJetsByE (double ptmin=0.0) const |
Get the pseudo jets, ordered by ![]() | |
PseudoJets | pseudoJetsByRapidity (double ptmin=0.0) const |
Get the pseudo jets, ordered by rapidity. | |
const fastjet::ClusterSequence * | clusterSeq () const |
Return the cluster sequence (FastJet-specific). | |
const fastjet::ClusterSequenceArea * | clusterSeqArea () const |
Return the cluster sequence (FastJet-specific). | |
const fastjet::JetDefinition & | jetDef () const |
Return the jet definition (FastJet-specific). | |
const fastjet::AreaDefinition * | areaDef () const |
Return the area definition (FastJet-specific). May be null. | |
vector< double > | ySubJet (const fastjet::PseudoJet &jet) const |
Get the subjet splitting variables for the given jet. | |
fastjet::PseudoJet | splitJet (fastjet::PseudoJet jet, double &last_R) const |
Split a jet a la PRL100,242001(2008). Based on code from G.Salam, A.Davison. | |
fastjet::PseudoJet | filterJet (fastjet::PseudoJet jet, double &stingy_R, const double def_R) const |
Filter a jet a la PRL100,242001(2008). Based on code from G.Salam, A.Davison. | |
void | calc (const ParticleVector &ps) |
Do the calculation locally (no caching). | |
void | useInvisibles (bool useinvis=true) |
Include invisible particles in jet construction. The default behaviour is that jets are only constructed from visible (i.e. charged under an SM gauge group) particles. Some jet studies, including those from ATLAS, use a definition in which neutrinos from hadron decays are included (via MC correction) in the experimental jet definition. Setting this flag to true avoids the automatic restriction to a VisibleFinalState. | |
virtual Jets | jets (double ptmin=0.0, double ptmax=MAXDOUBLE, double rapmin=-MAXDOUBLE, double rapmax=MAXDOUBLE, RapScheme rapscheme=PSEUDORAPIDITY) const |
template<typename F > | |
Jets | jets (F sorter, double ptmin, double, double, double, RapScheme) const |
Jets | jetsByPt (double ptmin=0.0, double ptmax=MAXDOUBLE, double rapmin=-MAXDOUBLE, double rapmax=MAXDOUBLE, RapScheme rapscheme=PSEUDORAPIDITY) const |
Jets | jetsByP (double ptmin=0.0, double ptmax=MAXDOUBLE, double rapmin=-MAXDOUBLE, double rapmax=MAXDOUBLE, RapScheme rapscheme=PSEUDORAPIDITY) const |
Jets | jetsByE (double ptmin=0.0, double ptmax=MAXDOUBLE, double rapmin=-MAXDOUBLE, double rapmax=MAXDOUBLE, RapScheme rapscheme=PSEUDORAPIDITY) const |
Jets | jetsByEt (double ptmin=0.0, double ptmax=MAXDOUBLE, double rapmin=-MAXDOUBLE, double rapmax=MAXDOUBLE, RapScheme rapscheme=PSEUDORAPIDITY) const |
collection_type | entities () const |
Template-usable interface common to FinalState. | |
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. | |
Constructors etc. | |
FastJets (const FinalState &fsp, JetAlgName alg, double rparameter, double seed_threshold=1.0) | |
FastJets (const FinalState &fsp, fastjet::JetAlgorithm type, fastjet::RecombinationScheme recom, double rparameter) | |
Native argument constructor, using FastJet alg/scheme enums. | |
FastJets (const FinalState &fsp, fastjet::JetDefinition::Plugin &plugin) | |
Explicitly pass in an externally-constructed plugin. | |
FastJets (JetAlgName alg, double rparameter, double seed_threshold=1.0) | |
Same thing as above, but we want to pass the particles directly to the calc method. | |
FastJets (fastjet::JetAlgorithm type, fastjet::RecombinationScheme recom, double rparameter) | |
FastJets (fastjet::JetDefinition::Plugin &plugin) | |
virtual const Projection * | clone () const |
Clone on the heap. | |
Projection "getting" functions | |
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 |
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) |
Perform the projection on the Event. | |
int | compare (const Projection &p) const |
Compare projections. | |
Cmp< Projection > | mkNamedPCmp (const Projection &otherparent, const std::string &pname) const |
Cmp< Projection > | mkPCmp (const Projection &otherparent, const std::string &pname) const |
ProjectionHandler & | getProjHandler () const |
Get a reference to the ProjectionHandler for this thread. | |
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 | |
bool | _useInvisibles |
Flag to determine whether or not the VFS wrapper is to be used. | |
bool | _allowProjReg |
Flag to forbid projection registration in analyses until the init phase. | |
Private Member Functions | |
Jets | _pseudojetsToJets (const PseudoJets &pjets) const |
void | _init1 (JetAlgName alg, double rparameter, double seed_threshold) |
void | _init2 (fastjet::JetAlgorithm type, fastjet::RecombinationScheme recom, double rparameter) |
void | _init3 (fastjet::JetDefinition::Plugin &plugin) |
Private Attributes | |
fastjet::JetDefinition | _jdef |
Jet definition. | |
fastjet::AreaDefinition * | _adef |
Pointer to user-handled area definition. | |
shared_ptr < fastjet::ClusterSequence > | _cseq |
Cluster sequence. | |
shared_ptr < fastjet::JetDefinition::Plugin > | _plugin |
FastJet external plugin. | |
map< int, vector< double > > | _yscales |
Map of vectors of y scales. This is mutable so we can use caching/lazy evaluation. | |
map< int, Particle > | _particles |
set of particles sorted by their PT2 | |
Friends | |
class | Event |
Event is a friend. | |
class | Cmp< Projection > |
The Cmp specialization for Projection is a friend. |
Project out jets found using the FastJet package jet algorithms.
Definition at line 51 of file FastJets.hh.
typedef Jets collection_type [inherited] |
typedef Jet entity_type [inherited] |
enum JetAlgName |
Wrapper enum for selected Fastjet jet algorithms.
KT | |
CAM | |
SISCONE | |
ANTIKT | |
PXCONE | |
ATLASCONE | |
CMSCONE | |
CDFJETCLU | |
CDFMIDPOINT | |
D0ILCONE | |
JADE | |
DURHAM | |
TRACKJET |
Definition at line 55 of file FastJets.hh.
FastJets | ( | const FinalState & | fsp, | |
JetAlgName | alg, | |||
double | rparameter, | |||
double | seed_threshold = 1.0 | |||
) |
"Wrapped" argument constructor using Rivet enums for most common jet alg choices (including some plugins). For the built-in algs, E-scheme recombination is used. For full control of FastJet built-in jet algs, use the native arg constructor.
Definition at line 9 of file FastJets.cc.
References FastJets::_init1().
Referenced by FastJets::clone().
FastJets | ( | const FinalState & | fsp, | |
fastjet::JetAlgorithm | type, | |||
fastjet::RecombinationScheme | recom, | |||
double | rparameter | |||
) |
Native argument constructor, using FastJet alg/scheme enums.
Definition at line 15 of file FastJets.cc.
References FastJets::_init2().
FastJets | ( | const FinalState & | fsp, | |
fastjet::JetDefinition::Plugin & | plugin | |||
) |
Explicitly pass in an externally-constructed plugin.
Definition at line 23 of file FastJets.cc.
References FastJets::_init3().
FastJets | ( | JetAlgName | alg, | |
double | rparameter, | |||
double | seed_threshold = 1.0 | |||
) |
Same thing as above, but we want to pass the particles directly to the calc method.
Definition at line 31 of file FastJets.cc.
References FastJets::_init1().
FastJets | ( | fastjet::JetAlgorithm | type, | |
fastjet::RecombinationScheme | recom, | |||
double | rparameter | |||
) |
Definition at line 37 of file FastJets.cc.
References FastJets::_init2().
FastJets | ( | fastjet::JetDefinition::Plugin & | plugin | ) |
Definition at line 45 of file FastJets.cc.
References FastJets::_init3().
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, ProjectionApplier::getProjHandler(), ProjectionApplier::name(), Projection::name(), and ProjectionHandler::registerProjection().
Referenced by ProjectionApplier::addProjection().
00034 { 00035 if (!_allowProjReg) { 00036 cerr << "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 }
void _init1 | ( | JetAlgName | alg, | |
double | rparameter, | |||
double | seed_threshold | |||
) | [inline, private] |
Definition at line 173 of file FastJets.hh.
References FastJets::_jdef, FastJets::_plugin, FastJets::ANTIKT, FastJets::ATLASCONE, FastJets::CAM, FastJets::CDFJETCLU, FastJets::CDFMIDPOINT, FastJets::CMSCONE, FastJets::D0ILCONE, FastJets::DURHAM, FastJets::JADE, FastJets::KT, MSG_DEBUG, FastJets::PXCONE, Projection::setName(), FastJets::SISCONE, and FastJets::TRACKJET.
Referenced by FastJets::FastJets().
00173 { 00174 setName("FastJets"); 00175 MSG_DEBUG("R parameter = " << rparameter); 00176 MSG_DEBUG("Seed threshold = " << seed_threshold); 00177 if (alg == KT) { 00178 _jdef = fastjet::JetDefinition(fastjet::kt_algorithm, rparameter, fastjet::E_scheme); 00179 } else if (alg == CAM) { 00180 _jdef = fastjet::JetDefinition(fastjet::cambridge_algorithm, rparameter, fastjet::E_scheme); 00181 } else if (alg == ANTIKT) { 00182 _jdef = fastjet::JetDefinition(fastjet::antikt_algorithm, rparameter, fastjet::E_scheme); 00183 } else if (alg == DURHAM) { 00184 _jdef = fastjet::JetDefinition(fastjet::ee_kt_algorithm, fastjet::E_scheme); 00185 } else { 00186 // Plugins: 00187 if (alg == SISCONE) { 00188 const double OVERLAP_THRESHOLD = 0.75; 00189 _plugin.reset(new fastjet::SISConePlugin(rparameter, OVERLAP_THRESHOLD)); 00190 } else if (alg == PXCONE) { 00191 string msg = "PxCone currently not supported, since FastJet doesn't install it by default. "; 00192 msg += "Please notify the Rivet authors if this behaviour should be changed."; 00193 throw Error(msg); 00194 //_plugin.reset(new fastjet::PxConePlugin(rparameter)); 00195 } else if (alg == ATLASCONE) { 00196 const double OVERLAP_THRESHOLD = 0.5; 00197 _plugin.reset(new fastjet::ATLASConePlugin(rparameter, seed_threshold, OVERLAP_THRESHOLD)); 00198 } else if (alg == CMSCONE) { 00199 _plugin.reset(new fastjet::CMSIterativeConePlugin(rparameter, seed_threshold)); 00200 } else if (alg == CDFJETCLU) { 00201 const double OVERLAP_THRESHOLD = 0.75; 00202 _plugin.reset(new fastjet::CDFJetCluPlugin(rparameter, OVERLAP_THRESHOLD, seed_threshold)); 00203 } else if (alg == CDFMIDPOINT) { 00204 const double OVERLAP_THRESHOLD = 0.5; 00205 _plugin.reset(new fastjet::CDFMidPointPlugin(rparameter, OVERLAP_THRESHOLD, seed_threshold)); 00206 } else if (alg == D0ILCONE) { 00207 const double min_jet_Et = 6.0; 00208 _plugin.reset(new fastjet::D0RunIIConePlugin(rparameter, min_jet_Et)); 00209 } else if (alg == JADE) { 00210 _plugin.reset(new fastjet::JadePlugin()); 00211 } else if (alg == TRACKJET) { 00212 _plugin.reset(new fastjet::TrackJetPlugin(rparameter)); 00213 } 00214 _jdef = fastjet::JetDefinition(_plugin.get()); 00215 } 00216 }
void _init2 | ( | fastjet::JetAlgorithm | type, | |
fastjet::RecombinationScheme | recom, | |||
double | rparameter | |||
) | [inline, private] |
Definition at line 218 of file FastJets.hh.
References FastJets::_jdef, and Projection::setName().
Referenced by FastJets::FastJets().
void _init3 | ( | fastjet::JetDefinition::Plugin & | plugin | ) | [inline, private] |
Definition at line 224 of file FastJets.hh.
References FastJets::_jdef, FastJets::_plugin, and Projection::setName().
Referenced by FastJets::FastJets().
Jets _jets | ( | double | ptmin = 0.0 |
) | const [virtual] |
Get the jets (unordered).
Implements JetAlg.
Definition at line 134 of file FastJets.cc.
References FastJets::_pseudojetsToJets(), and FastJets::pseudoJets().
00134 { 00135 Jets rtn = _pseudojetsToJets(pseudoJets(ptmin)); 00136 return rtn; 00137 }
Jets _pseudojetsToJets | ( | const PseudoJets & | pjets | ) | const [private] |
Definition at line 101 of file FastJets.cc.
References FastJets::_particles, Jet::addParticle(), and FastJets::clusterSeq().
Referenced by FastJets::_jets().
00101 { 00102 Jets rtn; 00103 foreach (const fastjet::PseudoJet& pj, pjets) { 00104 Jet j; 00105 assert(clusterSeq()); 00106 const PseudoJets parts = clusterSeq()->constituents(pj); 00107 foreach (const fastjet::PseudoJet& p, parts) { 00108 map<int, Particle>::const_iterator found = _particles.find(p.user_index()); 00109 assert(found != _particles.end()); 00110 j.addParticle(found->second); 00111 } 00112 rtn.push_back(j); 00113 } 00114 return rtn; 00115 }
Projection& addPdgIdPair | ( | PdgId | beam1, | |
PdgId | beam2 | |||
) | [inline, inherited] |
Add a colliding beam pair.
Definition at line 107 of file Projection.hh.
References Projection::_beamPairs.
Referenced by Projection::Projection().
00107 { 00108 _beamPairs.insert(PdgIdPair(beam1, beam2)); 00109 return *this; 00110 }
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(), DISKinematics::DISKinematics(), DISLepton::DISLepton(), FinalState::FinalState(), FinalStateHCM::FinalStateHCM(), FoxWolframMoments::FoxWolframMoments(), FParameter::FParameter(), HadronicFinalState::HadronicFinalState(), Hemispheres::Hemispheres(), IdentifiedFinalState::IdentifiedFinalState(), ZEUS_2001_S4815815::init(), UA5_1989_S1926373::init(), UA5_1988_S1867512::init(), UA5_1987_S1640666::init(), UA5_1986_S1583476::init(), UA5_1982_S875503::init(), UA1_1990_S2044935::init(), TASSO_1990_S2148048::init(), STAR_2009_UE_HELEN::init(), STAR_2008_S7993412::init(), STAR_2008_S7869363::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_2001_S4553896::init(), OPAL_1998_S3780481::init(), OPAL_1993_S2692198::init(), MC_ZZJETS::init(), MC_ZJETS::init(), MC_WWJETS::init(), MC_WPOL::init(), MC_WJETS::init(), MC_TTBAR::init(), MC_SUSY::init(), MC_PHOTONJETUE::init(), MC_PHOTONJETS::init(), MC_LEADINGJETS::init(), MC_JETS::init(), MC_HJETS::init(), MC_GENERIC::init(), MC_DIPHOTON::init(), MC_DIJET::init(), LHCB_2010_S8758301::init(), JADE_OPAL_2000_S4300807::init(), JADE_1998_S3612880::init(), H1_2000_S4129130::init(), H1_1995_S3167097::init(), H1_1994_S2919893::init(), ExampleAnalysis::init(), E735_1998_S3905616::init(), DELPHI_2003_WUD_03_11::init(), DELPHI_2002_069_CONF_603::init(), DELPHI_1996_S3430090::init(), DELPHI_1995_S3137023::init(), D0_2010_S8821313::init(), D0_2010_S8671338::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_2000_S4480767::init(), D0_1996_S3324664::init(), D0_1996_S3214044::init(), CMS_2011_S8978280::init(), CMS_2011_S8968497::init(), CMS_2011_S8957746::init(), CMS_2011_S8884919::init(), CMS_2010_S8656010::init(), CMS_2010_S8547297::init(), CDF_2010_S8591881_QCD::init(), CDF_2010_S8591881_DY::init(), CDF_2009_S8436959::init(), CDF_2009_S8383952::init(), CDF_2009_S8233977::init(), CDF_2009_NOTE_9936::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_1993_S2742446::init(), CDF_1990_S2089246::init(), CDF_1988_S1865951::init(), BELLE_2006_S6265367::init(), ATLAS_2011_S9120807::init(), ATLAS_2011_S9019561::init(), ATLAS_2011_S9002537::init(), ATLAS_2011_S8994773::init(), ATLAS_2011_S8983313::init(), ATLAS_2011_S8971293::init(), ATLAS_2011_S8924791::init(), ATLAS_2011_CONF_2011_090::init(), ATLAS_2010_S8919674::init(), ATLAS_2010_S8918562::init(), ATLAS_2010_S8914702::init(), ATLAS_2010_S8894728::init(), ATLAS_2010_S8817804::init(), ATLAS_2010_S8591806::init(), ATLAS_2010_CONF_2010_049::init(), ALICE_2010_S8706239::init(), ALICE_2010_S8625980::init(), ALICE_2010_S8624100::init(), ALEPH_2004_S5765862::init(), ALEPH_1996_S3486095::init(), ALEPH_1996_S3196992::init(), ALEPH_1991_S2435284::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(), ParisiTensor::ParisiTensor(), Sphericity::Sphericity(), Spherocity::Spherocity(), SVertex::SVertex(), Thrust::Thrust(), TotalVisibleMomentum::TotalVisibleMomentum(), TriggerCDFRun0Run1::TriggerCDFRun0Run1(), TriggerCDFRun2::TriggerCDFRun2(), TriggerUA5::TriggerUA5(), VetoedFinalState::VetoedFinalState(), and VisibleFinalState::VisibleFinalState().
00113 { 00114 const Projection& reg = _addProjection(proj, name); 00115 const PROJ& rtn = dynamic_cast<const PROJ&>(reg); 00116 return rtn; 00117 }
const PROJ& applyProjection | ( | const Event & | evt, | |
const std::string & | name | |||
) | const [inline, inherited] |
Apply the named projection on event.
Definition at line 81 of file ProjectionApplier.hh.
References ProjectionApplier::_applyProjection().
00081 { 00082 return pcast<PROJ>(_applyProjection(evt, name)); 00083 }
const PROJ& applyProjection | ( | const Event & | evt, | |
const Projection & | proj | |||
) | const [inline, inherited] |
Apply the supplied projection on event.
Definition at line 74 of file ProjectionApplier.hh.
References ProjectionApplier::_applyProjection().
00074 { 00075 return pcast<PROJ>(_applyProjection(evt, proj)); 00076 }
const PROJ& applyProjection | ( | const Event & | evt, | |
const PROJ & | proj | |||
) | const [inline, inherited] |
Apply the supplied projection on event.
Definition at line 67 of file ProjectionApplier.hh.
References ProjectionApplier::_applyProjection().
Referenced by HadronicFinalState::project(), and FinalStateHCM::project().
00067 { 00068 return pcast<PROJ>(_applyProjection(evt, proj)); 00069 }
const fastjet::AreaDefinition* areaDef | ( | ) | const [inline] |
Return the area definition (FastJet-specific). May be null.
Definition at line 154 of file FastJets.hh.
References FastJets::_adef.
00154 { 00155 return _adef; 00156 }
const set< PdgIdPair > 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<PdgIdPair> 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 }
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 }
void calc | ( | const ParticleVector & | ps | ) | [virtual] |
Do the calculation locally (no caching).
Implements JetAlg.
Definition at line 77 of file FastJets.cc.
References FastJets::_adef, FastJets::_cseq, FastJets::_jdef, FastJets::_particles, FourMomentum::E(), Particle::momentum(), MSG_DEBUG, FourMomentum::px(), FourMomentum::py(), and FourMomentum::pz().
Referenced by CDF_2008_S7540469::analyze(), and FastJets::project().
00077 { 00078 _particles.clear(); 00079 vector<fastjet::PseudoJet> vecs; 00080 // Store 4 vector data about each particle into vecs 00081 int counter = 1; 00082 foreach (const Particle& p, ps) { 00083 const FourMomentum fv = p.momentum(); 00084 fastjet::PseudoJet pJet(fv.px(), fv.py(), fv.pz(), fv.E()); 00085 pJet.set_user_index(counter); 00086 vecs.push_back(pJet); 00087 _particles[counter] = p; 00088 ++counter; 00089 } 00090 MSG_DEBUG("Running FastJet ClusterSequence construction"); 00091 00092 // Choose CSeq as basic or area-calculating depending on whether _adef pointer is non-null. 00093 if (_adef == 0) { 00094 _cseq.reset(new fastjet::ClusterSequence(vecs, _jdef)); 00095 } else { 00096 _cseq.reset(new fastjet::ClusterSequenceArea(vecs, _jdef, *_adef)); 00097 } 00098 }
virtual const Projection* clone | ( | ) | const [inline, virtual] |
Clone on the heap.
Implements JetAlg.
Definition at line 88 of file FastJets.hh.
References FastJets::FastJets().
00088 { 00089 return new FastJets(*this); 00090 }
const fastjet::ClusterSequence* clusterSeq | ( | ) | const [inline] |
Return the cluster sequence (FastJet-specific).
Definition at line 137 of file FastJets.hh.
References FastJets::_cseq.
Referenced by FastJets::_pseudojetsToJets(), OPAL_2004_S6132243::analyze(), OPAL_2001_S4553896::analyze(), MC_JetAnalysis::analyze(), JADE_OPAL_2000_S4300807::analyze(), DELPHI_2003_WUD_03_11::analyze(), DELPHI_1996_S3430090::analyze(), ALEPH_2004_S5765862::analyze(), ALEPH_1996_S3486095::analyze(), ALEPH_1996_S3196992::analyze(), FastJets::filterJet(), FastJets::splitJet(), and FastJets::ySubJet().
00137 { 00138 return _cseq.get(); 00139 }
const fastjet::ClusterSequenceArea* clusterSeqArea | ( | ) | const [inline] |
Return the cluster sequence (FastJet-specific).
Definition at line 142 of file FastJets.hh.
References FastJets::_adef, and FastJets::_cseq.
int compare | ( | const Projection & | p | ) | const [protected, virtual] |
Compare projections.
Implements JetAlg.
Definition at line 52 of file FastJets.cc.
References FastJets::_adef, FastJets::_jdef, JetAlg::_useInvisibles, Rivet::cmp(), and Projection::mkNamedPCmp().
00052 { 00053 const FastJets& other = dynamic_cast<const FastJets&>(p); 00054 // cout << "CMP " << _useInvisibles << endl; 00055 return \ 00056 (_useInvisibles ? mkNamedPCmp(other, "FS") : mkNamedPCmp(other, "VFS")) || 00057 cmp(_jdef.jet_algorithm(), other._jdef.jet_algorithm()) || 00058 cmp(_jdef.recombination_scheme(), other._jdef.recombination_scheme()) || 00059 cmp(_jdef.plugin(), other._jdef.plugin()) || 00060 cmp(_jdef.R(), other._jdef.R()) || 00061 cmp(_adef, other._adef); 00062 }
collection_type entities | ( | ) | const [inline, inherited] |
Template-usable interface common to FinalState.
Definition at line 174 of file JetAlg.hh.
References JetAlg::jets().
00174 { return jets(); }
fastjet::PseudoJet filterJet | ( | fastjet::PseudoJet | jet, | |
double & | stingy_R, | |||
const double | def_R | |||
) | const |
Filter a jet a la PRL100,242001(2008). Based on code from G.Salam, A.Davison.
Definition at line 219 of file FastJets.cc.
References FastJets::clusterSeq().
00220 { 00221 assert(clusterSeq()); 00222 00223 if (jet.E() <= 0.0 || clusterSeq()->constituents(jet).size() == 0) { 00224 return jet; 00225 } 00226 if (stingy_R == 0.0) { 00227 stingy_R = def_R; 00228 } 00229 00230 stingy_R = def_R < stingy_R ? def_R : stingy_R; 00231 fastjet::JetDefinition stingy_jet_def(fastjet::cambridge_algorithm, stingy_R); 00232 00233 //FlavourRecombiner recom; 00234 //stingy_jet_def.set_recombiner(&recom); 00235 fastjet::ClusterSequence scs(clusterSeq()->constituents(jet), stingy_jet_def); 00236 std::vector<fastjet::PseudoJet> stingy_jets = sorted_by_pt(scs.inclusive_jets()); 00237 00238 fastjet::PseudoJet reconst_jet(0.0, 0.0, 0.0, 0.0); 00239 00240 for (unsigned isj = 0; isj < std::min(3U, (unsigned int) stingy_jets.size()); ++isj) { 00241 reconst_jet += stingy_jets[isj]; 00242 } 00243 return reconst_jet; 00244 }
Log& getLog | ( | ) | const [inline, inherited] |
Get a Log object based on the getName() property of the calling projection object.
Reimplemented from ProjectionApplier.
Definition at line 114 of file Projection.hh.
References Projection::name().
Referenced by FParameter::_calcFParameter(), Sphericity::_calcSphericity(), Thrust::_calcThrust(), Projection::beamPairs(), InvMassFinalState::calc(), FinalState::FinalState(), JetAlg::JetAlg(), ZFinder::project(), WFinder::project(), VetoedFinalState::project(), UnstableFinalState::project(), TriggerUA5::project(), TriggerCDFRun2::project(), TriggerCDFRun0Run1::project(), PVertex::project(), NeutralFinalState::project(), MergedFinalState::project(), LossyFinalState< ConstRandomFilter >::project(), LeadingParticlesFinalState::project(), IsolationProjection< PROJ1, PROJ2, EST >::project(), InitialQuarks::project(), Hemispheres::project(), HadronicFinalState::project(), FoxWolframMoments::project(), ClusteredPhotons::project(), ChargedFinalState::project(), and TotalVisibleMomentum::TotalVisibleMomentum().
00114 { 00115 string logname = "Rivet.Projection." + name(); 00116 return Log::getLog(logname); 00117 }
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 57 of file ProjectionApplier.hh.
References ProjectionHandler::getProjection(), and ProjectionApplier::getProjHandler().
00057 { 00058 return getProjHandler().getProjection(*this, name); 00059 }
const PROJ& getProjection | ( | const std::string & | name | ) | const [inline, inherited] |
Get the named projection, specifying return type via a template argument.
Definition at line 49 of file ProjectionApplier.hh.
References ProjectionHandler::getProjection(), and ProjectionApplier::getProjHandler().
Referenced by ProjectionApplier::_applyProjection(), Rivet::pcmp(), and Hemispheres::project().
00049 { 00050 const Projection& p = getProjHandler().getProjection(*this, name); 00051 return pcast<PROJ>(p); 00052 }
std::set<ConstProjectionPtr> getProjections | ( | ) | const [inline, inherited] |
Get the contained projections, including recursion.
Definition at line 42 of file ProjectionApplier.hh.
References ProjectionHandler::DEEP, ProjectionHandler::getChildProjections(), and ProjectionApplier::getProjHandler().
Referenced by Projection::beamPairs().
00042 { 00043 return getProjHandler().getChildProjections(*this, ProjectionHandler::DEEP); 00044 }
ProjectionHandler& getProjHandler | ( | ) | const [inline, protected, inherited] |
Get a reference to the ProjectionHandler for this thread.
Definition at line 94 of file ProjectionApplier.hh.
References ProjectionApplier::_projhandler.
Referenced by ProjectionApplier::_addProjection(), ProjectionApplier::getProjection(), ProjectionApplier::getProjections(), and ProjectionApplier::~ProjectionApplier().
00094 { 00095 return _projhandler; 00096 }
const fastjet::JetDefinition& jetDef | ( | ) | const [inline] |
Return the jet definition (FastJet-specific).
Definition at line 149 of file FastJets.hh.
References FastJets::_jdef.
00149 { 00150 return _jdef; 00151 }
Jets jets | ( | F | sorter, | |
double | ptmin, | |||
double | , | |||
double | , | |||
double | , | |||
RapScheme | ||||
) | const [inline, inherited] |
Get the jets, ordered by supplied sorting function object, with optional cuts on and rapidity.
Definition at line 110 of file JetAlg.hh.
References JetAlg::jets().
virtual Jets jets | ( | double | ptmin = 0.0 , |
|
double | ptmax = MAXDOUBLE , |
|||
double | rapmin = -MAXDOUBLE , |
|||
double | rapmax = MAXDOUBLE , |
|||
RapScheme | rapscheme = PSEUDORAPIDITY | |||
) | const [inline, virtual, inherited] |
Get jets in no guaranteed order, with optional cuts on and rapidity.
Definition at line 91 of file JetAlg.hh.
References JetAlg::_jets(), FourVector::eta(), Rivet::inRange(), Jet::momentum(), MSG_DEBUG, Rivet::PSEUDORAPIDITY, FourMomentum::pT(), FourMomentum::rapidity(), and Rivet::RAPIDITY.
Referenced by ZEUS_2001_S4815815::analyze(), D0_2008_S7662670::analyze(), CDF_2008_S7540469::analyze(), JetAlg::entities(), JetAlg::jets(), JetAlg::jetsByE(), JetAlg::jetsByEt(), JetAlg::jetsByP(), and JetAlg::jetsByPt().
00093 { 00094 const Jets rawjets = _jets(ptmin); 00095 Jets rtn; 00096 MSG_DEBUG("Raw jet size (with pTmin cut) = " << rawjets.size()); 00097 foreach (const Jet& j, rawjets) { 00098 const FourMomentum pj = j.momentum(); 00099 if (!inRange(pj.pT(), ptmin, ptmax)) continue; 00100 if (rapscheme == PSEUDORAPIDITY && !inRange(pj.eta(), rapmin, rapmax)) continue; 00101 if (rapscheme == RAPIDITY && !inRange(pj.rapidity(), rapmin, rapmax)) continue; 00102 rtn += j; 00103 } 00104 return rtn; 00105 }
Jets jetsByE | ( | double | ptmin = 0.0 , |
|
double | ptmax = MAXDOUBLE , |
|||
double | rapmin = -MAXDOUBLE , |
|||
double | rapmax = MAXDOUBLE , |
|||
RapScheme | rapscheme = PSEUDORAPIDITY | |||
) | const [inline, inherited] |
Get the jets, ordered by , with optional cuts on
and rapidity.
Definition at line 138 of file JetAlg.hh.
References Rivet::cmpJetsByE(), and JetAlg::jets().
00140 { 00141 return jets(cmpJetsByE, ptmin, ptmax, rapmin, rapmax, rapscheme); 00142 }
Jets jetsByEt | ( | double | ptmin = 0.0 , |
|
double | ptmax = MAXDOUBLE , |
|||
double | rapmin = -MAXDOUBLE , |
|||
double | rapmax = MAXDOUBLE , |
|||
RapScheme | rapscheme = PSEUDORAPIDITY | |||
) | const [inline, inherited] |
Get the jets, ordered by , with optional cuts on
and rapidity.
Definition at line 146 of file JetAlg.hh.
References Rivet::cmpJetsByEt(), and JetAlg::jets().
Referenced by CDF_2008_S7541902::analyze().
00148 { 00149 return jets(cmpJetsByEt, ptmin, ptmax, rapmin, rapmax, rapscheme); 00150 }
Jets jetsByP | ( | double | ptmin = 0.0 , |
|
double | ptmax = MAXDOUBLE , |
|||
double | rapmin = -MAXDOUBLE , |
|||
double | rapmax = MAXDOUBLE , |
|||
RapScheme | rapscheme = PSEUDORAPIDITY | |||
) | const [inline, inherited] |
Get the jets, ordered by , with optional cuts on
and rapidity.
Definition at line 130 of file JetAlg.hh.
References Rivet::cmpJetsByP(), and JetAlg::jets().
00132 { 00133 return jets(cmpJetsByP, ptmin, ptmax, rapmin, rapmax, rapscheme); 00134 }
Jets jetsByPt | ( | double | ptmin = 0.0 , |
|
double | ptmax = MAXDOUBLE , |
|||
double | rapmin = -MAXDOUBLE , |
|||
double | rapmax = MAXDOUBLE , |
|||
RapScheme | rapscheme = PSEUDORAPIDITY | |||
) | const [inline, inherited] |
Get the jets, ordered by , with optional cuts on
and rapidity.
Definition at line 122 of file JetAlg.hh.
References Rivet::cmpJetsByPt(), and JetAlg::jets().
Referenced by STAR_2006_S6870392::analyze(), MC_ZZJETS::analyze(), MC_ZJETS::analyze(), MC_WWJETS::analyze(), MC_WJETS::analyze(), MC_TTBAR::analyze(), MC_SUSY::analyze(), MC_PHOTONJETS::analyze(), MC_LEADINGJETS::analyze(), MC_JetAnalysis::analyze(), MC_HJETS::analyze(), MC_DIJET::analyze(), D0_2009_S8202443::analyze(), D0_2008_S7863608::analyze(), D0_2004_S5992206::analyze(), CDF_2008_S8093652::analyze(), CDF_2001_S4751469::analyze(), ATLAS_2010_CONF_2010_049::analyze(), and CDF_2009_S8057893::CDF_2009_S8057893::analyze().
00124 { 00125 return jets(cmpJetsByPt, ptmin, ptmax, rapmin, rapmax, rapscheme); 00126 }
Cmp< Projection > mkNamedPCmp | ( | 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.
Definition at line 51 of file Projection.cc.
References Rivet::pcmp().
Referenced by ZFinder::compare(), WFinder::compare(), VisibleFinalState::compare(), VetoedFinalState::compare(), TotalVisibleMomentum::compare(), Thrust::compare(), SVertex::compare(), Spherocity::compare(), Sphericity::compare(), ParisiTensor::compare(), NeutralFinalState::compare(), Multiplicity::compare(), MissingMomentum::compare(), MergedFinalState::compare(), LossyFinalState< ConstRandomFilter >::compare(), LeptonClusters::compare(), LeadingParticlesFinalState::compare(), JetShape::compare(), IsolationProjection< PROJ1, PROJ2, EST >::compare(), InvMassFinalState::compare(), IdentifiedFinalState::compare(), Hemispheres::compare(), FParameter::compare(), FoxWolframMoments::compare(), FinalStateHCM::compare(), FastJets::compare(), DISLepton::compare(), DISKinematics::compare(), ClusteredPhotons::compare(), ChargedLeptons::compare(), ChargedFinalState::compare(), CentralEtHCM::compare(), and BeamThrust::compare().
00052 { 00053 return pcmp(*this, otherparent, pname); 00054 }
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.
Definition at line 57 of file Projection.cc.
References Rivet::pcmp().
00058 { 00059 return pcmp(*this, otherparent, pname); 00060 }
virtual std::string name | ( | ) | const [inline, virtual, inherited] |
Get the name of the projection.
Implements ProjectionApplier.
Definition at line 101 of file Projection.hh.
References Projection::_name.
Referenced by ProjectionApplier::_addProjection(), ProjectionHandler::_checkDuplicate(), ProjectionHandler::_clone(), ProjectionHandler::_getEquiv(), VetoedFinalState::addVetoOnThisFinalState(), Projection::getLog(), ZFinder::project(), ClusteredPhotons::project(), and ProjectionHandler::registerProjection().
00101 { 00102 return _name; 00103 }
size_t numJets | ( | double | ptmin = 0.0 |
) | const |
Number of jets above the cut.
Definition at line 125 of file FastJets.cc.
References FastJets::_cseq.
Referenced by FastJets::size().
void project | ( | const Event & | e | ) | [protected, virtual] |
Perform the projection on the Event.
Implements JetAlg.
Definition at line 66 of file FastJets.cc.
References JetAlg::_useInvisibles, FastJets::calc(), and Rivet::particles().
00066 { 00067 ParticleVector particles; 00068 if (_useInvisibles) { 00069 particles = applyProjection<FinalState>(e, "FS").particles(); 00070 } else { 00071 particles = applyProjection<FinalState>(e, "VFS").particles(); 00072 } 00073 calc(particles); 00074 }
PseudoJets pseudoJets | ( | double | ptmin = 0.0 |
) | const |
Get the pseudo jets (unordered).
Definition at line 155 of file FastJets.cc.
References FastJets::_cseq.
Referenced by FastJets::_jets(), FastJets::pseudoJetsByE(), FastJets::pseudoJetsByPt(), and FastJets::pseudoJetsByRapidity().
00155 { 00156 if (_cseq.get() != 0) { 00157 return _cseq->inclusive_jets(ptmin); 00158 } else { 00159 return PseudoJets(); 00160 } 00161 }
PseudoJets pseudoJetsByE | ( | double | ptmin = 0.0 |
) | const [inline] |
Get the pseudo jets, ordered by .
Definition at line 127 of file FastJets.hh.
References FastJets::pseudoJets().
00127 { 00128 return sorted_by_E(pseudoJets(ptmin)); 00129 }
PseudoJets pseudoJetsByPt | ( | double | ptmin = 0.0 |
) | const [inline] |
Get the pseudo jets, ordered by .
Definition at line 122 of file FastJets.hh.
References FastJets::pseudoJets().
Referenced by CDF_2008_S8095620::analyze(), and CDF_2006_S6653332::analyze().
00122 { 00123 return sorted_by_pt(pseudoJets(ptmin)); 00124 }
PseudoJets pseudoJetsByRapidity | ( | double | ptmin = 0.0 |
) | const [inline] |
Get the pseudo jets, ordered by rapidity.
Definition at line 132 of file FastJets.hh.
References FastJets::pseudoJets().
00132 { 00133 return sorted_by_rapidity(pseudoJets(ptmin)); 00134 }
void reset | ( | ) | [virtual] |
Reset the projection. Jet def, etc. are unchanged.
Implements JetAlg.
Definition at line 118 of file FastJets.cc.
References FastJets::_particles, and FastJets::_yscales.
00118 { 00119 _yscales.clear(); 00120 _particles.clear(); 00121 /// @todo _cseq = fastjet::ClusterSequence(); 00122 }
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.
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(), DISKinematics::DISKinematics(), DISLepton::DISLepton(), FinalState::FinalState(), FinalStateHCM::FinalStateHCM(), 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(), ParisiTensor::ParisiTensor(), PVertex::PVertex(), Sphericity::Sphericity(), Spherocity::Spherocity(), SVertex::SVertex(), Thrust::Thrust(), TotalVisibleMomentum::TotalVisibleMomentum(), TriggerCDFRun0Run1::TriggerCDFRun0Run1(), TriggerCDFRun2::TriggerCDFRun2(), TriggerUA5::TriggerUA5(), UnstableFinalState::UnstableFinalState(), VetoedFinalState::VetoedFinalState(), and VisibleFinalState::VisibleFinalState().
size_t size | ( | ) | const [inline, virtual] |
Number of jets.
Implements JetAlg.
Definition at line 111 of file FastJets.hh.
References FastJets::numJets().
Referenced by CDF_2008_S8095620::analyze(), and CDF_2006_S6653332::analyze().
00111 { 00112 return numJets(); 00113 }
fastjet::PseudoJet splitJet | ( | fastjet::PseudoJet | jet, | |
double & | last_R | |||
) | const |
Split a jet a la PRL100,242001(2008). Based on code from G.Salam, A.Davison.
Definition at line 180 of file FastJets.cc.
References FastJets::_cseq, FastJets::_jdef, FastJets::clusterSeq(), MSG_DEBUG, and Rivet::split().
00180 { 00181 // Sanity cuts 00182 if (jet.E() <= 0 || _cseq->constituents(jet).size() <= 1) { 00183 return jet; 00184 } 00185 00186 // Build a new cluster sequence just using the consituents of this jet. 00187 assert(clusterSeq()); 00188 fastjet::ClusterSequence cs(clusterSeq()->constituents(jet), _jdef); 00189 00190 // Get the jet back again 00191 fastjet::PseudoJet remadeJet = cs.inclusive_jets()[0]; 00192 MSG_DEBUG("Jet2:" << remadeJet.m() << "," << remadeJet.e()); 00193 00194 fastjet::PseudoJet parent1, parent2; 00195 fastjet::PseudoJet split(0.0, 0.0, 0.0, 0.0); 00196 while (cs.has_parents(remadeJet, parent1, parent2)) { 00197 MSG_DEBUG("Parents:" << parent1.m() << "," << parent2.m()); 00198 if (parent1.m2() < parent2.m2()) { 00199 fastjet::PseudoJet tmp; 00200 tmp = parent1; parent1 = parent2; parent2 = tmp; 00201 } 00202 00203 double ktdist = parent1.kt_distance(parent2); 00204 double rtycut2 = 0.3*0.3; 00205 if (parent1.m() < ((2.0*remadeJet.m())/3.0) && ktdist > rtycut2*remadeJet.m2()) { 00206 break; 00207 } else { 00208 remadeJet = parent1; 00209 } 00210 } 00211 00212 last_R = 0.5 * sqrt(parent1.squared_distance(parent2)); 00213 split.reset(remadeJet.px(), remadeJet.py(), remadeJet.pz(), remadeJet.E()); 00214 return split; 00215 }
void useInvisibles | ( | bool | useinvis = true |
) | [inline, inherited] |
Include invisible particles in jet construction. The default behaviour is that jets are only constructed from visible (i.e. charged under an SM gauge group) particles. Some jet studies, including those from ATLAS, use a definition in which neutrinos from hadron decays are included (via MC correction) in the experimental jet definition. Setting this flag to true avoids the automatic restriction to a VisibleFinalState.
Definition at line 85 of file JetAlg.hh.
References JetAlg::_useInvisibles.
Referenced by CDF_2008_S7782535::init(), CDF_2005_S6217184::init(), ATLAS_2011_S8924791::init(), and ALEPH_2004_S5765862::init().
00085 { 00086 _useInvisibles = useinvis; 00087 }
void useJetArea | ( | fastjet::AreaDefinition * | adef | ) | [inline] |
Use provided jet area definition.
Definition at line 103 of file FastJets.hh.
References FastJets::_adef.
Referenced by ATLAS_2011_S9120807::init(), and ATLAS_2010_S8914702::init().
00103 { 00104 _adef = adef; 00105 }
vector< double > ySubJet | ( | const fastjet::PseudoJet & | jet | ) | const |
Get the subjet splitting variables for the given jet.
Definition at line 164 of file FastJets.cc.
References FastJets::_jdef, FastJets::_yscales, and FastJets::clusterSeq().
00164 { 00165 assert(clusterSeq()); 00166 fastjet::ClusterSequence subjet_cseq(clusterSeq()->constituents(jet), _jdef); 00167 vector<double> yMergeVals; 00168 for (int i = 1; i < 4; ++i) { 00169 // Multiply the dmerge value by R^2 so that it corresponds to a 00170 // relative k_T (fastjet has 1/R^2 in the d_ij distance by default) 00171 const double ktmerge = subjet_cseq.exclusive_dmerge(i) * _jdef.R()*_jdef.R(); 00172 yMergeVals.push_back(ktmerge/jet.perp2()); 00173 } 00174 _yscales.insert(make_pair( jet.cluster_hist_index(), yMergeVals )); 00175 return yMergeVals; 00176 }
friend class Cmp< Projection > [friend, inherited] |
The Cmp specialization for Projection is a friend.
Definition at line 36 of file Projection.hh.
friend class Event [friend, inherited] |
Event is a friend.
Definition at line 33 of file Projection.hh.
fastjet::AreaDefinition* _adef [private] |
Pointer to user-handled area definition.
Definition at line 251 of file FastJets.hh.
Referenced by FastJets::areaDef(), FastJets::calc(), FastJets::clusterSeqArea(), FastJets::compare(), and FastJets::useJetArea().
bool _allowProjReg [protected, inherited] |
Flag to forbid projection registration in analyses until the init phase.
Definition at line 140 of file ProjectionApplier.hh.
Referenced by ProjectionApplier::_addProjection(), and Analysis::Analysis().
shared_ptr<fastjet::ClusterSequence> _cseq [private] |
Cluster sequence.
Definition at line 254 of file FastJets.hh.
Referenced by FastJets::calc(), FastJets::clusterSeq(), FastJets::clusterSeqArea(), FastJets::numJets(), FastJets::pseudoJets(), and FastJets::splitJet().
fastjet::JetDefinition _jdef [private] |
Jet definition.
Definition at line 248 of file FastJets.hh.
Referenced by FastJets::_init1(), FastJets::_init2(), FastJets::_init3(), FastJets::calc(), FastJets::compare(), FastJets::jetDef(), FastJets::splitJet(), and FastJets::ySubJet().
map<int, Particle> _particles [private] |
set of particles sorted by their PT2
Definition at line 264 of file FastJets.hh.
Referenced by FastJets::_pseudojetsToJets(), FastJets::calc(), and FastJets::reset().
shared_ptr<fastjet::JetDefinition::Plugin> _plugin [private] |
FastJet external plugin.
Definition at line 257 of file FastJets.hh.
Referenced by FastJets::_init1(), and FastJets::_init3().
bool _useInvisibles [protected, inherited] |
Flag to determine whether or not the VFS wrapper is to be used.
Definition at line 192 of file JetAlg.hh.
Referenced by FastJets::compare(), FastJets::project(), and JetAlg::useInvisibles().
map<int, vector<double> > _yscales [mutable, private] |
Map of vectors of y scales. This is mutable so we can use caching/lazy evaluation.
Definition at line 260 of file FastJets.hh.
Referenced by FastJets::reset(), and FastJets::ySubJet().