Definition at line 17 of file STAR_2009_UE_HELEN.cc.
Public Member Functions | |
STAR_2009_UE_HELEN () | |
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 | scale (AIDA::IHistogram1D *&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 | |
void | init () |
void | analyze (const Event &e) |
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="") |
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::IProfile1D * | _hist_pmaxnchg |
AIDA::IProfile1D * | _hist_pminnchg |
AIDA::IProfile1D * | _hist_anchg |
Friends | |
class | Projectionhandler |
STAR_2009_UE_HELEN | ( | ) | [inline] |
Constructor.
Definition at line 21 of file STAR_2009_UE_HELEN.cc.
References Rivet::PROTON, and Analysis::setBeams().
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 31 of file STAR_2009_UE_HELEN.cc.
References STAR_2009_UE_HELEN::_hist_anchg, STAR_2009_UE_HELEN::_hist_pmaxnchg, STAR_2009_UE_HELEN::_hist_pminnchg, ProjectionApplier::addProjection(), VetoedFinalState::addVetoPairId(), Analysis::bookProfile1D(), Rivet::GeV, Rivet::K0L, Rivet::NEUTRON, FastJets::SISCONE, and VetoedFinalState::vetoNeutrinos().
00031 { 00032 // Charged final state, |eta|<1, pT>0.2GeV 00033 const ChargedFinalState cfs(-1.0, 1.0, 0.2*GeV); 00034 addProjection(cfs, "CFS"); 00035 00036 // Neutral final state, |eta|<1, ET>0.2GeV (needed for the jets) 00037 const NeutralFinalState nfs(-1.0, 1.0, 0.2*GeV); 00038 addProjection(nfs, "NFS"); 00039 00040 // STAR can't see neutrons and K^0_L 00041 VetoedFinalState vfs(nfs); 00042 vfs.vetoNeutrinos(); 00043 vfs.addVetoPairId(K0L); 00044 vfs.addVetoPairId(NEUTRON); 00045 addProjection(vfs, "VFS"); 00046 00047 // Jets are reconstructed from charged and neutral particles, 00048 // and the cuts are different (pT vs. ET), so we need to merge them. 00049 const MergedFinalState jfs(cfs, vfs); 00050 addProjection(jfs, "JFS"); 00051 00052 // SISCone, R = 0.7, overlap_threshold = 0.75 00053 addProjection(FastJets(jfs, FastJets::SISCONE, 0.7), "AllJets"); 00054 00055 // Book histograms 00056 _hist_pmaxnchg = bookProfile1D( 1, 1, 1); 00057 _hist_pminnchg = bookProfile1D( 2, 1, 1); 00058 _hist_anchg = bookProfile1D( 3, 1, 1); 00059 }
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 63 of file STAR_2009_UE_HELEN.cc.
References STAR_2009_UE_HELEN::_hist_anchg, STAR_2009_UE_HELEN::_hist_pmaxnchg, STAR_2009_UE_HELEN::_hist_pminnchg, Log::DEBUG, Rivet::deltaPhi(), Analysis::getLog(), Particle::momentum(), Rivet::momentum(), FinalState::particles(), FourVector::phi(), Rivet::phi(), Rivet::PI, FourMomentum::pT(), Rivet::pT(), and vetoEvent.
00063 { 00064 const FinalState& cfs = applyProjection<ChargedFinalState>(e, "CFS"); 00065 if (cfs.particles().size() < 1) { 00066 getLog() << Log::DEBUG << "Failed multiplicity cut" << endl; 00067 vetoEvent; 00068 } 00069 00070 const Jets& alljets = applyProjection<FastJets>(e, "AllJets").jetsByPt(); 00071 getLog() << Log::DEBUG << "Total jet multiplicity = " << alljets.size() << endl; 00072 00073 // The jet acceptance region is |eta|<(1-R)=0.3 (with R = jet radius) 00074 // Jets also must have a neutral energy fraction of < 0.7 00075 Jets jets; 00076 foreach (const Jet jet, alljets) { 00077 if (jet.neutralEnergy() < 0.7 && fabs(jet.momentum().eta()) < 0.3) 00078 jets.push_back(jet); 00079 } 00080 00081 // This analysis requires a di-jet like event. 00082 // WARNING: There is more data in preparation, some of which 00083 // does _not_ have this constraint! 00084 if (jets.size() != 2) { 00085 getLog() << Log::DEBUG << "Failed jet multiplicity cut" << endl; 00086 vetoEvent; 00087 } 00088 00089 // The di-jet constraints in this analysis are: 00090 // - 2 and only 2 jets in the acceptance region 00091 // - delta(Phi) between the jets is > 150 degrees 00092 // - Pt_awayjet/Pt_towards_jet > 0.7 00093 if (deltaPhi(jets[0].momentum().phi(), jets[1].momentum().phi()) <= 5*PI/6 || 00094 jets[1].momentum().pT()/jets[0].momentum().pT() <= 0.7) 00095 { 00096 getLog() << Log::DEBUG << "Failed di-jet criteria" << endl; 00097 vetoEvent; 00098 } 00099 00100 // Now lets start ... 00101 const double jetphi = jets[0].momentum().phi(); 00102 const double jetpT = jets[0].momentum().pT(); 00103 00104 // Get the event weight 00105 const double weight = e.weight(); 00106 00107 size_t numTrans1(0), numTrans2(0), numAway(0); 00108 00109 // Calculate all the charged stuff 00110 foreach (const Particle& p, cfs.particles()) { 00111 const double dPhi = deltaPhi(p.momentum().phi(), jetphi); 00112 const double pT = p.momentum().pT(); 00113 const double phi = p.momentum().phi(); 00114 double rotatedphi = phi - jetphi; 00115 while (rotatedphi < 0) rotatedphi += 2*PI; 00116 00117 // @TODO: WARNING: The following lines are a hack to correct 00118 // for the STAR tracking efficiency. Once we have the 00119 // final numbers (corrected to hadron level), we need 00120 // to remove this!!!! 00121 if (1.0*rand()/RAND_MAX > 0.87834-exp(-1.48994-0.788432*pT)) { 00122 continue; 00123 } 00124 // -------- end of efficiency hack ------- 00125 00126 if (dPhi < PI/3.0) { 00127 // toward 00128 } 00129 else if (dPhi < 2*PI/3.0) { 00130 if (rotatedphi <= PI) { 00131 ++numTrans1; 00132 } 00133 else { 00134 ++numTrans2; 00135 } 00136 } 00137 else { 00138 ++numAway; 00139 } 00140 } // end charged particle loop 00141 00142 // Fill the histograms 00143 _hist_pmaxnchg->fill(jetpT, (numTrans1>numTrans2 ? numTrans1 : numTrans2)/(2*PI/3), weight); 00144 _hist_pminnchg->fill(jetpT, (numTrans1<numTrans2 ? numTrans1 : numTrans2)/(2*PI/3), weight); 00145 _hist_anchg->fill(jetpT, numAway/(PI*0.7*0.7), weight); // jet area = pi*R^2 00146 00147 }
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 150 of file STAR_2009_UE_HELEN.cc.
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().
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::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 }
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.
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.
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.
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.
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.
string experiment | ( | ) | const [virtual, inherited] |
Experiment which performed and published this analysis.
Definition at line 165 of file Analysis.cc.
References Analysis::_info.
string collider | ( | ) | const [virtual, inherited] |
Collider on which the experiment ran.
Definition at line 170 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 }
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 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.
vector< string > references | ( | ) | const [virtual, inherited] |
Journal, and preprint references.
Definition at line 180 of file Analysis.cc.
References Analysis::_info.
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.
string status | ( | ) | const [virtual, inherited] |
Whether this analysis is trusted (in any way!).
Definition at line 195 of file Analysis.cc.
References Analysis::_info.
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.
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 }
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 }
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(), 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(), 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(), and ALEPH_2004_S5765862::init().
00075 { 00076 return handler().sqrtS(); 00077 }
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 }
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 }
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 }
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 512 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_1993_S2742446::finalize(), ALEPH_2004_S5765862::finalize(), and ALEPH_1996_S3486095::finalize().
00512 { 00513 if (!histo) { 00514 getLog() << Log::ERROR << "Failed to normalise histo=NULL in analysis " 00515 << name() << " (norm=" << norm << ")" << endl; 00516 return; 00517 } 00518 const string hpath = tree().findPath(dynamic_cast<const AIDA::IManagedObject&>(*histo)); 00519 getLog() << Log::TRACE << "Normalizing histo " << hpath << " to " << norm << endl; 00520 00521 double oldintg = 0.0; 00522 int nBins = histo->axis().bins(); 00523 for (int iBin = 0; iBin != nBins; ++iBin) { 00524 // Leaving out factor of binWidth because AIDA's "height" already includes a width factor. 00525 oldintg += histo->binHeight(iBin); // * histo->axis().binWidth(iBin); 00526 } 00527 if (oldintg == 0.0) { 00528 getLog() << Log::WARN << "Histo " << hpath << " has null integral during normalisation" << endl; 00529 return; 00530 } 00531 00532 // Scale by the normalisation factor. 00533 scale(histo, norm/oldintg); 00534 }
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 537 of file Analysis.cc.
References Analysis::datapointsetFactory(), Log::ERROR, Analysis::getLog(), Analysis::name(), Log::TRACE, and Analysis::tree().
Referenced by UA5_1989_S1926373::finalize(), UA5_1987_S1640666::finalize(), UA5_1986_S1583476::finalize(), UA5_1982_S875503::finalize(), UA1_1990_S2044935::finalize(), STAR_2006_S6870392::finalize(), STAR_2006_S6860818::finalize(), STAR_2006_S6500200::finalize(), SFM_1984_S1178091::finalize(), PDG_HADRON_MULTIPLICITIES_RATIOS::finalize(), PDG_HADRON_MULTIPLICITIES::finalize(), OPAL_2004_S6132243::finalize(), OPAL_1998_S3780481::finalize(), MC_ZZJETS::finalize(), MC_ZJETS::finalize(), MC_WWJETS::finalize(), MC_WJETS::finalize(), MC_TTBAR::finalize(), MC_PHOTONJETS::finalize(), MC_JetAnalysis::finalize(), MC_HJETS::finalize(), MC_GENERIC::finalize(), MC_DIPHOTON::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(), ALEPH_2004_S5765862::finalize(), ALEPH_1996_S3486095::finalize(), ALEPH_1996_S3196992::finalize(), ALEPH_1991_S2435284::finalize(), Analysis::normalize(), and BinnedHistogram::scale().
00537 { 00538 if (!histo) { 00539 getLog() << Log::ERROR << "Failed to scale histo=NULL in analysis " 00540 << name() << " (scale=" << scale << ")" << endl; 00541 return; 00542 } 00543 const string hpath = tree().findPath(dynamic_cast<const AIDA::IManagedObject&>(*histo)); 00544 getLog() << Log::TRACE << "Scaling histo " << hpath << endl; 00545 00546 vector<double> x, y, ex, ey; 00547 for (size_t i = 0, N = histo->axis().bins(); i < N; ++i) { 00548 x.push_back(0.5 * (histo->axis().binLowerEdge(i) + histo->axis().binUpperEdge(i))); 00549 ex.push_back(histo->axis().binWidth(i)*0.5); 00550 00551 // "Bin height" is a misnomer in the AIDA spec: width is neglected. 00552 // We'd like to do this: y.push_back(histo->binHeight(i) * scale); 00553 y.push_back(histo->binHeight(i)*scale/histo->axis().binWidth(i)); 00554 00555 // "Bin error" is a misnomer in the AIDA spec: width is neglected. 00556 // We'd like to do this: ey.push_back(histo->binError(i) * scale); 00557 ey.push_back(histo->binError(i)*scale/histo->axis().binWidth(i)); 00558 } 00559 00560 string title = histo->title(); 00561 string xtitle = histo->xtitle(); 00562 string ytitle = histo->ytitle(); 00563 00564 tree().mkdir("/tmpnormalize"); 00565 tree().mv(hpath, "/tmpnormalize"); 00566 00567 AIDA::IDataPointSet* dps = datapointsetFactory().createXY(hpath, title, x, y, ex, ey); 00568 dps->setXTitle(xtitle); 00569 dps->setYTitle(ytitle); 00570 00571 tree().rm(tree().findPath(dynamic_cast<AIDA::IManagedObject&>(*histo))); 00572 tree().rmdir("/tmpnormalize"); 00573 00574 // Set histo pointer to null - it can no longer be used. 00575 histo = 0; 00576 }
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 }
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 }
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 Log::getLog(), and 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_2005_S6217184::analyze(), CDF_2004_S5839831::analyze(), CDF_2001_S4751469::analyze(), CDF_2000_S4155203::analyze(), CDF_1994_S2952106::analyze(), CDF_1991_S2313472::analyze(), BELLE_2006_S6265367::analyze(), ALEPH_1996_S3486095::analyze(), ALEPH_1991_S2435284::analyze(), 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 }
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(), and CDF_1998_S3618439::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(), and CDF_1988_S1865951::finalize().
00262 { 00263 const double sumW = sumOfWeights(); 00264 assert(sumW > 0); 00265 return _crossSection / sumW; 00266 }
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 }
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(), ALEPH_2004_S5765862::finalize(), ALEPH_1996_S3486095::finalize(), ALEPH_1996_S3196992::finalize(), and ALEPH_1991_S2435284::finalize().
00118 { 00119 return handler().sumOfWeights(); 00120 }
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 }
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 }
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 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 }
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::scale().
00070 { 00071 return handler().datapointsetFactory(); 00072 }
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(), and D0_2008_S7719523::finalize().
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 }
const std::string histoPath | ( | const std::string & | hname | ) | const [protected, inherited] |
Get the canonical histogram path for the named histogram in this analysis.
Referenced by MC_JetAnalysis::finalize(), and MC_GENERIC::finalize().
const BinEdges& binEdges | ( | const std::string & | hname | ) | const [protected, inherited] |
Get bin edges for a named histo (using ref AIDA caching).
Referenced by Analysis::binEdges(), and D0_2008_S7837160::init().
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(), and Rivet::makeAxisCode().
00311 { 00312 const string hname = makeAxisCode(datasetId, xAxisId, yAxisId); 00313 return binEdges(hname); 00314 }
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 }
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 = "" | |||
) | [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!)
Referenced by 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(), 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_S8591806::init(), ALEPH_2004_S5765862::init(), ALEPH_1996_S3486095::init(), ALEPH_1996_S3196992::init(), and ALEPH_1991_S2435284::init().
AIDA::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!)
AIDA::IHistogram1D* bookHistogram1D | ( | const std::string & | name, | |
const std::string & | title = "" , |
|||
const std::string & | xtitle = "" , |
|||
const std::string & | ytitle = "" | |||
) | [protected, inherited] |
AIDA::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] |
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 = "" | |||
) | [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!)
Referenced by 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(), and ATLAS_2010_S8591806::init().
AIDA::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!)
AIDA::IProfile1D* bookProfile1D | ( | const std::string & | name, | |
const std::string & | title = "" , |
|||
const std::string & | xtitle = "" , |
|||
const std::string & | ytitle = "" | |||
) | [protected, inherited] |
AIDA::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] |
AIDA::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!)
Referenced by 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_1996_S3418421::init(), CDF_1994_S2952106::init(), and ALEPH_2004_S5765862::init().
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 = "" | |||
) | [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!)
AIDA::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.
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(), 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(), 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().
00211 { 00212 assert(_info.get() != 0); 00213 _info->_beams.clear(); 00214 _info->_beams += make_pair(beam1, beam2); 00215 return *this; 00216 }
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 ATLAS_2010_S8591806::ATLAS_2010_S8591806(), 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(), 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 }
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 }
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 Rivet::pcmp(), and Hemispheres::project().
00065 { 00066 const Projection& p = getProjHandler().getProjection(*this, name); 00067 return pcast<PROJ>(p); 00068 }
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& 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 }
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 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 }
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 }
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(), 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(), 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_S8591806::init(), ALEPH_2004_S5765862::init(), ALEPH_1996_S3486095::init(), ALEPH_1996_S3196992::init(), ALEPH_1991_S2435284::init(), IsolationProjection::IsolationProjection(), JetAlg::JetAlg(), JetShape::JetShape(), LeadingParticlesFinalState::LeadingParticlesFinalState(), LossyFinalState< Rivet::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 }
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 }
friend class Projectionhandler [friend, inherited] |
Definition at line 38 of file ProjectionApplier.hh.
AIDA::IProfile1D* _hist_pmaxnchg [private] |
Definition at line 159 of file STAR_2009_UE_HELEN.cc.
Referenced by STAR_2009_UE_HELEN::analyze(), and STAR_2009_UE_HELEN::init().
AIDA::IProfile1D* _hist_pminnchg [private] |
Definition at line 160 of file STAR_2009_UE_HELEN.cc.
Referenced by STAR_2009_UE_HELEN::analyze(), and STAR_2009_UE_HELEN::init().
AIDA::IProfile1D* _hist_anchg [private] |
Definition at line 161 of file STAR_2009_UE_HELEN.cc.
Referenced by STAR_2009_UE_HELEN::analyze(), and STAR_2009_UE_HELEN::init().
string _defaultname [protected, inherited] |
Name passed to constructor (used to find .info analysis data file, and as a fallback).
Definition at line 422 of file Analysis.hh.
Referenced by Analysis::name().
shared_ptr<AnalysisInfo> _info [protected, inherited] |
Pointer to analysis metadata object.
Definition at line 425 of file Analysis.hh.
Referenced by 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().
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().