PDG_HADRON_MULTIPLICITIES Class Reference

Implementation of PDG hadron multiplicities. More...

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

List of all members.

Public Member Functions

 PDG_HADRON_MULTIPLICITIES ()
 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 inspireId () const
 Get the Inspire ID code for this analysis.
virtual std::string spiresId () const
 Get the SPIRES ID code for this analysis (~deprecated).
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.
const std::string makeAxisCode (size_t datasetId, size_t xAxisId, size_t yAxisId) const
 Get the internal histogram name for given d, x and y (cf. HepData).
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

AIDA::IHistogram1D * _histMeanMultiPiPlus
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.

Author:
Hendrik Hoeth

Definition at line 14 of file PDG_HADRON_MULTIPLICITIES.cc.


Constructor & Destructor Documentation

PDG_HADRON_MULTIPLICITIES (  )  [inline]

Constructor.

Definition at line 18 of file PDG_HADRON_MULTIPLICITIES.cc.

00018                                 : Analysis("PDG_HADRON_MULTIPLICITIES")
00019     {
00020     }


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(), DISFinalState::DISFinalState(), DISKinematics::DISKinematics(), DISLepton::DISLepton(), FinalState::FinalState(), 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_VH2BB::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_S9120041::init(), CMS_2011_S9088458::init(), CMS_2011_S9086218::init(), CMS_2011_S8978280::init(), CMS_2011_S8968497::init(), CMS_2011_S8957746::init(), CMS_2011_S8950903::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_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_S9225137::init(), ATLAS_2011_S9212183::init(), ATLAS_2011_S9131140::init(), ATLAS_2011_S9128077::init(), ATLAS_2011_S9126244::init(), ATLAS_2011_S9120807::init(), ATLAS_2011_S9108483::init(), ATLAS_2011_S9041966::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_I925932::init(), ATLAS_2011_I919017::init(), ATLAS_2011_CONF_2011_098::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_2011_S8945144::init(), ALICE_2011_S8909580::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(), NonHadronicFinalState::NonHadronicFinalState(), 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 30 of file Analysis.cc.

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

00030                                               {
00031     return handler().analysisFactory();
00032   }

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 26 of file PDG_HADRON_MULTIPLICITIES.cc.

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

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

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 DISFinalState::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 136 of file Analysis.hh.

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

00136                                                  {
00137       return info().authors();
00138     }

const PdgIdPair beamIds (  )  const [inherited]

Incoming beam IDs for this run.

Definition at line 58 of file Analysis.cc.

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

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

00058                                           {
00059     return handler().beamIds();
00060   }

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

BibTeX citation key for this article.

Definition at line 189 of file Analysis.hh.

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

00189                                      {
00190       return info().bibKey();
00191     }

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

BibTeX citation entry for this article.

Definition at line 194 of file Analysis.hh.

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

00194                                      {
00195       return info().bibTeX();
00196     }

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 218 of file Analysis.cc.

References Analysis::binEdges(), and Analysis::makeAxisCode().

00218                                                                                            {
00219     const string hname = makeAxisCode(datasetId, xAxisId, yAxisId);
00220     return binEdges(hname);
00221   }

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

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

Definition at line 203 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(), ATLAS_2011_S9126244::finalize(), D0_2008_S7837160::init(), CMS_2011_S9088458::init(), CDF_1994_S2952106::init(), ATLAS_2011_S9128077::init(), ATLAS_2011_S9002537::init(), ATLAS_2010_S8894728::init(), ALICE_2011_S8909580::init(), and ATLAS_2011_S9126244::initializePlots().

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

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 440 of file Analysis.cc.

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

00442                                                                                         {
00443     // Get the bin edges (only read the AIDA file once)
00444     _cacheXAxisData();
00445     // Build the axis code
00446     const string axisCode = makeAxisCode(datasetId, xAxisId, yAxisId);
00447     //const map<string, vector<DPSXPoint> > xpoints = getDPSXValsErrs(papername);
00448     MSG_TRACE("Using DPS x-positions for " << name() << ":" << axisCode);
00449     IDataPointSet* dps = bookDataPointSet(axisCode, title, xtitle, ytitle);
00450     const vector<DPSXPoint> xpts = _dpsData.find(axisCode)->second;
00451     for (size_t pt = 0; pt < xpts.size(); ++pt) {
00452       dps->addPoint();
00453       IMeasurement* meas = dps->point(pt)->coordinate(0);
00454       meas->setValue(xpts[pt].val);
00455       meas->setErrorPlus(xpts[pt].errplus);
00456       meas->setErrorMinus(xpts[pt].errminus);
00457     }
00458     MSG_TRACE("Made DPS " << axisCode <<  " for " << name());
00459     return dps;
00460   }

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 422 of file Analysis.cc.

References Analysis::bookDataPointSet().

00425                                                                                         {
00426     IDataPointSet* dps = bookDataPointSet(hname, title, xtitle, ytitle);
00427     for (size_t pt = 0; pt < npts; ++pt) {
00428       const double binwidth = (upper-lower)/npts;
00429       const double bincentre = lower + (pt + 0.5) * binwidth;
00430       dps->addPoint();
00431       IMeasurement* meas = dps->point(pt)->coordinate(0);
00432       meas->setValue(bincentre);
00433       meas->setErrorPlus(binwidth/2.0);
00434       meas->setErrorMinus(binwidth/2.0);
00435     }
00436     return dps;
00437   }

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 407 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(), CMS_2011_S9088458::init(), CDF_2008_S7782535::init(), CDF_2008_S7541902::init(), CDF_2005_S6217184::init(), CDF_1996_S3418421::init(), CDF_1994_S2952106::init(), ATLAS_2011_S9128077::init(), ATLAS_2011_S9002537::init(), ATLAS_2010_S8894728::init(), ALEPH_2004_S5765862::init(), and ATLAS_2011_S9126244::initializePlots().

00408                                                                                         {
00409     _makeHistoDir();
00410     const string path = histoPath(hname);
00411     if (path.find(" ") != string::npos) {
00412       throw Error("Histogram path '" + path + "' is invalid: spaces are not permitted in paths");
00413     }
00414     IDataPointSet* dps = datapointsetFactory().create(path, title, 2);
00415     MSG_TRACE("Made data point set " << hname <<  " for " << name());
00416     dps->setXTitle(xtitle);
00417     dps->setYTitle(ytitle);
00418     return dps;
00419   }

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 237 of file Analysis.cc.

References Analysis::bookHistogram1D(), and Analysis::makeAxisCode().

00240   {
00241     const string axisCode = makeAxisCode(datasetId, xAxisId, yAxisId);
00242     return bookHistogram1D(axisCode, title, xtitle, ytitle);
00243   }

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 246 of file Analysis.cc.

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

00248   {
00249     // Get the bin edges (only read the AIDA file once)
00250     const BinEdges edges = binEdges(hname);
00251     _makeHistoDir();
00252     const string path = histoPath(hname);
00253     if (path.find(" ") != string::npos) {
00254       throw Error("Histogram path '" + path + "' is invalid: spaces are not permitted in paths");
00255     }
00256     IHistogram1D* hist = histogramFactory().createHistogram1D(path, title, edges);
00257     MSG_TRACE("Made histogram " << hname <<  " for " << name());
00258     hist->setXTitle(xtitle);
00259     hist->setYTitle(ytitle);
00260     return hist;
00261   }

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 281 of file Analysis.cc.

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

00284                                                                                       {
00285     _makeHistoDir();
00286     const string path = histoPath(hname);
00287     if (path.find(" ") != string::npos) {
00288       throw Error("Histogram path '" + path + "' is invalid: spaces are not permitted in paths");
00289     }
00290     IHistogram1D* hist = histogramFactory().createHistogram1D(path, title, binedges);
00291     MSG_TRACE("Made histogram " << hname <<  " for " << name());
00292     hist->setXTitle(xtitle);
00293     hist->setYTitle(ytitle);
00294     return hist;
00295   }

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 264 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_XS::init(), MC_WWJETS::init(), MC_WPOL::init(), MC_WJETS::init(), MC_VH2BB::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_S9120041::init(), CMS_2011_S9088458::init(), CMS_2011_S9086218::init(), CMS_2011_S8978280::init(), CMS_2011_S8968497::init(), CMS_2011_S8957746::init(), CMS_2011_S8950903::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_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_S9225137::init(), ATLAS_2011_S9212183::init(), ATLAS_2011_S9131140::init(), ATLAS_2011_S9128077::init(), ATLAS_2011_S9120807::init(), ATLAS_2011_S9108483::init(), ATLAS_2011_S9041966::init(), ATLAS_2011_S9019561::init(), ATLAS_2011_S9002537::init(), ATLAS_2011_S8983313::init(), ATLAS_2011_S8971293::init(), ATLAS_2011_I925932::init(), ATLAS_2011_I919017::init(), ATLAS_2011_CONF_2011_098::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_2011_S8945144::init(), ALICE_2011_S8909580::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(), and ATLAS_2011_S9126244::initializePlots().

00267                                                                                       {
00268     _makeHistoDir();
00269     const string path = histoPath(hname);
00270     if (path.find(" ") != string::npos) {
00271       throw Error("Histogram path '" + path + "' is invalid: spaces are not permitted in paths");
00272     }
00273     IHistogram1D* hist = histogramFactory().createHistogram1D(path, title, nbins, lower, upper);
00274     MSG_TRACE("Made histogram " << hname <<  " for " << name());
00275     hist->setXTitle(xtitle);
00276     hist->setYTitle(ytitle);
00277     return hist;
00278   }

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 320 of file Analysis.cc.

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

00324                                                             {
00325     _makeHistoDir();
00326     const string path = histoPath(hname);
00327     if (path.find(" ") != string::npos) {
00328       throw Error("Histogram path '" + path + "' is invalid: spaces are not permitted in paths");
00329     }
00330     IHistogram2D* hist =
00331       histogramFactory().createHistogram2D(path, title, xbinedges, ybinedges);
00332     MSG_TRACE("Made 2D histogram " << hname <<  " for " << name());
00333     hist->setXTitle(xtitle);
00334     hist->setYTitle(ytitle);
00335     hist->setZTitle(ztitle);
00336     return hist;
00337   }

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 298 of file Analysis.cc.

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

00302                                                             {
00303     _makeHistoDir();
00304     const string path = histoPath(hname);
00305     if (path.find(" ") != string::npos) {
00306       throw Error("Histogram path '" + path + "' is invalid: spaces are not permitted in paths");
00307     }
00308     IHistogram2D* hist =
00309       histogramFactory().createHistogram2D(path, title, nxbins, xlower, xupper,
00310                        nybins, ylower, yupper);
00311     MSG_TRACE("Made 2D histogram " << hname <<  " for " << name());
00312     hist->setXTitle(xtitle);
00313     hist->setYTitle(ytitle);
00314     hist->setZTitle(ztitle);
00315     return hist;
00316   }

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 343 of file Analysis.cc.

References Analysis::bookProfile1D(), and Analysis::makeAxisCode().

00345                                                                                   {
00346     const string axisCode = makeAxisCode(datasetId, xAxisId, yAxisId);
00347     return bookProfile1D(axisCode, title, xtitle, ytitle);
00348   }

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 351 of file Analysis.cc.

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

00353   {
00354     // Get the bin edges (only read the AIDA file once)
00355     const BinEdges edges = binEdges(hname);
00356     _makeHistoDir();
00357     const string path = histoPath(hname);
00358     if (path.find(" ") != string::npos) {
00359       throw Error("Histogram path '" + path + "' is invalid: spaces are not permitted in paths");
00360     }
00361     IProfile1D* prof = histogramFactory().createProfile1D(path, title, edges);
00362     MSG_TRACE("Made profile histogram " << hname <<  " for " << name());
00363     prof->setXTitle(xtitle);
00364     prof->setYTitle(ytitle);
00365     return prof;
00366   }

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 386 of file Analysis.cc.

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

00389                                                                                   {
00390     _makeHistoDir();
00391     const string path = histoPath(hname);
00392     if (path.find(" ") != string::npos) {
00393       throw Error("Histogram path '" + path + "' is invalid: spaces are not permitted in paths");
00394     }
00395     IProfile1D* prof = histogramFactory().createProfile1D(path, title, binedges);
00396     MSG_TRACE("Made profile histogram " << hname <<  " for " << name());
00397     prof->setXTitle(xtitle);
00398     prof->setYTitle(ytitle);
00399     return prof;
00400   }

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 369 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_S9120041::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_2001_S4751469::init(), ATLAS_2011_S8994773::init(), ATLAS_2011_S8924791::init(), ATLAS_2010_S8918562::init(), ATLAS_2010_S8894728::init(), ATLAS_2010_S8591806::init(), ALICE_2011_S8945144::init(), ALICE_2010_S8706239::init(), and ATLAS_2011_S9126244::initializePlots().

00372                                                                                   {
00373     _makeHistoDir();
00374     const string path = histoPath(hname);
00375     if (path.find(" ") != string::npos) {
00376       throw Error("Histogram path '" + path + "' is invalid: spaces are not permitted in paths");
00377     }
00378     IProfile1D* prof = histogramFactory().createProfile1D(path, title, nbins, lower, upper);
00379     MSG_TRACE("Made profile histogram " << hname <<  " for " << name());
00380     prof->setXTitle(xtitle);
00381     prof->setYTitle(ytitle);
00382     return prof;
00383   }

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

Collider on which the experiment ran.

Definition at line 174 of file Analysis.hh.

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

00174                                        {
00175       return info().collider();
00176     }

double crossSection (  )  const [protected, inherited]

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

Definition at line 166 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_VH2BB::finalize(), MC_JetAnalysis::finalize(), MC_HJETS::finalize(), MC_DIPHOTON::finalize(), LHCB_2010_S8758301::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_S9086218::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_S9212183::finalize(), ATLAS_2011_S9120807::finalize(), ATLAS_2011_S9108483::finalize(), ATLAS_2011_S9041966::finalize(), ATLAS_2011_I919017::finalize(), ATLAS_2011_CONF_2011_098::finalize(), ATLAS_2011_CONF_2011_090::finalize(), ATLAS_2010_S8919674::finalize(), ATLAS_2010_S8914702::finalize(), and ATLAS_2010_CONF_2010_049::finalize().

00166                                       {
00167     if (!_gotCrossSection || std::isnan(_crossSection)) {
00168       string errMsg = "You did not set the cross section for the analysis " + name();
00169       throw Error(errMsg);
00170     }
00171     return _crossSection;
00172   }

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 174 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(), ATLAS_2011_S9128077::finalize(), and ATLAS_2010_S8817804::finalize().

00174                                               {
00175     const double sumW = sumOfWeights();
00176     assert(sumW != 0.0);
00177     return _crossSection / sumW;
00178   }

IDataPointSetFactory & datapointsetFactory (  )  [protected, inherited]

Access the AIDA histogram factory of the controlling AnalysisHandler object.

Definition at line 45 of file Analysis.cc.

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

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

00045                                                       {
00046     return handler().datapointsetFactory();
00047   }

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 155 of file Analysis.hh.

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

00155                                           {
00156       return info().description();
00157     }

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

Experiment which performed and published this analysis.

Definition at line 169 of file Analysis.hh.

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

00169                                          {
00170       return info().experiment();
00171     }

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 573 of file PDG_HADRON_MULTIPLICITIES.cc.

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

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

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 97 of file Analysis.cc.

References Analysis::name().

Referenced by Analysis::binEdges().

00097                               {
00098     string logname = "Rivet.Analysis." + name();
00099     return Log::getLog(logname);
00100   }

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 63 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(), ATLAS_2011_S9128077::finalize(), and Analysis::histoPath().

00063                                         {
00064     /// @todo This doesn't change: calc and cache at first use!
00065     string path = "/" + name();
00066     if (handler().runName().length() > 0) {
00067       path = "/" + handler().runName() + path;
00068     }
00069     while (find_first(path, "//")) {
00070       replace_all(path, "//", "/");
00071     }
00072     return path;
00073   }

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 76 of file Analysis.cc.

References Analysis::histoDir().

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

00076                                                             {
00077     const string path = histoDir() + "/" + hname;
00078     return path;
00079   }

AnalysisInfo& info (  )  [inline, inherited]

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

Definition at line 248 of file Analysis.hh.

References Analysis::_info.

00248                          {
00249       assert(_info.get() != 0 && "No AnalysisInfo object :O");
00250       return *_info;
00251     }

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 437 of file PDG_HADRON_MULTIPLICITIES.cc.

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

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

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

Get the Inspire ID code for this analysis.

Definition at line 123 of file Analysis.hh.

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

00123                                         {
00124       return info().inspireId();
00125     }

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 122 of file Analysis.cc.

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

00122                                                                                   {
00123     PdgIdPair beams(beam1, beam2);
00124     pair<double,double> energies(e1, e2);
00125     return isCompatible(beams, energies);
00126   }

bool isCompatible ( const ParticlePair beams  )  const [inherited]

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

Definition at line 116 of file Analysis.cc.

Referenced by Analysis::isCompatible().

00116                                                              {
00117     return isCompatible(beams.first.pdgId(),  beams.second.pdgId(),
00118                         beams.first.energy(), beams.second.energy());
00119   }

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

Get bin edges with logarithmic widths.

Definition at line 224 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().

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

const string makeAxisCode ( size_t  datasetId,
size_t  xAxisId,
size_t  yAxisId 
) const [protected, inherited]

Get the internal histogram name for given d, x and y (cf. HepData).

Definition at line 82 of file Analysis.cc.

Referenced by Analysis::binEdges(), Analysis::bookDataPointSet(), Analysis::bookHistogram1D(), Analysis::bookProfile1D(), and ATLAS_2011_S9126244::finalize().

00082                                                                                             {
00083     stringstream axisCode;
00084     axisCode << "d";
00085     if (datasetId < 10) axisCode << 0;
00086     axisCode << datasetId;
00087     axisCode << "-x";
00088     if (xAxisId < 10) axisCode << 0;
00089     axisCode << xAxisId;
00090     axisCode << "-y";
00091     if (yAxisId < 10) axisCode << 0;
00092     axisCode << yAxisId;
00093     return axisCode.str();
00094   }

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

00118                                    {
00119       return (info().name().empty()) ? _defaultname : info().name();
00120     }

bool needsCrossSection (  )  const [inline, inherited]

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

Definition at line 232 of file Analysis.hh.

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

00232                                    {
00233       return info().needsCrossSection();
00234     }

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 552 of file Analysis.cc.

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

00552                                                                 {
00553     if (!histo) {
00554       MSG_ERROR("Failed to normalize histo=NULL in analysis "
00555                 << name() << " (norm=" << norm << ")");
00556       return;
00557     }
00558     const string hpath = tree().findPath(dynamic_cast<const AIDA::IManagedObject&>(*histo));
00559     MSG_TRACE("Normalizing histo " << hpath << " to " << norm);
00560 
00561     double oldintg = 0.0;
00562     int nxBins = histo->xAxis().bins();
00563     int nyBins = histo->yAxis().bins();
00564     for (int ixBin = 0; ixBin != nxBins; ++ixBin)
00565       for (int iyBin = 0; iyBin != nyBins; ++iyBin) {
00566       // Leaving out factor of binWidth because AIDA's "height"
00567       // already includes a width factor.
00568     oldintg += histo->binHeight(ixBin, iyBin); // * histo->axis().binWidth(iBin);
00569     }
00570     if (oldintg == 0.0) {
00571       MSG_WARNING("Histo " << hpath << " has null integral during normalization");
00572       return;
00573     }
00574 
00575     // Scale by the normalisation factor.
00576     scale(histo, norm/oldintg);
00577   }

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 482 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_S9120041::finalize(), CMS_2011_S8968497::finalize(), CMS_2011_S8957746::finalize(), CMS_2011_S8950903::finalize(), CMS_2011_S8884919::finalize(), CDF_2009_NOTE_9936::finalize(), CDF_2004_S5839831::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(), ALEPH_1996_S3486095::finalize(), and ATLAS_2011_I919017::safeinvscale().

00482                                                                 {
00483     if (!histo) {
00484       MSG_ERROR("Failed to normalize histo=NULL in analysis "
00485                 << name() << " (norm=" << norm << ")");
00486       return;
00487     }
00488     const string hpath = tree().findPath(dynamic_cast<const AIDA::IManagedObject&>(*histo));
00489     MSG_TRACE("Normalizing histo " << hpath << " to " << norm);
00490 
00491     double oldintg = 0.0;
00492     int nBins = histo->axis().bins();
00493     for (int iBin = 0; iBin != nBins; ++iBin) {
00494       // Leaving out factor of binWidth because AIDA's "height" already includes a width factor.
00495       oldintg += histo->binHeight(iBin); // * histo->axis().binWidth(iBin);
00496     }
00497     if (oldintg == 0.0) {
00498       MSG_WARNING("Histo " << hpath << " has null integral during normalization");
00499       return;
00500     }
00501 
00502     // Scale by the normalisation factor.
00503     scale(histo, norm/oldintg);
00504   }

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 103 of file Analysis.cc.

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

Referenced by LHCB_2010_S8758301::finalize().

00103                                    {
00104     return handler().numEvents();
00105   }

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

Journal, and preprint references.

Definition at line 184 of file Analysis.hh.

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

00184                                                     {
00185       return info().references();
00186     }

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

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

Definition at line 210 of file Analysis.hh.

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

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

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

Sets of valid beam energy pairs, in GeV.

Definition at line 221 of file Analysis.hh.

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

Referenced by Analysis::setRequiredEnergies().

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

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 164 of file Analysis.hh.

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

00164                                       {
00165       return info().runInfo();
00166     }

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 580 of file Analysis.cc.

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

00580                                                              {
00581     if (!histo) {
00582       MSG_ERROR("Failed to scale histo=NULL in analysis "
00583                 << name() << " (scale=" << scale << ")");
00584       return;
00585     }
00586     const string hpath =
00587       tree().findPath(dynamic_cast<const AIDA::IManagedObject&>(*histo));
00588     MSG_TRACE("Scaling histo " << hpath);
00589 
00590     vector<double> x, y, z, ex, ey, ez;
00591     for (size_t ix = 0, Nx = histo->xAxis().bins(); ix < Nx; ++ix)
00592       for (size_t iy = 0, Ny = histo->yAxis().bins(); iy < Ny; ++iy) {
00593     x.push_back(0.5 * (histo->xAxis().binLowerEdge(ix) +
00594                histo->xAxis().binUpperEdge(ix)));
00595     ex.push_back(histo->xAxis().binWidth(ix)*0.5);
00596     y.push_back(0.5 * (histo->yAxis().binLowerEdge(iy) +
00597                histo->yAxis().binUpperEdge(iy)));
00598     ey.push_back(histo->yAxis().binWidth(iy)*0.5);
00599 
00600     // "Bin height" is a misnomer in the AIDA spec: width is neglected.
00601     // We'd like to do this: y.push_back(histo->binHeight(i) * scale);
00602     z.push_back(histo->binHeight(ix, iy)*scale/
00603             (histo->xAxis().binWidth(ix)*histo->yAxis().binWidth(iy)));
00604     // "Bin error" is a misnomer in the AIDA spec: width is neglected.
00605     // We'd like to do this: ey.push_back(histo->binError(i) * scale);
00606     ez.push_back(histo->binError(ix, iy)*scale/
00607              (histo->xAxis().binWidth(ix)*histo->yAxis().binWidth(iy)));
00608     }
00609 
00610     string title = histo->title();
00611     string xtitle = histo->xtitle();
00612     string ytitle = histo->ytitle();
00613     string ztitle = histo->ztitle();
00614 
00615     tree().mkdir("/tmpnormalize");
00616     tree().mv(hpath, "/tmpnormalize");
00617 
00618     if (hpath.find(" ") != string::npos) {
00619       throw Error("Histogram path '" + hpath + "' is invalid: spaces are not permitted in paths");
00620     }
00621     AIDA::IDataPointSet* dps =
00622       datapointsetFactory().createXYZ(hpath, title, x, y, z, ex, ey, ez);
00623     dps->setXTitle(xtitle);
00624     dps->setYTitle(ytitle);
00625     dps->setZTitle(ztitle);
00626 
00627     tree().rm(tree().findPath(dynamic_cast<AIDA::IManagedObject&>(*histo)));
00628     tree().rmdir("/tmpnormalize");
00629 
00630     // Set histo pointer to null - it can no longer be used.
00631     histo = 0;
00632   }

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 507 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_XS::finalize(), MC_WWJETS::finalize(), MC_WPOL::finalize(), MC_WJETS::finalize(), MC_VH2BB::finalize(), MC_TTBAR::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_S9212183::finalize(), ATLAS_2011_S9131140::finalize(), ATLAS_2011_S9128077::finalize(), ATLAS_2011_S9120807::finalize(), ATLAS_2011_S9108483::finalize(), ATLAS_2011_S9041966::finalize(), ATLAS_2011_I925932::finalize(), ATLAS_2011_CONF_2011_098::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_2011_S8945144::finalize(), ALICE_2011_S8909580::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(), ATLAS_2011_I919017::safeinvscale(), and BinnedHistogram< T >::scale().

00507                                                              {
00508     if (!histo) {
00509       MSG_ERROR("Failed to scale histo=NULL in analysis "
00510                 << name() << " (scale=" << scale << ")");
00511       return;
00512     }
00513     const string hpath = tree().findPath(dynamic_cast<const AIDA::IManagedObject&>(*histo));
00514     MSG_TRACE("Scaling histo " << hpath);
00515 
00516     vector<double> x, y, ex, ey;
00517     for (size_t i = 0, N = histo->axis().bins(); i < N; ++i) {
00518       x.push_back(0.5 * (histo->axis().binLowerEdge(i) + histo->axis().binUpperEdge(i)));
00519       ex.push_back(histo->axis().binWidth(i)*0.5);
00520 
00521       // "Bin height" is a misnomer in the AIDA spec: width is neglected.
00522       // We'd like to do this: y.push_back(histo->binHeight(i) * scale);
00523       y.push_back(histo->binHeight(i)*scale/histo->axis().binWidth(i));
00524 
00525       // "Bin error" is a misnomer in the AIDA spec: width is neglected.
00526       // We'd like to do this: ey.push_back(histo->binError(i) * scale);
00527       ey.push_back(histo->binError(i)*scale/histo->axis().binWidth(i));
00528     }
00529 
00530     string title = histo->title();
00531     string xtitle = histo->xtitle();
00532     string ytitle = histo->ytitle();
00533 
00534     tree().mkdir("/tmpnormalize");
00535     tree().mv(hpath, "/tmpnormalize");
00536 
00537     if (hpath.find(" ") != string::npos) {
00538       throw Error("Histogram path '" + hpath + "' is invalid: spaces are not permitted in paths");
00539     }
00540     AIDA::IDataPointSet* dps = datapointsetFactory().createXY(hpath, title, x, y, ex, ey);
00541     dps->setXTitle(xtitle);
00542     dps->setYTitle(ytitle);
00543 
00544     tree().rm(tree().findPath(dynamic_cast<AIDA::IManagedObject&>(*histo)));
00545     tree().rmdir("/tmpnormalize");
00546 
00547     // Set histo pointer to null - it can no longer be used.
00548     histo = 0;
00549   }

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 255 of file Analysis.hh.

References Analysis::setRequiredBeams().

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

Analysis & setCrossSection ( double  xs  )  [inherited]

Set the cross section from the generator.

Definition at line 160 of file Analysis.cc.

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

00160                                                {
00161     _crossSection = xs;
00162     _gotCrossSection = true;
00163     return *this;
00164   }

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

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

Definition at line 236 of file Analysis.hh.

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

Referenced by ATLAS_2011_S9108483::ATLAS_2011_S9108483(), LHCB_2010_S8758301::LHCB_2010_S8758301(), and MC_JetAnalysis::MC_JetAnalysis().

00236                                                      {
00237       info().setNeedsCrossSection(needed);
00238       return *this;
00239     }

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 214 of file Analysis.hh.

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

Referenced by Analysis::setBeams().

00214                                                                                   {
00215       info().setBeams(requiredBeams);
00216       return *this;
00217     }

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 225 of file Analysis.hh.

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

00225                                                                                                        {
00226       info().setEnergies(requiredEnergies);
00227       return *this;
00228     }

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

Get the SPIRES ID code for this analysis (~deprecated).

Definition at line 128 of file Analysis.hh.

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

00128                                        {
00129       return info().spiresId();
00130     }

double sqrtS (  )  const [inherited]

Centre of mass energy for this run.

Definition at line 50 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(), MC_TTBAR::analyze(), JADE_1998_S3612880::analyze(), CMS_2011_S9120041::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(), 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_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().

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

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

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

Definition at line 199 of file Analysis.hh.

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

00199                                      {
00200       return (info().status().empty()) ? "UNVALIDATED" : info().status();
00201     }

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 145 of file Analysis.hh.

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

00145                                       {
00146       return info().summary();
00147     }

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 108 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_XS::finalize(), MC_WWJETS::finalize(), MC_WJETS::finalize(), MC_VH2BB::finalize(), MC_JetAnalysis::finalize(), MC_HJETS::finalize(), MC_GENERIC::finalize(), MC_DIPHOTON::finalize(), LHCB_2010_S8758301::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_S9086218::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_S9212183::finalize(), ATLAS_2011_S9120807::finalize(), ATLAS_2011_S9108483::finalize(), ATLAS_2011_S9041966::finalize(), ATLAS_2011_CONF_2011_098::finalize(), ATLAS_2011_CONF_2011_090::finalize(), ATLAS_2010_S8919674::finalize(), ATLAS_2010_S8914702::finalize(), ATLAS_2010_CONF_2010_049::finalize(), ALICE_2011_S8945144::finalize(), ALICE_2011_S8909580::finalize(), ALEPH_2004_S5765862::finalize(), ALEPH_1996_S3486095::finalize(), ALEPH_1996_S3196992::finalize(), and ALEPH_1991_S2435284::finalize().

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

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

Any work to be done on this analysis.

Definition at line 204 of file Analysis.hh.

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

00204                                                {
00205       return info().todos();
00206     }

ITree & tree (  )  [protected, inherited]

Access the AIDA tree of the controlling AnalysisHandler object.

Definition at line 35 of file Analysis.cc.

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

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

00035                         {
00036     return handler().tree();
00037   }

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

When the original experimental analysis was published.

Definition at line 179 of file Analysis.hh.

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

00179                                    {
00180       return info().year();
00181     }


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 547 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* _histMeanMultiPiPlus [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 550 of file Analysis.hh.

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


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