Base class providing common functionality for MC jet validation analyses. More...
#include <MC_JetAnalysis.hh>
Public Member Functions | |
MC_JetAnalysis (const string &name, size_t njet, const string &jetpro_name, double jetptcut=20 *GeV) | |
Default constructor. | |
virtual bool | isCompatible (PdgId beam1, PdgId beam2) const |
Is this analysis able to run on the supplied pair of beams? | |
virtual bool | isCompatible (const PdgIdPair &beams) const |
Is this analysis able to run on the PdgIdPair beams ? | |
AnalysisHandler & | handler () 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) |
Analysis & | setCrossSection (double xs) |
Set the cross section from the generator. | |
bool | needsCrossSection () const |
Return true if this analysis needs to know the process cross-section. | |
Analysis methods | |
virtual void | init () |
virtual void | analyze (const Event &event) |
virtual 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. | |
virtual const AnalysisInfo & | info () const |
Get the actual AnalysisInfo object in which all this metadata is stored. | |
virtual std::string | name () const |
Get the name of the analysis. | |
virtual std::string | spiresId () const |
Get a the SPIRES/Inspire ID code for this analysis. | |
virtual std::vector< std::string > | authors () const |
Names & emails of paper/analysis authors. | |
virtual std::string | summary () const |
Get a short description of the analysis. | |
virtual std::string | description () const |
Get a full description of the analysis. | |
virtual std::string | runInfo () const |
Information about the events needed as input for this analysis. | |
virtual std::string | experiment () const |
Experiment which performed and published this analysis. | |
virtual std::string | collider () const |
Collider on which the experiment ran. | |
virtual const std::vector < PdgIdPair > & | requiredBeams () const |
Return the pair of incoming beams required by this analysis. | |
virtual const std::vector < std::pair< double, double > > & | energies () const |
Sets of valid beam energy pairs, in GeV. | |
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. | |
Run conditions | |
const ParticlePair & | beams () 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. | |
Projection "getting" functions | |
std::set< ConstProjectionPtr > | getProjections () const |
Get the contained projections, including recursion. | |
template<typename PROJ > | |
const PROJ & | getProjection (const std::string &name) const |
Get the named projection, specifying return type via a template argument. | |
const Projection & | getProjection (const std::string &name) const |
Projection applying functions | |
template<typename PROJ > | |
const PROJ & | applyProjection (const Event &evt, const PROJ &proj) const |
Apply the supplied projection on event. | |
template<typename PROJ > | |
const PROJ & | applyProjection (const Event &evt, const Projection &proj) const |
Apply the supplied projection on event. | |
template<typename PROJ > | |
const PROJ & | applyProjection (const Event &evt, const std::string &name) const |
Apply the named projection on event. | |
Protected Member Functions | |
Log & | getLog () 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 |
Analysis & | setBeams (PdgId beam1, PdgId beam2) |
Analysis & | setNeedsCrossSection (bool needed) |
Declare whether this analysis needs to know the process cross-section from the generator. | |
ProjectionHandler & | getProjHandler () const |
Get a reference to the ProjectionHandler for this thread. | |
AIDA analysis infrastructure. | |
AIDA::IAnalysisFactory & | analysisFactory () |
Access the AIDA analysis factory of the controlling AnalysisHandler object. | |
AIDA::ITree & | tree () |
Access the AIDA tree of the controlling AnalysisHandler object. | |
AIDA::IHistogramFactory & | histogramFactory () |
Access the AIDA histogram factory of the controlling AnalysisHandler object. | |
AIDA::IDataPointSetFactory & | datapointsetFactory () |
Access the AIDA histogram factory of the controlling AnalysisHandler object. | |
const std::string | histoDir () const |
Get the canonical histogram "directory" path for this analysis. | |
const std::string | histoPath (const std::string &hname) const |
Get the canonical histogram path for the named histogram in this analysis. | |
Internal histogram booking (for use by Analysis sub-classes). | |
const BinEdges & | binEdges (const std::string &hname) const |
Get bin edges for a named histo (using ref AIDA caching). | |
const BinEdges & | binEdges (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 | |
size_t | m_njet |
The number of jets for which histograms are to be initialised. | |
const std::string | m_jetpro_name |
double | m_jetptcut |
Jet pT cutoff. | |
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. | |
Histograms | |
| |
std::vector< AIDA::IHistogram1D * > | _h_log10_d |
std::vector < AIDA::IDataPointSet * > | _h_log10_R |
std::vector< AIDA::IHistogram1D * > | _h_pT_jet |
std::vector< AIDA::IHistogram1D * > | _h_eta_jet |
std::vector< shared_ptr < LWH::Histogram1D > > | _h_eta_jet_plus |
std::vector< shared_ptr < LWH::Histogram1D > > | _h_eta_jet_minus |
std::vector< AIDA::IHistogram1D * > | _h_rap_jet |
std::vector< shared_ptr < LWH::Histogram1D > > | _h_rap_jet_plus |
std::vector< shared_ptr < LWH::Histogram1D > > | _h_rap_jet_minus |
std::vector< AIDA::IHistogram1D * > | _h_mass_jet |
std::map< std::pair< size_t, size_t >, AIDA::IHistogram1D * > | _h_deta_jets |
std::map< std::pair< size_t, size_t >, AIDA::IHistogram1D * > | _h_dR_jets |
AIDA::IHistogram1D * | _h_jet_multi_exclusive |
AIDA::IHistogram1D * | _h_jet_multi_inclusive |
AIDA::IDataPointSet * | _h_jet_multi_ratio |
Friends | |
class | Projectionhandler |
Base class providing common functionality for MC jet validation analyses.
Definition at line 13 of file MC_JetAnalysis.hh.
MC_JetAnalysis | ( | const string & | name, | |
size_t | njet, | |||
const string & | jetpro_name, | |||
double | jetptcut = 20*GeV | |||
) |
Default constructor.
Definition at line 10 of file MC_JetAnalysis.cc.
References Analysis::setNeedsCrossSection().
00014 : Analysis(name), m_njet(njet), m_jetpro_name(jetpro_name), m_jetptcut(jetptcut), 00015 _h_log10_d(njet, NULL), _h_log10_R(njet+1, NULL), _h_pT_jet(njet, NULL), 00016 _h_eta_jet(njet, NULL), _h_eta_jet_plus(njet), _h_eta_jet_minus(njet), 00017 _h_rap_jet(njet, NULL), _h_rap_jet_plus(njet), _h_rap_jet_minus(njet), 00018 _h_mass_jet(njet, NULL) 00019 { 00020 setNeedsCrossSection(true); 00021 }
const Projection & _addProjection | ( | const Projection & | proj, | |
const std::string & | name | |||
) | [protected, inherited] |
Untemplated function to do the work...
Definition at line 33 of file ProjectionApplier.cc.
References ProjectionApplier::_allowProjReg, Log::ERROR, ProjectionApplier::getLog(), ProjectionApplier::getProjHandler(), ProjectionApplier::name(), Projection::name(), and ProjectionHandler::registerProjection().
Referenced by ProjectionApplier::addProjection().
00034 { 00035 if (!_allowProjReg) { 00036 getLog() << Log::ERROR << "Trying to register projection '" 00037 << proj.name() << "' before init phase in '" << this->name() << "'." << endl; 00038 exit(2); 00039 } 00040 const Projection& reg = getProjHandler().registerProjection(*this, proj, name); 00041 return reg; 00042 }
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 130 of file ProjectionApplier.hh.
References ProjectionApplier::_addProjection().
Referenced by ZFinder::_init(), WFinder::_init(), VetoedFinalState::addVetoOnThisFinalState(), CDF_2009_S8057893::CDF_2009_S8057893::init(), CentralEtHCM::CentralEtHCM(), ChargedFinalState::ChargedFinalState(), ChargedLeptons::ChargedLeptons(), ClosestJetShape::ClosestJetShape(), ClusteredPhotons::ClusteredPhotons(), DISKinematics::DISKinematics(), DISLepton::DISLepton(), FinalState::FinalState(), FinalStateHCM::FinalStateHCM(), FoxWolframMoments::FoxWolframMoments(), HadronicFinalState::HadronicFinalState(), Hemispheres::Hemispheres(), IdentifiedFinalState::IdentifiedFinalState(), ZEUS_2001_S4815815::init(), UA5_1989_S1926373::init(), UA5_1988_S1867512::init(), UA5_1987_S1640666::init(), UA5_1986_S1583476::init(), UA5_1982_S875503::init(), UA1_1990_S2044935::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_WJETS::init(), MC_TTBAR::init(), MC_SUSY::init(), MC_PHOTONJETUE::init(), MC_PHOTONJETS::init(), MC_LEADINGJETS::init(), MC_JETS::init(), MC_HJETS::init(), MC_GENERIC::init(), MC_DIPHOTON::init(), MC_DIJET::init(), LHCB_2010_S8758301::init(), JADE_OPAL_2000_S4300807::init(), H1_2000_S4129130::init(), H1_1995_S3167097::init(), H1_1994_S2919893::init(), ExampleAnalysis::init(), E735_1998_S3905616::init(), DELPHI_2002_069_CONF_603::init(), DELPHI_1995_S3137023::init(), D0_2010_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_1998_S3711838::init(), D0_1996_S3324664::init(), D0_1996_S3214044::init(), CDF_2009_S8436959::init(), CDF_2009_S8383952::init(), CDF_2009_S8233977::init(), CDF_2009_NOTE_9936::init(), CDF_2008_S8095620::init(), CDF_2008_S8093652::init(), CDF_2008_S7828950::init(), CDF_2008_S7782535::init(), CDF_2008_S7541902::init(), CDF_2008_S7540469::init(), CDF_2008_NOTE_9351::init(), CDF_2008_LEADINGJETS::init(), CDF_2007_S7057202::init(), CDF_2006_S6653332::init(), CDF_2006_S6450792::init(), CDF_2005_S6217184::init(), CDF_2005_S6080774::init(), CDF_2004_S5839831::init(), CDF_2002_S4796047::init(), CDF_2001_S4751469::init(), CDF_2001_S4563131::init(), CDF_2001_S4517016::init(), CDF_2000_S4266730::init(), CDF_2000_S4155203::init(), CDF_1998_S3618439::init(), CDF_1997_S3541940::init(), CDF_1996_S3418421::init(), CDF_1996_S3349578::init(), CDF_1996_S3108457::init(), CDF_1994_S2952106::init(), CDF_1993_S2742446::init(), CDF_1991_S2313472::init(), CDF_1990_S2089246::init(), CDF_1988_S1865951::init(), BELLE_2006_S6265367::init(), ATLAS_2010_S8817804::init(), ATLAS_2010_S8591806::init(), ATLAS_2010_CONF_2010_083::init(), ATLAS_2010_CONF_2010_081::init(), ATLAS_2010_CONF_2010_049::init(), ATLAS_2010_CONF_2010_031::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(), LossyFinalState< ConstRandomFilter >::LossyFinalState(), MergedFinalState::MergedFinalState(), Multiplicity::Multiplicity(), NeutralFinalState::NeutralFinalState(), ParisiTensor::ParisiTensor(), Sphericity::Sphericity(), SVertex::SVertex(), Thrust::Thrust(), TotalVisibleMomentum::TotalVisibleMomentum(), TriggerCDFRun0Run1::TriggerCDFRun0Run1(), TriggerCDFRun2::TriggerCDFRun2(), TriggerUA5::TriggerUA5(), and VetoedFinalState::VetoedFinalState().
00130 { 00131 const Projection& reg = _addProjection(proj, name); 00132 const PROJ& rtn = dynamic_cast<const PROJ&>(reg); 00133 return rtn; 00134 }
IAnalysisFactory & analysisFactory | ( | ) | [protected, inherited] |
Access the AIDA analysis factory of the controlling AnalysisHandler object.
Definition at line 55 of file Analysis.cc.
References AnalysisHandler::analysisFactory(), and Analysis::handler().
00055 { 00056 return handler().analysisFactory(); 00057 }
void analyze | ( | const Event & | event | ) | [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.
Reimplemented in MC_HJETS, MC_JETS, MC_PHOTONJETS, MC_WJETS, MC_WWJETS, MC_ZJETS, and MC_ZZJETS.
Definition at line 86 of file MC_JetAnalysis.cc.
References MC_JetAnalysis::_h_deta_jets, MC_JetAnalysis::_h_dR_jets, MC_JetAnalysis::_h_eta_jet, MC_JetAnalysis::_h_eta_jet_minus, MC_JetAnalysis::_h_eta_jet_plus, MC_JetAnalysis::_h_jet_multi_exclusive, MC_JetAnalysis::_h_jet_multi_inclusive, MC_JetAnalysis::_h_log10_d, MC_JetAnalysis::_h_log10_R, MC_JetAnalysis::_h_mass_jet, MC_JetAnalysis::_h_pT_jet, MC_JetAnalysis::_h_rap_jet, MC_JetAnalysis::_h_rap_jet_minus, MC_JetAnalysis::_h_rap_jet_plus, FastJets::clusterSeq(), Rivet::deltaR(), Analysis::getLog(), Rivet::GeV, JetAlg::jetsByPt(), MC_JetAnalysis::m_jetpro_name, MC_JetAnalysis::m_jetptcut, MC_JetAnalysis::m_njet, Rivet::momentum(), Rivet::pT(), Log::WARNING, and Event::weight().
00086 { 00087 const double weight = e.weight(); 00088 00089 const FastJets& jetpro = applyProjection<FastJets>(e, m_jetpro_name); 00090 00091 // Jet resolutions and integrated jet rates 00092 const fastjet::ClusterSequence* seq = jetpro.clusterSeq(); 00093 if (seq != NULL) { 00094 double previous_dij = 10.0; 00095 for (size_t i = 0; i < m_njet; ++i) { 00096 // Jet resolution i -> j 00097 double d_ij = log10(sqrt(seq->exclusive_dmerge_max(i))); 00098 00099 // Fill differential jet resolution 00100 _h_log10_d[i]->fill(d_ij, weight); 00101 00102 // Fill integrated jet resolution 00103 for (int ibin = 0; ibin < _h_log10_R[i]->size(); ++ibin) { 00104 IDataPoint* dp = _h_log10_R[i]->point(ibin); 00105 double dcut = dp->coordinate(0)->value(); 00106 if (d_ij < dcut && previous_dij > dcut) { 00107 dp->coordinate(1)->setValue(dp->coordinate(1)->value() + weight); 00108 } 00109 } 00110 previous_dij = d_ij; 00111 } 00112 // One remaining integrated jet resolution 00113 for (int ibin = 0; ibin<_h_log10_R[m_njet]->size(); ++ibin) { 00114 IDataPoint* dp = _h_log10_R[m_njet]->point(ibin); 00115 double dcut = dp->coordinate(0)->value(); 00116 if (previous_dij > dcut) { 00117 dp->coordinate(1)->setValue(dp->coordinate(1)->value() + weight); 00118 } 00119 } 00120 } 00121 00122 const Jets& jets = jetpro.jetsByPt(m_jetptcut); 00123 00124 // The remaining direct jet observables 00125 for (size_t i = 0; i < m_njet; ++i) { 00126 if (jets.size() < i+1) continue; 00127 _h_pT_jet[i]->fill(jets[i].momentum().pT()/GeV, weight); 00128 // Check for numerical precision issues with jet masses 00129 double m2_i = jets[i].momentum().mass2(); 00130 if (m2_i < 0) { 00131 if (m2_i < -1e-8) { 00132 getLog() << Log::WARNING << "Jet mass2 is negative: " << m2_i << " GeV^2. " 00133 << "Truncating to 0.0, assuming numerical precision is to blame." << endl; 00134 } 00135 m2_i = 0.0; 00136 } 00137 00138 // Jet mass 00139 _h_mass_jet[i]->fill(sqrt(m2_i)/GeV, weight); 00140 00141 // Jet eta 00142 const double eta_i = jets[i].momentum().eta(); 00143 _h_eta_jet[i]->fill(eta_i, weight); 00144 if (eta_i > 0.0) { 00145 _h_eta_jet_plus[i]->fill(eta_i, weight); 00146 } else { 00147 _h_eta_jet_minus[i]->fill(fabs(eta_i), weight); 00148 } 00149 00150 // Jet rapidity 00151 const double rap_i = jets[i].momentum().rapidity(); 00152 _h_rap_jet[i]->fill(rap_i, weight); 00153 if (rap_i > 0.0) { 00154 _h_rap_jet_plus[i]->fill(rap_i, weight); 00155 } else { 00156 _h_rap_jet_minus[i]->fill(fabs(rap_i), weight); 00157 } 00158 00159 // Inter-jet properties 00160 for (size_t j = i+1; j < m_njet; ++j) { 00161 if (jets.size() < j+1) continue; 00162 std::pair<size_t, size_t> ij = std::make_pair(i, j); 00163 double deta = jets[i].momentum().eta()-jets[j].momentum().eta(); 00164 double dR = deltaR(jets[i].momentum(), jets[j].momentum()); 00165 _h_deta_jets[ij]->fill(deta, weight); 00166 _h_dR_jets[ij]->fill(dR, weight); 00167 } 00168 } 00169 _h_jet_multi_exclusive->fill(jets.size(), weight); 00170 00171 for (size_t i = 0; i < m_njet+2; ++i) { 00172 if (jets.size() >= i) { 00173 _h_jet_multi_inclusive->fill(i, weight); 00174 } 00175 } 00176 }
const PROJ& applyProjection | ( | const Event & | evt, | |
const std::string & | name | |||
) | const [inline, inherited] |
Apply the named projection on event.
Definition at line 97 of file ProjectionApplier.hh.
References ProjectionApplier::_applyProjection().
00097 { 00098 return pcast<PROJ>(_applyProjection(evt, name)); 00099 }
const PROJ& applyProjection | ( | const Event & | evt, | |
const Projection & | proj | |||
) | const [inline, inherited] |
Apply the supplied projection on event.
Definition at line 90 of file ProjectionApplier.hh.
References ProjectionApplier::_applyProjection().
00090 { 00091 return pcast<PROJ>(_applyProjection(evt, proj)); 00092 }
const PROJ& applyProjection | ( | const Event & | evt, | |
const PROJ & | proj | |||
) | const [inline, inherited] |
Apply the supplied projection on event.
Definition at line 83 of file ProjectionApplier.hh.
References ProjectionApplier::_applyProjection().
Referenced by HadronicFinalState::project(), and FinalStateHCM::project().
00083 { 00084 return pcast<PROJ>(_applyProjection(evt, proj)); 00085 }
vector< string > authors | ( | ) | const [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 141 of file Analysis.cc.
References Analysis::_info.
const PdgIdPair beamIds | ( | ) | const [inherited] |
Incoming beam IDs for this run.
Definition at line 83 of file Analysis.cc.
References AnalysisHandler::beamIds(), and Analysis::handler().
Referenced by UA5_1982_S875503::finalize(), and UA5_1982_S875503::init().
00083 { 00084 return handler().beamIds(); 00085 }
const ParticlePair & beams | ( | ) | const [inherited] |
Incoming beams for this run.
Definition at line 79 of file Analysis.cc.
References AnalysisHandler::beams(), and Analysis::handler().
Referenced by OPAL_1998_S3780481::analyze(), DELPHI_2002_069_CONF_603::analyze(), DELPHI_1995_S3137023::analyze(), BELLE_2006_S6265367::analyze(), ALEPH_2004_S5765862::analyze(), ALEPH_1996_S3486095::analyze(), and Analysis::isCompatible().
00079 { 00080 return handler().beams(); 00081 }
string bibKey | ( | ) | const [virtual, inherited] |
BibTeX citation key for this article.
Definition at line 185 of file Analysis.cc.
References Analysis::_info.
string bibTeX | ( | ) | const [virtual, inherited] |
BibTeX citation entry for this article.
Definition at line 190 of file Analysis.cc.
References Analysis::_info.
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 311 of file Analysis.cc.
References Analysis::binEdges().
00311 { 00312 const string hname = makeAxisCode(datasetId, xAxisId, yAxisId); 00313 return binEdges(hname); 00314 }
const BinEdges & binEdges | ( | const std::string & | hname | ) | const [protected, inherited] |
Get bin edges for a named histo (using ref AIDA caching).
Definition at line 296 of file Analysis.cc.
References Analysis::_cacheBinEdges(), Analysis::_histBinEdges, Analysis::getLog(), Analysis::name(), and Log::TRACE.
Referenced by ATLAS_2010_CONF_2010_081::analyze(), Analysis::binEdges(), Analysis::bookHistogram1D(), Analysis::bookProfile1D(), D0_2008_S7837160::init(), and CDF_1994_S2952106::init().
00296 { 00297 _cacheBinEdges(); 00298 getLog() << Log::TRACE << "Using histo bin edges for " << name() << ":" << hname << endl; 00299 const BinEdges& edges = _histBinEdges.find(hname)->second; 00300 if (getLog().isActive(Log::TRACE)) { 00301 stringstream edges_ss; 00302 foreach (const double be, edges) { 00303 edges_ss << " " << be; 00304 } 00305 getLog() << Log::TRACE << "Edges:" << edges_ss.str() << endl; 00306 } 00307 return edges; 00308 }
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 508 of file Analysis.cc.
References Analysis::_cacheXAxisData(), Analysis::_dpsData, Analysis::bookDataPointSet(), Analysis::getLog(), Analysis::name(), and Log::TRACE.
00510 { 00511 // Get the bin edges (only read the AIDA file once) 00512 _cacheXAxisData(); 00513 // Build the axis code 00514 const string axisCode = makeAxisCode(datasetId, xAxisId, yAxisId); 00515 //const map<string, vector<DPSXPoint> > xpoints = getDPSXValsErrs(papername); 00516 getLog() << Log::TRACE << "Using DPS x-positions for " << name() << ":" << axisCode << endl; 00517 IDataPointSet* dps = bookDataPointSet(axisCode, title, xtitle, ytitle); 00518 const vector<DPSXPoint> xpts = _dpsData.find(axisCode)->second; 00519 for (size_t pt = 0; pt < xpts.size(); ++pt) { 00520 dps->addPoint(); 00521 IMeasurement* meas = dps->point(pt)->coordinate(0); 00522 meas->setValue(xpts[pt].val); 00523 meas->setErrorPlus(xpts[pt].errplus); 00524 meas->setErrorMinus(xpts[pt].errminus); 00525 } 00526 getLog() << Log::TRACE << "Made DPS " << axisCode << " for " << name() << endl; 00527 return dps; 00528 }
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 490 of file Analysis.cc.
References Analysis::bookDataPointSet().
00493 { 00494 IDataPointSet* dps = bookDataPointSet(hname, title, xtitle, ytitle); 00495 for (size_t pt = 0; pt < npts; ++pt) { 00496 const double binwidth = (upper-lower)/npts; 00497 const double bincentre = lower + (pt + 0.5) * binwidth; 00498 dps->addPoint(); 00499 IMeasurement* meas = dps->point(pt)->coordinate(0); 00500 meas->setValue(bincentre); 00501 meas->setErrorPlus(binwidth/2.0); 00502 meas->setErrorMinus(binwidth/2.0); 00503 } 00504 return dps; 00505 }
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 478 of file Analysis.cc.
References Analysis::_makeHistoDir(), Analysis::datapointsetFactory(), Analysis::getLog(), Analysis::histoPath(), Analysis::name(), and Log::TRACE.
Referenced by Analysis::bookDataPointSet(), ALEPH_2004_S5765862::finalize(), STAR_2006_S6860818::init(), OPAL_1993_S2692198::init(), MC_JetAnalysis::init(), JADE_OPAL_2000_S4300807::init(), D0_2001_S4674421::init(), CDF_2008_S7782535::init(), CDF_2008_S7541902::init(), CDF_2005_S6217184::init(), CDF_1996_S3418421::init(), CDF_1994_S2952106::init(), and ALEPH_2004_S5765862::init().
00479 { 00480 _makeHistoDir(); 00481 const string path = histoPath(hname); 00482 IDataPointSet* dps = datapointsetFactory().create(path, title, 2); 00483 getLog() << Log::TRACE << "Made data point set " << hname << " for " << name() << endl; 00484 dps->setXTitle(xtitle); 00485 dps->setYTitle(ytitle); 00486 return dps; 00487 }
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 330 of file Analysis.cc.
References Analysis::bookHistogram1D().
00333 { 00334 const string axisCode = makeAxisCode(datasetId, xAxisId, yAxisId); 00335 return bookHistogram1D(axisCode, title, xtitle, ytitle); 00336 }
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 339 of file Analysis.cc.
References Analysis::_makeHistoDir(), Analysis::binEdges(), Analysis::getLog(), Analysis::histogramFactory(), Analysis::histoPath(), Analysis::name(), and Log::TRACE.
00341 { 00342 // Get the bin edges (only read the AIDA file once) 00343 const BinEdges edges = binEdges(hname); 00344 _makeHistoDir(); 00345 const string path = histoPath(hname); 00346 IHistogram1D* hist = histogramFactory().createHistogram1D(path, title, edges); 00347 getLog() << Log::TRACE << "Made histogram " << hname << " for " << name() << endl; 00348 hist->setXTitle(xtitle); 00349 hist->setYTitle(ytitle); 00350 return hist; 00351 }
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 368 of file Analysis.cc.
References Analysis::_makeHistoDir(), Analysis::getLog(), Analysis::histogramFactory(), Analysis::histoPath(), Analysis::name(), and Log::TRACE.
00371 { 00372 _makeHistoDir(); 00373 const string path = histoPath(hname); 00374 IHistogram1D* hist = histogramFactory().createHistogram1D(path, title, binedges); 00375 getLog() << Log::TRACE << "Made histogram " << hname << " for " << name() << endl; 00376 hist->setXTitle(xtitle); 00377 hist->setYTitle(ytitle); 00378 return hist; 00379 }
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 354 of file Analysis.cc.
References Analysis::_makeHistoDir(), Analysis::getLog(), Analysis::histogramFactory(), Analysis::histoPath(), Analysis::name(), and Log::TRACE.
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(), STAR_2008_S7869363::init(), STAR_2006_S6870392::init(), STAR_2006_S6860818::init(), STAR_2006_S6500200::init(), SFM_1984_S1178091::init(), PDG_HADRON_MULTIPLICITIES_RATIOS::init(), PDG_HADRON_MULTIPLICITIES::init(), OPAL_2004_S6132243::init(), OPAL_2001_S4553896::init(), OPAL_1998_S3780481::init(), MC_ZZJETS::init(), MC_ZJETS::init(), MC_WWJETS::init(), MC_WJETS::init(), MC_TTBAR::init(), MC_SUSY::init(), MC_PHOTONJETUE::init(), MC_PHOTONJETS::init(), MC_JetAnalysis::init(), MC_HJETS::init(), MC_GENERIC::init(), MC_DIPHOTON::init(), MC_DIJET::init(), LHCB_2010_S8758301::init(), JADE_OPAL_2000_S4300807::init(), H1_2000_S4129130::init(), H1_1995_S3167097::init(), H1_1994_S2919893::init(), ExampleAnalysis::init(), E735_1998_S3905616::init(), DELPHI_2002_069_CONF_603::init(), DELPHI_1995_S3137023::init(), D0_2010_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_1998_S3711838::init(), D0_1996_S3324664::init(), D0_1996_S3214044::init(), CDF_2009_S8436959::init(), CDF_2009_S8383952::init(), CDF_2009_S8233977::init(), CDF_2009_NOTE_9936::init(), CDF_2008_S8095620::init(), CDF_2008_S8093652::init(), CDF_2008_S7828950::init(), CDF_2008_S7541902::init(), CDF_2008_S7540469::init(), CDF_2007_S7057202::init(), CDF_2006_S6653332::init(), CDF_2006_S6450792::init(), CDF_2005_S6080774::init(), CDF_2004_S5839831::init(), CDF_2002_S4796047::init(), CDF_2001_S4751469::init(), CDF_2001_S4563131::init(), CDF_2001_S4517016::init(), CDF_2000_S4266730::init(), CDF_2000_S4155203::init(), CDF_1998_S3618439::init(), CDF_1997_S3541940::init(), CDF_1996_S3418421::init(), CDF_1996_S3349578::init(), CDF_1996_S3108457::init(), CDF_1994_S2952106::init(), CDF_1993_S2742446::init(), CDF_1991_S2313472::init(), CDF_1990_S2089246::init(), CDF_1988_S1865951::init(), BELLE_2006_S6265367::init(), ATLAS_2010_S8817804::init(), ATLAS_2010_S8591806::init(), ATLAS_2010_CONF_2010_083::init(), ATLAS_2010_CONF_2010_049::init(), ATLAS_2010_CONF_2010_031::init(), ALICE_2010_S8706239::init(), ALICE_2010_S8625980::init(), ALICE_2010_S8624100::init(), ALEPH_2004_S5765862::init(), ALEPH_1996_S3486095::init(), ALEPH_1996_S3196992::init(), and ALEPH_1991_S2435284::init().
00357 { 00358 _makeHistoDir(); 00359 const string path = histoPath(hname); 00360 IHistogram1D* hist = histogramFactory().createHistogram1D(path, title, nbins, lower, upper); 00361 getLog() << Log::TRACE << "Made histogram " << hname << " for " << name() << endl; 00362 hist->setXTitle(xtitle); 00363 hist->setYTitle(ytitle); 00364 return hist; 00365 }
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 402 of file Analysis.cc.
References Analysis::_makeHistoDir(), Analysis::getLog(), Analysis::histogramFactory(), Analysis::histoPath(), Analysis::name(), and Log::TRACE.
00406 { 00407 _makeHistoDir(); 00408 const string path = histoPath(hname); 00409 IHistogram2D* hist = 00410 histogramFactory().createHistogram2D(path, title, xbinedges, ybinedges); 00411 getLog() << Log::TRACE << "Made 2D histogram " << hname << " for " 00412 << name() << endl; 00413 hist->setXTitle(xtitle); 00414 hist->setYTitle(ytitle); 00415 hist->setZTitle(ztitle); 00416 return hist; 00417 }
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 382 of file Analysis.cc.
References Analysis::_makeHistoDir(), Analysis::getLog(), Analysis::histogramFactory(), Analysis::histoPath(), Analysis::name(), and Log::TRACE.
00386 { 00387 _makeHistoDir(); 00388 const string path = histoPath(hname); 00389 IHistogram2D* hist = 00390 histogramFactory().createHistogram2D(path, title, nxbins, xlower, xupper, 00391 nybins, ylower, yupper); 00392 getLog() << Log::TRACE << "Made 2D histogram " 00393 << hname << " for " << name() << endl; 00394 hist->setXTitle(xtitle); 00395 hist->setYTitle(ytitle); 00396 hist->setZTitle(ztitle); 00397 return hist; 00398 }
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 423 of file Analysis.cc.
References Analysis::bookProfile1D().
00425 { 00426 const string axisCode = makeAxisCode(datasetId, xAxisId, yAxisId); 00427 return bookProfile1D(axisCode, title, xtitle, ytitle); 00428 }
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 431 of file Analysis.cc.
References Analysis::_makeHistoDir(), Analysis::binEdges(), Analysis::getLog(), Analysis::histogramFactory(), Analysis::histoPath(), Analysis::name(), and Log::TRACE.
00433 { 00434 // Get the bin edges (only read the AIDA file once) 00435 const BinEdges edges = binEdges(hname); 00436 _makeHistoDir(); 00437 const string path = histoPath(hname); 00438 IProfile1D* prof = histogramFactory().createProfile1D(path, title, edges); 00439 getLog() << Log::TRACE << "Made profile histogram " << hname << " for " << name() << endl; 00440 prof->setXTitle(xtitle); 00441 prof->setYTitle(ytitle); 00442 return prof; 00443 }
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 460 of file Analysis.cc.
References Analysis::_makeHistoDir(), Analysis::getLog(), Analysis::histogramFactory(), Analysis::histoPath(), Analysis::name(), and Log::TRACE.
00463 { 00464 _makeHistoDir(); 00465 const string path = histoPath(hname); 00466 IProfile1D* prof = histogramFactory().createProfile1D(path, title, binedges); 00467 getLog() << Log::TRACE << "Made profile histogram " << hname << " for " << name() << endl; 00468 prof->setXTitle(xtitle); 00469 prof->setYTitle(ytitle); 00470 return prof; 00471 }
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 446 of file Analysis.cc.
References Analysis::_makeHistoDir(), Analysis::getLog(), Analysis::histogramFactory(), Analysis::histoPath(), Analysis::name(), and Log::TRACE.
Referenced by Analysis::bookProfile1D(), UA5_1988_S1867512::init(), UA1_1990_S2044935::init(), STAR_2009_UE_HELEN::init(), STAR_2008_S7993412::init(), STAR_2006_S6860818::init(), MC_PHOTONJETUE::init(), MC_LEADINGJETS::init(), H1_2000_S4129130::init(), H1_1994_S2919893::init(), DELPHI_2002_069_CONF_603::init(), D0_1996_S3324664::init(), CDF_2009_S8233977::init(), CDF_2008_S7782535::init(), CDF_2008_NOTE_9351::init(), CDF_2008_LEADINGJETS::init(), CDF_2005_S6217184::init(), CDF_2004_S5839831::init(), CDF_2002_S4796047::init(), CDF_2001_S4751469::init(), ATLAS_2010_S8591806::init(), ATLAS_2010_CONF_2010_081::init(), ATLAS_2010_CONF_2010_031::init(), and ALICE_2010_S8706239::init().
00449 { 00450 _makeHistoDir(); 00451 const string path = histoPath(hname); 00452 IProfile1D* prof = histogramFactory().createProfile1D(path, title, nbins, lower, upper); 00453 getLog() << Log::TRACE << "Made profile histogram " << hname << " for " << name() << endl; 00454 prof->setXTitle(xtitle); 00455 prof->setYTitle(ytitle); 00456 return prof; 00457 }
string collider | ( | ) | const [virtual, inherited] |
Collider on which the experiment ran.
Definition at line 170 of file Analysis.cc.
References Analysis::_info.
double crossSection | ( | ) | const [protected, inherited] |
Get the process cross-section in pb. Throws if this hasn't been set.
Definition at line 254 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_WWJETS::finalize(), MC_WJETS::finalize(), MC_JetAnalysis::finalize(), MC_HJETS::finalize(), MC_DIPHOTON::finalize(), D0_2010_S8570965::finalize(), D0_2010_S8566488::finalize(), D0_2008_S7863608::finalize(), D0_2008_S7719523::finalize(), D0_2008_S7662670::finalize(), D0_2006_S6438750::finalize(), D0_2000_S4480767::finalize(), CDF_2009_S8436959::finalize(), CDF_2009_S8383952::finalize(), CDF_2009_S8233977::finalize(), CDF_2008_S8093652::finalize(), CDF_2008_S7828950::finalize(), CDF_2008_S7541902::finalize(), CDF_2008_S7540469::finalize(), CDF_2006_S6653332::finalize(), CDF_2006_S6450792::finalize(), CDF_2005_S6080774::finalize(), CDF_2001_S4563131::finalize(), CDF_2001_S4517016::finalize(), CDF_2000_S4266730::finalize(), CDF_2000_S4155203::finalize(), CDF_1998_S3618439::finalize(), and ATLAS_2010_CONF_2010_049::finalize().
00254 { 00255 if (!_gotCrossSection || _crossSection < 0) { 00256 string errMsg = "You did not set the cross section for the analysis " + name(); 00257 throw Error(errMsg); 00258 } 00259 return _crossSection; 00260 }
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 262 of file Analysis.cc.
References Analysis::_crossSection, and Analysis::sumOfWeights().
Referenced by UA1_1990_S2044935::finalize(), MC_PHOTONJETS::finalize(), D0_2001_S4674421::finalize(), CDF_2007_S7057202::finalize(), CDF_1988_S1865951::finalize(), and ATLAS_2010_S8817804::finalize().
00262 { 00263 const double sumW = sumOfWeights(); 00264 assert(sumW > 0); 00265 return _crossSection / sumW; 00266 }
IDataPointSetFactory & datapointsetFactory | ( | ) | [protected, inherited] |
Access the AIDA histogram factory of the controlling AnalysisHandler object.
Definition at line 70 of file Analysis.cc.
References AnalysisHandler::datapointsetFactory(), and Analysis::handler().
Referenced by Analysis::bookDataPointSet(), and Analysis::scale().
00070 { 00071 return handler().datapointsetFactory(); 00072 }
string description | ( | ) | const [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 151 of file Analysis.cc.
References Analysis::_info.
const std::vector< std::pair< double, double > > & energies | ( | ) | const [virtual, inherited] |
Sets of valid beam energy pairs, in GeV.
Definition at line 161 of file Analysis.cc.
References AnalysisInfo::energies(), and Analysis::info().
00161 { 00162 return info().energies(); 00163 }
string experiment | ( | ) | const [virtual, inherited] |
Experiment which performed and published this analysis.
Definition at line 165 of file Analysis.cc.
References Analysis::_info.
void finalize | ( | ) | [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.
Reimplemented in MC_HJETS, MC_JETS, MC_PHOTONJETS, MC_WJETS, MC_WWJETS, MC_ZJETS, and MC_ZZJETS.
Definition at line 180 of file MC_JetAnalysis.cc.
References MC_JetAnalysis::_h_deta_jets, MC_JetAnalysis::_h_dR_jets, MC_JetAnalysis::_h_eta_jet, MC_JetAnalysis::_h_eta_jet_minus, MC_JetAnalysis::_h_eta_jet_plus, MC_JetAnalysis::_h_jet_multi_exclusive, MC_JetAnalysis::_h_jet_multi_inclusive, MC_JetAnalysis::_h_jet_multi_ratio, MC_JetAnalysis::_h_log10_d, MC_JetAnalysis::_h_log10_R, MC_JetAnalysis::_h_mass_jet, MC_JetAnalysis::_h_pT_jet, MC_JetAnalysis::_h_rap_jet, MC_JetAnalysis::_h_rap_jet_minus, MC_JetAnalysis::_h_rap_jet_plus, Analysis::crossSection(), Analysis::histogramFactory(), Analysis::histoPath(), MC_JetAnalysis::m_njet, Analysis::scale(), and Analysis::sumOfWeights().
00180 { 00181 for (size_t i = 0; i < m_njet; ++i) { 00182 scale(_h_log10_d[i], crossSection()/sumOfWeights()); 00183 for (int ibin = 0; ibin<_h_log10_R[i]->size(); ++ibin) { 00184 IDataPoint* dp = _h_log10_R[i]->point(ibin); 00185 dp->coordinate(1)->setValue(dp->coordinate(1)->value()*crossSection()/sumOfWeights()); 00186 } 00187 00188 scale(_h_pT_jet[i], crossSection()/sumOfWeights()); 00189 scale(_h_mass_jet[i], crossSection()/sumOfWeights()); 00190 scale(_h_eta_jet[i], crossSection()/sumOfWeights()); 00191 scale(_h_rap_jet[i], crossSection()/sumOfWeights()); 00192 00193 // Create eta/rapidity ratio plots 00194 stringstream etaname; 00195 etaname << "jet_eta_pmratio_" << i+1; 00196 histogramFactory().divide(histoPath(etaname.str()), *_h_eta_jet_plus[i], *_h_eta_jet_minus[i]); 00197 stringstream rapname; 00198 rapname << "jet_y_pmratio_" << i+1; 00199 histogramFactory().divide(histoPath(rapname.str()), *_h_rap_jet_plus[i], *_h_rap_jet_minus[i]); 00200 } 00201 00202 for (int ibin = 0; ibin < _h_log10_R[m_njet]->size(); ++ibin) { 00203 IDataPoint* dp =_h_log10_R[m_njet]->point(ibin); 00204 dp->coordinate(1)->setValue(dp->coordinate(1)->value()*crossSection()/sumOfWeights()); 00205 } 00206 00207 // Scale the d{eta,R} histograms 00208 map<pair<size_t, size_t>, AIDA::IHistogram1D*>::iterator it; 00209 for (it = _h_deta_jets.begin(); it != _h_deta_jets.end(); ++it) { 00210 scale(it->second, crossSection()/sumOfWeights()); 00211 } 00212 for (it = _h_dR_jets.begin(); it != _h_dR_jets.end(); ++it) { 00213 scale(it->second, crossSection()/sumOfWeights()); 00214 } 00215 00216 // Fill inclusive jet multi ratio 00217 int Nbins = _h_jet_multi_inclusive->axis().bins(); 00218 std::vector<double> ratio(Nbins-1, 0.0); 00219 std::vector<double> err(Nbins-1, 0.0); 00220 for (int i = 0; i < Nbins-1; ++i) { 00221 if (_h_jet_multi_inclusive->binHeight(i) > 0.0 && _h_jet_multi_inclusive->binHeight(i+1) > 0.0) { 00222 ratio[i] = _h_jet_multi_inclusive->binHeight(i+1)/_h_jet_multi_inclusive->binHeight(i); 00223 double relerr_i = _h_jet_multi_inclusive->binError(i)/_h_jet_multi_inclusive->binHeight(i); 00224 double relerr_j = _h_jet_multi_inclusive->binError(i+1)/_h_jet_multi_inclusive->binHeight(i+1); 00225 err[i] = ratio[i] * (relerr_i + relerr_j); 00226 } 00227 } 00228 _h_jet_multi_ratio->setCoordinate(1, ratio, err); 00229 00230 scale(_h_jet_multi_exclusive, crossSection()/sumOfWeights()); 00231 scale(_h_jet_multi_inclusive, crossSection()/sumOfWeights()); 00232 }
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 107 of file Analysis.cc.
References Analysis::name().
Referenced by Analysis::_cacheBinEdges(), Analysis::_cacheXAxisData(), CDF_2004_S5839831::_calcTransCones(), CDF_1996_S3349578::_fiveJetAnalysis(), CDF_1996_S3349578::_fourJetAnalysis(), D0_1996_S3214044::_safeMass(), CDF_1997_S3541940::_safeMass(), CDF_1996_S3349578::_safeMass(), CDF_1996_S3349578::_threeJetAnalysis(), ZEUS_2001_S4815815::analyze(), UA5_1986_S1583476::analyze(), UA1_1990_S2044935::analyze(), STAR_2009_UE_HELEN::analyze(), STAR_2008_S7993412::analyze(), STAR_2006_S6870392::analyze(), STAR_2006_S6860818::analyze(), STAR_2006_S6500200::analyze(), SFM_1984_S1178091::analyze(), PDG_HADRON_MULTIPLICITIES_RATIOS::analyze(), PDG_HADRON_MULTIPLICITIES::analyze(), OPAL_1998_S3780481::analyze(), MC_SUSY::analyze(), MC_PHOTONJETUE::analyze(), MC_LEADINGJETS::analyze(), MC_JetAnalysis::analyze(), MC_GENERIC::analyze(), H1_1994_S2919893::analyze(), DELPHI_2002_069_CONF_603::analyze(), DELPHI_1995_S3137023::analyze(), D0_2009_S8349509::analyze(), D0_2009_S8202443::analyze(), D0_2008_S7863608::analyze(), D0_2008_S7837160::analyze(), D0_2008_S7719523::analyze(), D0_2008_S7662670::analyze(), D0_2008_S7554427::analyze(), D0_2008_S6879055::analyze(), D0_2007_S7075677::analyze(), D0_2004_S5992206::analyze(), D0_1998_S3711838::analyze(), CDF_2009_S8383952::analyze(), CDF_2008_S8095620::analyze(), CDF_2008_S7782535::analyze(), CDF_2008_S7540469::analyze(), CDF_2008_NOTE_9351::analyze(), CDF_2008_LEADINGJETS::analyze(), CDF_2006_S6653332::analyze(), CDF_2004_S5839831::analyze(), CDF_2001_S4751469::analyze(), CDF_2000_S4155203::analyze(), CDF_1991_S2313472::analyze(), BELLE_2006_S6265367::analyze(), ALEPH_1996_S3486095::analyze(), ALEPH_1991_S2435284::analyze(), Analysis::binEdges(), Analysis::bookDataPointSet(), Analysis::bookHistogram1D(), Analysis::bookHistogram2D(), Analysis::bookProfile1D(), CDF_2009_S8057893::CDF_2009_S8057893::analyze(), UA5_1986_S1583476::finalize(), UA1_1990_S2044935::finalize(), STAR_2006_S6860818::finalize(), STAR_2006_S6500200::finalize(), D0_2001_S4674421::finalize(), CDF_2009_S8233977::finalize(), CDF_2006_S6653332::finalize(), ZEUS_2001_S4815815::init(), JADE_OPAL_2000_S4300807::init(), ALEPH_2004_S5765862::init(), Analysis::normalize(), and Analysis::scale().
00107 { 00108 string logname = "Rivet.Analysis." + name(); 00109 return Log::getLog(logname); 00110 }
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 73 of file ProjectionApplier.hh.
References ProjectionHandler::getProjection(), and ProjectionApplier::getProjHandler().
00073 { 00074 return getProjHandler().getProjection(*this, name); 00075 }
const PROJ& getProjection | ( | const std::string & | name | ) | const [inline, inherited] |
Get the named projection, specifying return type via a template argument.
Definition at line 65 of file ProjectionApplier.hh.
References ProjectionHandler::getProjection(), and ProjectionApplier::getProjHandler().
Referenced by ProjectionApplier::_applyProjection(), Rivet::pcmp(), and Hemispheres::project().
00065 { 00066 const Projection& p = getProjHandler().getProjection(*this, name); 00067 return pcast<PROJ>(p); 00068 }
std::set<ConstProjectionPtr> getProjections | ( | ) | const [inline, inherited] |
Get the contained projections, including recursion.
Definition at line 58 of file ProjectionApplier.hh.
References ProjectionHandler::DEEP, ProjectionHandler::getChildProjections(), and ProjectionApplier::getProjHandler().
Referenced by Projection::beamPairs().
00058 { 00059 return getProjHandler().getChildProjections(*this, ProjectionHandler::DEEP); 00060 }
ProjectionHandler& getProjHandler | ( | ) | const [inline, protected, inherited] |
Get a reference to the ProjectionHandler for this thread.
Definition at line 110 of file ProjectionApplier.hh.
References ProjectionApplier::_projhandler.
Referenced by ProjectionApplier::_addProjection(), ProjectionApplier::getProjection(), ProjectionApplier::getProjections(), and ProjectionApplier::~ProjectionApplier().
00110 { 00111 assert(_projhandler); 00112 return *_projhandler; 00113 }
AnalysisHandler & handler | ( | ) | const [inherited] |
Access the controlling AnalysisHandler object.
Definition at line 269 of file Analysis.cc.
References Analysis::_analysishandler.
Referenced by Analysis::analysisFactory(), Analysis::beamIds(), Analysis::beams(), Analysis::datapointsetFactory(), Analysis::histoDir(), Analysis::histogramFactory(), Analysis::numEvents(), Analysis::sqrtS(), Analysis::sumOfWeights(), and Analysis::tree().
00269 { 00270 return *_analysishandler; 00271 }
const string histoDir | ( | ) | const [protected, inherited] |
Get the canonical histogram "directory" path for this analysis.
Definition at line 88 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(), and Analysis::histoPath().
00088 { 00089 /// @todo This doesn't change: calc and cache at Analysis construction! 00090 string path = "/" + name(); 00091 if (handler().runName().length() > 0) { 00092 path = "/" + handler().runName() + path; 00093 } 00094 while (find_first(path, "//")) { 00095 replace_all(path, "//", "/"); 00096 } 00097 return path; 00098 }
IHistogramFactory & histogramFactory | ( | ) | [protected, inherited] |
Access the AIDA histogram factory of the controlling AnalysisHandler object.
Definition at line 65 of file Analysis.cc.
References Analysis::handler(), and AnalysisHandler::histogramFactory().
Referenced by Analysis::bookHistogram1D(), Analysis::bookHistogram2D(), Analysis::bookProfile1D(), STAR_2006_S6860818::finalize(), STAR_2006_S6500200::finalize(), MC_WJETS::finalize(), MC_JetAnalysis::finalize(), MC_GENERIC::finalize(), H1_1995_S3167097::finalize(), D0_2008_S7837160::finalize(), and D0_2008_S7719523::finalize().
00065 { 00066 return handler().histogramFactory(); 00067 }
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 101 of file Analysis.cc.
References Analysis::histoDir().
Referenced by Analysis::bookDataPointSet(), Analysis::bookHistogram1D(), Analysis::bookHistogram2D(), Analysis::bookProfile1D(), MC_JetAnalysis::finalize(), and MC_GENERIC::finalize().
00101 { 00102 const string path = histoDir() + "/" + hname; 00103 return path; 00104 }
const AnalysisInfo & info | ( | ) | const [virtual, inherited] |
Get the actual AnalysisInfo object in which all this metadata is stored.
Definition at line 126 of file Analysis.cc.
References Analysis::_info.
Referenced by Analysis::energies(), and Analysis::requiredBeams().
void init | ( | ) | [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.
Reimplemented in MC_HJETS, MC_JETS, MC_PHOTONJETS, MC_WJETS, MC_WWJETS, MC_ZJETS, and MC_ZZJETS.
Definition at line 26 of file MC_JetAnalysis.cc.
References MC_JetAnalysis::_h_deta_jets, MC_JetAnalysis::_h_dR_jets, MC_JetAnalysis::_h_eta_jet, MC_JetAnalysis::_h_eta_jet_minus, MC_JetAnalysis::_h_eta_jet_plus, MC_JetAnalysis::_h_jet_multi_exclusive, MC_JetAnalysis::_h_jet_multi_inclusive, MC_JetAnalysis::_h_jet_multi_ratio, MC_JetAnalysis::_h_log10_d, MC_JetAnalysis::_h_log10_R, MC_JetAnalysis::_h_mass_jet, MC_JetAnalysis::_h_pT_jet, MC_JetAnalysis::_h_rap_jet, MC_JetAnalysis::_h_rap_jet_minus, MC_JetAnalysis::_h_rap_jet_plus, Analysis::bookDataPointSet(), Analysis::bookHistogram1D(), Rivet::GeV, Analysis::logBinEdges(), MC_JetAnalysis::m_njet, and Analysis::sqrtS().
00026 { 00027 00028 for (size_t i=0; i < m_njet; ++i) { 00029 stringstream dname; 00030 dname << "log10_d_" << i << i+1; 00031 00032 _h_log10_d[i] = bookHistogram1D(dname.str(), 50, 0.2, log10(0.5*sqrtS())); 00033 00034 stringstream Rname; 00035 Rname << "log10_R_" << i; 00036 _h_log10_R[i] = bookDataPointSet(Rname.str(), 50, 0.2, log10(0.5*sqrtS())); 00037 00038 stringstream pTname; 00039 pTname << "jet_pT_" << i+1; 00040 double pTmax = 1.0/(double(i)+2.0) * sqrtS()/GeV/2.0; 00041 int nbins_pT = 100/(i+1); 00042 _h_pT_jet[i] = bookHistogram1D(pTname.str(), logBinEdges(nbins_pT, 10.0, pTmax)); 00043 00044 stringstream massname; 00045 massname << "jet_mass_" << i+1; 00046 double mmax = 100.0; 00047 int nbins_m = 100/(i+1); 00048 _h_mass_jet[i] = bookHistogram1D(massname.str(), logBinEdges(nbins_m, 1.0, mmax)); 00049 00050 stringstream etaname; 00051 etaname << "jet_eta_" << i+1; 00052 _h_eta_jet[i] = bookHistogram1D(etaname.str(), i > 1 ? 25 : 50, -5.0, 5.0); 00053 _h_eta_jet_plus[i].reset(new LWH::Histogram1D(i > 1 ? 15 : 25, 0, 5)); 00054 _h_eta_jet_minus[i].reset(new LWH::Histogram1D(i > 1 ? 15 : 25, 0, 5)); 00055 00056 stringstream rapname; 00057 rapname << "jet_y_" << i+1; 00058 _h_rap_jet[i] = bookHistogram1D(rapname.str(), i>1 ? 25 : 50, -5.0, 5.0); 00059 _h_rap_jet_plus[i].reset(new LWH::Histogram1D(i > 1 ? 15 : 25, 0, 5)); 00060 _h_rap_jet_minus[i].reset(new LWH::Histogram1D(i > 1 ? 15 : 25, 0, 5)); 00061 00062 for (size_t j = i+1; j < m_njet; ++j) { 00063 std::pair<size_t, size_t> ij = std::make_pair(i, j); 00064 00065 stringstream detaname; 00066 detaname << "jets_deta_" << i+1 << j+1; 00067 _h_deta_jets.insert(make_pair(ij, bookHistogram1D(detaname.str(), 25, -5.0, 5.0))); 00068 00069 stringstream dRname; 00070 dRname << "jets_dR_" << i+1 << j+1; 00071 _h_dR_jets.insert(make_pair(ij, bookHistogram1D(dRname.str(), 25, 0.0, 5.0))); 00072 } 00073 } 00074 stringstream Rname; 00075 Rname << "log10_R_" << m_njet; 00076 _h_log10_R[m_njet] = bookDataPointSet(Rname.str(), 50, 0.2, log10(0.5*sqrtS())); 00077 00078 _h_jet_multi_exclusive = bookHistogram1D("jet_multi_exclusive", m_njet+3, -0.5, m_njet+3-0.5); 00079 _h_jet_multi_inclusive = bookHistogram1D("jet_multi_inclusive", m_njet+3, -0.5, m_njet+3-0.5); 00080 _h_jet_multi_ratio = bookDataPointSet("jet_multi_ratio", m_njet+2, 0.5, m_njet+3-0.5); 00081 }
bool isCompatible | ( | const PdgIdPair & | beams | ) | const [virtual, inherited] |
Is this analysis able to run on the PdgIdPair beams ?
Definition at line 227 of file Analysis.cc.
References Rivet::compatible(), and Analysis::requiredBeams().
00227 { 00228 foreach (const PdgIdPair& bp, requiredBeams()) { 00229 if (compatible(beams, bp)) return true; 00230 } 00231 return false; 00232 /// @todo Need to also check internal consistency of the analysis' 00233 /// beam requirements with those of the projections it uses. 00234 }
Is this analysis able to run on the supplied pair of beams?
Definition at line 220 of file Analysis.cc.
References Analysis::beams().
00220 { 00221 PdgIdPair beams(beam1, beam2); 00222 return isCompatible(beams); 00223 }
BinEdges logBinEdges | ( | size_t | nbins, | |
double | lower, | |||
double | upper | |||
) | [protected, inherited] |
Get bin edges with logarithmic widths.
Definition at line 317 of file Analysis.cc.
Referenced by MC_ZZJETS::init(), MC_ZJETS::init(), MC_WWJETS::init(), MC_WJETS::init(), MC_PHOTONJETS::init(), MC_JetAnalysis::init(), MC_HJETS::init(), and MC_DIPHOTON::init().
00317 { 00318 assert(lower>0.0); 00319 assert(upper>lower); 00320 double loglower=log10(lower); 00321 double logupper=log10(upper); 00322 vector<double> binedges; 00323 double stepwidth=(logupper-loglower)/double(nbins); 00324 for (size_t i=0; i<=nbins; ++i) { 00325 binedges.push_back(pow(10.0, loglower+double(i)*stepwidth)); 00326 } 00327 return binedges; 00328 }
string name | ( | ) | const [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 131 of file Analysis.cc.
References Analysis::_defaultname, and Analysis::_info.
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().
00131 { 00132 if (_info && !_info->name().empty()) return _info->name(); 00133 return _defaultname; 00134 }
bool needsCrossSection | ( | ) | const [inherited] |
Return true if this analysis needs to know the process cross-section.
Definition at line 244 of file Analysis.cc.
References Analysis::_needsCrossSection.
00244 { 00245 return _needsCrossSection; 00246 }
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).
histo | The histogram to be normalised. | |
norm | The new area of the histogram. |
Definition at line 617 of file Analysis.cc.
References Log::ERROR, Analysis::getLog(), Analysis::name(), Analysis::scale(), Log::TRACE, Analysis::tree(), and Log::WARN.
00617 { 00618 if (!histo) { 00619 getLog() << Log::ERROR << "Failed to normalise histo=NULL in analysis " 00620 << name() << " (norm=" << norm << ")" << endl; 00621 return; 00622 } 00623 const string hpath = tree().findPath(dynamic_cast<const AIDA::IManagedObject&>(*histo)); 00624 getLog() << Log::TRACE << "Normalizing histo " << hpath << " to " << norm << endl; 00625 00626 double oldintg = 0.0; 00627 int nxBins = histo->xAxis().bins(); 00628 int nyBins = histo->yAxis().bins(); 00629 for (int ixBin = 0; ixBin != nxBins; ++ixBin) 00630 for (int iyBin = 0; iyBin != nyBins; ++iyBin) { 00631 // Leaving out factor of binWidth because AIDA's "height" 00632 // already includes a width factor. 00633 oldintg += histo->binHeight(ixBin, iyBin); // * histo->axis().binWidth(iBin); 00634 } 00635 if (oldintg == 0.0) { 00636 getLog() << Log::WARN << "Histo " << hpath 00637 << " has null integral during normalisation" << endl; 00638 return; 00639 } 00640 00641 // Scale by the normalisation factor. 00642 scale(histo, norm/oldintg); 00643 }
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).
histo | The histogram to be normalised. | |
norm | The new area of the histogram. |
Definition at line 550 of file Analysis.cc.
References Log::ERROR, Analysis::getLog(), Analysis::name(), Analysis::scale(), Log::TRACE, Analysis::tree(), and Log::WARN.
Referenced by STAR_2008_S7869363::finalize(), OPAL_2001_S4553896::finalize(), OPAL_1998_S3780481::finalize(), H1_1994_S2919893::finalize(), ExampleAnalysis::finalize(), DELPHI_2002_069_CONF_603::finalize(), DELPHI_1995_S3137023::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(), CDF_2009_NOTE_9936::finalize(), CDF_2004_S5839831::finalize(), CDF_2002_S4796047::finalize(), CDF_2001_S4751469::finalize(), CDF_1997_S3541940::finalize(), CDF_1996_S3418421::finalize(), CDF_1996_S3349578::finalize(), CDF_1996_S3108457::finalize(), CDF_1994_S2952106::finalize(), CDF_1993_S2742446::finalize(), ATLAS_2010_CONF_2010_083::finalize(), ALICE_2010_S8625980::finalize(), ALICE_2010_S8624100::finalize(), ALEPH_2004_S5765862::finalize(), and ALEPH_1996_S3486095::finalize().
00550 { 00551 if (!histo) { 00552 getLog() << Log::ERROR << "Failed to normalise histo=NULL in analysis " 00553 << name() << " (norm=" << norm << ")" << endl; 00554 return; 00555 } 00556 const string hpath = tree().findPath(dynamic_cast<const AIDA::IManagedObject&>(*histo)); 00557 getLog() << Log::TRACE << "Normalizing histo " << hpath << " to " << norm << endl; 00558 00559 double oldintg = 0.0; 00560 int nBins = histo->axis().bins(); 00561 for (int iBin = 0; iBin != nBins; ++iBin) { 00562 // Leaving out factor of binWidth because AIDA's "height" already includes a width factor. 00563 oldintg += histo->binHeight(iBin); // * histo->axis().binWidth(iBin); 00564 } 00565 if (oldintg == 0.0) { 00566 getLog() << Log::WARN << "Histo " << hpath << " has null integral during normalisation" << endl; 00567 return; 00568 } 00569 00570 // Scale by the normalisation factor. 00571 scale(histo, norm/oldintg); 00572 }
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 113 of file Analysis.cc.
References Analysis::handler(), and AnalysisHandler::numEvents().
00113 { 00114 return handler().numEvents(); 00115 }
vector< string > references | ( | ) | const [virtual, inherited] |
Journal, and preprint references.
Definition at line 180 of file Analysis.cc.
References Analysis::_info.
const vector< PdgIdPair > & requiredBeams | ( | ) | const [virtual, inherited] |
Return the pair of incoming beams required by this analysis.
Definition at line 205 of file Analysis.cc.
References AnalysisInfo::beams(), and Analysis::info().
Referenced by Analysis::isCompatible().
00205 { 00206 return info().beams(); 00207 }
string runInfo | ( | ) | const [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 156 of file Analysis.cc.
References Analysis::_info.
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.
histo | The histogram to be scaled. | |
scale | The factor used to multiply the histogram bin heights. |
Definition at line 646 of file Analysis.cc.
References Analysis::datapointsetFactory(), Log::ERROR, Analysis::getLog(), Analysis::name(), Log::TRACE, and Analysis::tree().
00646 { 00647 if (!histo) { 00648 getLog() << Log::ERROR << "Failed to scale histo=NULL in analysis " 00649 << name() << " (scale=" << scale << ")" << endl; 00650 return; 00651 } 00652 const string hpath = 00653 tree().findPath(dynamic_cast<const AIDA::IManagedObject&>(*histo)); 00654 getLog() << Log::TRACE << "Scaling histo " << hpath << endl; 00655 00656 vector<double> x, y, z, ex, ey, ez; 00657 for (size_t ix = 0, Nx = histo->xAxis().bins(); ix < Nx; ++ix) 00658 for (size_t iy = 0, Ny = histo->yAxis().bins(); iy < Ny; ++iy) { 00659 x.push_back(0.5 * (histo->xAxis().binLowerEdge(ix) + 00660 histo->xAxis().binUpperEdge(ix))); 00661 ex.push_back(histo->xAxis().binWidth(ix)*0.5); 00662 y.push_back(0.5 * (histo->yAxis().binLowerEdge(iy) + 00663 histo->yAxis().binUpperEdge(iy))); 00664 ey.push_back(histo->yAxis().binWidth(iy)*0.5); 00665 00666 // "Bin height" is a misnomer in the AIDA spec: width is neglected. 00667 // We'd like to do this: y.push_back(histo->binHeight(i) * scale); 00668 z.push_back(histo->binHeight(ix, iy)*scale/ 00669 (histo->xAxis().binWidth(ix)*histo->yAxis().binWidth(iy))); 00670 // "Bin error" is a misnomer in the AIDA spec: width is neglected. 00671 // We'd like to do this: ey.push_back(histo->binError(i) * scale); 00672 ez.push_back(histo->binError(ix, iy)*scale/ 00673 (histo->xAxis().binWidth(ix)*histo->yAxis().binWidth(iy))); 00674 } 00675 00676 string title = histo->title(); 00677 string xtitle = histo->xtitle(); 00678 string ytitle = histo->ytitle(); 00679 string ztitle = histo->ztitle(); 00680 00681 tree().mkdir("/tmpnormalize"); 00682 tree().mv(hpath, "/tmpnormalize"); 00683 00684 AIDA::IDataPointSet* dps = 00685 datapointsetFactory().createXYZ(hpath, title, x, y, z, ex, ey, ez); 00686 dps->setXTitle(xtitle); 00687 dps->setYTitle(ytitle); 00688 dps->setZTitle(ztitle); 00689 00690 tree().rm(tree().findPath(dynamic_cast<AIDA::IManagedObject&>(*histo))); 00691 tree().rmdir("/tmpnormalize"); 00692 00693 // Set histo pointer to null - it can no longer be used. 00694 histo = 0; 00695 }
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.
histo | The histogram to be scaled. | |
scale | The factor used to multiply the histogram bin heights. |
Definition at line 575 of file Analysis.cc.
References Analysis::datapointsetFactory(), Log::ERROR, Analysis::getLog(), Analysis::name(), Log::TRACE, and Analysis::tree().
Referenced by ATLAS_2010_CONF_2010_081::analyze(), UA5_1989_S1926373::finalize(), UA5_1987_S1640666::finalize(), UA5_1986_S1583476::finalize(), UA5_1982_S875503::finalize(), UA1_1990_S2044935::finalize(), STAR_2006_S6870392::finalize(), STAR_2006_S6860818::finalize(), STAR_2006_S6500200::finalize(), SFM_1984_S1178091::finalize(), PDG_HADRON_MULTIPLICITIES_RATIOS::finalize(), PDG_HADRON_MULTIPLICITIES::finalize(), OPAL_2004_S6132243::finalize(), OPAL_1998_S3780481::finalize(), MC_ZZJETS::finalize(), MC_ZJETS::finalize(), MC_WWJETS::finalize(), MC_WJETS::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(), 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(), 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_2010_S8591806::finalize(), ATLAS_2010_CONF_2010_049::finalize(), ATLAS_2010_CONF_2010_031::finalize(), ALICE_2010_S8706239::finalize(), ALICE_2010_S8625980::finalize(), ALEPH_2004_S5765862::finalize(), ALEPH_1996_S3486095::finalize(), ALEPH_1996_S3196992::finalize(), ALEPH_1991_S2435284::finalize(), Analysis::normalize(), and BinnedHistogram< T >::scale().
00575 { 00576 if (!histo) { 00577 getLog() << Log::ERROR << "Failed to scale histo=NULL in analysis " 00578 << name() << " (scale=" << scale << ")" << endl; 00579 return; 00580 } 00581 const string hpath = tree().findPath(dynamic_cast<const AIDA::IManagedObject&>(*histo)); 00582 getLog() << Log::TRACE << "Scaling histo " << hpath << endl; 00583 00584 vector<double> x, y, ex, ey; 00585 for (size_t i = 0, N = histo->axis().bins(); i < N; ++i) { 00586 x.push_back(0.5 * (histo->axis().binLowerEdge(i) + histo->axis().binUpperEdge(i))); 00587 ex.push_back(histo->axis().binWidth(i)*0.5); 00588 00589 // "Bin height" is a misnomer in the AIDA spec: width is neglected. 00590 // We'd like to do this: y.push_back(histo->binHeight(i) * scale); 00591 y.push_back(histo->binHeight(i)*scale/histo->axis().binWidth(i)); 00592 00593 // "Bin error" is a misnomer in the AIDA spec: width is neglected. 00594 // We'd like to do this: ey.push_back(histo->binError(i) * scale); 00595 ey.push_back(histo->binError(i)*scale/histo->axis().binWidth(i)); 00596 } 00597 00598 string title = histo->title(); 00599 string xtitle = histo->xtitle(); 00600 string ytitle = histo->ytitle(); 00601 00602 tree().mkdir("/tmpnormalize"); 00603 tree().mv(hpath, "/tmpnormalize"); 00604 00605 AIDA::IDataPointSet* dps = datapointsetFactory().createXY(hpath, title, x, y, ex, ey); 00606 dps->setXTitle(xtitle); 00607 dps->setYTitle(ytitle); 00608 00609 tree().rm(tree().findPath(dynamic_cast<AIDA::IManagedObject&>(*histo))); 00610 tree().rmdir("/tmpnormalize"); 00611 00612 // Set histo pointer to null - it can no longer be used. 00613 histo = 0; 00614 }
Set the colliding beam pair.
Definition at line 211 of file Analysis.cc.
References Analysis::_info.
Referenced by ALEPH_1991_S2435284::ALEPH_1991_S2435284(), ALEPH_1996_S3196992::ALEPH_1996_S3196992(), ALEPH_1996_S3486095::ALEPH_1996_S3486095(), ALEPH_2004_S5765862::ALEPH_2004_S5765862(), ALICE_2010_S8624100::ALICE_2010_S8624100(), ALICE_2010_S8625980::ALICE_2010_S8625980(), ALICE_2010_S8706239::ALICE_2010_S8706239(), ATLAS_2010_S8817804::ATLAS_2010_S8817804(), BELLE_2006_S6265367::BELLE_2006_S6265367(), CDF_1988_S1865951::CDF_1988_S1865951(), CDF_1990_S2089246::CDF_1990_S2089246(), CDF_1991_S2313472::CDF_1991_S2313472(), CDF_1993_S2742446::CDF_1993_S2742446(), CDF_1994_S2952106::CDF_1994_S2952106(), CDF_1996_S3108457::CDF_1996_S3108457(), CDF_1996_S3349578::CDF_1996_S3349578(), CDF_1996_S3418421::CDF_1996_S3418421(), CDF_1997_S3541940::CDF_1997_S3541940(), CDF_1998_S3618439::CDF_1998_S3618439(), CDF_2000_S4155203::CDF_2000_S4155203(), CDF_2000_S4266730::CDF_2000_S4266730(), CDF_2001_S4517016::CDF_2001_S4517016(), CDF_2001_S4563131::CDF_2001_S4563131(), CDF_2001_S4751469::CDF_2001_S4751469(), CDF_2002_S4796047::CDF_2002_S4796047(), CDF_2004_S5839831::CDF_2004_S5839831(), CDF_2005_S6080774::CDF_2005_S6080774(), CDF_2005_S6217184::CDF_2005_S6217184(), CDF_2006_S6450792::CDF_2006_S6450792(), CDF_2006_S6653332::CDF_2006_S6653332(), CDF_2007_S7057202::CDF_2007_S7057202(), CDF_2008_LEADINGJETS::CDF_2008_LEADINGJETS(), CDF_2008_NOTE_9351::CDF_2008_NOTE_9351(), CDF_2008_S7540469::CDF_2008_S7540469(), CDF_2008_S7541902::CDF_2008_S7541902(), CDF_2008_S7782535::CDF_2008_S7782535(), CDF_2008_S7828950::CDF_2008_S7828950(), CDF_2008_S8093652::CDF_2008_S8093652(), CDF_2008_S8095620::CDF_2008_S8095620(), CDF_2009_NOTE_9936::CDF_2009_NOTE_9936(), CDF_2009_S8057893::CDF_2009_S8057893::CDF_2009_S8057893(), CDF_2009_S8233977::CDF_2009_S8233977(), CDF_2009_S8383952::CDF_2009_S8383952(), CDF_2009_S8436959::CDF_2009_S8436959(), D0_1996_S3214044::D0_1996_S3214044(), D0_1996_S3324664::D0_1996_S3324664(), D0_1998_S3711838::D0_1998_S3711838(), D0_2001_S4674421::D0_2001_S4674421(), D0_2004_S5992206::D0_2004_S5992206(), D0_2006_S6438750::D0_2006_S6438750(), D0_2007_S7075677::D0_2007_S7075677(), D0_2008_S6879055::D0_2008_S6879055(), D0_2008_S7554427::D0_2008_S7554427(), D0_2008_S7662670::D0_2008_S7662670(), D0_2008_S7719523::D0_2008_S7719523(), D0_2008_S7837160::D0_2008_S7837160(), D0_2008_S7863608::D0_2008_S7863608(), D0_2009_S8202443::D0_2009_S8202443(), D0_2009_S8320160::D0_2009_S8320160(), D0_2009_S8349509::D0_2009_S8349509(), D0_2010_S8566488::D0_2010_S8566488(), D0_2010_S8570965::D0_2010_S8570965(), D0_2010_S8671338::D0_2010_S8671338(), DELPHI_1995_S3137023::DELPHI_1995_S3137023(), DELPHI_2002_069_CONF_603::DELPHI_2002_069_CONF_603(), E735_1998_S3905616::E735_1998_S3905616(), H1_1994_S2919893::H1_1994_S2919893(), H1_1995_S3167097::H1_1995_S3167097(), H1_2000_S4129130::H1_2000_S4129130(), JADE_OPAL_2000_S4300807::JADE_OPAL_2000_S4300807(), LHCB_2010_S8758301::LHCB_2010_S8758301(), OPAL_1993_S2692198::OPAL_1993_S2692198(), OPAL_1998_S3780481::OPAL_1998_S3780481(), OPAL_2001_S4553896::OPAL_2001_S4553896(), PDG_HADRON_MULTIPLICITIES::PDG_HADRON_MULTIPLICITIES(), PDG_HADRON_MULTIPLICITIES_RATIOS::PDG_HADRON_MULTIPLICITIES_RATIOS(), SFM_1984_S1178091::SFM_1984_S1178091(), STAR_2006_S6500200::STAR_2006_S6500200(), STAR_2006_S6860818::STAR_2006_S6860818(), STAR_2006_S6870392::STAR_2006_S6870392(), STAR_2008_S7869363::STAR_2008_S7869363(), STAR_2008_S7993412::STAR_2008_S7993412(), STAR_2009_UE_HELEN::STAR_2009_UE_HELEN(), UA1_1990_S2044935::UA1_1990_S2044935(), UA5_1986_S1583476::UA5_1986_S1583476(), UA5_1987_S1640666::UA5_1987_S1640666(), UA5_1988_S1867512::UA5_1988_S1867512(), UA5_1989_S1926373::UA5_1989_S1926373(), and ZEUS_2001_S4815815::ZEUS_2001_S4815815().
Analysis & setCrossSection | ( | double | xs | ) | [inherited] |
Set the cross section from the generator.
Definition at line 237 of file Analysis.cc.
References Analysis::_crossSection, and Analysis::_gotCrossSection.
00237 { 00238 _crossSection = xs; 00239 _gotCrossSection = true; 00240 return *this; 00241 }
Analysis & setNeedsCrossSection | ( | bool | needed | ) | [protected, inherited] |
Declare whether this analysis needs to know the process cross-section from the generator.
Definition at line 249 of file Analysis.cc.
References Analysis::_needsCrossSection.
Referenced by ALICE_2010_S8624100::ALICE_2010_S8624100(), ALICE_2010_S8625980::ALICE_2010_S8625980(), ALICE_2010_S8706239::ALICE_2010_S8706239(), ATLAS_2010_CONF_2010_031::ATLAS_2010_CONF_2010_031(), ATLAS_2010_CONF_2010_049::ATLAS_2010_CONF_2010_049(), ATLAS_2010_CONF_2010_081::ATLAS_2010_CONF_2010_081(), ATLAS_2010_CONF_2010_083::ATLAS_2010_CONF_2010_083(), ATLAS_2010_S8591806::ATLAS_2010_S8591806(), ATLAS_2010_S8817804::ATLAS_2010_S8817804(), CDF_1988_S1865951::CDF_1988_S1865951(), CDF_1991_S2313472::CDF_1991_S2313472(), CDF_1993_S2742446::CDF_1993_S2742446(), CDF_1996_S3108457::CDF_1996_S3108457(), CDF_1998_S3618439::CDF_1998_S3618439(), CDF_2000_S4155203::CDF_2000_S4155203(), CDF_2000_S4266730::CDF_2000_S4266730(), CDF_2001_S4517016::CDF_2001_S4517016(), CDF_2001_S4563131::CDF_2001_S4563131(), CDF_2005_S6080774::CDF_2005_S6080774(), CDF_2006_S6450792::CDF_2006_S6450792(), CDF_2006_S6653332::CDF_2006_S6653332(), CDF_2007_S7057202::CDF_2007_S7057202(), CDF_2008_S7540469::CDF_2008_S7540469(), CDF_2008_S7541902::CDF_2008_S7541902(), CDF_2008_S7828950::CDF_2008_S7828950(), CDF_2008_S8093652::CDF_2008_S8093652(), CDF_2009_NOTE_9936::CDF_2009_NOTE_9936(), CDF_2009_S8233977::CDF_2009_S8233977(), CDF_2009_S8383952::CDF_2009_S8383952(), CDF_2009_S8436959::CDF_2009_S8436959(), D0_1996_S3214044::D0_1996_S3214044(), D0_1996_S3324664::D0_1996_S3324664(), D0_1998_S3711838::D0_1998_S3711838(), D0_2000_S4480767::D0_2000_S4480767(), D0_2001_S4674421::D0_2001_S4674421(), D0_2006_S6438750::D0_2006_S6438750(), D0_2008_S7662670::D0_2008_S7662670(), D0_2008_S7719523::D0_2008_S7719523(), D0_2008_S7863608::D0_2008_S7863608(), D0_2010_S8566488::D0_2010_S8566488(), D0_2010_S8570965::D0_2010_S8570965(), LHCB_2010_S8758301::LHCB_2010_S8758301(), MC_DIPHOTON::MC_DIPHOTON(), MC_HJETS::MC_HJETS(), MC_JetAnalysis::MC_JetAnalysis(), MC_JETS::MC_JETS(), MC_PHOTONJETS::MC_PHOTONJETS(), MC_WJETS::MC_WJETS(), MC_WWJETS::MC_WWJETS(), MC_ZJETS::MC_ZJETS(), MC_ZZJETS::MC_ZZJETS(), OPAL_2001_S4553896::OPAL_2001_S4553896(), STAR_2006_S6870392::STAR_2006_S6870392(), STAR_2008_S7869363::STAR_2008_S7869363(), and UA1_1990_S2044935::UA1_1990_S2044935().
00249 { 00250 _needsCrossSection = needed; 00251 return *this; 00252 }
string spiresId | ( | ) | const [virtual, inherited] |
Get a the SPIRES/Inspire ID code for this analysis.
Definition at line 136 of file Analysis.cc.
References Analysis::_info.
double sqrtS | ( | ) | const [inherited] |
Centre of mass energy for this run.
Definition at line 75 of file Analysis.cc.
References Analysis::handler(), and AnalysisHandler::sqrtS().
Referenced by UA1_1990_S2044935::analyze(), SFM_1984_S1178091::analyze(), PDG_HADRON_MULTIPLICITIES_RATIOS::analyze(), PDG_HADRON_MULTIPLICITIES::analyze(), CDF_2004_S5839831::analyze(), ATLAS_2010_CONF_2010_081::analyze(), ALICE_2010_S8625980::analyze(), ALEPH_2004_S5765862::analyze(), UA1_1990_S2044935::finalize(), PDG_HADRON_MULTIPLICITIES_RATIOS::finalize(), PDG_HADRON_MULTIPLICITIES::finalize(), CDF_2004_S5839831::finalize(), CDF_2002_S4796047::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(), 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_WJETS::init(), MC_PHOTONJETS::init(), MC_JetAnalysis::init(), MC_HJETS::init(), MC_DIPHOTON::init(), JADE_OPAL_2000_S4300807::init(), CDF_2004_S5839831::init(), CDF_2002_S4796047::init(), CDF_1990_S2089246::init(), CDF_1988_S1865951::init(), ATLAS_2010_CONF_2010_081::init(), ATLAS_2010_CONF_2010_031::init(), ALICE_2010_S8625980::init(), ALICE_2010_S8624100::init(), and ALEPH_2004_S5765862::init().
00075 { 00076 return handler().sqrtS(); 00077 }
string status | ( | ) | const [virtual, inherited] |
Whether this analysis is trusted (in any way!).
Definition at line 195 of file Analysis.cc.
References Analysis::_info.
string summary | ( | ) | const [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 146 of file Analysis.cc.
References Analysis::_info.
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 118 of file Analysis.cc.
References Analysis::handler(), and AnalysisHandler::sumOfWeights().
Referenced by Analysis::crossSectionPerEvent(), STAR_2006_S6870392::finalize(), STAR_2006_S6860818::finalize(), STAR_2006_S6500200::finalize(), PDG_HADRON_MULTIPLICITIES::finalize(), OPAL_1998_S3780481::finalize(), OPAL_1993_S2692198::finalize(), MC_ZZJETS::finalize(), MC_ZJETS::finalize(), MC_WWJETS::finalize(), MC_WJETS::finalize(), MC_TTBAR::finalize(), MC_JetAnalysis::finalize(), MC_HJETS::finalize(), MC_GENERIC::finalize(), MC_DIPHOTON::finalize(), JADE_OPAL_2000_S4300807::finalize(), DELPHI_1995_S3137023::finalize(), D0_2010_S8570965::finalize(), D0_2010_S8566488::finalize(), D0_2008_S7863608::finalize(), D0_2008_S7719523::finalize(), D0_2008_S7662670::finalize(), D0_2006_S6438750::finalize(), D0_2000_S4480767::finalize(), 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_2010_CONF_2010_049::finalize(), ALEPH_2004_S5765862::finalize(), ALEPH_1996_S3486095::finalize(), ALEPH_1996_S3196992::finalize(), and ALEPH_1991_S2435284::finalize().
00118 { 00119 return handler().sumOfWeights(); 00120 }
vector< string > todos | ( | ) | const [virtual, inherited] |
Any work to be done on this analysis.
Definition at line 200 of file Analysis.cc.
References Analysis::_info.
ITree & tree | ( | ) | [protected, inherited] |
Access the AIDA tree of the controlling AnalysisHandler object.
Definition at line 60 of file Analysis.cc.
References Analysis::handler(), and AnalysisHandler::tree().
Referenced by Analysis::_makeHistoDir(), Analysis::normalize(), and Analysis::scale().
00060 { 00061 return handler().tree(); 00062 }
string year | ( | ) | const [virtual, inherited] |
When the original experimental analysis was published.
When the refereed paper on which this is based was published, according to SPIRES.
Definition at line 175 of file Analysis.cc.
References Analysis::_info.
friend class Projectionhandler [friend, inherited] |
Definition at line 38 of file ProjectionApplier.hh.
bool _allowProjReg [protected, inherited] |
Flag to forbid projection registration in analyses until the init phase.
Definition at line 157 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 465 of file Analysis.hh.
Referenced by Analysis::Analysis(), and Analysis::name().
std::map<std::pair<size_t, size_t>, AIDA::IHistogram1D*> _h_deta_jets [protected] |
Definition at line 55 of file MC_JetAnalysis.hh.
Referenced by MC_JetAnalysis::analyze(), MC_JetAnalysis::finalize(), and MC_JetAnalysis::init().
std::map<std::pair<size_t, size_t>, AIDA::IHistogram1D*> _h_dR_jets [protected] |
Definition at line 56 of file MC_JetAnalysis.hh.
Referenced by MC_JetAnalysis::analyze(), MC_JetAnalysis::finalize(), and MC_JetAnalysis::init().
std::vector<AIDA::IHistogram1D *> _h_eta_jet [protected] |
Definition at line 50 of file MC_JetAnalysis.hh.
Referenced by MC_JetAnalysis::analyze(), MC_JetAnalysis::finalize(), and MC_JetAnalysis::init().
std::vector<shared_ptr<LWH::Histogram1D> > _h_eta_jet_minus [protected] |
Definition at line 51 of file MC_JetAnalysis.hh.
Referenced by MC_JetAnalysis::analyze(), MC_JetAnalysis::finalize(), and MC_JetAnalysis::init().
std::vector<shared_ptr<LWH::Histogram1D> > _h_eta_jet_plus [protected] |
Definition at line 51 of file MC_JetAnalysis.hh.
Referenced by MC_JetAnalysis::analyze(), MC_JetAnalysis::finalize(), and MC_JetAnalysis::init().
AIDA::IHistogram1D* _h_jet_multi_exclusive [protected] |
Definition at line 57 of file MC_JetAnalysis.hh.
Referenced by MC_JetAnalysis::analyze(), MC_JetAnalysis::finalize(), and MC_JetAnalysis::init().
AIDA::IHistogram1D* _h_jet_multi_inclusive [protected] |
Definition at line 58 of file MC_JetAnalysis.hh.
Referenced by MC_JetAnalysis::analyze(), MC_JetAnalysis::finalize(), and MC_JetAnalysis::init().
AIDA::IDataPointSet* _h_jet_multi_ratio [protected] |
Definition at line 59 of file MC_JetAnalysis.hh.
Referenced by MC_JetAnalysis::finalize(), and MC_JetAnalysis::init().
std::vector<AIDA::IHistogram1D *> _h_log10_d [protected] |
Definition at line 47 of file MC_JetAnalysis.hh.
Referenced by MC_JetAnalysis::analyze(), MC_JetAnalysis::finalize(), and MC_JetAnalysis::init().
std::vector<AIDA::IDataPointSet *> _h_log10_R [protected] |
Definition at line 48 of file MC_JetAnalysis.hh.
Referenced by MC_JetAnalysis::analyze(), MC_JetAnalysis::finalize(), and MC_JetAnalysis::init().
std::vector<AIDA::IHistogram1D *> _h_mass_jet [protected] |
Definition at line 54 of file MC_JetAnalysis.hh.
Referenced by MC_JetAnalysis::analyze(), MC_JetAnalysis::finalize(), and MC_JetAnalysis::init().
std::vector<AIDA::IHistogram1D *> _h_pT_jet [protected] |
Definition at line 49 of file MC_JetAnalysis.hh.
Referenced by MC_JetAnalysis::analyze(), MC_JetAnalysis::finalize(), and MC_JetAnalysis::init().
std::vector<AIDA::IHistogram1D *> _h_rap_jet [protected] |
Definition at line 52 of file MC_JetAnalysis.hh.
Referenced by MC_JetAnalysis::analyze(), MC_JetAnalysis::finalize(), and MC_JetAnalysis::init().
std::vector<shared_ptr<LWH::Histogram1D> > _h_rap_jet_minus [protected] |
Definition at line 53 of file MC_JetAnalysis.hh.
Referenced by MC_JetAnalysis::analyze(), MC_JetAnalysis::finalize(), and MC_JetAnalysis::init().
std::vector<shared_ptr<LWH::Histogram1D> > _h_rap_jet_plus [protected] |
Definition at line 53 of file MC_JetAnalysis.hh.
Referenced by MC_JetAnalysis::analyze(), MC_JetAnalysis::finalize(), and MC_JetAnalysis::init().
shared_ptr<AnalysisInfo> _info [protected, inherited] |
Pointer to analysis metadata object.
Definition at line 468 of file Analysis.hh.
Referenced by Analysis::Analysis(), Analysis::authors(), Analysis::bibKey(), Analysis::bibTeX(), Analysis::collider(), Analysis::description(), Analysis::experiment(), Analysis::info(), Analysis::name(), Analysis::references(), Analysis::runInfo(), Analysis::setBeams(), Analysis::spiresId(), Analysis::status(), Analysis::summary(), Analysis::todos(), and Analysis::year().
const std::string m_jetpro_name [protected] |
The name of the jet projection to be used for this analysis (this projection has to be registered by the derived analysis!)
Definition at line 38 of file MC_JetAnalysis.hh.
Referenced by MC_JetAnalysis::analyze().
double m_jetptcut [protected] |
Jet pT cutoff.
Definition at line 41 of file MC_JetAnalysis.hh.
Referenced by MC_JetAnalysis::analyze().
size_t m_njet [protected] |
The number of jets for which histograms are to be initialised.
Definition at line 34 of file MC_JetAnalysis.hh.
Referenced by MC_JetAnalysis::analyze(), MC_JetAnalysis::finalize(), and MC_JetAnalysis::init().