Definition at line 14 of file MC_PHOTONJETUE.cc.
Analysis methods | |
AIDA::IHistogram1D * | _hist_jetgamma_dR |
AIDA::IHistogram1D * | _hist_jetgamma_dphi |
AIDA::IProfile1D * | _hist_pnchg_jet |
AIDA::IProfile1D * | _hist_pnchg_gamma |
AIDA::IProfile1D * | _hist_pmaxnchg_jet |
AIDA::IProfile1D * | _hist_pmaxnchg_gamma |
AIDA::IProfile1D * | _hist_pminnchg_jet |
AIDA::IProfile1D * | _hist_pminnchg_gamma |
AIDA::IProfile1D * | _hist_pcptsum_jet |
AIDA::IProfile1D * | _hist_pcptsum_gamma |
AIDA::IProfile1D * | _hist_pmaxcptsum_jet |
AIDA::IProfile1D * | _hist_pmaxcptsum_gamma |
AIDA::IProfile1D * | _hist_pmincptsum_jet |
AIDA::IProfile1D * | _hist_pmincptsum_gamma |
AIDA::IProfile1D * | _hist_pcptave_jet |
AIDA::IProfile1D * | _hist_pcptave_gamma |
void | init () |
void | analyze (const Event &evt) |
void | finalize () |
Public Member Functions | |
MC_PHOTONJETUE () | |
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. | |
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. | |
Friends | |
class | Projectionhandler |
MC_PHOTONJETUE | ( | ) | [inline] |
Constructor.
Definition at line 18 of file MC_PHOTONJETUE.cc.
00019 : Analysis("MC_PHOTONJETUE") 00020 { }
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 27 of file MC_PHOTONJETUE.cc.
References MC_PHOTONJETUE::_hist_jetgamma_dphi, MC_PHOTONJETUE::_hist_jetgamma_dR, MC_PHOTONJETUE::_hist_pcptave_gamma, MC_PHOTONJETUE::_hist_pcptave_jet, MC_PHOTONJETUE::_hist_pcptsum_gamma, MC_PHOTONJETUE::_hist_pcptsum_jet, MC_PHOTONJETUE::_hist_pmaxcptsum_gamma, MC_PHOTONJETUE::_hist_pmaxcptsum_jet, MC_PHOTONJETUE::_hist_pmaxnchg_gamma, MC_PHOTONJETUE::_hist_pmaxnchg_jet, MC_PHOTONJETUE::_hist_pmincptsum_gamma, MC_PHOTONJETUE::_hist_pmincptsum_jet, MC_PHOTONJETUE::_hist_pminnchg_gamma, MC_PHOTONJETUE::_hist_pminnchg_jet, MC_PHOTONJETUE::_hist_pnchg_gamma, MC_PHOTONJETUE::_hist_pnchg_jet, IdentifiedFinalState::acceptId(), ProjectionApplier::addProjection(), FastJets::ANTIKT, Analysis::bookHistogram1D(), Analysis::bookProfile1D(), Rivet::GeV, Rivet::PHOTON, and Rivet::PI.
00027 { 00028 // Final state for the jet finding 00029 const FinalState fsj(-4.0, 4.0, 0.1*GeV); 00030 addProjection(fsj, "FSJ"); 00031 addProjection(FastJets(fsj, FastJets::ANTIKT, 0.7), "Jets"); 00032 00033 // Charged final state for the distributions 00034 const ChargedFinalState cfs(-2.0, 2.0, 0.2*GeV); 00035 addProjection(cfs, "Tracks"); 00036 00037 // Photons (for isolation) 00038 const FinalState fsp(-2.0, 2.0, 20.0*GeV); 00039 IdentifiedFinalState photonfs(fsp); 00040 photonfs.acceptId(PHOTON); 00041 addProjection(photonfs, "Photons"); 00042 00043 // Histograms 00044 _hist_jetgamma_dR = bookHistogram1D("gammajet-dR", 52, 0.0, 5.2); 00045 _hist_jetgamma_dphi = bookHistogram1D("gammajet-dphi", 50, 0.0, PI); 00046 // 00047 const double MAXPT1 = 50.0; 00048 _hist_pnchg_jet = bookProfile1D("trans-nchg-jet", 50, 0.0, MAXPT1); 00049 _hist_pmaxnchg_jet = bookProfile1D("trans-maxnchg-jet", 50, 0.0, MAXPT1); 00050 _hist_pminnchg_jet = bookProfile1D("trans-minnchg-jet", 50, 0.0, MAXPT1); 00051 _hist_pcptsum_jet = bookProfile1D("trans-ptsum-jet", 50, 0.0, MAXPT1); 00052 _hist_pmaxcptsum_jet = bookProfile1D("trans-maxptsum-jet", 50, 0.0, MAXPT1); 00053 _hist_pmincptsum_jet = bookProfile1D("trans-minptsum-jet", 50, 0.0, MAXPT1); 00054 _hist_pcptave_jet = bookProfile1D("trans-ptavg-jet", 50, 0.0, MAXPT1); 00055 // 00056 _hist_pnchg_gamma = bookProfile1D("trans-nchg-gamma", 50, 0.0, MAXPT1); 00057 _hist_pmaxnchg_gamma = bookProfile1D("trans-maxnchg-gamma", 50, 0.0, MAXPT1); 00058 _hist_pminnchg_gamma = bookProfile1D("trans-minnchg-gamma", 50, 0.0, MAXPT1); 00059 _hist_pcptsum_gamma = bookProfile1D("trans-ptsum-gamma", 50, 0.0, MAXPT1); 00060 _hist_pmaxcptsum_gamma = bookProfile1D("trans-maxptsum-gamma", 50, 0.0, MAXPT1); 00061 _hist_pmincptsum_gamma = bookProfile1D("trans-minptsum-gamma", 50, 0.0, MAXPT1); 00062 _hist_pcptave_gamma = bookProfile1D("trans-ptavg-gamma", 50, 0.0, MAXPT1); 00063 }
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 67 of file MC_PHOTONJETUE.cc.
References MC_PHOTONJETUE::_hist_jetgamma_dphi, MC_PHOTONJETUE::_hist_jetgamma_dR, MC_PHOTONJETUE::_hist_pcptave_gamma, MC_PHOTONJETUE::_hist_pcptave_jet, MC_PHOTONJETUE::_hist_pcptsum_gamma, MC_PHOTONJETUE::_hist_pcptsum_jet, MC_PHOTONJETUE::_hist_pmaxcptsum_gamma, MC_PHOTONJETUE::_hist_pmaxcptsum_jet, MC_PHOTONJETUE::_hist_pmaxnchg_gamma, MC_PHOTONJETUE::_hist_pmaxnchg_jet, MC_PHOTONJETUE::_hist_pmincptsum_gamma, MC_PHOTONJETUE::_hist_pmincptsum_jet, MC_PHOTONJETUE::_hist_pminnchg_gamma, MC_PHOTONJETUE::_hist_pminnchg_jet, MC_PHOTONJETUE::_hist_pnchg_gamma, MC_PHOTONJETUE::_hist_pnchg_jet, Log::DEBUG, Rivet::deltaPhi(), Rivet::deltaR(), FourVector::eta(), Analysis::getLog(), Rivet::GeV, Rivet::MINUS, Particle::momentum(), FinalState::particles(), FinalState::particlesByPt(), FourVector::phi(), Rivet::PI, Rivet::pT(), FourMomentum::pT(), Rivet::sign(), FinalState::size(), and vetoEvent.
00067 { 00068 00069 // Get jets 00070 const Jets jets = applyProjection<FastJets>(evt, "Jets").jetsByPt(); 00071 getLog() << Log::DEBUG << "Jet multiplicity = " << jets.size() << endl; 00072 if (jets.size() < 1) { 00073 getLog() << Log::DEBUG << "No jets found" << endl; 00074 vetoEvent; 00075 } 00076 00077 // Get leading jet properties 00078 const FourMomentum pjet = jets.front().momentum(); 00079 const double jeteta = pjet.eta(); 00080 const double jetphi = pjet.phi(); 00081 const double jetpT = pjet.pT(); 00082 getLog() << Log::DEBUG << "Leading jet: pT = " << jetpT/GeV << " GeV" 00083 << ", eta = " << jeteta 00084 << ", phi = " << jetphi << endl; 00085 00086 // Require the leading jet to be within |eta| < 2 00087 if (fabs(jeteta) > 2) { 00088 getLog() << Log::DEBUG << "Failed leading jet eta cut" << endl; 00089 vetoEvent; 00090 } 00091 00092 // Get the leading photon 00093 const FinalState& photonfs = applyProjection<FinalState>(evt, "Photons"); 00094 if (photonfs.size() < 1) { 00095 getLog() << Log::DEBUG << "No hard photons found" << endl; 00096 vetoEvent; 00097 } 00098 const FourMomentum pgamma = photonfs.particlesByPt().front().momentum(); 00099 00100 // Check that leading photon is isolated from jets 00101 bool isolated = true; 00102 foreach (const Jet& j, jets) { 00103 if (deltaR(j.momentum(), pgamma) < 0.1) { 00104 isolated = false; 00105 break; 00106 } 00107 } 00108 if (!isolated) { 00109 getLog() << Log::DEBUG << "Leading photon is not isolated from jets" << endl; 00110 vetoEvent; 00111 } 00112 00113 // Get leading photon properties 00114 const double gammaeta = pgamma.eta(); 00115 const double gammaphi = pgamma.phi(); 00116 const double gammapT = pgamma.pT(); 00117 getLog() << Log::DEBUG << "Leading photon: pT = " << gammapT/GeV << " GeV" 00118 << ", eta = " << gammaeta 00119 << ", phi = " << gammaphi << endl; 00120 00121 // Get the event weight 00122 const double weight = evt.weight(); 00123 00124 // Fill jet1-photon separation histos 00125 const double dR_jetgamma = deltaR(pgamma, pjet); 00126 _hist_jetgamma_dR->fill(dR_jetgamma, weight); 00127 const double dPhi_jetgamma = deltaPhi(gammaphi, jetphi); 00128 _hist_jetgamma_dphi->fill(dPhi_jetgamma, weight); 00129 00130 /// Cut on back-to-backness of jet-photon 00131 if (dPhi_jetgamma < 0.5) vetoEvent; 00132 00133 /// @todo Plot evolution of UE as a function of jet-photon angle 00134 /// @todo Plot evolution of UE as a function of photon pT 00135 00136 // Get the final states to work with for filling the distributions 00137 const FinalState& cfs = applyProjection<ChargedFinalState>(evt, "Tracks"); 00138 00139 // Whole-event counters 00140 unsigned int numOverall(0); 00141 double ptSumOverall(0.0), ptMaxOverall(0.0); 00142 // Jet-oriented counters 00143 unsigned int numToward_jet(0), numTrans1_jet(0), numTrans2_jet(0), numAway_jet(0); 00144 double ptSumToward_jet(0.0), ptSumTrans1_jet(0.0), ptSumTrans2_jet(0.0), ptSumAway_jet(0.0); 00145 double ptMaxToward_jet(0.0), ptMaxTrans1_jet(0.0), ptMaxTrans2_jet(0.0), ptMaxAway_jet(0.0); 00146 // Photon-oriented counters 00147 unsigned int numToward_gamma(0), numTrans1_gamma(0), numTrans2_gamma(0), numAway_gamma(0); 00148 double ptSumToward_gamma(0.0), ptSumTrans1_gamma(0.0), ptSumTrans2_gamma(0.0), ptSumAway_gamma(0.0); 00149 double ptMaxToward_gamma(0.0), ptMaxTrans1_gamma(0.0), ptMaxTrans2_gamma(0.0), ptMaxAway_gamma(0.0); 00150 00151 // Calculate all the charged stuff 00152 foreach (const Particle& p, cfs.particles()) { 00153 ++numOverall; 00154 const double pT = p.momentum().pT(); 00155 ptSumOverall += pT; 00156 if (pT > ptMaxOverall) ptMaxOverall = pT; 00157 00158 // Increment jet-oriented variables 00159 const double dPhi_jet = jetphi - p.momentum().phi(); 00160 if (fabs(dPhi_jet) < PI/3.0) { 00161 ptSumToward_jet += pT; 00162 ++numToward_jet; 00163 if (pT > ptMaxToward_jet) ptMaxToward_jet = pT; 00164 } 00165 else if (fabs(dPhi_jet) < 2*PI/3.0) { 00166 if (sign(dPhi_jet) == MINUS) { 00167 ptSumTrans1_jet += pT; 00168 ++numTrans1_jet; 00169 if (pT > ptMaxTrans1_jet) ptMaxTrans1_jet = pT; 00170 } else { 00171 ptSumTrans2_jet += pT; 00172 ++numTrans2_jet; 00173 if (pT > ptMaxTrans2_jet) ptMaxTrans2_jet = pT; 00174 } 00175 } 00176 else { 00177 ptSumAway_jet += pT; 00178 ++numAway_jet; 00179 if (pT > ptMaxAway_jet) ptMaxAway_jet = pT; 00180 } 00181 00182 00183 // Increment photon-oriented variables 00184 const double dPhi_gamma = gammaphi - p.momentum().phi(); 00185 if (fabs(dPhi_gamma) < PI/3.0) { 00186 ptSumToward_gamma += pT; 00187 ++numToward_gamma; 00188 if (pT > ptMaxToward_gamma) ptMaxToward_gamma = pT; 00189 } 00190 else if (fabs(dPhi_gamma) < 2*PI/3.0) { 00191 if (sign(dPhi_gamma) == MINUS) { 00192 ptSumTrans1_gamma += pT; 00193 ++numTrans1_gamma; 00194 if (pT > ptMaxTrans1_gamma) ptMaxTrans1_gamma = pT; 00195 } else { 00196 ptSumTrans2_gamma += pT; 00197 ++numTrans2_gamma; 00198 if (pT > ptMaxTrans2_gamma) ptMaxTrans2_gamma = pT; 00199 } 00200 } 00201 else { 00202 ptSumAway_gamma += pT; 00203 ++numAway_gamma; 00204 if (pT > ptMaxAway_gamma) ptMaxAway_gamma = pT; 00205 } 00206 00207 00208 } 00209 00210 00211 // Fill the histograms 00212 _hist_pnchg_jet->fill(jetpT/GeV, (numTrans1_jet+numTrans2_jet)/(4*PI/3), weight); 00213 _hist_pmaxnchg_jet->fill(jetpT/GeV, (numTrans1_jet>numTrans2_jet ? numTrans1_jet : numTrans2_jet)/(2*PI/3), weight); 00214 _hist_pminnchg_jet->fill(jetpT/GeV, (numTrans1_jet<numTrans2_jet ? numTrans1_jet : numTrans2_jet)/(2*PI/3), weight); 00215 _hist_pcptsum_jet->fill(jetpT/GeV, (ptSumTrans1_jet+ptSumTrans2_jet)/GeV/(4*PI/3), weight); 00216 _hist_pmaxcptsum_jet->fill(jetpT/GeV, (ptSumTrans1_jet>ptSumTrans2_jet ? ptSumTrans1_jet : ptSumTrans2_jet)/GeV/(2*PI/3), weight); 00217 _hist_pmincptsum_jet->fill(jetpT/GeV, (ptSumTrans1_jet<ptSumTrans2_jet ? ptSumTrans1_jet : ptSumTrans2_jet)/GeV/(2*PI/3), weight); 00218 if ((numTrans1_jet+numTrans2_jet) > 0) { 00219 _hist_pcptave_jet->fill(jetpT/GeV, (ptSumTrans1_jet+ptSumTrans2_jet)/GeV/(numTrans1_jet+numTrans2_jet), weight); 00220 } 00221 // 00222 _hist_pnchg_gamma->fill(gammapT/GeV, (numTrans1_gamma+numTrans2_gamma)/(4*PI/3), weight); 00223 _hist_pmaxnchg_gamma->fill(gammapT/GeV, (numTrans1_gamma>numTrans2_gamma ? numTrans1_gamma : numTrans2_gamma)/(2*PI/3), weight); 00224 _hist_pminnchg_gamma->fill(gammapT/GeV, (numTrans1_gamma<numTrans2_gamma ? numTrans1_gamma : numTrans2_gamma)/(2*PI/3), weight); 00225 _hist_pcptsum_gamma->fill(gammapT/GeV, (ptSumTrans1_gamma+ptSumTrans2_gamma)/GeV/(4*PI/3), weight); 00226 _hist_pmaxcptsum_gamma->fill(gammapT/GeV, (ptSumTrans1_gamma>ptSumTrans2_gamma ? ptSumTrans1_gamma : ptSumTrans2_gamma)/GeV/(2*PI/3), weight); 00227 _hist_pmincptsum_gamma->fill(gammapT/GeV, (ptSumTrans1_gamma<ptSumTrans2_gamma ? ptSumTrans1_gamma : ptSumTrans2_gamma)/GeV/(2*PI/3), weight); 00228 if ((numTrans1_gamma+numTrans2_gamma) > 0) { 00229 _hist_pcptave_gamma->fill(gammapT/GeV, (ptSumTrans1_gamma+ptSumTrans2_gamma)/GeV/(numTrans1_gamma+numTrans2_gamma), weight); 00230 } 00231 00232 }
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 235 of file MC_PHOTONJETUE.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::IHistogram1D* _hist_jetgamma_dR [private] |
Definition at line 242 of file MC_PHOTONJETUE.cc.
Referenced by MC_PHOTONJETUE::analyze(), and MC_PHOTONJETUE::init().
AIDA::IHistogram1D* _hist_jetgamma_dphi [private] |
Definition at line 243 of file MC_PHOTONJETUE.cc.
Referenced by MC_PHOTONJETUE::analyze(), and MC_PHOTONJETUE::init().
AIDA::IProfile1D* _hist_pnchg_jet [private] |
Definition at line 245 of file MC_PHOTONJETUE.cc.
Referenced by MC_PHOTONJETUE::analyze(), and MC_PHOTONJETUE::init().
AIDA::IProfile1D * _hist_pnchg_gamma [private] |
Definition at line 245 of file MC_PHOTONJETUE.cc.
Referenced by MC_PHOTONJETUE::analyze(), and MC_PHOTONJETUE::init().
AIDA::IProfile1D* _hist_pmaxnchg_jet [private] |
Definition at line 246 of file MC_PHOTONJETUE.cc.
Referenced by MC_PHOTONJETUE::analyze(), and MC_PHOTONJETUE::init().
AIDA::IProfile1D * _hist_pmaxnchg_gamma [private] |
Definition at line 246 of file MC_PHOTONJETUE.cc.
Referenced by MC_PHOTONJETUE::analyze(), and MC_PHOTONJETUE::init().
AIDA::IProfile1D* _hist_pminnchg_jet [private] |
Definition at line 247 of file MC_PHOTONJETUE.cc.
Referenced by MC_PHOTONJETUE::analyze(), and MC_PHOTONJETUE::init().
AIDA::IProfile1D * _hist_pminnchg_gamma [private] |
Definition at line 247 of file MC_PHOTONJETUE.cc.
Referenced by MC_PHOTONJETUE::analyze(), and MC_PHOTONJETUE::init().
AIDA::IProfile1D* _hist_pcptsum_jet [private] |
Definition at line 248 of file MC_PHOTONJETUE.cc.
Referenced by MC_PHOTONJETUE::analyze(), and MC_PHOTONJETUE::init().
AIDA::IProfile1D * _hist_pcptsum_gamma [private] |
Definition at line 248 of file MC_PHOTONJETUE.cc.
Referenced by MC_PHOTONJETUE::analyze(), and MC_PHOTONJETUE::init().
AIDA::IProfile1D* _hist_pmaxcptsum_jet [private] |
Definition at line 249 of file MC_PHOTONJETUE.cc.
Referenced by MC_PHOTONJETUE::analyze(), and MC_PHOTONJETUE::init().
AIDA::IProfile1D * _hist_pmaxcptsum_gamma [private] |
Definition at line 249 of file MC_PHOTONJETUE.cc.
Referenced by MC_PHOTONJETUE::analyze(), and MC_PHOTONJETUE::init().
AIDA::IProfile1D* _hist_pmincptsum_jet [private] |
Definition at line 250 of file MC_PHOTONJETUE.cc.
Referenced by MC_PHOTONJETUE::analyze(), and MC_PHOTONJETUE::init().
AIDA::IProfile1D * _hist_pmincptsum_gamma [private] |
Definition at line 250 of file MC_PHOTONJETUE.cc.
Referenced by MC_PHOTONJETUE::analyze(), and MC_PHOTONJETUE::init().
AIDA::IProfile1D* _hist_pcptave_jet [private] |
Definition at line 251 of file MC_PHOTONJETUE.cc.
Referenced by MC_PHOTONJETUE::analyze(), and MC_PHOTONJETUE::init().
AIDA::IProfile1D * _hist_pcptave_gamma [private] |
Definition at line 251 of file MC_PHOTONJETUE.cc.
Referenced by MC_PHOTONJETUE::analyze(), and MC_PHOTONJETUE::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().