PDG_HADRON_MULTIPLICITIES_RATIOS Class Reference

Implementation of PDG hadron multiplicities as ratios to $ \pi^\pm $ multiplicity. More...

Inheritance diagram for PDG_HADRON_MULTIPLICITIES_RATIOS:
Inheritance graph
[legend]
Collaboration diagram for PDG_HADRON_MULTIPLICITIES_RATIOS:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 PDG_HADRON_MULTIPLICITIES_RATIOS ()
 Constructor.
AnalysisHandlerhandler () const
 Access the controlling AnalysisHandler object.
void normalize (AIDA::IHistogram1D *&histo, double norm=1.0)
void normalize (AIDA::IHistogram2D *&histo, double norm=1.0)
void scale (AIDA::IHistogram1D *&histo, double scale)
void scale (AIDA::IHistogram2D *&histo, double scale)
AnalysissetCrossSection (double xs)
 Set the cross section from the generator.
Analysis methods

void analyze (const Event &e)
void init ()
void finalize ()
Metadata

Metadata is used for querying from the command line and also for building web pages and the analysis pages in the Rivet manual.

const AnalysisInfoinfo () const
 Get the actual AnalysisInfo object in which all this metadata is stored.
virtual std::string name () const
 Get the name of the analysis.
virtual std::string spiresId () const
 Get a the SPIRES/Inspire ID code for this analysis.
virtual std::vector< std::string > authors () const
 Names & emails of paper/analysis authors.
virtual std::string summary () const
 Get a short description of the analysis.
virtual std::string description () const
 Get a full description of the analysis.
virtual std::string runInfo () const
 Information about the events needed as input for this analysis.
virtual std::string experiment () const
 Experiment which performed and published this analysis.
virtual std::string collider () const
 Collider on which the experiment ran.
virtual std::string year () const
 When the original experimental analysis was published.
virtual std::vector< std::string > references () const
 Journal, and preprint references.
virtual std::string bibKey () const
 BibTeX citation key for this article.
virtual std::string bibTeX () const
 BibTeX citation entry for this article.
virtual std::string status () const
 Whether this analysis is trusted (in any way!).
virtual std::vector< std::string > todos () const
 Any work to be done on this analysis.
virtual const std::vector
< PdgIdPair > & 
requiredBeams () const
 Return the allowed pairs of incoming beams required by this analysis.
virtual AnalysissetRequiredBeams (const std::vector< PdgIdPair > &requiredBeams)
 Declare the allowed pairs of incoming beams required by this analysis.
virtual const std::vector
< std::pair< double, double > > & 
requiredEnergies () const
 Sets of valid beam energy pairs, in GeV.
virtual AnalysissetRequiredEnergies (const std::vector< std::pair< double, double > > &requiredEnergies)
 Declare the list of valid beam energy pairs, in GeV.
bool needsCrossSection () const
 Return true if this analysis needs to know the process cross-section.
AnalysissetNeedsCrossSection (bool needed=true)
 Declare whether this analysis needs to know the process cross-section from the generator.
Internal metadata modifiying methods

AnalysisInfoinfo ()
 Get the actual AnalysisInfo object in which all this metadata is stored (non-const).
virtual AnalysissetBeams (PdgId beam1, PdgId beam2)
Run conditions

const ParticlePairbeams () const
 Incoming beams for this run.
const PdgIdPair beamIds () const
 Incoming beam IDs for this run.
double sqrtS () const
 Centre of mass energy for this run.
Analysis / beam compatibility testing

bool isCompatible (const ParticlePair &beams) const
 Check if analysis is compatible with the provided beam particle IDs and energies.
bool isCompatible (PdgId beam1, PdgId beam2, double e1, double e2) const
 Check if analysis is compatible with the provided beam particle IDs and energies.
bool isCompatible (const PdgIdPair &beams, const std::pair< double, double > &energies) const
 Check if analysis is compatible with the provided beam particle IDs and energies.
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

LoggetLog () const
 Get a Log object based on the name() property of the calling analysis object.
double crossSection () const
 Get the process cross-section in pb. Throws if this hasn't been set.
double crossSectionPerEvent () const
size_t numEvents () const
double sumOfWeights () const
ProjectionHandlergetProjHandler () const
 Get a reference to the ProjectionHandler for this thread.
AIDA analysis infrastructure.

AIDA::IAnalysisFactory & analysisFactory ()
 Access the AIDA analysis factory of the controlling AnalysisHandler object.
AIDA::ITree & tree ()
 Access the AIDA tree of the controlling AnalysisHandler object.
AIDA::IHistogramFactory & histogramFactory ()
 Access the AIDA histogram factory of the controlling AnalysisHandler object.
AIDA::IDataPointSetFactory & datapointsetFactory ()
 Access the AIDA histogram factory of the controlling AnalysisHandler object.
const std::string histoDir () const
 Get the canonical histogram "directory" path for this analysis.
const std::string histoPath (const std::string &hname) const
 Get the canonical histogram path for the named histogram in this analysis.
Internal histogram booking (for use by Analysis sub-classes).

const BinEdgesbinEdges (const std::string &hname) const
 Get bin edges for a named histo (using ref AIDA caching).
const BinEdgesbinEdges (size_t datasetId, size_t xAxisId, size_t yAxisId) const
 Get bin edges for a numbered histo (using ref AIDA caching).
BinEdges logBinEdges (size_t nbins, double lower, double upper)
 Get bin edges with logarithmic widths.
AIDA::IHistogram1D * bookHistogram1D (const std::string &name, size_t nbins, double lower, double upper, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="")
AIDA::IHistogram1D * bookHistogram1D (const std::string &name, const std::vector< double > &binedges, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="")
AIDA::IHistogram1D * bookHistogram1D (const std::string &name, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="")
AIDA::IHistogram1D * bookHistogram1D (size_t datasetId, size_t xAxisId, size_t yAxisId, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="")
AIDA::IHistogram2D * bookHistogram2D (const std::string &name, size_t nxbins, double xlower, double xupper, size_t nybins, double ylower, double yupper, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="", const std::string &ztitle="")
AIDA::IHistogram2D * bookHistogram2D (const std::string &name, const std::vector< double > &xbinedges, const std::vector< double > &ybinedges, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="", const std::string &ztitle="")
Internal profile histogram booking (for use by Analysis sub-classes).

AIDA::IProfile1D * bookProfile1D (const std::string &name, size_t nbins, double lower, double upper, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="")
AIDA::IProfile1D * bookProfile1D (const std::string &name, const std::vector< double > &binedges, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="")
AIDA::IProfile1D * bookProfile1D (const std::string &name, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="")
AIDA::IProfile1D * bookProfile1D (size_t datasetId, size_t xAxisId, size_t yAxisId, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="")
Internal data point set booking (for use by Analysis sub-classes).

AIDA::IDataPointSet * bookDataPointSet (const std::string &name, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="")
AIDA::IDataPointSet * bookDataPointSet (const std::string &name, size_t npts, double lower, double upper, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="")
AIDA::IDataPointSet * bookDataPointSet (size_t datasetId, size_t xAxisId, size_t yAxisId, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="")
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

string _defaultname
 Name passed to constructor (used to find .info analysis data file, and as a fallback).
shared_ptr< AnalysisInfo_info
 Pointer to analysis metadata object.
bool _allowProjReg
 Flag to forbid projection registration in analyses until the init phase.

Private Attributes

double _weightedTotalNumPiPlus
AIDA::IHistogram1D * _histMeanMultiPi0
AIDA::IHistogram1D * _histMeanMultiKPlus
AIDA::IHistogram1D * _histMeanMultiK0
AIDA::IHistogram1D * _histMeanMultiEta
AIDA::IHistogram1D * _histMeanMultiEtaPrime
AIDA::IHistogram1D * _histMeanMultiDPlus
AIDA::IHistogram1D * _histMeanMultiD0
AIDA::IHistogram1D * _histMeanMultiDPlus_s
AIDA::IHistogram1D * _histMeanMultiBPlus_B0_d
AIDA::IHistogram1D * _histMeanMultiBPlus_u
AIDA::IHistogram1D * _histMeanMultiB0_s
AIDA::IHistogram1D * _histMeanMultiF0_980
AIDA::IHistogram1D * _histMeanMultiA0_980Plus
AIDA::IHistogram1D * _histMeanMultiRho770_0
AIDA::IHistogram1D * _histMeanMultiRho770Plus
AIDA::IHistogram1D * _histMeanMultiOmega782
AIDA::IHistogram1D * _histMeanMultiKStar892Plus
AIDA::IHistogram1D * _histMeanMultiKStar892_0
AIDA::IHistogram1D * _histMeanMultiPhi1020
AIDA::IHistogram1D * _histMeanMultiDStar2010Plus
AIDA::IHistogram1D * _histMeanMultiDStar2007_0
AIDA::IHistogram1D * _histMeanMultiDStar_s2112Plus
AIDA::IHistogram1D * _histMeanMultiBStar
AIDA::IHistogram1D * _histMeanMultiJPsi1S
AIDA::IHistogram1D * _histMeanMultiPsi2S
AIDA::IHistogram1D * _histMeanMultiUpsilon1S
AIDA::IHistogram1D * _histMeanMultiF1_1285
AIDA::IHistogram1D * _histMeanMultiF1_1420
AIDA::IHistogram1D * _histMeanMultiChi_c1_3510
AIDA::IHistogram1D * _histMeanMultiF2_1270
AIDA::IHistogram1D * _histMeanMultiF2Prime1525
AIDA::IHistogram1D * _histMeanMultiK2Star1430Plus
AIDA::IHistogram1D * _histMeanMultiK2Star1430_0
AIDA::IHistogram1D * _histMeanMultiBStarStar
AIDA::IHistogram1D * _histMeanMultiDs1Plus
AIDA::IHistogram1D * _histMeanMultiDs2Plus
AIDA::IHistogram1D * _histMeanMultiP
AIDA::IHistogram1D * _histMeanMultiLambda
AIDA::IHistogram1D * _histMeanMultiSigma0
AIDA::IHistogram1D * _histMeanMultiSigmaMinus
AIDA::IHistogram1D * _histMeanMultiSigmaPlus
AIDA::IHistogram1D * _histMeanMultiSigmaPlusMinus
AIDA::IHistogram1D * _histMeanMultiXiMinus
AIDA::IHistogram1D * _histMeanMultiDelta1232PlusPlus
AIDA::IHistogram1D * _histMeanMultiSigma1385Minus
AIDA::IHistogram1D * _histMeanMultiSigma1385Plus
AIDA::IHistogram1D * _histMeanMultiSigma1385PlusMinus
AIDA::IHistogram1D * _histMeanMultiXi1530_0
AIDA::IHistogram1D * _histMeanMultiOmegaMinus
AIDA::IHistogram1D * _histMeanMultiLambda_c_Plus
AIDA::IHistogram1D * _histMeanMultiLambda_b_0
AIDA::IHistogram1D * _histMeanMultiSigma_c_PlusPlus_0
AIDA::IHistogram1D * _histMeanMultiLambda1520

Detailed Description

Implementation of PDG hadron multiplicities as ratios to $ \pi^\pm $ multiplicity.

Author:
Holger Schulz

Definition at line 14 of file PDG_Hadron_Multiplicities_Ratios.cc.


Constructor & Destructor Documentation

Constructor.

Definition at line 18 of file PDG_Hadron_Multiplicities_Ratios.cc.

References PDG_HADRON_MULTIPLICITIES_RATIOS::_weightedTotalNumPiPlus, Rivet::ELECTRON, Rivet::POSITRON, and Analysis::setBeams().

00018                                        : Analysis("PDG_HADRON_MULTIPLICITIES_RATIOS")
00019     {
00020       setBeams(ELECTRON, POSITRON);
00021       _weightedTotalNumPiPlus = 0;
00022     }


Member Function Documentation

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   }

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     }

IAnalysisFactory & analysisFactory (  )  [protected, inherited]

Access the AIDA analysis factory of the controlling AnalysisHandler object.

Definition at line 50 of file Analysis.cc.

References AnalysisHandler::analysisFactory(), and Analysis::handler().

00050                                               {
00051     return handler().analysisFactory();
00052   }

void analyze ( const Event event  )  [inline, virtual]

Analyze one event. A concrete class should here apply the necessary projections on the event and fill the relevant histograms. An overridden function must make sure it first calls the base class function.

Implements Analysis.

Definition at line 28 of file PDG_Hadron_Multiplicities_Ratios.cc.

References PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiA0_980Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiB0_s, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiBPlus_B0_d, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiBPlus_u, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiBStar, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiBStarStar, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiChi_c1_3510, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiD0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDelta1232PlusPlus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDPlus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDPlus_s, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDs1Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDs2Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDStar2007_0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDStar2010Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDStar_s2112Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiEta, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiEtaPrime, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiF0_980, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiF1_1285, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiF1_1420, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiF2_1270, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiF2Prime1525, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiJPsi1S, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiK0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiK2Star1430_0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiK2Star1430Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiKPlus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiKStar892_0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiKStar892Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiLambda, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiLambda1520, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiLambda_b_0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiLambda_c_Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiOmega782, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiOmegaMinus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiP, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiPhi1020, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiPi0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiPsi2S, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiRho770_0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiRho770Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigma0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigma1385Minus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigma1385Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigma1385PlusMinus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigma_c_PlusPlus_0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigmaMinus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigmaPlus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigmaPlusMinus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiUpsilon1S, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiXi1530_0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiXiMinus, PDG_HADRON_MULTIPLICITIES_RATIOS::_weightedTotalNumPiPlus, Log::DEBUG, Analysis::getLog(), Rivet::GeV, UnstableFinalState::particles(), FinalState::particles(), Particle::pdgId(), Analysis::sqrtS(), and vetoEvent.

00028                                  {
00029       // First, veto on leptonic events by requiring at least 4 charged FS particles
00030       const FinalState& fs = applyProjection<FinalState>(e, "FS");
00031       const size_t numParticles = fs.particles().size();
00032 
00033       // Even if we only generate hadronic events, we still need a cut on numCharged >= 2.
00034       if (numParticles < 2) {
00035         getLog() << Log::DEBUG << "Failed leptonic event cut" << endl;
00036         vetoEvent;
00037       }
00038       getLog() << Log::DEBUG << "Passed leptonic event cut" << endl;
00039 
00040       // Get event weight for histo filling
00041       const double weight = e.weight();
00042 
00043       getLog() << Log::DEBUG << "sqrt(S) = " << sqrtS()/GeV << " GeV" << endl;
00044 
00045       // Final state of unstable particles to get particle spectra
00046       const UnstableFinalState& ufs = applyProjection<UnstableFinalState>(e, "UFS");
00047 
00048       if (sqrtS()/GeV >= 9.5 && sqrtS()/GeV <= 10.5) {
00049         foreach (const Particle& p, ufs.particles()) {
00050           const PdgId id = abs(p.pdgId());
00051           switch (id) {
00052              case 211:
00053                 _weightedTotalNumPiPlus += weight;
00054                 break;
00055              case 111:
00056                 _histMeanMultiPi0->fill(_histMeanMultiPi0->binMean(0), weight);
00057                 break;
00058              case 321:
00059                 _histMeanMultiKPlus->fill(_histMeanMultiKPlus->binMean(0), weight);
00060                 break;
00061              case 130:
00062              case 310:
00063                 _histMeanMultiK0->fill(_histMeanMultiK0->binMean(0), weight);
00064                 break;
00065              case 221:
00066                 _histMeanMultiEta->fill(_histMeanMultiEta->binMean(0), weight);
00067                 break;
00068              case 331:
00069                 _histMeanMultiEtaPrime->fill(_histMeanMultiEtaPrime->binMean(0), weight);
00070                 break;
00071              case 411:
00072                 _histMeanMultiDPlus->fill(_histMeanMultiDPlus->binMean(0), weight);
00073                 break;
00074              case 421:
00075                 _histMeanMultiD0->fill(_histMeanMultiD0->binMean(0), weight);
00076                 break;
00077              case 431:
00078                 _histMeanMultiDPlus_s->fill(_histMeanMultiDPlus_s->binMean(0), weight);
00079                 break;
00080              case 9010221:
00081                 _histMeanMultiF0_980->fill(_histMeanMultiF0_980->binMean(0), weight);
00082                 break;
00083              case 113:
00084                 _histMeanMultiRho770_0->fill(_histMeanMultiRho770_0->binMean(0), weight);
00085                 break;
00086              case 223:
00087                 _histMeanMultiOmega782->fill(_histMeanMultiOmega782->binMean(0), weight);
00088                 break;
00089              case 323:
00090                 _histMeanMultiKStar892Plus->fill(_histMeanMultiKStar892Plus->binMean(0), weight);
00091                 break;
00092              case 313:
00093                 _histMeanMultiKStar892_0->fill(_histMeanMultiKStar892_0->binMean(0), weight);
00094                 break;
00095              case 333:
00096                 _histMeanMultiPhi1020->fill(_histMeanMultiPhi1020->binMean(0), weight);
00097                 break;
00098              case 413:
00099                 _histMeanMultiDStar2010Plus->fill(_histMeanMultiDStar2010Plus->binMean(0), weight);
00100                 break;
00101              case 423:
00102                 _histMeanMultiDStar2007_0->fill(_histMeanMultiDStar2007_0->binMean(0), weight);
00103                 break;
00104              case 433:
00105                 _histMeanMultiDStar_s2112Plus->fill(_histMeanMultiDStar_s2112Plus->binMean(0), weight);
00106                 break;
00107              case 443:
00108                 _histMeanMultiJPsi1S->fill(_histMeanMultiJPsi1S->binMean(0), weight);
00109                 break;
00110              case 225:
00111                 _histMeanMultiF2_1270->fill(_histMeanMultiF2_1270->binMean(0), weight);
00112                 break;
00113              case 2212:
00114                 _histMeanMultiP->fill(_histMeanMultiP->binMean(0), weight);
00115                 break;
00116              case 3122:
00117                 _histMeanMultiLambda->fill(_histMeanMultiLambda->binMean(0), weight);
00118                 break;
00119              case 3212:
00120                 _histMeanMultiSigma0->fill(_histMeanMultiSigma0->binMean(0), weight);
00121                 break;
00122              case 3312:
00123                 _histMeanMultiXiMinus->fill(_histMeanMultiXiMinus->binMean(0), weight);
00124                 break;
00125              case 2224:
00126                 _histMeanMultiDelta1232PlusPlus->fill(_histMeanMultiDelta1232PlusPlus->binMean(0), weight);
00127                 break;
00128              case 3114:
00129                 _histMeanMultiSigma1385Minus->fill(_histMeanMultiSigma1385Minus->binMean(0), weight);
00130                 _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->binMean(0), weight);
00131                 break;
00132              case 3224:
00133                 _histMeanMultiSigma1385Plus->fill(_histMeanMultiSigma1385Plus->binMean(0), weight);
00134                 _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->binMean(0), weight);
00135                 break;
00136              case 3324:
00137                 _histMeanMultiXi1530_0->fill(_histMeanMultiXi1530_0->binMean(0), weight);
00138                 break;
00139              case 3334:
00140                 _histMeanMultiOmegaMinus->fill(_histMeanMultiOmegaMinus->binMean(0), weight);
00141                 break;
00142              case 4122:
00143                 _histMeanMultiLambda_c_Plus->fill(_histMeanMultiLambda_c_Plus->binMean(0), weight);
00144                 break;
00145              case 4222:
00146              case 4112:
00147                 _histMeanMultiSigma_c_PlusPlus_0->fill(_histMeanMultiSigma_c_PlusPlus_0->binMean(0), weight);
00148                 break;
00149              case 3124:
00150                 _histMeanMultiLambda1520->fill(_histMeanMultiLambda1520->binMean(0), weight);
00151                 break;
00152           }
00153         }
00154       }
00155 
00156       if (sqrtS()/GeV >= 29 && sqrtS()/GeV <= 35) {
00157         foreach (const Particle& p, ufs.particles()) {
00158           const PdgId id = abs(p.pdgId());
00159           switch (id) {
00160              case 211:
00161                 _weightedTotalNumPiPlus += weight;
00162                 break;
00163              case 111:
00164                 _histMeanMultiPi0->fill(_histMeanMultiPi0->binMean(0), weight);
00165                 break;
00166              case 321:
00167                 _histMeanMultiKPlus->fill(_histMeanMultiKPlus->binMean(0), weight);
00168                 break;
00169              case 130:
00170              case 310:
00171                 _histMeanMultiK0->fill(_histMeanMultiK0->binMean(0), weight);
00172                 break;
00173              case 221:
00174                 _histMeanMultiEta->fill(_histMeanMultiEta->binMean(0), weight);
00175                 break;
00176              case 331:
00177                 _histMeanMultiEtaPrime->fill(_histMeanMultiEtaPrime->binMean(0), weight);
00178                 break;
00179              case 411:
00180                 _histMeanMultiDPlus->fill(_histMeanMultiDPlus->binMean(0), weight);
00181                 break;
00182              case 421:
00183                 _histMeanMultiD0->fill(_histMeanMultiD0->binMean(0), weight);
00184                 break;
00185              case 431:
00186                 _histMeanMultiDPlus_s->fill(_histMeanMultiDPlus_s->binMean(0), weight);
00187                 break;
00188              case 9010221:
00189                 _histMeanMultiF0_980->fill(_histMeanMultiF0_980->binMean(0), weight);
00190                 break;
00191              case 113:
00192                 _histMeanMultiRho770_0->fill(_histMeanMultiRho770_0->binMean(0), weight);
00193                 break;
00194              case 323:
00195                 _histMeanMultiKStar892Plus->fill(_histMeanMultiKStar892Plus->binMean(0), weight);
00196                 break;
00197              case 313:
00198                 _histMeanMultiKStar892_0->fill(_histMeanMultiKStar892_0->binMean(0), weight);
00199                 break;
00200              case 333:
00201                 _histMeanMultiPhi1020->fill(_histMeanMultiPhi1020->binMean(0), weight);
00202                 break;
00203              case 413:
00204                 _histMeanMultiDStar2010Plus->fill(_histMeanMultiDStar2010Plus->binMean(0), weight);
00205                 break;
00206              case 423:
00207                 _histMeanMultiDStar2007_0->fill(_histMeanMultiDStar2007_0->binMean(0), weight);
00208                 break;
00209              case 225:
00210                 _histMeanMultiF2_1270->fill(_histMeanMultiF2_1270->binMean(0), weight);
00211                 break;
00212              case 325:
00213                 _histMeanMultiK2Star1430Plus->fill(_histMeanMultiK2Star1430Plus->binMean(0), weight);
00214                 break;
00215              case 315:
00216                 _histMeanMultiK2Star1430_0->fill(_histMeanMultiK2Star1430_0->binMean(0), weight);
00217                 break;
00218              case 2212:
00219                 _histMeanMultiP->fill(_histMeanMultiP->binMean(0), weight);
00220                 break;
00221              case 3122:
00222                 _histMeanMultiLambda->fill(_histMeanMultiLambda->binMean(0), weight);
00223                 break;
00224              case 3312:
00225                 _histMeanMultiXiMinus->fill(_histMeanMultiXiMinus->binMean(0), weight);
00226                 break;
00227              case 3114:
00228                 _histMeanMultiSigma1385Minus->fill(_histMeanMultiSigma1385Minus->binMean(0), weight);
00229                 _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->binMean(0), weight);
00230                 break;
00231              case 3224:
00232                 _histMeanMultiSigma1385Plus->fill(_histMeanMultiSigma1385Plus->binMean(0), weight);
00233                 _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->binMean(0), weight);
00234                 break;
00235              case 3334:
00236                 _histMeanMultiOmegaMinus->fill(_histMeanMultiOmegaMinus->binMean(0), weight);
00237                 break;
00238              case 4122:
00239                 _histMeanMultiLambda_c_Plus->fill(_histMeanMultiLambda_c_Plus->binMean(0), weight);
00240                 break;
00241           }
00242         }
00243       }
00244 
00245       if (sqrtS()/GeV >= 89.5 && sqrtS()/GeV <= 91.8) {
00246         foreach (const Particle& p, ufs.particles()) {
00247           const PdgId id = abs(p.pdgId());
00248           switch (id) {
00249              case 211:
00250                 _weightedTotalNumPiPlus += weight;
00251                 break;
00252              case 111:
00253                 _histMeanMultiPi0->fill(_histMeanMultiPi0->binMean(0), weight);
00254                 break;
00255              case 321:
00256                 _histMeanMultiKPlus->fill(_histMeanMultiKPlus->binMean(0), weight);
00257                 break;
00258              case 130:
00259              case 310:
00260                 _histMeanMultiK0->fill(_histMeanMultiK0->binMean(0), weight);
00261                 break;
00262              case 221:
00263                 _histMeanMultiEta->fill(_histMeanMultiEta->binMean(0), weight);
00264                 break;
00265              case 331:
00266                 _histMeanMultiEtaPrime->fill(_histMeanMultiEtaPrime->binMean(0), weight);
00267                 break;
00268              case 411:
00269                 _histMeanMultiDPlus->fill(_histMeanMultiDPlus->binMean(0), weight);
00270                 break;
00271              case 421:
00272                 _histMeanMultiD0->fill(_histMeanMultiD0->binMean(0), weight);
00273                 break;
00274              case 431:
00275                 _histMeanMultiDPlus_s->fill(_histMeanMultiDPlus_s->binMean(0), weight);
00276                 break;
00277              case 511:
00278                 _histMeanMultiBPlus_B0_d->fill(_histMeanMultiBPlus_B0_d->binMean(0), weight);
00279                 break;
00280              case 521:
00281                 _histMeanMultiBPlus_B0_d->fill(_histMeanMultiBPlus_B0_d->binMean(0), weight);
00282                 _histMeanMultiBPlus_u->fill(_histMeanMultiBPlus_u->binMean(0), weight);
00283                 break;
00284              case 531:
00285                 _histMeanMultiB0_s->fill(_histMeanMultiB0_s->binMean(0), weight);
00286                 break;
00287              case 9010221:
00288                 _histMeanMultiF0_980->fill(_histMeanMultiF0_980->binMean(0), weight);
00289                 break;
00290              case 9000211:
00291                 _histMeanMultiA0_980Plus->fill(_histMeanMultiA0_980Plus->binMean(0), weight);
00292                 break;
00293              case 113:
00294                 _histMeanMultiRho770_0->fill(_histMeanMultiRho770_0->binMean(0), weight);
00295                 break;
00296              case 213:
00297                 _histMeanMultiRho770Plus->fill(_histMeanMultiRho770Plus->binMean(0), weight);
00298                 break;
00299              case 223:
00300                 _histMeanMultiOmega782->fill(_histMeanMultiOmega782->binMean(0), weight);
00301                 break;
00302              case 323:
00303                 _histMeanMultiKStar892Plus->fill(_histMeanMultiKStar892Plus->binMean(0), weight);
00304                 break;
00305              case 313:
00306                 _histMeanMultiKStar892_0->fill(_histMeanMultiKStar892_0->binMean(0), weight);
00307                 break;
00308              case 333:
00309                 _histMeanMultiPhi1020->fill(_histMeanMultiPhi1020->binMean(0), weight);
00310                 break;
00311              case 413:
00312                 _histMeanMultiDStar2010Plus->fill(_histMeanMultiDStar2010Plus->binMean(0), weight);
00313                 break;
00314              case 433:
00315                 _histMeanMultiDStar_s2112Plus->fill(_histMeanMultiDStar_s2112Plus->binMean(0), weight);
00316                 break;
00317              case 513:
00318              case 523:
00319              case 533:
00320                 _histMeanMultiBStar->fill(_histMeanMultiBStar->binMean(0), weight);
00321                 break;
00322              case 443:
00323                 _histMeanMultiJPsi1S->fill(_histMeanMultiJPsi1S->binMean(0), weight);
00324                 break;
00325              case 100443:
00326                 _histMeanMultiPsi2S->fill(_histMeanMultiPsi2S->binMean(0), weight);
00327                 break;
00328              case 553:
00329                 _histMeanMultiUpsilon1S->fill(_histMeanMultiUpsilon1S->binMean(0), weight);
00330                 break;
00331              case 20223:
00332                 _histMeanMultiF1_1285->fill(_histMeanMultiF1_1285->binMean(0), weight);
00333                 break;
00334              case 20333:
00335                 _histMeanMultiF1_1420->fill(_histMeanMultiF1_1420->binMean(0), weight);
00336                 break;
00337              case 445:
00338                 _histMeanMultiChi_c1_3510->fill(_histMeanMultiChi_c1_3510->binMean(0), weight);
00339                 break;
00340              case 225:
00341                 _histMeanMultiF2_1270->fill(_histMeanMultiF2_1270->binMean(0), weight);
00342                 break;
00343              case 335:
00344                 _histMeanMultiF2Prime1525->fill(_histMeanMultiF2Prime1525->binMean(0), weight);
00345                 break;
00346              case 315:
00347                 _histMeanMultiK2Star1430_0->fill(_histMeanMultiK2Star1430_0->binMean(0), weight);
00348                 break;
00349              case 515:
00350              case 525:
00351              case 535:
00352                 _histMeanMultiBStarStar->fill(_histMeanMultiBStarStar->binMean(0), weight);
00353                 break;
00354              case 10433:
00355              case 20433:
00356                 _histMeanMultiDs1Plus->fill(_histMeanMultiDs1Plus->binMean(0), weight);
00357                 break;
00358              case 435:
00359                 _histMeanMultiDs2Plus->fill(_histMeanMultiDs2Plus->binMean(0), weight);
00360                 break;
00361              case 2212:
00362                 _histMeanMultiP->fill(_histMeanMultiP->binMean(0), weight);
00363                 break;
00364              case 3122:
00365                 _histMeanMultiLambda->fill(_histMeanMultiLambda->binMean(0), weight);
00366                 break;
00367              case 3212:
00368                 _histMeanMultiSigma0->fill(_histMeanMultiSigma0->binMean(0), weight);
00369                 break;
00370              case 3112:
00371                 _histMeanMultiSigmaMinus->fill(_histMeanMultiSigmaMinus->binMean(0), weight);
00372                 _histMeanMultiSigmaPlusMinus->fill(_histMeanMultiSigmaPlusMinus->binMean(0), weight);
00373                 break;
00374              case 3222:
00375                 _histMeanMultiSigmaPlus->fill(_histMeanMultiSigmaPlus->binMean(0), weight);
00376                 _histMeanMultiSigmaPlusMinus->fill(_histMeanMultiSigmaPlusMinus->binMean(0), weight);
00377                 break;
00378              case 3312:
00379                 _histMeanMultiXiMinus->fill(_histMeanMultiXiMinus->binMean(0), weight);
00380                 break;
00381              case 2224:
00382                 _histMeanMultiDelta1232PlusPlus->fill(_histMeanMultiDelta1232PlusPlus->binMean(0), weight);
00383                 break;
00384              case 3114:
00385                 _histMeanMultiSigma1385Minus->fill(_histMeanMultiSigma1385Minus->binMean(0), weight);
00386                 _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->binMean(0), weight);
00387                 break;
00388              case 3224:
00389                 _histMeanMultiSigma1385Plus->fill(_histMeanMultiSigma1385Plus->binMean(0), weight);
00390                 _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->binMean(0), weight);
00391                 break;
00392              case 3324:
00393                 _histMeanMultiXi1530_0->fill(_histMeanMultiXi1530_0->binMean(0), weight);
00394                 break;
00395              case 3334:
00396                 _histMeanMultiOmegaMinus->fill(_histMeanMultiOmegaMinus->binMean(0), weight);
00397                 break;
00398              case 4122:
00399                 _histMeanMultiLambda_c_Plus->fill(_histMeanMultiLambda_c_Plus->binMean(0), weight);
00400                 break;
00401              case 5122:
00402                 _histMeanMultiLambda_b_0->fill(_histMeanMultiLambda_b_0->binMean(0), weight);
00403                 break;
00404              case 3124:
00405                 _histMeanMultiLambda1520->fill(_histMeanMultiLambda1520->binMean(0), weight);
00406                 break;
00407           }
00408         }
00409       }
00410 
00411       if (sqrtS()/GeV >= 130 && sqrtS()/GeV <= 200) {
00412         foreach (const Particle& p, ufs.particles()) {
00413           const PdgId id = abs(p.pdgId());
00414           switch (id) {
00415              case 211:
00416                 _weightedTotalNumPiPlus += weight;
00417                 break;
00418              case 321:
00419                 _histMeanMultiKPlus->fill(_histMeanMultiKPlus->binMean(0), weight);
00420                 break;
00421              case 130:
00422              case 310:
00423                 _histMeanMultiK0->fill(_histMeanMultiK0->binMean(0), weight);
00424                 break;
00425              case 2212:
00426                 _histMeanMultiP->fill(_histMeanMultiP->binMean(0), weight);
00427                 break;
00428              case 3122:
00429                 _histMeanMultiLambda->fill(_histMeanMultiLambda->binMean(0), weight);
00430                 break;
00431           }
00432         }
00433       }
00434 
00435     }

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     }

virtual std::vector<std::string> authors (  )  const [inline, virtual, inherited]

Names & emails of paper/analysis authors.

Names and email of authors in 'NAME <EMAIL>' format. The first name in the list should be the primary contact person.

Definition at line 125 of file Analysis.hh.

References AnalysisInfo::authors(), and Analysis::info().

00125                                                  {
00126       return info().authors();
00127     }

const PdgIdPair beamIds (  )  const [inherited]

Incoming beam IDs for this run.

Definition at line 78 of file Analysis.cc.

References AnalysisHandler::beamIds(), and Analysis::handler().

Referenced by UA5_1982_S875503::finalize(), and UA5_1982_S875503::init().

00078                                           {
00079     return handler().beamIds();
00080   }

const ParticlePair & beams (  )  const [inherited]
virtual std::string bibKey (  )  const [inline, virtual, inherited]

BibTeX citation key for this article.

Definition at line 178 of file Analysis.hh.

References AnalysisInfo::bibKey(), and Analysis::info().

00178                                      {
00179       return info().bibKey();
00180     }

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

BibTeX citation entry for this article.

Definition at line 183 of file Analysis.hh.

References AnalysisInfo::bibTeX(), and Analysis::info().

00183                                      {
00184       return info().bibTeX();
00185     }

const BinEdges & binEdges ( size_t  datasetId,
size_t  xAxisId,
size_t  yAxisId 
) const [protected, inherited]

Get bin edges for a numbered histo (using ref AIDA caching).

Definition at line 223 of file Analysis.cc.

References Analysis::binEdges().

00223                                                                                            {
00224     const string hname = makeAxisCode(datasetId, xAxisId, yAxisId);
00225     return binEdges(hname);
00226   }

const BinEdges & binEdges ( const std::string &  hname  )  const [protected, inherited]

Get bin edges for a named histo (using ref AIDA caching).

Definition at line 208 of file Analysis.cc.

References Analysis::_cacheBinEdges(), Analysis::_histBinEdges, Analysis::getLog(), MSG_TRACE, Analysis::name(), and Log::TRACE.

Referenced by ATLAS_2011_S8994773::analyze(), ATLAS_2010_S8894728::analyze(), Analysis::binEdges(), Analysis::bookHistogram1D(), Analysis::bookProfile1D(), D0_2008_S7837160::init(), CDF_1994_S2952106::init(), ATLAS_2011_S9002537::init(), and ATLAS_2010_S8894728::init().

00208                                                               {
00209     _cacheBinEdges();
00210     MSG_TRACE("Using histo bin edges for " << name() << ":" << hname);
00211     const BinEdges& edges = _histBinEdges.find(hname)->second;
00212     if (getLog().isActive(Log::TRACE)) {
00213       stringstream edges_ss;
00214       foreach (const double be, edges) {
00215         edges_ss << " " << be;
00216       }
00217       MSG_TRACE("Edges:" << edges_ss.str());
00218     }
00219     return edges;
00220   }

IDataPointSet * bookDataPointSet ( size_t  datasetId,
size_t  xAxisId,
size_t  yAxisId,
const std::string &  title = "",
const std::string &  xtitle = "",
const std::string &  ytitle = "" 
) [protected, inherited]

Book a 2-dimensional data point set based on the corresponding AIDA data file. The binnings (x-errors) will be obtained by reading the bundled AIDA data record file of the same filename as the analysis' name() property. Book a 2-dimensional data point set based on the paper, dataset and x/y-axis IDs in the corresponding HepData record. The binnings (x-errors) will be obtained by reading the bundled AIDA data record file of the same filename as the analysis' name() property.

Definition at line 418 of file Analysis.cc.

References Analysis::_cacheXAxisData(), Analysis::_dpsData, Analysis::bookDataPointSet(), MSG_TRACE, and Analysis::name().

00420                                                                                         {
00421     // Get the bin edges (only read the AIDA file once)
00422     _cacheXAxisData();
00423     // Build the axis code
00424     const string axisCode = makeAxisCode(datasetId, xAxisId, yAxisId);
00425     //const map<string, vector<DPSXPoint> > xpoints = getDPSXValsErrs(papername);
00426     MSG_TRACE("Using DPS x-positions for " << name() << ":" << axisCode);
00427     IDataPointSet* dps = bookDataPointSet(axisCode, title, xtitle, ytitle);
00428     const vector<DPSXPoint> xpts = _dpsData.find(axisCode)->second;
00429     for (size_t pt = 0; pt < xpts.size(); ++pt) {
00430       dps->addPoint();
00431       IMeasurement* meas = dps->point(pt)->coordinate(0);
00432       meas->setValue(xpts[pt].val);
00433       meas->setErrorPlus(xpts[pt].errplus);
00434       meas->setErrorMinus(xpts[pt].errminus);
00435     }
00436     MSG_TRACE("Made DPS " << axisCode <<  " for " << name());
00437     return dps;
00438   }

IDataPointSet * bookDataPointSet ( const std::string &  name,
size_t  npts,
double  lower,
double  upper,
const std::string &  title = "",
const std::string &  xtitle = "",
const std::string &  ytitle = "" 
) [protected, inherited]

Book a 2-dimensional data point set with equally spaced points in a range. (NB. this returns a pointer rather than a reference since it will have to be stored in the analysis class - there's no point in forcing users to explicitly get the pointer from a reference before they can use it!)

Definition at line 400 of file Analysis.cc.

References Analysis::bookDataPointSet().

00403                                                                                         {
00404     IDataPointSet* dps = bookDataPointSet(hname, title, xtitle, ytitle);
00405     for (size_t pt = 0; pt < npts; ++pt) {
00406       const double binwidth = (upper-lower)/npts;
00407       const double bincentre = lower + (pt + 0.5) * binwidth;
00408       dps->addPoint();
00409       IMeasurement* meas = dps->point(pt)->coordinate(0);
00410       meas->setValue(bincentre);
00411       meas->setErrorPlus(binwidth/2.0);
00412       meas->setErrorMinus(binwidth/2.0);
00413     }
00414     return dps;
00415   }

IDataPointSet * bookDataPointSet ( const std::string &  name,
const std::string &  title = "",
const std::string &  xtitle = "",
const std::string &  ytitle = "" 
) [protected, inherited]

Book a 2-dimensional data point set. (NB. this returns a pointer rather than a reference since it will have to be stored in the analysis class - there's no point in forcing users to explicitly get the pointer from a reference before they can use it!)

Definition at line 388 of file Analysis.cc.

References Analysis::_makeHistoDir(), Analysis::datapointsetFactory(), Analysis::histoPath(), MSG_TRACE, and Analysis::name().

Referenced by Analysis::bookDataPointSet(), ALEPH_2004_S5765862::finalize(), UA5_1988_S1867512::init(), STAR_2006_S6860818::init(), OPAL_1993_S2692198::init(), MC_XS::init(), MC_JetAnalysis::init(), JADE_OPAL_2000_S4300807::init(), D0_2001_S4674421::init(), CDF_2008_S7782535::init(), CDF_2008_S7541902::init(), CDF_2005_S6217184::init(), CDF_1996_S3418421::init(), CDF_1994_S2952106::init(), ATLAS_2011_S9002537::init(), ATLAS_2010_S8894728::init(), and ALEPH_2004_S5765862::init().

00389                                                                                         {
00390     _makeHistoDir();
00391     const string path = histoPath(hname);
00392     IDataPointSet* dps = datapointsetFactory().create(path, title, 2);
00393     MSG_TRACE("Made data point set " << hname <<  " for " << name());
00394     dps->setXTitle(xtitle);
00395     dps->setYTitle(ytitle);
00396     return dps;
00397   }

IHistogram1D * bookHistogram1D ( size_t  datasetId,
size_t  xAxisId,
size_t  yAxisId,
const std::string &  title = "",
const std::string &  xtitle = "",
const std::string &  ytitle = "" 
) [protected, inherited]

Book a 1D histogram based on the paper, dataset and x/y-axis IDs in the corresponding HepData record. The binnings will be obtained by reading the bundled AIDA data record file of the same filename as the analysis' name() property.

Definition at line 242 of file Analysis.cc.

References Analysis::bookHistogram1D().

00245   {
00246     const string axisCode = makeAxisCode(datasetId, xAxisId, yAxisId);
00247     return bookHistogram1D(axisCode, title, xtitle, ytitle);
00248   }

IHistogram1D * bookHistogram1D ( const std::string &  name,
const std::string &  title = "",
const std::string &  xtitle = "",
const std::string &  ytitle = "" 
) [protected, inherited]

Book a 1D histogram based on the name in the corresponding AIDA file. The binnings will be obtained by reading the bundled AIDA data record file with the same filename as the analysis' name() property.

Definition at line 251 of file Analysis.cc.

References Analysis::_makeHistoDir(), Analysis::binEdges(), Analysis::histogramFactory(), Analysis::histoPath(), MSG_TRACE, and Analysis::name().

00253   {
00254     // Get the bin edges (only read the AIDA file once)
00255     const BinEdges edges = binEdges(hname);
00256     _makeHistoDir();
00257     const string path = histoPath(hname);
00258     IHistogram1D* hist = histogramFactory().createHistogram1D(path, title, edges);
00259     MSG_TRACE("Made histogram " << hname <<  " for " << name());
00260     hist->setXTitle(xtitle);
00261     hist->setYTitle(ytitle);
00262     return hist;
00263   }

IHistogram1D * bookHistogram1D ( const std::string &  name,
const std::vector< double > &  binedges,
const std::string &  title = "",
const std::string &  xtitle = "",
const std::string &  ytitle = "" 
) [protected, inherited]

Book a 1D histogram with non-uniform bins defined by the vector of bin edges binedges . (NB. this returns a pointer rather than a reference since it will have to be stored in the analysis class - there's no point in forcing users to explicitly get the pointer from a reference before they can use it!)

Definition at line 280 of file Analysis.cc.

References Analysis::_makeHistoDir(), Analysis::histogramFactory(), Analysis::histoPath(), MSG_TRACE, and Analysis::name().

00283                                                                                       {
00284     _makeHistoDir();
00285     const string path = histoPath(hname);
00286     IHistogram1D* hist = histogramFactory().createHistogram1D(path, title, binedges);
00287     MSG_TRACE("Made histogram " << hname <<  " for " << name());
00288     hist->setXTitle(xtitle);
00289     hist->setYTitle(ytitle);
00290     return hist;
00291   }

IHistogram1D * bookHistogram1D ( const std::string &  name,
size_t  nbins,
double  lower,
double  upper,
const std::string &  title = "",
const std::string &  xtitle = "",
const std::string &  ytitle = "" 
) [protected, inherited]

Book a 1D histogram with nbins uniformly distributed across the range lower - upper . (NB. this returns a pointer rather than a reference since it will have to be stored in the analysis class - there's no point in forcing users to explicitly get the pointer from a reference before they can use it!)

Definition at line 266 of file Analysis.cc.

References Analysis::_makeHistoDir(), Analysis::histogramFactory(), Analysis::histoPath(), MSG_TRACE, and Analysis::name().

Referenced by Analysis::bookHistogram1D(), ZEUS_2001_S4815815::init(), UA5_1989_S1926373::init(), UA5_1987_S1640666::init(), UA5_1986_S1583476::init(), UA5_1982_S875503::init(), UA1_1990_S2044935::init(), TASSO_1990_S2148048::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(), 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_JetAnalysis::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_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_S7541902::init(), CDF_2008_S7540469::init(), CDF_2007_S7057202::init(), CDF_2006_S6653332::init(), CDF_2006_S6450792::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_S8983313::init(), ATLAS_2011_S8971293::init(), ATLAS_2011_CONF_2011_090::init(), ATLAS_2010_S8919674::init(), ATLAS_2010_S8918562::init(), ATLAS_2010_S8914702::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(), and ALEPH_1991_S2435284::init().

00269                                                                                       {
00270     _makeHistoDir();
00271     const string path = histoPath(hname);
00272     IHistogram1D* hist = histogramFactory().createHistogram1D(path, title, nbins, lower, upper);
00273     MSG_TRACE("Made histogram " << hname <<  " for " << name());
00274     hist->setXTitle(xtitle);
00275     hist->setYTitle(ytitle);
00276     return hist;
00277   }

IHistogram2D * bookHistogram2D ( const std::string &  name,
const std::vector< double > &  xbinedges,
const std::vector< double > &  ybinedges,
const std::string &  title = "",
const std::string &  xtitle = "",
const std::string &  ytitle = "",
const std::string &  ztitle = "" 
) [protected, inherited]

Book a 2D histogram with non-uniform bins defined by the vectorx of bin edges xbinedges and ybinedges. (NB. this returns a pointer rather than a reference since it will have to be stored in the analysis class - there's no point in forcing users to explicitly get the pointer from a reference before they can use it!)

Definition at line 313 of file Analysis.cc.

References Analysis::_makeHistoDir(), Analysis::histogramFactory(), Analysis::histoPath(), MSG_TRACE, and Analysis::name().

00317                                                             {
00318     _makeHistoDir();
00319     const string path = histoPath(hname);
00320     IHistogram2D* hist =
00321       histogramFactory().createHistogram2D(path, title, xbinedges, ybinedges);
00322     MSG_TRACE("Made 2D histogram " << hname <<  " for " << name());
00323     hist->setXTitle(xtitle);
00324     hist->setYTitle(ytitle);
00325     hist->setZTitle(ztitle);
00326     return hist;
00327   }

IHistogram2D * bookHistogram2D ( const std::string &  name,
size_t  nxbins,
double  xlower,
double  xupper,
size_t  nybins,
double  ylower,
double  yupper,
const std::string &  title = "",
const std::string &  xtitle = "",
const std::string &  ytitle = "",
const std::string &  ztitle = "" 
) [protected, inherited]

Book a 2D histogram with nxbins and nybins uniformly distributed across the ranges xlower - xupper and ylower - yupper respectively along the x- and y-axis. (NB. this returns a pointer rather than a reference since it will have to be stored in the analysis class - there's no point in forcing users to explicitly get the pointer from a reference before they can use it!)

Definition at line 294 of file Analysis.cc.

References Analysis::_makeHistoDir(), Analysis::histogramFactory(), Analysis::histoPath(), MSG_TRACE, and Analysis::name().

00298                                                             {
00299     _makeHistoDir();
00300     const string path = histoPath(hname);
00301     IHistogram2D* hist =
00302       histogramFactory().createHistogram2D(path, title, nxbins, xlower, xupper,
00303                        nybins, ylower, yupper);
00304     MSG_TRACE("Made 2D histogram " << hname <<  " for " << name());
00305     hist->setXTitle(xtitle);
00306     hist->setYTitle(ytitle);
00307     hist->setZTitle(ztitle);
00308     return hist;
00309   }

IProfile1D * bookProfile1D ( size_t  datasetId,
size_t  xAxisId,
size_t  yAxisId,
const std::string &  title = "",
const std::string &  xtitle = "",
const std::string &  ytitle = "" 
) [protected, inherited]

Book a 1D profile histogram based on the paper, dataset and x/y-axis IDs in the corresponding HepData record. The binnings will be obtained by reading the bundled AIDA data record file of the same filename as the analysis' name() property.

Definition at line 333 of file Analysis.cc.

References Analysis::bookProfile1D().

00335                                                                                   {
00336     const string axisCode = makeAxisCode(datasetId, xAxisId, yAxisId);
00337     return bookProfile1D(axisCode, title, xtitle, ytitle);
00338   }

IProfile1D * bookProfile1D ( const std::string &  name,
const std::string &  title = "",
const std::string &  xtitle = "",
const std::string &  ytitle = "" 
) [protected, inherited]

Book a 1D profile histogram based on the name in the corresponding AIDA file. The binnings will be obtained by reading the bundled AIDA data record file with the same filename as the analysis' name() property.

Definition at line 341 of file Analysis.cc.

References Analysis::_makeHistoDir(), Analysis::binEdges(), Analysis::histogramFactory(), Analysis::histoPath(), MSG_TRACE, and Analysis::name().

00343   {
00344     // Get the bin edges (only read the AIDA file once)
00345     const BinEdges edges = binEdges(hname);
00346     _makeHistoDir();
00347     const string path = histoPath(hname);
00348     IProfile1D* prof = histogramFactory().createProfile1D(path, title, edges);
00349     MSG_TRACE("Made profile histogram " << hname <<  " for " << name());
00350     prof->setXTitle(xtitle);
00351     prof->setYTitle(ytitle);
00352     return prof;
00353   }

IProfile1D * bookProfile1D ( const std::string &  name,
const std::vector< double > &  binedges,
const std::string &  title = "",
const std::string &  xtitle = "",
const std::string &  ytitle = "" 
) [protected, inherited]

Book a 1D profile histogram with non-uniform bins defined by the vector of bin edges binedges . (NB. this returns a pointer rather than a reference since it will have to be stored in the analysis class - there's no point in forcing users to explicitly get the pointer from a reference before they can use it!)

Definition at line 370 of file Analysis.cc.

References Analysis::_makeHistoDir(), Analysis::histogramFactory(), Analysis::histoPath(), MSG_TRACE, and Analysis::name().

00373                                                                                   {
00374     _makeHistoDir();
00375     const string path = histoPath(hname);
00376     IProfile1D* prof = histogramFactory().createProfile1D(path, title, binedges);
00377     MSG_TRACE("Made profile histogram " << hname <<  " for " << name());
00378     prof->setXTitle(xtitle);
00379     prof->setYTitle(ytitle);
00380     return prof;
00381   }

IProfile1D * bookProfile1D ( const std::string &  name,
size_t  nbins,
double  lower,
double  upper,
const std::string &  title = "",
const std::string &  xtitle = "",
const std::string &  ytitle = "" 
) [protected, inherited]

Book a 1D profile histogram with nbins uniformly distributed across the range lower - upper . (NB. this returns a pointer rather than a reference since it will have to be stored in the analysis class - there's no point in forcing users to explicitly get the pointer from a reference before they can use it!)

Definition at line 356 of file Analysis.cc.

References Analysis::_makeHistoDir(), Analysis::histogramFactory(), Analysis::histoPath(), MSG_TRACE, and Analysis::name().

Referenced by Analysis::bookProfile1D(), UA1_1990_S2044935::init(), STAR_2009_UE_HELEN::init(), STAR_2008_S7993412::init(), STAR_2006_S6860818::init(), MC_WPOL::init(), MC_PHOTONJETUE::init(), MC_LEADINGJETS::init(), MC_GENERIC::init(), H1_2000_S4129130::init(), H1_1994_S2919893::init(), DELPHI_2002_069_CONF_603::init(), DELPHI_1996_S3430090::init(), D0_1996_S3324664::init(), CMS_2011_S8884919::init(), CDF_2010_S8591881_QCD::init(), CDF_2010_S8591881_DY::init(), CDF_2009_S8233977::init(), CDF_2008_S7782535::init(), CDF_2008_NOTE_9351::init(), CDF_2008_LEADINGJETS::init(), CDF_2005_S6217184::init(), CDF_2004_S5839831::init(), CDF_2002_S4796047::init(), CDF_2001_S4751469::init(), ATLAS_2011_S8994773::init(), ATLAS_2011_S8924791::init(), ATLAS_2010_S8918562::init(), ATLAS_2010_S8894728::init(), ATLAS_2010_S8591806::init(), and ALICE_2010_S8706239::init().

00359                                                                                   {
00360     _makeHistoDir();
00361     const string path = histoPath(hname);
00362     IProfile1D* prof = histogramFactory().createProfile1D(path, title, nbins, lower, upper);
00363     MSG_TRACE("Made profile histogram " << hname <<  " for " << name());
00364     prof->setXTitle(xtitle);
00365     prof->setYTitle(ytitle);
00366     return prof;
00367   }

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

Collider on which the experiment ran.

Definition at line 163 of file Analysis.hh.

References AnalysisInfo::collider(), and Analysis::info().

00163                                        {
00164       return info().collider();
00165     }

double crossSection (  )  const [protected, inherited]

Get the process cross-section in pb. Throws if this hasn't been set.

Definition at line 171 of file Analysis.cc.

References Analysis::_crossSection, Analysis::_gotCrossSection, and Analysis::name().

Referenced by STAR_2006_S6870392::finalize(), MC_ZZJETS::finalize(), MC_ZJETS::finalize(), MC_XS::finalize(), MC_WWJETS::finalize(), MC_WJETS::finalize(), MC_JetAnalysis::finalize(), MC_HJETS::finalize(), MC_DIPHOTON::finalize(), D0_2010_S8570965::finalize(), D0_2010_S8566488::finalize(), D0_2008_S7863608::finalize(), D0_2008_S7719523::finalize(), D0_2008_S7662670::finalize(), D0_2006_S6438750::finalize(), D0_2000_S4480767::finalize(), CDF_2009_S8436959::finalize(), CDF_2009_S8383952::finalize(), CDF_2009_S8233977::finalize(), CDF_2008_S8093652::finalize(), CDF_2008_S7828950::finalize(), CDF_2008_S7541902::finalize(), CDF_2008_S7540469::finalize(), CDF_2006_S6653332::finalize(), CDF_2006_S6450792::finalize(), CDF_2005_S6080774::finalize(), CDF_2001_S4563131::finalize(), CDF_2001_S4517016::finalize(), CDF_2000_S4266730::finalize(), CDF_2000_S4155203::finalize(), CDF_1998_S3618439::finalize(), ATLAS_2011_S9120807::finalize(), ATLAS_2011_CONF_2011_090::finalize(), ATLAS_2010_S8919674::finalize(), ATLAS_2010_S8914702::finalize(), and ATLAS_2010_CONF_2010_049::finalize().

00171                                       {
00172     if (!_gotCrossSection || std::isnan(_crossSection)) {
00173       string errMsg = "You did not set the cross section for the analysis " + name();
00174       throw Error(errMsg);
00175     }
00176     return _crossSection;
00177   }

double crossSectionPerEvent (  )  const [protected, inherited]

Get the process cross-section per generated event in pb. Throws if this hasn't been set.

Definition at line 179 of file Analysis.cc.

References Analysis::_crossSection, and Analysis::sumOfWeights().

Referenced by UA1_1990_S2044935::finalize(), MC_WPOL::finalize(), MC_PHOTONJETS::finalize(), D0_2010_S8671338::finalize(), D0_2009_S8349509::finalize(), D0_2001_S4674421::finalize(), CDF_2007_S7057202::finalize(), CDF_1988_S1865951::finalize(), and ATLAS_2010_S8817804::finalize().

00179                                               {
00180     const double sumW = sumOfWeights();
00181     assert(sumW > 0);
00182     return _crossSection / sumW;
00183   }

IDataPointSetFactory & datapointsetFactory (  )  [protected, inherited]

Access the AIDA histogram factory of the controlling AnalysisHandler object.

Definition at line 65 of file Analysis.cc.

References AnalysisHandler::datapointsetFactory(), and Analysis::handler().

Referenced by Analysis::bookDataPointSet(), and Analysis::scale().

00065                                                       {
00066     return handler().datapointsetFactory();
00067   }

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

Get a full description of the analysis.

Full textual description of this analysis, what it is useful for, what experimental techniques are applied, etc. Should be treated as a chunk of restructuredText (http://docutils.sourceforge.net/rst.html), with equations to be rendered as LaTeX with amsmath operators.

Definition at line 144 of file Analysis.hh.

References AnalysisInfo::description(), and Analysis::info().

00144                                           {
00145       return info().description();
00146     }

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

Experiment which performed and published this analysis.

Definition at line 158 of file Analysis.hh.

References AnalysisInfo::experiment(), and Analysis::info().

00158                                          {
00159       return info().experiment();
00160     }

void finalize (  )  [inline, virtual]

Finalize this analysis object. A concrete class should here make all necessary operations on the histograms. Writing the histograms to a file is, however, done by the Rivet class. An overridden function must make sure it first calls the base class function.

Implements Analysis.

Definition at line 571 of file PDG_Hadron_Multiplicities_Ratios.cc.

References PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiA0_980Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiB0_s, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiBPlus_B0_d, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiBPlus_u, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiBStar, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiBStarStar, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiChi_c1_3510, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiD0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDelta1232PlusPlus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDPlus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDPlus_s, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDs1Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDs2Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDStar2007_0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDStar2010Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDStar_s2112Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiEta, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiEtaPrime, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiF0_980, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiF1_1285, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiF1_1420, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiF2_1270, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiF2Prime1525, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiJPsi1S, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiK0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiK2Star1430_0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiK2Star1430Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiKPlus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiKStar892_0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiKStar892Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiLambda, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiLambda1520, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiLambda_b_0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiLambda_c_Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiOmega782, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiOmegaMinus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiP, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiPhi1020, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiPi0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiPsi2S, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiRho770_0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiRho770Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigma0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigma1385Minus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigma1385Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigma1385PlusMinus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigma_c_PlusPlus_0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigmaMinus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigmaPlus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigmaPlusMinus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiUpsilon1S, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiXi1530_0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiXiMinus, PDG_HADRON_MULTIPLICITIES_RATIOS::_weightedTotalNumPiPlus, Rivet::GeV, Analysis::scale(), and Analysis::sqrtS().

00571                     {
00572       if (sqrtS()/GeV >= 9.5 && sqrtS()/GeV <= 10.5) {
00573         scale(_histMeanMultiPi0               , 1.0/_weightedTotalNumPiPlus);
00574         scale(_histMeanMultiKPlus             , 1.0/_weightedTotalNumPiPlus);
00575         scale(_histMeanMultiK0                , 1.0/_weightedTotalNumPiPlus);
00576         scale(_histMeanMultiEta               , 1.0/_weightedTotalNumPiPlus);
00577         scale(_histMeanMultiEtaPrime          , 1.0/_weightedTotalNumPiPlus);
00578         scale(_histMeanMultiDPlus             , 1.0/_weightedTotalNumPiPlus);
00579         scale(_histMeanMultiD0                , 1.0/_weightedTotalNumPiPlus);
00580         scale(_histMeanMultiDPlus_s           , 1.0/_weightedTotalNumPiPlus);
00581         scale(_histMeanMultiF0_980            , 1.0/_weightedTotalNumPiPlus);
00582         scale(_histMeanMultiRho770_0          , 1.0/_weightedTotalNumPiPlus);
00583         scale(_histMeanMultiOmega782          , 1.0/_weightedTotalNumPiPlus);
00584         scale(_histMeanMultiKStar892Plus      , 1.0/_weightedTotalNumPiPlus);
00585         scale(_histMeanMultiKStar892_0        , 1.0/_weightedTotalNumPiPlus);
00586         scale(_histMeanMultiPhi1020           , 1.0/_weightedTotalNumPiPlus);
00587         scale(_histMeanMultiDStar2010Plus     , 1.0/_weightedTotalNumPiPlus);
00588         scale(_histMeanMultiDStar2007_0       , 1.0/_weightedTotalNumPiPlus);
00589         scale(_histMeanMultiDStar_s2112Plus   , 1.0/_weightedTotalNumPiPlus);
00590         scale(_histMeanMultiJPsi1S            , 1.0/_weightedTotalNumPiPlus);
00591         scale(_histMeanMultiF2_1270           , 1.0/_weightedTotalNumPiPlus);
00592         scale(_histMeanMultiP                 , 1.0/_weightedTotalNumPiPlus);
00593         scale(_histMeanMultiLambda            , 1.0/_weightedTotalNumPiPlus);
00594         scale(_histMeanMultiSigma0            , 1.0/_weightedTotalNumPiPlus);
00595         scale(_histMeanMultiXiMinus           , 1.0/_weightedTotalNumPiPlus);
00596         scale(_histMeanMultiDelta1232PlusPlus , 1.0/_weightedTotalNumPiPlus);
00597         scale(_histMeanMultiSigma1385Minus    , 1.0/_weightedTotalNumPiPlus);
00598         scale(_histMeanMultiSigma1385Plus     , 1.0/_weightedTotalNumPiPlus);
00599         scale(_histMeanMultiSigma1385PlusMinus, 1.0/_weightedTotalNumPiPlus);
00600         scale(_histMeanMultiXi1530_0          , 1.0/_weightedTotalNumPiPlus);
00601         scale(_histMeanMultiOmegaMinus        , 1.0/_weightedTotalNumPiPlus);
00602         scale(_histMeanMultiLambda_c_Plus     , 1.0/_weightedTotalNumPiPlus);
00603         scale(_histMeanMultiSigma_c_PlusPlus_0, 1.0/_weightedTotalNumPiPlus);
00604         scale(_histMeanMultiLambda1520        , 1.0/_weightedTotalNumPiPlus);
00605       }
00606 
00607       if (sqrtS()/GeV >= 29 && sqrtS()/GeV <= 35) {
00608         scale(_histMeanMultiPi0               , 1.0/_weightedTotalNumPiPlus);
00609         scale(_histMeanMultiKPlus             , 1.0/_weightedTotalNumPiPlus);
00610         scale(_histMeanMultiK0                , 1.0/_weightedTotalNumPiPlus);
00611         scale(_histMeanMultiEta               , 1.0/_weightedTotalNumPiPlus);
00612         scale(_histMeanMultiEtaPrime          , 1.0/_weightedTotalNumPiPlus);
00613         scale(_histMeanMultiDPlus             , 1.0/_weightedTotalNumPiPlus);
00614         scale(_histMeanMultiD0                , 1.0/_weightedTotalNumPiPlus);
00615         scale(_histMeanMultiDPlus_s           , 1.0/_weightedTotalNumPiPlus);
00616         scale(_histMeanMultiF0_980            , 1.0/_weightedTotalNumPiPlus);
00617         scale(_histMeanMultiRho770_0          , 1.0/_weightedTotalNumPiPlus);
00618         scale(_histMeanMultiKStar892Plus      , 1.0/_weightedTotalNumPiPlus);
00619         scale(_histMeanMultiKStar892_0        , 1.0/_weightedTotalNumPiPlus);
00620         scale(_histMeanMultiPhi1020           , 1.0/_weightedTotalNumPiPlus);
00621         scale(_histMeanMultiDStar2010Plus     , 1.0/_weightedTotalNumPiPlus);
00622         scale(_histMeanMultiDStar2007_0       , 1.0/_weightedTotalNumPiPlus);
00623         scale(_histMeanMultiF2_1270           , 1.0/_weightedTotalNumPiPlus);
00624         scale(_histMeanMultiK2Star1430Plus    , 1.0/_weightedTotalNumPiPlus);
00625         scale(_histMeanMultiK2Star1430_0      , 1.0/_weightedTotalNumPiPlus);
00626         scale(_histMeanMultiP                 , 1.0/_weightedTotalNumPiPlus);
00627         scale(_histMeanMultiLambda            , 1.0/_weightedTotalNumPiPlus);
00628         scale(_histMeanMultiXiMinus           , 1.0/_weightedTotalNumPiPlus);
00629         scale(_histMeanMultiSigma1385Minus    , 1.0/_weightedTotalNumPiPlus);
00630         scale(_histMeanMultiSigma1385Plus     , 1.0/_weightedTotalNumPiPlus);
00631         scale(_histMeanMultiSigma1385PlusMinus, 1.0/_weightedTotalNumPiPlus);
00632         scale(_histMeanMultiOmegaMinus        , 1.0/_weightedTotalNumPiPlus);
00633         scale(_histMeanMultiLambda_c_Plus     , 1.0/_weightedTotalNumPiPlus);
00634       }
00635 
00636       if (sqrtS()/GeV >= 89.5 && sqrtS()/GeV <= 91.8) {
00637         scale(_histMeanMultiPi0               , 1.0/_weightedTotalNumPiPlus);
00638         scale(_histMeanMultiKPlus             , 1.0/_weightedTotalNumPiPlus);
00639         scale(_histMeanMultiK0                , 1.0/_weightedTotalNumPiPlus);
00640         scale(_histMeanMultiEta               , 1.0/_weightedTotalNumPiPlus);
00641         scale(_histMeanMultiEtaPrime          , 1.0/_weightedTotalNumPiPlus);
00642         scale(_histMeanMultiDPlus             , 1.0/_weightedTotalNumPiPlus);
00643         scale(_histMeanMultiD0                , 1.0/_weightedTotalNumPiPlus);
00644         scale(_histMeanMultiDPlus_s           , 1.0/_weightedTotalNumPiPlus);
00645         scale(_histMeanMultiBPlus_B0_d        , 1.0/_weightedTotalNumPiPlus);
00646         scale(_histMeanMultiBPlus_u           , 1.0/_weightedTotalNumPiPlus);
00647         scale(_histMeanMultiB0_s              , 1.0/_weightedTotalNumPiPlus);
00648         scale(_histMeanMultiF0_980            , 1.0/_weightedTotalNumPiPlus);
00649         scale(_histMeanMultiA0_980Plus        , 1.0/_weightedTotalNumPiPlus);
00650         scale(_histMeanMultiRho770_0          , 1.0/_weightedTotalNumPiPlus);
00651         scale(_histMeanMultiRho770Plus        , 1.0/_weightedTotalNumPiPlus);
00652         scale(_histMeanMultiOmega782          , 1.0/_weightedTotalNumPiPlus);
00653         scale(_histMeanMultiKStar892Plus      , 1.0/_weightedTotalNumPiPlus);
00654         scale(_histMeanMultiKStar892_0        , 1.0/_weightedTotalNumPiPlus);
00655         scale(_histMeanMultiPhi1020           , 1.0/_weightedTotalNumPiPlus);
00656         scale(_histMeanMultiDStar2010Plus     , 1.0/_weightedTotalNumPiPlus);
00657         scale(_histMeanMultiDStar_s2112Plus   , 1.0/_weightedTotalNumPiPlus);
00658         scale(_histMeanMultiBStar             , 1.0/_weightedTotalNumPiPlus);
00659         scale(_histMeanMultiJPsi1S            , 1.0/_weightedTotalNumPiPlus);
00660         scale(_histMeanMultiPsi2S             , 1.0/_weightedTotalNumPiPlus);
00661         scale(_histMeanMultiUpsilon1S         , 1.0/_weightedTotalNumPiPlus);
00662         scale(_histMeanMultiF1_1285           , 1.0/_weightedTotalNumPiPlus);
00663         scale(_histMeanMultiF1_1420           , 1.0/_weightedTotalNumPiPlus);
00664         scale(_histMeanMultiChi_c1_3510       , 1.0/_weightedTotalNumPiPlus);
00665         scale(_histMeanMultiF2_1270           , 1.0/_weightedTotalNumPiPlus);
00666         scale(_histMeanMultiF2Prime1525       , 1.0/_weightedTotalNumPiPlus);
00667         scale(_histMeanMultiK2Star1430_0      , 1.0/_weightedTotalNumPiPlus);
00668         scale(_histMeanMultiBStarStar         , 1.0/_weightedTotalNumPiPlus);
00669         scale(_histMeanMultiDs1Plus           , 1.0/_weightedTotalNumPiPlus);
00670         scale(_histMeanMultiDs2Plus           , 1.0/_weightedTotalNumPiPlus);
00671         scale(_histMeanMultiP                 , 1.0/_weightedTotalNumPiPlus);
00672         scale(_histMeanMultiLambda            , 1.0/_weightedTotalNumPiPlus);
00673         scale(_histMeanMultiSigma0            , 1.0/_weightedTotalNumPiPlus);
00674         scale(_histMeanMultiSigmaMinus        , 1.0/_weightedTotalNumPiPlus);
00675         scale(_histMeanMultiSigmaPlus         , 1.0/_weightedTotalNumPiPlus);
00676         scale(_histMeanMultiSigmaPlusMinus    , 1.0/_weightedTotalNumPiPlus);
00677         scale(_histMeanMultiXiMinus           , 1.0/_weightedTotalNumPiPlus);
00678         scale(_histMeanMultiDelta1232PlusPlus , 1.0/_weightedTotalNumPiPlus);
00679         scale(_histMeanMultiSigma1385Minus    , 1.0/_weightedTotalNumPiPlus);
00680         scale(_histMeanMultiSigma1385Plus     , 1.0/_weightedTotalNumPiPlus);
00681         scale(_histMeanMultiSigma1385PlusMinus, 1.0/_weightedTotalNumPiPlus);
00682         scale(_histMeanMultiXi1530_0          , 1.0/_weightedTotalNumPiPlus);
00683         scale(_histMeanMultiOmegaMinus        , 1.0/_weightedTotalNumPiPlus);
00684         scale(_histMeanMultiLambda_c_Plus     , 1.0/_weightedTotalNumPiPlus);
00685         scale(_histMeanMultiLambda_b_0        , 1.0/_weightedTotalNumPiPlus);
00686         scale(_histMeanMultiLambda1520        , 1.0/_weightedTotalNumPiPlus);
00687       }
00688 
00689       if (sqrtS()/GeV >= 130 && sqrtS()/GeV <= 200) {
00690         scale(_histMeanMultiKPlus            , 1.0/_weightedTotalNumPiPlus);
00691         scale(_histMeanMultiK0               , 1.0/_weightedTotalNumPiPlus);
00692         scale(_histMeanMultiP                , 1.0/_weightedTotalNumPiPlus);
00693         scale(_histMeanMultiLambda           , 1.0/_weightedTotalNumPiPlus);
00694       }
00695     }

Log & getLog (  )  const [protected, inherited]

Get a Log object based on the name() property of the calling analysis object.

Reimplemented from ProjectionApplier.

Definition at line 102 of file Analysis.cc.

References Analysis::name().

Referenced by CDF_2004_S5839831::_calcTransCones(), CDF_1996_S3349578::_fiveJetAnalysis(), CDF_1996_S3349578::_fourJetAnalysis(), D0_1996_S3214044::_safeMass(), CDF_1997_S3541940::_safeMass(), CDF_1996_S3349578::_safeMass(), CDF_1996_S3349578::_threeJetAnalysis(), ZEUS_2001_S4815815::analyze(), UA5_1986_S1583476::analyze(), TASSO_1990_S2148048::analyze(), STAR_2009_UE_HELEN::analyze(), STAR_2008_S7993412::analyze(), STAR_2006_S6870392::analyze(), STAR_2006_S6860818::analyze(), STAR_2006_S6500200::analyze(), SFM_1984_S1178091::analyze(), PDG_HADRON_MULTIPLICITIES_RATIOS::analyze(), OPAL_1998_S3780481::analyze(), MC_SUSY::analyze(), MC_PHOTONJETUE::analyze(), MC_LEADINGJETS::analyze(), MC_JetAnalysis::analyze(), JADE_1998_S3612880::analyze(), H1_1994_S2919893::analyze(), DELPHI_2003_WUD_03_11::analyze(), DELPHI_2002_069_CONF_603::analyze(), DELPHI_1996_S3430090::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_S7662670::analyze(), D0_2008_S7554427::analyze(), D0_2007_S7075677::analyze(), D0_2004_S5992206::analyze(), CMS_2011_S8884919::analyze(), CDF_2010_S8591881_QCD::analyze(), CDF_2010_S8591881_DY::analyze(), CDF_2009_S8383952::analyze(), CDF_2008_S8095620::analyze(), CDF_2008_S7782535::analyze(), CDF_2008_S7540469::analyze(), CDF_2008_NOTE_9351::analyze(), CDF_2008_LEADINGJETS::analyze(), CDF_2006_S6653332::analyze(), CDF_2004_S5839831::analyze(), CDF_2001_S4751469::analyze(), BELLE_2006_S6265367::analyze(), ALEPH_1996_S3486095::analyze(), ALEPH_1991_S2435284::analyze(), Analysis::binEdges(), CDF_2009_S8057893::CDF_2009_S8057893::analyze(), UA5_1986_S1583476::finalize(), STAR_2006_S6860818::finalize(), STAR_2006_S6500200::finalize(), DELPHI_2003_WUD_03_11::finalize(), D0_2001_S4674421::finalize(), CDF_2006_S6653332::finalize(), ZEUS_2001_S4815815::init(), and ALEPH_2004_S5765862::init().

00102                               {
00103     string logname = "Rivet.Analysis." + name();
00104     return Log::getLog(logname);
00105   }

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]
AnalysisHandler& handler (  )  const [inline, inherited]
const string histoDir (  )  const [protected, inherited]

Get the canonical histogram "directory" path for this analysis.

Todo:
This doesn't change: calc and cache at first use!

Definition at line 83 of file Analysis.cc.

References Analysis::handler(), Analysis::name(), and AnalysisHandler::runName().

Referenced by Analysis::_makeHistoDir(), STAR_2006_S6860818::finalize(), STAR_2006_S6500200::finalize(), MC_WJETS::finalize(), D0_2008_S7837160::finalize(), D0_2008_S7719523::finalize(), CMS_2011_S8978280::finalize(), and Analysis::histoPath().

00083                                         {
00084     /// @todo This doesn't change: calc and cache at first use!
00085     string path = "/" + name();
00086     if (handler().runName().length() > 0) {
00087       path = "/" + handler().runName() + path;
00088     }
00089     while (find_first(path, "//")) {
00090       replace_all(path, "//", "/");
00091     }
00092     return path;
00093   }

IHistogramFactory & histogramFactory (  )  [protected, inherited]
const string histoPath ( const std::string &  hname  )  const [protected, inherited]

Get the canonical histogram path for the named histogram in this analysis.

Definition at line 96 of file Analysis.cc.

References Analysis::histoDir().

Referenced by Analysis::bookDataPointSet(), Analysis::bookHistogram1D(), Analysis::bookHistogram2D(), Analysis::bookProfile1D(), MC_JetAnalysis::finalize(), and MC_GENERIC::finalize().

00096                                                             {
00097     const string path = histoDir() + "/" + hname;
00098     return path;
00099   }

AnalysisInfo& info (  )  [inline, inherited]

Get the actual AnalysisInfo object in which all this metadata is stored (non-const).

Definition at line 237 of file Analysis.hh.

References Analysis::_info.

00237                          {
00238       assert(_info.get() != 0 && "No AnalysisInfo object :O");
00239       return *_info;
00240     }

const AnalysisInfo& info (  )  const [inline, inherited]
void init (  )  [inline, virtual]

Initialize this analysis object. A concrete class should here book all necessary histograms. An overridden function must make sure it first calls the base class function.

Implements Analysis.

Definition at line 439 of file PDG_Hadron_Multiplicities_Ratios.cc.

References PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiA0_980Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiB0_s, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiBPlus_B0_d, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiBPlus_u, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiBStar, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiBStarStar, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiChi_c1_3510, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiD0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDelta1232PlusPlus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDPlus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDPlus_s, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDs1Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDs2Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDStar2007_0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDStar2010Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiDStar_s2112Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiEta, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiEtaPrime, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiF0_980, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiF1_1285, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiF1_1420, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiF2_1270, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiF2Prime1525, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiJPsi1S, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiK0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiK2Star1430_0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiK2Star1430Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiKPlus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiKStar892_0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiKStar892Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiLambda, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiLambda1520, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiLambda_b_0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiLambda_c_Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiOmega782, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiOmegaMinus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiP, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiPhi1020, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiPi0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiPsi2S, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiRho770_0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiRho770Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigma0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigma1385Minus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigma1385Plus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigma1385PlusMinus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigma_c_PlusPlus_0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigmaMinus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigmaPlus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiSigmaPlusMinus, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiUpsilon1S, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiXi1530_0, PDG_HADRON_MULTIPLICITIES_RATIOS::_histMeanMultiXiMinus, ProjectionApplier::addProjection(), Analysis::bookHistogram1D(), Rivet::GeV, and Analysis::sqrtS().

00439                 {
00440       addProjection(ChargedFinalState(), "FS");
00441       addProjection(UnstableFinalState(), "UFS");
00442 
00443       if (sqrtS()/GeV >= 9.5 && sqrtS()/GeV <= 10.5) {
00444         _histMeanMultiPi0                = bookHistogram1D( 2, 1, 1);
00445         _histMeanMultiKPlus              = bookHistogram1D( 3, 1, 1);
00446         _histMeanMultiK0                 = bookHistogram1D( 4, 1, 1);
00447         _histMeanMultiEta                = bookHistogram1D( 5, 1, 1);
00448         _histMeanMultiEtaPrime           = bookHistogram1D( 6, 1, 1);
00449         _histMeanMultiDPlus              = bookHistogram1D( 7, 1, 1);
00450         _histMeanMultiD0                 = bookHistogram1D( 8, 1, 1);
00451         _histMeanMultiDPlus_s            = bookHistogram1D( 9, 1, 1);
00452         _histMeanMultiF0_980             = bookHistogram1D(13, 1, 1);
00453         _histMeanMultiRho770_0           = bookHistogram1D(15, 1, 1);
00454         _histMeanMultiOmega782           = bookHistogram1D(17, 1, 1);
00455         _histMeanMultiKStar892Plus       = bookHistogram1D(18, 1, 1);
00456         _histMeanMultiKStar892_0         = bookHistogram1D(19, 1, 1);
00457         _histMeanMultiPhi1020            = bookHistogram1D(20, 1, 1);
00458         _histMeanMultiDStar2010Plus      = bookHistogram1D(21, 1, 1);
00459         _histMeanMultiDStar2007_0        = bookHistogram1D(22, 1, 1);
00460         _histMeanMultiDStar_s2112Plus    = bookHistogram1D(23, 1, 1);
00461         _histMeanMultiJPsi1S             = bookHistogram1D(25, 1, 1);
00462         _histMeanMultiF2_1270            = bookHistogram1D(31, 1, 1);
00463         _histMeanMultiP                  = bookHistogram1D(38, 1, 1);
00464         _histMeanMultiLambda             = bookHistogram1D(39, 1, 1);
00465         _histMeanMultiSigma0             = bookHistogram1D(40, 1, 1);
00466         _histMeanMultiXiMinus            = bookHistogram1D(44, 1, 1);
00467         _histMeanMultiDelta1232PlusPlus  = bookHistogram1D(45, 1, 1);
00468         _histMeanMultiSigma1385Minus     = bookHistogram1D(46, 1, 1);
00469         _histMeanMultiSigma1385Plus      = bookHistogram1D(47, 1, 1);
00470         _histMeanMultiSigma1385PlusMinus = bookHistogram1D(48, 1, 1);
00471         _histMeanMultiXi1530_0           = bookHistogram1D(49, 1, 1);
00472         _histMeanMultiOmegaMinus         = bookHistogram1D(50, 1, 1);
00473         _histMeanMultiLambda_c_Plus      = bookHistogram1D(51, 1, 1);
00474         _histMeanMultiSigma_c_PlusPlus_0 = bookHistogram1D(53, 1, 1);
00475         _histMeanMultiLambda1520         = bookHistogram1D(54, 1, 1);
00476       }
00477 
00478       if (sqrtS()/GeV >= 29 && sqrtS()/GeV <= 35) {
00479         _histMeanMultiPi0                = bookHistogram1D( 2, 1, 2);
00480         _histMeanMultiKPlus              = bookHistogram1D( 3, 1, 2);
00481         _histMeanMultiK0                 = bookHistogram1D( 4, 1, 2);
00482         _histMeanMultiEta                = bookHistogram1D( 5, 1, 2);
00483         _histMeanMultiEtaPrime           = bookHistogram1D( 6, 1, 2);
00484         _histMeanMultiDPlus              = bookHistogram1D( 7, 1, 2);
00485         _histMeanMultiD0                 = bookHistogram1D( 8, 1, 2);
00486         _histMeanMultiDPlus_s            = bookHistogram1D( 9, 1, 2);
00487         _histMeanMultiF0_980             = bookHistogram1D(13, 1, 2);
00488         _histMeanMultiRho770_0           = bookHistogram1D(15, 1, 2);
00489         _histMeanMultiKStar892Plus       = bookHistogram1D(18, 1, 2);
00490         _histMeanMultiKStar892_0         = bookHistogram1D(19, 1, 2);
00491         _histMeanMultiPhi1020            = bookHistogram1D(20, 1, 2);
00492         _histMeanMultiDStar2010Plus      = bookHistogram1D(21, 1, 2);
00493         _histMeanMultiDStar2007_0        = bookHistogram1D(22, 1, 2);
00494         _histMeanMultiF2_1270            = bookHistogram1D(31, 1, 2);
00495         _histMeanMultiK2Star1430Plus     = bookHistogram1D(33, 1, 1);
00496         _histMeanMultiK2Star1430_0       = bookHistogram1D(34, 1, 1);
00497         _histMeanMultiP                  = bookHistogram1D(38, 1, 2);
00498         _histMeanMultiLambda             = bookHistogram1D(39, 1, 2);
00499         _histMeanMultiXiMinus            = bookHistogram1D(44, 1, 2);
00500         _histMeanMultiSigma1385Minus     = bookHistogram1D(46, 1, 2);
00501         _histMeanMultiSigma1385Plus      = bookHistogram1D(47, 1, 2);
00502         _histMeanMultiSigma1385PlusMinus = bookHistogram1D(48, 1, 2);
00503         _histMeanMultiOmegaMinus         = bookHistogram1D(50, 1, 2);
00504         _histMeanMultiLambda_c_Plus      = bookHistogram1D(51, 1, 2);
00505       }
00506 
00507       if (sqrtS()/GeV >= 89.5 && sqrtS()/GeV <= 91.8) {
00508         _histMeanMultiPi0                = bookHistogram1D( 2, 1, 3);
00509         _histMeanMultiKPlus              = bookHistogram1D( 3, 1, 3);
00510         _histMeanMultiK0                 = bookHistogram1D( 4, 1, 3);
00511         _histMeanMultiEta                = bookHistogram1D( 5, 1, 3);
00512         _histMeanMultiEtaPrime           = bookHistogram1D( 6, 1, 3);
00513         _histMeanMultiDPlus              = bookHistogram1D( 7, 1, 3);
00514         _histMeanMultiD0                 = bookHistogram1D( 8, 1, 3);
00515         _histMeanMultiDPlus_s            = bookHistogram1D( 9, 1, 3);
00516         _histMeanMultiBPlus_B0_d         = bookHistogram1D(10, 1, 1);
00517         _histMeanMultiBPlus_u            = bookHistogram1D(11, 1, 1);
00518         _histMeanMultiB0_s               = bookHistogram1D(12, 1, 1);
00519         _histMeanMultiF0_980             = bookHistogram1D(13, 1, 3);
00520         _histMeanMultiA0_980Plus         = bookHistogram1D(14, 1, 1);
00521         _histMeanMultiRho770_0           = bookHistogram1D(15, 1, 3);
00522         _histMeanMultiRho770Plus         = bookHistogram1D(16, 1, 1);
00523         _histMeanMultiOmega782           = bookHistogram1D(17, 1, 2);
00524         _histMeanMultiKStar892Plus       = bookHistogram1D(18, 1, 3);
00525         _histMeanMultiKStar892_0         = bookHistogram1D(19, 1, 3);
00526         _histMeanMultiPhi1020            = bookHistogram1D(20, 1, 3);
00527         _histMeanMultiDStar2010Plus      = bookHistogram1D(21, 1, 3);
00528         _histMeanMultiDStar_s2112Plus    = bookHistogram1D(23, 1, 2);
00529         _histMeanMultiBStar              = bookHistogram1D(24, 1, 1);
00530         _histMeanMultiJPsi1S             = bookHistogram1D(25, 1, 2);
00531         _histMeanMultiPsi2S              = bookHistogram1D(26, 1, 1);
00532         _histMeanMultiUpsilon1S          = bookHistogram1D(27, 1, 1);
00533         _histMeanMultiF1_1285            = bookHistogram1D(28, 1, 1);
00534         _histMeanMultiF1_1420            = bookHistogram1D(29, 1, 1);
00535         _histMeanMultiChi_c1_3510        = bookHistogram1D(30, 1, 1);
00536         _histMeanMultiF2_1270            = bookHistogram1D(31, 1, 3);
00537         _histMeanMultiF2Prime1525        = bookHistogram1D(32, 1, 1);
00538         _histMeanMultiK2Star1430_0       = bookHistogram1D(34, 1, 2);
00539         _histMeanMultiBStarStar          = bookHistogram1D(35, 1, 1);
00540         _histMeanMultiDs1Plus            = bookHistogram1D(36, 1, 1);
00541         _histMeanMultiDs2Plus            = bookHistogram1D(37, 1, 1);
00542         _histMeanMultiP                  = bookHistogram1D(38, 1, 3);
00543         _histMeanMultiLambda             = bookHistogram1D(39, 1, 3);
00544         _histMeanMultiSigma0             = bookHistogram1D(40, 1, 2);
00545         _histMeanMultiSigmaMinus         = bookHistogram1D(41, 1, 1);
00546         _histMeanMultiSigmaPlus          = bookHistogram1D(42, 1, 1);
00547         _histMeanMultiSigmaPlusMinus     = bookHistogram1D(43, 1, 1);
00548         _histMeanMultiXiMinus            = bookHistogram1D(44, 1, 3);
00549         _histMeanMultiDelta1232PlusPlus  = bookHistogram1D(45, 1, 2);
00550         _histMeanMultiSigma1385Minus     = bookHistogram1D(46, 1, 3);
00551         _histMeanMultiSigma1385Plus      = bookHistogram1D(47, 1, 3);
00552         _histMeanMultiSigma1385PlusMinus = bookHistogram1D(48, 1, 3);
00553         _histMeanMultiXi1530_0           = bookHistogram1D(49, 1, 2);
00554         _histMeanMultiOmegaMinus         = bookHistogram1D(50, 1, 3);
00555         _histMeanMultiLambda_c_Plus      = bookHistogram1D(51, 1, 3);
00556         _histMeanMultiLambda_b_0         = bookHistogram1D(52, 1, 1);
00557         _histMeanMultiLambda1520         = bookHistogram1D(54, 1, 2);
00558       }
00559 
00560       if (sqrtS()/GeV >= 130 && sqrtS()/GeV <= 200) {
00561         _histMeanMultiKPlus             = bookHistogram1D( 3, 1, 4);
00562         _histMeanMultiK0                = bookHistogram1D( 4, 1, 4);
00563         _histMeanMultiP                 = bookHistogram1D(38, 1, 4);
00564         _histMeanMultiLambda            = bookHistogram1D(39, 1, 4);
00565       }
00566     }

bool isCompatible ( const PdgIdPair beams,
const std::pair< double, double > &  energies 
) const [inherited]

Check if analysis is compatible with the provided beam particle IDs and energies.

bool isCompatible ( PdgId  beam1,
PdgId  beam2,
double  e1,
double  e2 
) const [inherited]

Check if analysis is compatible with the provided beam particle IDs and energies.

Definition at line 127 of file Analysis.cc.

References Analysis::beams(), and Analysis::isCompatible().

00127                                                                                   {
00128     PdgIdPair beams(beam1, beam2);
00129     pair<double,double> energies(e1, e2);
00130     return isCompatible(beams, energies);
00131   }

bool isCompatible ( const ParticlePair beams  )  const [inherited]

Check if analysis is compatible with the provided beam particle IDs and energies.

Definition at line 121 of file Analysis.cc.

Referenced by Analysis::isCompatible().

00121                                                              {
00122     return isCompatible(beams.first.pdgId(),  beams.second.pdgId(),
00123                         beams.first.energy(), beams.second.energy());
00124   }

BinEdges logBinEdges ( size_t  nbins,
double  lower,
double  upper 
) [protected, inherited]

Get bin edges with logarithmic widths.

Definition at line 229 of file Analysis.cc.

Referenced by MC_ZZJETS::init(), MC_ZJETS::init(), MC_WWJETS::init(), MC_WPOL::init(), MC_WJETS::init(), MC_PHOTONJETS::init(), MC_JetAnalysis::init(), MC_HJETS::init(), and MC_DIPHOTON::init().

00229                                                                          {
00230     assert(lower>0.0);
00231     assert(upper>lower);
00232     double loglower=log10(lower);
00233     double logupper=log10(upper);
00234     vector<double> binedges;
00235     double stepwidth=(logupper-loglower)/double(nbins);
00236     for (size_t i=0; i<=nbins; ++i) {
00237       binedges.push_back(pow(10.0, loglower+double(i)*stepwidth));
00238     }
00239     return binedges;
00240   }

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

Get the name of the analysis.

By default this is computed by combining the results of the experiment, year and Spires ID metadata methods and you should only override it if there's a good reason why those won't work.

Implements ProjectionApplier.

Definition at line 112 of file Analysis.hh.

References Analysis::_defaultname, Analysis::info(), and AnalysisInfo::name().

Referenced by Analysis::_cacheBinEdges(), Analysis::_cacheXAxisData(), Analysis::_makeHistoDir(), Analysis::binEdges(), Analysis::bookDataPointSet(), Analysis::bookHistogram1D(), Analysis::bookHistogram2D(), Analysis::bookProfile1D(), Analysis::crossSection(), Analysis::getLog(), Analysis::histoDir(), Analysis::normalize(), HistoHandler::registerAnalysisObject(), and Analysis::scale().

00112                                    {
00113       return (info().name().empty()) ? _defaultname : info().name();
00114     }

bool needsCrossSection (  )  const [inline, inherited]

Return true if this analysis needs to know the process cross-section.

Definition at line 221 of file Analysis.hh.

References Analysis::info(), and AnalysisInfo::needsCrossSection().

00221                                    {
00222       return info().needsCrossSection();
00223     }

void normalize ( AIDA::IHistogram2D *&  histo,
double  norm = 1.0 
) [inherited]

Normalize the given histogram, histo. After this call the histogram will have been transformed to a DataPointSet with the same name and path. It has the same effect as scale(histo, norm/sumOfWeights).

Parameters:
histo The histogram to be normalised.
norm The new area of the histogram.
Warning:
The old histogram will be deleted, and its pointer set to zero.

Definition at line 527 of file Analysis.cc.

References MSG_ERROR, MSG_TRACE, MSG_WARNING, Analysis::name(), Analysis::scale(), and Analysis::tree().

00527                                                                 {
00528     if (!histo) {
00529       MSG_ERROR("Failed to normalize histo=NULL in analysis "
00530                 << name() << " (norm=" << norm << ")");
00531       return;
00532     }
00533     const string hpath = tree().findPath(dynamic_cast<const AIDA::IManagedObject&>(*histo));
00534     MSG_TRACE("Normalizing histo " << hpath << " to " << norm);
00535 
00536     double oldintg = 0.0;
00537     int nxBins = histo->xAxis().bins();
00538     int nyBins = histo->yAxis().bins();
00539     for (int ixBin = 0; ixBin != nxBins; ++ixBin)
00540       for (int iyBin = 0; iyBin != nyBins; ++iyBin) {
00541       // Leaving out factor of binWidth because AIDA's "height"
00542       // already includes a width factor.
00543     oldintg += histo->binHeight(ixBin, iyBin); // * histo->axis().binWidth(iBin);
00544     }
00545     if (oldintg == 0.0) {
00546       MSG_WARNING("Histo " << hpath << " has null integral during normalization");
00547       return;
00548     }
00549 
00550     // Scale by the normalisation factor.
00551     scale(histo, norm/oldintg);
00552   }

void normalize ( AIDA::IHistogram1D *&  histo,
double  norm = 1.0 
) [inherited]

Normalize the given histogram, histo. After this call the histogram will have been transformed to a DataPointSet with the same name and path. It has the same effect as scale(histo, norm/sumOfWeights).

Parameters:
histo The histogram to be normalised.
norm The new area of the histogram.
Warning:
The old histogram will be deleted, and its pointer set to zero.

Definition at line 460 of file Analysis.cc.

References MSG_ERROR, MSG_TRACE, MSG_WARNING, Analysis::name(), Analysis::scale(), and Analysis::tree().

Referenced by TASSO_1990_S2148048::finalize(), STAR_2008_S7869363::finalize(), OPAL_2001_S4553896::finalize(), OPAL_1998_S3780481::finalize(), JADE_1998_S3612880::finalize(), H1_1994_S2919893::finalize(), ExampleAnalysis::finalize(), DELPHI_2003_WUD_03_11::finalize(), DELPHI_2002_069_CONF_603::finalize(), DELPHI_1996_S3430090::finalize(), DELPHI_1995_S3137023::finalize(), D0_2010_S8821313::finalize(), D0_2010_S8671338::finalize(), D0_2009_S8320160::finalize(), D0_2008_S7554427::finalize(), D0_2008_S6879055::finalize(), D0_2007_S7075677::finalize(), D0_2004_S5992206::finalize(), D0_2001_S4674421::finalize(), D0_1996_S3324664::finalize(), D0_1996_S3214044::finalize(), CMS_2011_S8968497::finalize(), CMS_2011_S8957746::finalize(), CMS_2011_S8884919::finalize(), CDF_2009_NOTE_9936::finalize(), CDF_2004_S5839831::finalize(), CDF_2002_S4796047::finalize(), CDF_2001_S4751469::finalize(), CDF_1997_S3541940::finalize(), CDF_1996_S3418421::finalize(), CDF_1996_S3349578::finalize(), CDF_1996_S3108457::finalize(), CDF_1994_S2952106::finalize(), CDF_1993_S2742446::finalize(), ATLAS_2011_S8971293::finalize(), ALICE_2010_S8625980::finalize(), ALICE_2010_S8624100::finalize(), ALEPH_2004_S5765862::finalize(), and ALEPH_1996_S3486095::finalize().

00460                                                                 {
00461     if (!histo) {
00462       MSG_ERROR("Failed to normalize histo=NULL in analysis "
00463                 << name() << " (norm=" << norm << ")");
00464       return;
00465     }
00466     const string hpath = tree().findPath(dynamic_cast<const AIDA::IManagedObject&>(*histo));
00467     MSG_TRACE("Normalizing histo " << hpath << " to " << norm);
00468 
00469     double oldintg = 0.0;
00470     int nBins = histo->axis().bins();
00471     for (int iBin = 0; iBin != nBins; ++iBin) {
00472       // Leaving out factor of binWidth because AIDA's "height" already includes a width factor.
00473       oldintg += histo->binHeight(iBin); // * histo->axis().binWidth(iBin);
00474     }
00475     if (oldintg == 0.0) {
00476       MSG_WARNING("Histo " << hpath << " has null integral during normalization");
00477       return;
00478     }
00479 
00480     // Scale by the normalisation factor.
00481     scale(histo, norm/oldintg);
00482   }

size_t numEvents (  )  const [protected, inherited]

Get the number of events seen (via the analysis handler). Use in the finalize phase only.

Definition at line 108 of file Analysis.cc.

References Analysis::handler(), and AnalysisHandler::numEvents().

00108                                    {
00109     return handler().numEvents();
00110   }

virtual std::vector<std::string> references (  )  const [inline, virtual, inherited]

Journal, and preprint references.

Definition at line 173 of file Analysis.hh.

References Analysis::info(), and AnalysisInfo::references().

00173                                                     {
00174       return info().references();
00175     }

virtual const std::vector<PdgIdPair>& requiredBeams (  )  const [inline, virtual, inherited]

Return the allowed pairs of incoming beams required by this analysis.

Definition at line 199 of file Analysis.hh.

References AnalysisInfo::beams(), and Analysis::info().

00199                                                               {
00200       return info().beams();
00201     }

virtual const std::vector<std::pair<double, double> >& requiredEnergies (  )  const [inline, virtual, inherited]

Sets of valid beam energy pairs, in GeV.

Definition at line 210 of file Analysis.hh.

References AnalysisInfo::energies(), and Analysis::info().

Referenced by Analysis::setRequiredEnergies().

00210                                                                                 {
00211       return info().energies();
00212     }

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

Information about the events needed as input for this analysis.

Event types, energies, kinematic cuts, particles to be considered stable, etc. etc. Should be treated as a restructuredText bullet list (http://docutils.sourceforge.net/rst.html)

Definition at line 153 of file Analysis.hh.

References Analysis::info(), and AnalysisInfo::runInfo().

00153                                       {
00154       return info().runInfo();
00155     }

void scale ( AIDA::IHistogram2D *&  histo,
double  scale 
) [inherited]

Multiplicatively scale the given histogram, histo. After this call the histogram will have been transformed to a DataPointSet with the same name and path.

Parameters:
histo The histogram to be scaled.
scale The factor used to multiply the histogram bin heights.
Warning:
The old histogram will be deleted, and its pointer set to zero.

Definition at line 555 of file Analysis.cc.

References Analysis::datapointsetFactory(), MSG_ERROR, MSG_TRACE, Analysis::name(), and Analysis::tree().

00555                                                              {
00556     if (!histo) {
00557       MSG_ERROR("Failed to scale histo=NULL in analysis "
00558                 << name() << " (scale=" << scale << ")");
00559       return;
00560     }
00561     const string hpath =
00562       tree().findPath(dynamic_cast<const AIDA::IManagedObject&>(*histo));
00563     MSG_TRACE("Scaling histo " << hpath);
00564 
00565     vector<double> x, y, z, ex, ey, ez;
00566     for (size_t ix = 0, Nx = histo->xAxis().bins(); ix < Nx; ++ix)
00567       for (size_t iy = 0, Ny = histo->yAxis().bins(); iy < Ny; ++iy) {
00568     x.push_back(0.5 * (histo->xAxis().binLowerEdge(ix) +
00569                histo->xAxis().binUpperEdge(ix)));
00570     ex.push_back(histo->xAxis().binWidth(ix)*0.5);
00571     y.push_back(0.5 * (histo->yAxis().binLowerEdge(iy) +
00572                histo->yAxis().binUpperEdge(iy)));
00573     ey.push_back(histo->yAxis().binWidth(iy)*0.5);
00574 
00575     // "Bin height" is a misnomer in the AIDA spec: width is neglected.
00576     // We'd like to do this: y.push_back(histo->binHeight(i) * scale);
00577     z.push_back(histo->binHeight(ix, iy)*scale/
00578             (histo->xAxis().binWidth(ix)*histo->yAxis().binWidth(iy)));
00579     // "Bin error" is a misnomer in the AIDA spec: width is neglected.
00580     // We'd like to do this: ey.push_back(histo->binError(i) * scale);
00581     ez.push_back(histo->binError(ix, iy)*scale/
00582              (histo->xAxis().binWidth(ix)*histo->yAxis().binWidth(iy)));
00583     }
00584 
00585     string title = histo->title();
00586     string xtitle = histo->xtitle();
00587     string ytitle = histo->ytitle();
00588     string ztitle = histo->ztitle();
00589 
00590     tree().mkdir("/tmpnormalize");
00591     tree().mv(hpath, "/tmpnormalize");
00592 
00593     AIDA::IDataPointSet* dps =
00594       datapointsetFactory().createXYZ(hpath, title, x, y, z, ex, ey, ez);
00595     dps->setXTitle(xtitle);
00596     dps->setYTitle(ytitle);
00597     dps->setZTitle(ztitle);
00598 
00599     tree().rm(tree().findPath(dynamic_cast<AIDA::IManagedObject&>(*histo)));
00600     tree().rmdir("/tmpnormalize");
00601 
00602     // Set histo pointer to null - it can no longer be used.
00603     histo = 0;
00604   }

void scale ( AIDA::IHistogram1D *&  histo,
double  scale 
) [inherited]

Multiplicatively scale the given histogram, histo. After this call the histogram will have been transformed to a DataPointSet with the same name and path.

Parameters:
histo The histogram to be scaled.
scale The factor used to multiply the histogram bin heights.
Warning:
The old histogram will be deleted, and its pointer set to zero.

Definition at line 485 of file Analysis.cc.

References Analysis::datapointsetFactory(), MSG_ERROR, MSG_TRACE, Analysis::name(), and Analysis::tree().

Referenced by UA5_1989_S1926373::finalize(), UA5_1987_S1640666::finalize(), UA5_1986_S1583476::finalize(), UA5_1982_S875503::finalize(), UA1_1990_S2044935::finalize(), STAR_2006_S6870392::finalize(), STAR_2006_S6860818::finalize(), STAR_2006_S6500200::finalize(), SFM_1984_S1178091::finalize(), PDG_HADRON_MULTIPLICITIES_RATIOS::finalize(), PDG_HADRON_MULTIPLICITIES::finalize(), OPAL_2004_S6132243::finalize(), OPAL_1998_S3780481::finalize(), MC_ZZJETS::finalize(), MC_ZJETS::finalize(), MC_WWJETS::finalize(), MC_WPOL::finalize(), MC_WJETS::finalize(), MC_PHOTONJETS::finalize(), MC_JetAnalysis::finalize(), MC_HJETS::finalize(), MC_GENERIC::finalize(), MC_DIPHOTON::finalize(), LHCB_2010_S8758301::finalize(), JADE_OPAL_2000_S4300807::finalize(), H1_2000_S4129130::finalize(), H1_1994_S2919893::finalize(), E735_1998_S3905616::finalize(), DELPHI_1996_S3430090::finalize(), D0_2010_S8671338::finalize(), D0_2010_S8570965::finalize(), D0_2009_S8349509::finalize(), D0_2009_S8202443::finalize(), D0_2008_S7863608::finalize(), D0_2008_S7719523::finalize(), D0_2008_S7662670::finalize(), D0_2006_S6438750::finalize(), D0_2000_S4480767::finalize(), CMS_2011_S8978280::finalize(), CMS_2010_S8656010::finalize(), CMS_2010_S8547297::finalize(), CDF_2009_S8436959::finalize(), CDF_2009_S8383952::finalize(), CDF_2009_S8233977::finalize(), CDF_2008_S8093652::finalize(), CDF_2008_S7540469::finalize(), CDF_2007_S7057202::finalize(), CDF_2006_S6450792::finalize(), CDF_2005_S6080774::finalize(), CDF_2001_S4563131::finalize(), CDF_2000_S4266730::finalize(), CDF_2000_S4155203::finalize(), CDF_1998_S3618439::finalize(), CDF_1990_S2089246::finalize(), CDF_1988_S1865951::finalize(), ATLAS_2011_S9120807::finalize(), ATLAS_2011_CONF_2011_090::finalize(), ATLAS_2010_S8919674::finalize(), ATLAS_2010_S8914702::finalize(), ATLAS_2010_S8591806::finalize(), ATLAS_2010_CONF_2010_049::finalize(), ALICE_2010_S8706239::finalize(), ALICE_2010_S8625980::finalize(), ALEPH_2004_S5765862::finalize(), ALEPH_1996_S3486095::finalize(), ALEPH_1996_S3196992::finalize(), ALEPH_1991_S2435284::finalize(), Analysis::normalize(), and BinnedHistogram< T >::scale().

00485                                                              {
00486     if (!histo) {
00487       MSG_ERROR("Failed to scale histo=NULL in analysis "
00488                 << name() << " (scale=" << scale << ")");
00489       return;
00490     }
00491     const string hpath = tree().findPath(dynamic_cast<const AIDA::IManagedObject&>(*histo));
00492     MSG_TRACE("Scaling histo " << hpath);
00493 
00494     vector<double> x, y, ex, ey;
00495     for (size_t i = 0, N = histo->axis().bins(); i < N; ++i) {
00496       x.push_back(0.5 * (histo->axis().binLowerEdge(i) + histo->axis().binUpperEdge(i)));
00497       ex.push_back(histo->axis().binWidth(i)*0.5);
00498 
00499       // "Bin height" is a misnomer in the AIDA spec: width is neglected.
00500       // We'd like to do this: y.push_back(histo->binHeight(i) * scale);
00501       y.push_back(histo->binHeight(i)*scale/histo->axis().binWidth(i));
00502 
00503       // "Bin error" is a misnomer in the AIDA spec: width is neglected.
00504       // We'd like to do this: ey.push_back(histo->binError(i) * scale);
00505       ey.push_back(histo->binError(i)*scale/histo->axis().binWidth(i));
00506     }
00507 
00508     string title = histo->title();
00509     string xtitle = histo->xtitle();
00510     string ytitle = histo->ytitle();
00511 
00512     tree().mkdir("/tmpnormalize");
00513     tree().mv(hpath, "/tmpnormalize");
00514 
00515     AIDA::IDataPointSet* dps = datapointsetFactory().createXY(hpath, title, x, y, ex, ey);
00516     dps->setXTitle(xtitle);
00517     dps->setYTitle(ytitle);
00518 
00519     tree().rm(tree().findPath(dynamic_cast<AIDA::IManagedObject&>(*histo)));
00520     tree().rmdir("/tmpnormalize");
00521 
00522     // Set histo pointer to null - it can no longer be used.
00523     histo = 0;
00524   }

virtual Analysis& setBeams ( PdgId  beam1,
PdgId  beam2 
) [inline, virtual, inherited]

Set the required beams

Deprecated:
To be removed in 2.0.0. Use .info file and AnalysisInfo class instead

Todo:
Print out a warning to use setRequiredBeams() instead (and really to use .info files)

Definition at line 244 of file Analysis.hh.

References Analysis::setRequiredBeams().

Referenced by ALEPH_1991_S2435284::ALEPH_1991_S2435284(), ALEPH_1996_S3196992::ALEPH_1996_S3196992(), ALEPH_1996_S3486095::ALEPH_1996_S3486095(), ALEPH_2004_S5765862::ALEPH_2004_S5765862(), ALICE_2010_S8624100::ALICE_2010_S8624100(), ALICE_2010_S8625980::ALICE_2010_S8625980(), ALICE_2010_S8706239::ALICE_2010_S8706239(), ATLAS_2010_S8817804::ATLAS_2010_S8817804(), ATLAS_2011_S8924791::ATLAS_2011_S8924791(), ATLAS_2011_S9120807::ATLAS_2011_S9120807(), BELLE_2006_S6265367::BELLE_2006_S6265367(), CDF_1988_S1865951::CDF_1988_S1865951(), CDF_1990_S2089246::CDF_1990_S2089246(), CDF_1993_S2742446::CDF_1993_S2742446(), CDF_1994_S2952106::CDF_1994_S2952106(), CDF_1996_S3108457::CDF_1996_S3108457(), CDF_1996_S3349578::CDF_1996_S3349578(), CDF_1996_S3418421::CDF_1996_S3418421(), CDF_1997_S3541940::CDF_1997_S3541940(), CDF_1998_S3618439::CDF_1998_S3618439(), CDF_2000_S4155203::CDF_2000_S4155203(), CDF_2000_S4266730::CDF_2000_S4266730(), CDF_2001_S4517016::CDF_2001_S4517016(), CDF_2001_S4563131::CDF_2001_S4563131(), CDF_2001_S4751469::CDF_2001_S4751469(), CDF_2002_S4796047::CDF_2002_S4796047(), CDF_2004_S5839831::CDF_2004_S5839831(), CDF_2005_S6080774::CDF_2005_S6080774(), CDF_2005_S6217184::CDF_2005_S6217184(), CDF_2006_S6450792::CDF_2006_S6450792(), CDF_2006_S6653332::CDF_2006_S6653332(), CDF_2007_S7057202::CDF_2007_S7057202(), CDF_2008_LEADINGJETS::CDF_2008_LEADINGJETS(), CDF_2008_NOTE_9351::CDF_2008_NOTE_9351(), CDF_2008_S7540469::CDF_2008_S7540469(), CDF_2008_S7541902::CDF_2008_S7541902(), CDF_2008_S7782535::CDF_2008_S7782535(), CDF_2008_S7828950::CDF_2008_S7828950(), CDF_2008_S8093652::CDF_2008_S8093652(), CDF_2008_S8095620::CDF_2008_S8095620(), CDF_2009_NOTE_9936::CDF_2009_NOTE_9936(), CDF_2009_S8057893::CDF_2009_S8057893::CDF_2009_S8057893(), CDF_2009_S8233977::CDF_2009_S8233977(), CDF_2009_S8383952::CDF_2009_S8383952(), CDF_2009_S8436959::CDF_2009_S8436959(), CDF_2010_S8591881_DY::CDF_2010_S8591881_DY(), CDF_2010_S8591881_QCD::CDF_2010_S8591881_QCD(), CMS_2011_S8957746::CMS_2011_S8957746(), D0_1996_S3214044::D0_1996_S3214044(), D0_1996_S3324664::D0_1996_S3324664(), D0_2001_S4674421::D0_2001_S4674421(), D0_2004_S5992206::D0_2004_S5992206(), D0_2006_S6438750::D0_2006_S6438750(), D0_2007_S7075677::D0_2007_S7075677(), D0_2008_S6879055::D0_2008_S6879055(), D0_2008_S7554427::D0_2008_S7554427(), D0_2008_S7662670::D0_2008_S7662670(), D0_2008_S7719523::D0_2008_S7719523(), D0_2008_S7837160::D0_2008_S7837160(), D0_2008_S7863608::D0_2008_S7863608(), D0_2009_S8202443::D0_2009_S8202443(), D0_2009_S8320160::D0_2009_S8320160(), D0_2009_S8349509::D0_2009_S8349509(), D0_2010_S8566488::D0_2010_S8566488(), D0_2010_S8570965::D0_2010_S8570965(), D0_2010_S8671338::D0_2010_S8671338(), DELPHI_1995_S3137023::DELPHI_1995_S3137023(), DELPHI_1996_S3430090::DELPHI_1996_S3430090(), DELPHI_2002_069_CONF_603::DELPHI_2002_069_CONF_603(), E735_1998_S3905616::E735_1998_S3905616(), H1_1994_S2919893::H1_1994_S2919893(), H1_1995_S3167097::H1_1995_S3167097(), H1_2000_S4129130::H1_2000_S4129130(), JADE_1998_S3612880::JADE_1998_S3612880(), JADE_OPAL_2000_S4300807::JADE_OPAL_2000_S4300807(), LHCB_2010_S8758301::LHCB_2010_S8758301(), OPAL_1993_S2692198::OPAL_1993_S2692198(), OPAL_1998_S3780481::OPAL_1998_S3780481(), OPAL_2001_S4553896::OPAL_2001_S4553896(), PDG_HADRON_MULTIPLICITIES::PDG_HADRON_MULTIPLICITIES(), PDG_HADRON_MULTIPLICITIES_RATIOS::PDG_HADRON_MULTIPLICITIES_RATIOS(), SFM_1984_S1178091::SFM_1984_S1178091(), STAR_2006_S6500200::STAR_2006_S6500200(), STAR_2006_S6860818::STAR_2006_S6860818(), STAR_2006_S6870392::STAR_2006_S6870392(), STAR_2008_S7869363::STAR_2008_S7869363(), STAR_2008_S7993412::STAR_2008_S7993412(), STAR_2009_UE_HELEN::STAR_2009_UE_HELEN(), TASSO_1990_S2148048::TASSO_1990_S2148048(), UA1_1990_S2044935::UA1_1990_S2044935(), UA5_1986_S1583476::UA5_1986_S1583476(), UA5_1987_S1640666::UA5_1987_S1640666(), UA5_1988_S1867512::UA5_1988_S1867512(), UA5_1989_S1926373::UA5_1989_S1926373(), and ZEUS_2001_S4815815::ZEUS_2001_S4815815().

00244                                                          {
00245       /// @todo Print out a warning to use setRequiredBeams() instead (and really to use .info files)
00246       return setRequiredBeams(std::vector<PdgIdPair>(1, make_pair(beam1, beam2)));
00247     }

Analysis & setCrossSection ( double  xs  )  [inherited]

Set the cross section from the generator.

Definition at line 165 of file Analysis.cc.

References Analysis::_crossSection, and Analysis::_gotCrossSection.

00165                                                {
00166     _crossSection = xs;
00167     _gotCrossSection = true;
00168     return *this;
00169   }

Analysis& setNeedsCrossSection ( bool  needed = true  )  [inline, inherited]

Declare whether this analysis needs to know the process cross-section from the generator.

Definition at line 225 of file Analysis.hh.

References Analysis::info(), and AnalysisInfo::setNeedsCrossSection().

Referenced by ALICE_2010_S8624100::ALICE_2010_S8624100(), ALICE_2010_S8625980::ALICE_2010_S8625980(), ALICE_2010_S8706239::ALICE_2010_S8706239(), ATLAS_2010_CONF_2010_049::ATLAS_2010_CONF_2010_049(), ATLAS_2010_S8591806::ATLAS_2010_S8591806(), ATLAS_2010_S8817804::ATLAS_2010_S8817804(), ATLAS_2010_S8914702::ATLAS_2010_S8914702(), ATLAS_2010_S8919674::ATLAS_2010_S8919674(), ATLAS_2011_CONF_2011_090::ATLAS_2011_CONF_2011_090(), ATLAS_2011_S8971293::ATLAS_2011_S8971293(), ATLAS_2011_S8983313::ATLAS_2011_S8983313(), ATLAS_2011_S9019561::ATLAS_2011_S9019561(), ATLAS_2011_S9120807::ATLAS_2011_S9120807(), CDF_1988_S1865951::CDF_1988_S1865951(), CDF_1993_S2742446::CDF_1993_S2742446(), CDF_1996_S3108457::CDF_1996_S3108457(), CDF_1998_S3618439::CDF_1998_S3618439(), CDF_2000_S4155203::CDF_2000_S4155203(), CDF_2000_S4266730::CDF_2000_S4266730(), CDF_2001_S4517016::CDF_2001_S4517016(), CDF_2001_S4563131::CDF_2001_S4563131(), CDF_2005_S6080774::CDF_2005_S6080774(), CDF_2006_S6450792::CDF_2006_S6450792(), CDF_2006_S6653332::CDF_2006_S6653332(), CDF_2007_S7057202::CDF_2007_S7057202(), CDF_2008_S7540469::CDF_2008_S7540469(), CDF_2008_S7541902::CDF_2008_S7541902(), CDF_2008_S7828950::CDF_2008_S7828950(), CDF_2008_S8093652::CDF_2008_S8093652(), CDF_2009_NOTE_9936::CDF_2009_NOTE_9936(), CDF_2009_S8233977::CDF_2009_S8233977(), CDF_2009_S8383952::CDF_2009_S8383952(), CDF_2009_S8436959::CDF_2009_S8436959(), CMS_2011_S8884919::CMS_2011_S8884919(), D0_1996_S3214044::D0_1996_S3214044(), D0_1996_S3324664::D0_1996_S3324664(), D0_2000_S4480767::D0_2000_S4480767(), D0_2001_S4674421::D0_2001_S4674421(), D0_2006_S6438750::D0_2006_S6438750(), D0_2008_S7662670::D0_2008_S7662670(), D0_2008_S7719523::D0_2008_S7719523(), D0_2008_S7863608::D0_2008_S7863608(), D0_2009_S8349509::D0_2009_S8349509(), D0_2010_S8566488::D0_2010_S8566488(), D0_2010_S8570965::D0_2010_S8570965(), D0_2010_S8671338::D0_2010_S8671338(), D0_2010_S8821313::D0_2010_S8821313(), LHCB_2010_S8758301::LHCB_2010_S8758301(), MC_DIPHOTON::MC_DIPHOTON(), MC_HJETS::MC_HJETS(), MC_JetAnalysis::MC_JetAnalysis(), MC_JETS::MC_JETS(), MC_PHOTONJETS::MC_PHOTONJETS(), MC_WJETS::MC_WJETS(), MC_WPOL::MC_WPOL(), MC_WWJETS::MC_WWJETS(), MC_XS::MC_XS(), MC_ZJETS::MC_ZJETS(), MC_ZZJETS::MC_ZZJETS(), OPAL_2001_S4553896::OPAL_2001_S4553896(), STAR_2006_S6870392::STAR_2006_S6870392(), STAR_2008_S7869363::STAR_2008_S7869363(), and UA1_1990_S2044935::UA1_1990_S2044935().

00225                                                      {
00226       info().setNeedsCrossSection(needed);
00227       return *this;
00228     }

virtual Analysis& setRequiredBeams ( const std::vector< PdgIdPair > &  requiredBeams  )  [inline, virtual, inherited]

Declare the allowed pairs of incoming beams required by this analysis.

Definition at line 203 of file Analysis.hh.

References Analysis::info(), and AnalysisInfo::setBeams().

Referenced by Analysis::setBeams().

00203                                                                                   {
00204       info().setBeams(requiredBeams);
00205       return *this;
00206     }

virtual Analysis& setRequiredEnergies ( const std::vector< std::pair< double, double > > &  requiredEnergies  )  [inline, virtual, inherited]

Declare the list of valid beam energy pairs, in GeV.

Definition at line 214 of file Analysis.hh.

References Analysis::info(), Analysis::requiredEnergies(), and AnalysisInfo::setEnergies().

00214                                                                                                        {
00215       info().setEnergies(requiredEnergies);
00216       return *this;
00217     }

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

Get a the SPIRES/Inspire ID code for this analysis.

Definition at line 117 of file Analysis.hh.

References Analysis::info(), and AnalysisInfo::spiresId().

00117                                        {
00118       return info().spiresId();
00119     }

double sqrtS (  )  const [inherited]

Centre of mass energy for this run.

Definition at line 70 of file Analysis.cc.

References Analysis::handler(), and AnalysisHandler::sqrtS().

Referenced by UA1_1990_S2044935::analyze(), TASSO_1990_S2148048::analyze(), SFM_1984_S1178091::analyze(), PDG_HADRON_MULTIPLICITIES_RATIOS::analyze(), PDG_HADRON_MULTIPLICITIES::analyze(), JADE_1998_S3612880::analyze(), CDF_2004_S5839831::analyze(), ATLAS_2010_S8918562::analyze(), ATLAS_2010_S8894728::analyze(), ALICE_2010_S8625980::analyze(), ALEPH_2004_S5765862::analyze(), UA1_1990_S2044935::finalize(), PDG_HADRON_MULTIPLICITIES_RATIOS::finalize(), PDG_HADRON_MULTIPLICITIES::finalize(), JADE_1998_S3612880::finalize(), CMS_2011_S8978280::finalize(), CDF_2004_S5839831::finalize(), CDF_2002_S4796047::finalize(), ATLAS_2010_S8918562::finalize(), ALICE_2010_S8625980::finalize(), ALEPH_2004_S5765862::finalize(), UA5_1989_S1926373::init(), UA5_1988_S1867512::init(), UA5_1986_S1583476::init(), UA1_1990_S2044935::init(), TASSO_1990_S2148048::init(), SFM_1984_S1178091::init(), PDG_HADRON_MULTIPLICITIES_RATIOS::init(), PDG_HADRON_MULTIPLICITIES::init(), OPAL_2004_S6132243::init(), MC_ZZJETS::init(), MC_ZJETS::init(), MC_WWJETS::init(), MC_WPOL::init(), MC_WJETS::init(), MC_PHOTONJETS::init(), MC_JetAnalysis::init(), MC_HJETS::init(), MC_DIPHOTON::init(), JADE_OPAL_2000_S4300807::init(), JADE_1998_S3612880::init(), CMS_2011_S8978280::init(), CMS_2011_S8884919::init(), CMS_2010_S8547297::init(), CDF_2004_S5839831::init(), CDF_2002_S4796047::init(), CDF_1990_S2089246::init(), CDF_1988_S1865951::init(), ATLAS_2011_S8994773::init(), ATLAS_2010_S8918562::init(), ATLAS_2010_S8894728::init(), ALICE_2010_S8625980::init(), ALICE_2010_S8624100::init(), and ALEPH_2004_S5765862::init().

00070                                {
00071     return handler().sqrtS();
00072   }

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

Whether this analysis is trusted (in any way!).

Definition at line 188 of file Analysis.hh.

References Analysis::info(), and AnalysisInfo::status().

00188                                      {
00189       return (info().status().empty()) ? "UNVALIDATED" : info().status();
00190     }

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

Get a short description of the analysis.

Short (one sentence) description used as an index entry. Use description() to provide full descriptive paragraphs of analysis details.

Definition at line 134 of file Analysis.hh.

References Analysis::info(), and AnalysisInfo::summary().

00134                                       {
00135       return info().summary();
00136     }

double sumOfWeights (  )  const [protected, inherited]

Get the sum of event weights seen (via the analysis handler). Use in the finalize phase only.

Definition at line 113 of file Analysis.cc.

References Analysis::handler(), and AnalysisHandler::sumOfWeights().

Referenced by Analysis::crossSectionPerEvent(), STAR_2006_S6870392::finalize(), STAR_2006_S6860818::finalize(), STAR_2006_S6500200::finalize(), PDG_HADRON_MULTIPLICITIES::finalize(), OPAL_1998_S3780481::finalize(), OPAL_1993_S2692198::finalize(), MC_ZZJETS::finalize(), MC_ZJETS::finalize(), MC_WWJETS::finalize(), MC_WJETS::finalize(), MC_JetAnalysis::finalize(), MC_HJETS::finalize(), MC_GENERIC::finalize(), MC_DIPHOTON::finalize(), JADE_OPAL_2000_S4300807::finalize(), DELPHI_1995_S3137023::finalize(), D0_2010_S8570965::finalize(), D0_2010_S8566488::finalize(), D0_2008_S7863608::finalize(), D0_2008_S7719523::finalize(), D0_2008_S7662670::finalize(), D0_2006_S6438750::finalize(), D0_2000_S4480767::finalize(), CMS_2011_S8978280::finalize(), CMS_2010_S8656010::finalize(), CMS_2010_S8547297::finalize(), CDF_2009_S8436959::finalize(), CDF_2009_S8383952::finalize(), CDF_2009_S8233977::finalize(), CDF_2008_S8093652::finalize(), CDF_2008_S7828950::finalize(), CDF_2008_S7541902::finalize(), CDF_2008_S7540469::finalize(), CDF_2006_S6653332::finalize(), CDF_2006_S6450792::finalize(), CDF_2005_S6080774::finalize(), CDF_2001_S4563131::finalize(), CDF_2001_S4517016::finalize(), CDF_2000_S4266730::finalize(), CDF_2000_S4155203::finalize(), CDF_1998_S3618439::finalize(), ATLAS_2011_S9120807::finalize(), ATLAS_2011_CONF_2011_090::finalize(), ATLAS_2010_S8919674::finalize(), ATLAS_2010_S8914702::finalize(), ATLAS_2010_CONF_2010_049::finalize(), ALEPH_2004_S5765862::finalize(), ALEPH_1996_S3486095::finalize(), ALEPH_1996_S3196992::finalize(), and ALEPH_1991_S2435284::finalize().

00113                                       {
00114     return handler().sumOfWeights();
00115   }

virtual std::vector<std::string> todos (  )  const [inline, virtual, inherited]

Any work to be done on this analysis.

Definition at line 193 of file Analysis.hh.

References Analysis::info(), and AnalysisInfo::todos().

00193                                                {
00194       return info().todos();
00195     }

ITree & tree (  )  [protected, inherited]

Access the AIDA tree of the controlling AnalysisHandler object.

Definition at line 55 of file Analysis.cc.

References Analysis::handler(), and AnalysisHandler::tree().

Referenced by Analysis::_makeHistoDir(), Analysis::normalize(), and Analysis::scale().

00055                         {
00056     return handler().tree();
00057   }

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

When the original experimental analysis was published.

Definition at line 168 of file Analysis.hh.

References Analysis::info(), and AnalysisInfo::year().

00168                                    {
00169       return info().year();
00170     }


Member Data Documentation

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().

string _defaultname [protected, inherited]

Name passed to constructor (used to find .info analysis data file, and as a fallback).

Definition at line 533 of file Analysis.hh.

Referenced by Analysis::Analysis(), and Analysis::name().

AIDA::IHistogram1D* _histMeanMultiA0_980Plus [private]
AIDA::IHistogram1D* _histMeanMultiB0_s [private]
AIDA::IHistogram1D* _histMeanMultiBPlus_B0_d [private]
AIDA::IHistogram1D* _histMeanMultiBPlus_u [private]
AIDA::IHistogram1D* _histMeanMultiBStar [private]
AIDA::IHistogram1D* _histMeanMultiBStarStar [private]
AIDA::IHistogram1D* _histMeanMultiChi_c1_3510 [private]
AIDA::IHistogram1D* _histMeanMultiD0 [private]
AIDA::IHistogram1D* _histMeanMultiDelta1232PlusPlus [private]
AIDA::IHistogram1D* _histMeanMultiDPlus [private]
AIDA::IHistogram1D* _histMeanMultiDPlus_s [private]
AIDA::IHistogram1D* _histMeanMultiDs1Plus [private]
AIDA::IHistogram1D* _histMeanMultiDs2Plus [private]
AIDA::IHistogram1D* _histMeanMultiDStar2007_0 [private]
AIDA::IHistogram1D* _histMeanMultiDStar2010Plus [private]
AIDA::IHistogram1D* _histMeanMultiDStar_s2112Plus [private]
AIDA::IHistogram1D* _histMeanMultiEta [private]
AIDA::IHistogram1D* _histMeanMultiEtaPrime [private]
AIDA::IHistogram1D* _histMeanMultiF0_980 [private]
AIDA::IHistogram1D* _histMeanMultiF1_1285 [private]
AIDA::IHistogram1D* _histMeanMultiF1_1420 [private]
AIDA::IHistogram1D* _histMeanMultiF2_1270 [private]
AIDA::IHistogram1D* _histMeanMultiF2Prime1525 [private]
AIDA::IHistogram1D* _histMeanMultiJPsi1S [private]
AIDA::IHistogram1D* _histMeanMultiK0 [private]
AIDA::IHistogram1D* _histMeanMultiK2Star1430_0 [private]
AIDA::IHistogram1D* _histMeanMultiK2Star1430Plus [private]
AIDA::IHistogram1D* _histMeanMultiKPlus [private]
AIDA::IHistogram1D* _histMeanMultiKStar892_0 [private]
AIDA::IHistogram1D* _histMeanMultiKStar892Plus [private]
AIDA::IHistogram1D* _histMeanMultiLambda [private]
AIDA::IHistogram1D* _histMeanMultiLambda1520 [private]
AIDA::IHistogram1D* _histMeanMultiLambda_b_0 [private]
AIDA::IHistogram1D* _histMeanMultiLambda_c_Plus [private]
AIDA::IHistogram1D* _histMeanMultiOmega782 [private]
AIDA::IHistogram1D* _histMeanMultiOmegaMinus [private]
AIDA::IHistogram1D* _histMeanMultiP [private]
AIDA::IHistogram1D* _histMeanMultiPhi1020 [private]
AIDA::IHistogram1D* _histMeanMultiPi0 [private]
AIDA::IHistogram1D* _histMeanMultiPsi2S [private]
AIDA::IHistogram1D* _histMeanMultiRho770_0 [private]
AIDA::IHistogram1D* _histMeanMultiRho770Plus [private]
AIDA::IHistogram1D* _histMeanMultiSigma0 [private]
AIDA::IHistogram1D* _histMeanMultiSigma1385Minus [private]
AIDA::IHistogram1D* _histMeanMultiSigma1385Plus [private]
AIDA::IHistogram1D* _histMeanMultiSigma1385PlusMinus [private]
AIDA::IHistogram1D* _histMeanMultiSigma_c_PlusPlus_0 [private]
AIDA::IHistogram1D* _histMeanMultiSigmaMinus [private]
AIDA::IHistogram1D* _histMeanMultiSigmaPlus [private]
AIDA::IHistogram1D* _histMeanMultiSigmaPlusMinus [private]
AIDA::IHistogram1D* _histMeanMultiUpsilon1S [private]
AIDA::IHistogram1D* _histMeanMultiXi1530_0 [private]
AIDA::IHistogram1D* _histMeanMultiXiMinus [private]
shared_ptr<AnalysisInfo> _info [protected, inherited]

Pointer to analysis metadata object.

Definition at line 536 of file Analysis.hh.

Referenced by Analysis::Analysis(), and Analysis::info().

double _weightedTotalNumPiPlus [private]

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