Definition at line 14 of file D0_1996_S3214044.cc.
Public Member Functions | |
virtual bool | isCompatible (const ParticleName &beam1, const ParticleName &beam2) const |
Is this analysis able to run on the supplied pair of beams? | |
virtual bool | isCompatible (const BeamPair &beams) const |
Is this analysis able to run on the BeamPair 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. | |
Constructors etc. | |
D0_1996_S3214044 () | |
Constructor. | |
Analysis methods | |
void | init () |
Book histograms. | |
void | analyze (const Event &event) |
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 BeamPair | 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 | status () const |
Whether this analysis is trusted (in any way!). | |
Run conditions | |
const ParticlePair & | beams () const |
Incoming beams for this run. | |
const BeamPair | 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 (const ParticleName &beam1, const ParticleName &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 Member Functions | |
Helper functions | |
void | _threeJetAnalysis (const Jets &jets, const double &weight) |
void | _fourJetAnalysis (const Jets &jets, const double &weight) |
double | _safeMass (const FourMomentum &p) |
Private Attributes | |
Histograms | |
AIDA::IHistogram1D * | _h_3j_x3 |
AIDA::IHistogram1D * | _h_3j_x5 |
AIDA::IHistogram1D * | _h_3j_costheta3 |
AIDA::IHistogram1D * | _h_3j_psi |
AIDA::IHistogram1D * | _h_3j_mu34 |
AIDA::IHistogram1D * | _h_3j_mu35 |
AIDA::IHistogram1D * | _h_3j_mu45 |
AIDA::IHistogram1D * | _h_4j_x3 |
AIDA::IHistogram1D * | _h_4j_x4 |
AIDA::IHistogram1D * | _h_4j_x5 |
AIDA::IHistogram1D * | _h_4j_x6 |
AIDA::IHistogram1D * | _h_4j_costheta3 |
AIDA::IHistogram1D * | _h_4j_costheta4 |
AIDA::IHistogram1D * | _h_4j_costheta5 |
AIDA::IHistogram1D * | _h_4j_costheta6 |
AIDA::IHistogram1D * | _h_4j_cosomega34 |
AIDA::IHistogram1D * | _h_4j_cosomega35 |
AIDA::IHistogram1D * | _h_4j_cosomega36 |
AIDA::IHistogram1D * | _h_4j_cosomega45 |
AIDA::IHistogram1D * | _h_4j_cosomega46 |
AIDA::IHistogram1D * | _h_4j_cosomega56 |
AIDA::IHistogram1D * | _h_4j_mu34 |
AIDA::IHistogram1D * | _h_4j_mu35 |
AIDA::IHistogram1D * | _h_4j_mu36 |
AIDA::IHistogram1D * | _h_4j_mu45 |
AIDA::IHistogram1D * | _h_4j_mu46 |
AIDA::IHistogram1D * | _h_4j_mu56 |
AIDA::IHistogram1D * | _h_4j_theta_BZ |
AIDA::IHistogram1D * | _h_4j_costheta_NR |
Friends | |
class | Projectionhandler |
D0_1996_S3214044 | ( | ) | [inline] |
Constructor.
Definition at line 21 of file D0_1996_S3214044.cc.
References Rivet::ANTIPROTON, Rivet::PROTON, Analysis::setBeams(), and Analysis::setNeedsCrossSection().
00021 : Analysis("D0_1996_S3214044") 00022 { 00023 setBeams(PROTON, ANTIPROTON); 00024 setNeedsCrossSection(false); 00025 }
void init | ( | ) | [inline, virtual] |
Book histograms.
Implements Analysis.
Definition at line 32 of file D0_1996_S3214044.cc.
References D0_1996_S3214044::_h_3j_costheta3, D0_1996_S3214044::_h_3j_mu34, D0_1996_S3214044::_h_3j_mu35, D0_1996_S3214044::_h_3j_mu45, D0_1996_S3214044::_h_3j_psi, D0_1996_S3214044::_h_3j_x3, D0_1996_S3214044::_h_3j_x5, D0_1996_S3214044::_h_4j_cosomega34, D0_1996_S3214044::_h_4j_cosomega35, D0_1996_S3214044::_h_4j_cosomega36, D0_1996_S3214044::_h_4j_cosomega45, D0_1996_S3214044::_h_4j_cosomega46, D0_1996_S3214044::_h_4j_cosomega56, D0_1996_S3214044::_h_4j_costheta3, D0_1996_S3214044::_h_4j_costheta4, D0_1996_S3214044::_h_4j_costheta5, D0_1996_S3214044::_h_4j_costheta6, D0_1996_S3214044::_h_4j_costheta_NR, D0_1996_S3214044::_h_4j_mu34, D0_1996_S3214044::_h_4j_mu35, D0_1996_S3214044::_h_4j_mu36, D0_1996_S3214044::_h_4j_mu45, D0_1996_S3214044::_h_4j_mu46, D0_1996_S3214044::_h_4j_mu56, D0_1996_S3214044::_h_4j_theta_BZ, D0_1996_S3214044::_h_4j_x3, D0_1996_S3214044::_h_4j_x4, D0_1996_S3214044::_h_4j_x5, D0_1996_S3214044::_h_4j_x6, ProjectionApplier::addProjection(), Analysis::bookHistogram1D(), and FastJets::D0ILCONE.
00032 { 00033 const FinalState fs; 00034 addProjection(fs, "FS"); 00035 /// @todo Use correct jet algorithm 00036 addProjection(FastJets(fs, FastJets::D0ILCONE, 0.7), "ConeJets"); 00037 00038 _h_3j_x3 = bookHistogram1D(1, 1, 1); 00039 _h_3j_x5 = bookHistogram1D(2, 1, 1); 00040 _h_3j_costheta3 = bookHistogram1D(3, 1, 1); 00041 _h_3j_psi = bookHistogram1D(4, 1, 1); 00042 _h_3j_mu34 = bookHistogram1D(5, 1, 1); 00043 _h_3j_mu35 = bookHistogram1D(6, 1, 1); 00044 _h_3j_mu45 = bookHistogram1D(7, 1, 1); 00045 00046 _h_4j_x3 = bookHistogram1D(8, 1, 1); 00047 _h_4j_x4 = bookHistogram1D(9, 1, 1); 00048 _h_4j_x5 = bookHistogram1D(10, 1, 1); 00049 _h_4j_x6 = bookHistogram1D(11, 1, 1); 00050 _h_4j_costheta3 = bookHistogram1D(12, 1, 1); 00051 _h_4j_costheta4 = bookHistogram1D(13, 1, 1); 00052 _h_4j_costheta5 = bookHistogram1D(14, 1, 1); 00053 _h_4j_costheta6 = bookHistogram1D(15, 1, 1); 00054 _h_4j_cosomega34 = bookHistogram1D(16, 1, 1); 00055 _h_4j_cosomega35 = bookHistogram1D(17, 1, 1); 00056 _h_4j_cosomega36 = bookHistogram1D(18, 1, 1); 00057 _h_4j_cosomega45 = bookHistogram1D(19, 1, 1); 00058 _h_4j_cosomega46 = bookHistogram1D(20, 1, 1); 00059 _h_4j_cosomega56 = bookHistogram1D(21, 1, 1); 00060 _h_4j_mu34 = bookHistogram1D(22, 1, 1); 00061 _h_4j_mu35 = bookHistogram1D(23, 1, 1); 00062 _h_4j_mu36 = bookHistogram1D(24, 1, 1); 00063 _h_4j_mu45 = bookHistogram1D(25, 1, 1); 00064 _h_4j_mu46 = bookHistogram1D(26, 1, 1); 00065 _h_4j_mu56 = bookHistogram1D(27, 1, 1); 00066 _h_4j_theta_BZ = bookHistogram1D(28, 1, 1); 00067 _h_4j_costheta_NR = bookHistogram1D(29, 1, 1); 00068 00069 }
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 72 of file D0_1996_S3214044.cc.
References D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::_threeJetAnalysis(), Rivet::deltaR(), Rivet::GeV, Rivet::momentum(), and vetoEvent.
00072 { 00073 const double weight = event.weight(); 00074 00075 Jets jets_in; 00076 foreach (const Jet& jet, applyProjection<FastJets>(event, "ConeJets").jetsByEt(20.0*GeV)) { 00077 if (fabs(jet.momentum().eta()) < 3.0) { 00078 jets_in.push_back(jet); 00079 } 00080 } 00081 00082 Jets jets_isolated; 00083 for (size_t i = 0; i < jets_in.size(); ++i) { 00084 bool isolated=true; 00085 for (size_t j = 0; j < jets_in.size(); ++j) { 00086 if (i != j && deltaR(jets_in[i].momentum(), jets_in[j].momentum()) < 1.4) { 00087 isolated = false; 00088 break; 00089 } 00090 } 00091 if (isolated) { 00092 jets_isolated.push_back(jets_in[i]); 00093 } 00094 } 00095 00096 if (jets_isolated.size() == 0 || jets_isolated[0].momentum().Et() < 60.0*GeV) { 00097 vetoEvent; 00098 } 00099 00100 if (jets_isolated.size() > 2) _threeJetAnalysis(jets_isolated, weight); 00101 if (jets_isolated.size() > 3) _fourJetAnalysis(jets_isolated, weight); 00102 }
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 105 of file D0_1996_S3214044.cc.
References D0_1996_S3214044::_h_3j_costheta3, D0_1996_S3214044::_h_3j_mu34, D0_1996_S3214044::_h_3j_mu35, D0_1996_S3214044::_h_3j_mu45, D0_1996_S3214044::_h_3j_psi, D0_1996_S3214044::_h_3j_x3, D0_1996_S3214044::_h_3j_x5, D0_1996_S3214044::_h_4j_cosomega34, D0_1996_S3214044::_h_4j_cosomega35, D0_1996_S3214044::_h_4j_cosomega36, D0_1996_S3214044::_h_4j_cosomega45, D0_1996_S3214044::_h_4j_cosomega46, D0_1996_S3214044::_h_4j_cosomega56, D0_1996_S3214044::_h_4j_costheta3, D0_1996_S3214044::_h_4j_costheta4, D0_1996_S3214044::_h_4j_costheta5, D0_1996_S3214044::_h_4j_costheta6, D0_1996_S3214044::_h_4j_costheta_NR, D0_1996_S3214044::_h_4j_mu34, D0_1996_S3214044::_h_4j_mu35, D0_1996_S3214044::_h_4j_mu36, D0_1996_S3214044::_h_4j_mu45, D0_1996_S3214044::_h_4j_mu46, D0_1996_S3214044::_h_4j_mu56, D0_1996_S3214044::_h_4j_theta_BZ, D0_1996_S3214044::_h_4j_x3, D0_1996_S3214044::_h_4j_x4, D0_1996_S3214044::_h_4j_x5, D0_1996_S3214044::_h_4j_x6, and Analysis::normalize().
00105 { 00106 normalize(_h_3j_x3, 1.0); 00107 normalize(_h_3j_x5, 1.0); 00108 normalize(_h_3j_costheta3, 1.0); 00109 normalize(_h_3j_psi, 1.0); 00110 normalize(_h_3j_mu34, 1.0); 00111 normalize(_h_3j_mu35, 1.0); 00112 normalize(_h_3j_mu45, 1.0); 00113 normalize(_h_4j_x3, 1.0); 00114 normalize(_h_4j_x4, 1.0); 00115 normalize(_h_4j_x5, 1.0); 00116 normalize(_h_4j_x6, 1.0); 00117 normalize(_h_4j_costheta3, 1.0); 00118 normalize(_h_4j_costheta4, 1.0); 00119 normalize(_h_4j_costheta5, 1.0); 00120 normalize(_h_4j_costheta6, 1.0); 00121 normalize(_h_4j_cosomega34, 1.0); 00122 normalize(_h_4j_cosomega35, 1.0); 00123 normalize(_h_4j_cosomega36, 1.0); 00124 normalize(_h_4j_cosomega45, 1.0); 00125 normalize(_h_4j_cosomega46, 1.0); 00126 normalize(_h_4j_cosomega56, 1.0); 00127 normalize(_h_4j_mu34, 1.0); 00128 normalize(_h_4j_mu35, 1.0); 00129 normalize(_h_4j_mu36, 1.0); 00130 normalize(_h_4j_mu45, 1.0); 00131 normalize(_h_4j_mu46, 1.0); 00132 normalize(_h_4j_mu56, 1.0); 00133 normalize(_h_4j_theta_BZ, 1.0); 00134 normalize(_h_4j_costheta_NR, 1.0); 00135 }
void _threeJetAnalysis | ( | const Jets & | jets, | |
const double & | weight | |||
) | [inline, private] |
Definition at line 145 of file D0_1996_S3214044.cc.
References D0_1996_S3214044::_h_3j_costheta3, D0_1996_S3214044::_h_3j_mu34, D0_1996_S3214044::_h_3j_mu35, D0_1996_S3214044::_h_3j_mu45, D0_1996_S3214044::_h_3j_psi, D0_1996_S3214044::_h_3j_x3, D0_1996_S3214044::_h_3j_x5, D0_1996_S3214044::_safeMass(), FourMomentum::boostVector(), Vector3::cross(), Rivet::degree, Vector3::dot(), FourMomentum::E(), Rivet::GeV, Vector::mod(), Rivet::momentum(), and FourVector::vector3().
Referenced by D0_1996_S3214044::analyze().
00145 { 00146 // >=3 jet events 00147 FourMomentum jjj(jets[0].momentum()+jets[1].momentum()+jets[2].momentum()); 00148 const double sqrts = _safeMass(jjj); 00149 if (sqrts<200*GeV) { 00150 return; 00151 } 00152 00153 LorentzTransform cms_boost(-jjj.boostVector()); 00154 vector<FourMomentum> jets_boosted; 00155 foreach (Jet jet, jets) { 00156 jets_boosted.push_back(cms_boost.transform(jet.momentum())); 00157 } 00158 std::sort(jets_boosted.begin(), jets_boosted.end(), FourMomentum::byEDescending()); 00159 FourMomentum p3(jets_boosted[0]); 00160 FourMomentum p4(jets_boosted[1]); 00161 FourMomentum p5(jets_boosted[2]); 00162 00163 Vector3 beam1(0.0, 0.0, 1.0); 00164 Vector3 p1xp3 = beam1.cross(p3.vector3()); 00165 Vector3 p4xp5 = p4.vector3().cross(p5.vector3()); 00166 const double cospsi = p1xp3.dot(p4xp5)/p1xp3.mod()/p4xp5.mod(); 00167 00168 _h_3j_x3->fill(2.0*p3.E()/sqrts, weight); 00169 _h_3j_x5->fill(2.0*p5.E()/sqrts, weight); 00170 _h_3j_costheta3->fill(fabs(cos(p3.theta())), weight); 00171 _h_3j_psi->fill(acos(cospsi)/degree, weight); 00172 _h_3j_mu34->fill(_safeMass(FourMomentum(p3+p4))/sqrts, weight); 00173 _h_3j_mu35->fill(_safeMass(FourMomentum(p3+p5))/sqrts, weight); 00174 _h_3j_mu45->fill(_safeMass(FourMomentum(p4+p5))/sqrts, weight); 00175 }
void _fourJetAnalysis | ( | const Jets & | jets, | |
const double & | weight | |||
) | [inline, private] |
Definition at line 178 of file D0_1996_S3214044.cc.
References D0_1996_S3214044::_h_4j_cosomega34, D0_1996_S3214044::_h_4j_cosomega35, D0_1996_S3214044::_h_4j_cosomega36, D0_1996_S3214044::_h_4j_cosomega45, D0_1996_S3214044::_h_4j_cosomega46, D0_1996_S3214044::_h_4j_cosomega56, D0_1996_S3214044::_h_4j_costheta3, D0_1996_S3214044::_h_4j_costheta4, D0_1996_S3214044::_h_4j_costheta5, D0_1996_S3214044::_h_4j_costheta6, D0_1996_S3214044::_h_4j_costheta_NR, D0_1996_S3214044::_h_4j_mu34, D0_1996_S3214044::_h_4j_mu35, D0_1996_S3214044::_h_4j_mu36, D0_1996_S3214044::_h_4j_mu45, D0_1996_S3214044::_h_4j_mu46, D0_1996_S3214044::_h_4j_mu56, D0_1996_S3214044::_h_4j_theta_BZ, D0_1996_S3214044::_h_4j_x3, D0_1996_S3214044::_h_4j_x4, D0_1996_S3214044::_h_4j_x5, D0_1996_S3214044::_h_4j_x6, D0_1996_S3214044::_safeMass(), FourVector::angle(), FourMomentum::boostVector(), Vector3::cross(), Rivet::degree, Rivet::dot(), Vector3::dot(), FourMomentum::E(), Rivet::GeV, Rivet::mod(), Vector::mod(), Rivet::momentum(), FourVector::theta(), and FourVector::vector3().
Referenced by D0_1996_S3214044::analyze().
00178 { 00179 // >=4 jet events 00180 FourMomentum jjjj(jets[0].momentum() + jets[1].momentum() + jets[2].momentum()+ jets[3].momentum()); 00181 const double sqrts = _safeMass(jjjj); 00182 if (sqrts < 200*GeV) return; 00183 00184 LorentzTransform cms_boost(-jjjj.boostVector()); 00185 vector<FourMomentum> jets_boosted; 00186 foreach (Jet jet, jets) { 00187 jets_boosted.push_back(cms_boost.transform(jet.momentum())); 00188 } 00189 sort(jets_boosted.begin(), jets_boosted.end(), FourMomentum::byEDescending()); 00190 FourMomentum p3(jets_boosted[0]); 00191 FourMomentum p4(jets_boosted[1]); 00192 FourMomentum p5(jets_boosted[2]); 00193 FourMomentum p6(jets_boosted[3]); 00194 00195 Vector3 p3xp4 = p3.vector3().cross(p4.vector3()); 00196 Vector3 p5xp6 = p5.vector3().cross(p6.vector3()); 00197 const double costheta_BZ = p3xp4.dot(p5xp6)/p3xp4.mod()/p5xp6.mod(); 00198 const double costheta_NR = (p3.vector3()-p4.vector3()).dot(p5.vector3()-p6.vector3())/ 00199 (p3.vector3()-p4.vector3()).mod()/(p5.vector3()-p6.vector3()).mod(); 00200 00201 _h_4j_x3->fill(2.0*p3.E()/sqrts, weight); 00202 _h_4j_x4->fill(2.0*p4.E()/sqrts, weight); 00203 _h_4j_x5->fill(2.0*p5.E()/sqrts, weight); 00204 _h_4j_x6->fill(2.0*p6.E()/sqrts, weight); 00205 _h_4j_costheta3->fill(fabs(cos(p3.theta())), weight); 00206 _h_4j_costheta4->fill(fabs(cos(p4.theta())), weight); 00207 _h_4j_costheta5->fill(fabs(cos(p5.theta())), weight); 00208 _h_4j_costheta6->fill(fabs(cos(p6.theta())), weight); 00209 _h_4j_cosomega34->fill(cos(p3.angle(p4)), weight); 00210 _h_4j_cosomega35->fill(cos(p3.angle(p5)), weight); 00211 _h_4j_cosomega36->fill(cos(p3.angle(p6)), weight); 00212 _h_4j_cosomega45->fill(cos(p4.angle(p5)), weight); 00213 _h_4j_cosomega46->fill(cos(p4.angle(p6)), weight); 00214 _h_4j_cosomega56->fill(cos(p5.angle(p6)), weight); 00215 _h_4j_mu34->fill(_safeMass(FourMomentum(p3+p4))/sqrts, weight); 00216 _h_4j_mu35->fill(_safeMass(FourMomentum(p3+p5))/sqrts, weight); 00217 _h_4j_mu36->fill(_safeMass(FourMomentum(p3+p6))/sqrts, weight); 00218 _h_4j_mu45->fill(_safeMass(FourMomentum(p4+p5))/sqrts, weight); 00219 _h_4j_mu46->fill(_safeMass(FourMomentum(p4+p6))/sqrts, weight); 00220 _h_4j_mu56->fill(_safeMass(FourMomentum(p5+p6))/sqrts, weight); 00221 _h_4j_theta_BZ->fill(acos(costheta_BZ)/degree, weight); 00222 _h_4j_costheta_NR->fill(costheta_NR, weight); 00223 00224 }
double _safeMass | ( | const FourMomentum & | p | ) | [inline, private] |
Definition at line 226 of file D0_1996_S3214044.cc.
References Analysis::getLog(), Rivet::m2, FourMomentum::mass2(), Rivet::mass2(), and Log::WARNING.
Referenced by D0_1996_S3214044::_fourJetAnalysis(), and D0_1996_S3214044::_threeJetAnalysis().
00226 { 00227 double mass2=p.mass2(); 00228 if (mass2>0.0) return sqrt(mass2); 00229 else if (mass2<-1.0e-5) { 00230 getLog() << Log::WARNING << "m2 = " << m2 << ". Assuming m2=0." << endl; 00231 return 0.0; 00232 } 00233 else return 0.0; 00234 }
const AnalysisInfo & info | ( | ) | const [virtual, inherited] |
Get the actual AnalysisInfo object in which all this metadata is stored.
Definition at line 125 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 130 of file Analysis.cc.
References Analysis::_defaultname, and Analysis::_info.
Referenced by Analysis::_cacheBinEdges(), Analysis::_cacheXAxisData(), Analysis::_makeHistoDir(), AnalysisHandler::analysisNames(), AnalysisHandler::analyze(), Analysis::crossSection(), Analysis::getLog(), Analysis::histoDir(), AnalysisHandler::init(), AnalysisBuilderBase::name(), Analysis::normalize(), HistoHandler::registerAnalysisObject(), AnalysisHandler::removeIncompatibleAnalyses(), and Analysis::scale().
00130 { 00131 if (_info && !_info->name().empty()) return _info->name(); 00132 return _defaultname; 00133 }
string spiresId | ( | ) | const [virtual, inherited] |
Get a the SPIRES/Inspire ID code for this analysis.
Definition at line 135 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 140 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 145 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 150 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 155 of file Analysis.cc.
References Analysis::_info.
string experiment | ( | ) | const [virtual, inherited] |
Experiment which performed and published this analysis.
Definition at line 164 of file Analysis.cc.
References Analysis::_info.
string collider | ( | ) | const [virtual, inherited] |
Collider on which the experiment ran.
Definition at line 169 of file Analysis.cc.
References Analysis::_info.
const BeamPair requiredBeams | ( | ) | const [virtual, inherited] |
Return the pair of incoming beams required by this analysis.
Definition at line 189 of file Analysis.cc.
References Analysis::beams(), Analysis::info(), and Rivet::make_pdgid_pair().
Referenced by Analysis::isCompatible().
00189 { 00190 return make_pdgid_pair(info().beams()); 00191 }
const std::vector< std::pair< double, double > > & energies | ( | ) | const [virtual, inherited] |
Sets of valid beam energy pairs, in GeV.
Definition at line 160 of file Analysis.cc.
References AnalysisInfo::energies(), and Analysis::info().
00160 { 00161 return info().energies(); 00162 }
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 174 of file Analysis.cc.
References Analysis::_info.
vector< string > references | ( | ) | const [virtual, inherited] |
Journal, and preprint references.
Definition at line 179 of file Analysis.cc.
References Analysis::_info.
string status | ( | ) | const [virtual, inherited] |
Whether this analysis is trusted (in any way!).
Definition at line 184 of file Analysis.cc.
References Analysis::_info.
Referenced by AnalysisHandler::init().
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_1996_S3486095::analyze(), Analysis::isCompatible(), and Analysis::requiredBeams().
00079 { 00080 return handler().beams(); 00081 }
const BeamPair 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(), 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_ZJETS::init(), MC_WJETS::init(), MC_PHOTONJETS::init(), MC_JetAnalysis::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 }
bool isCompatible | ( | const ParticleName & | beam1, | |
const ParticleName & | beam2 | |||
) | const [virtual, inherited] |
Is this analysis able to run on the supplied pair of beams?
Definition at line 200 of file Analysis.cc.
References Analysis::beams(), Rivet::compatible(), and Analysis::requiredBeams().
Referenced by AnalysisHandler::removeIncompatibleAnalyses().
00200 { 00201 BeamPair beams(beam1, beam2); 00202 return compatible(beams, requiredBeams()); 00203 /// @todo Need to also check internal consistency of the analysis' 00204 /// beam requirements with those of the projections it uses. 00205 }
bool isCompatible | ( | const BeamPair & | beams | ) | const [virtual, inherited] |
Is this analysis able to run on the BeamPair beams ?
Definition at line 207 of file Analysis.cc.
References Rivet::compatible(), and Analysis::requiredBeams().
00207 { 00208 return compatible(beams, requiredBeams()); 00209 /// @todo Need to also check internal consistency of the analysis' 00210 /// beam requirements with those of the projections it uses. 00211 }
AnalysisHandler & handler | ( | ) | const [inherited] |
Access the controlling AnalysisHandler object.
Definition at line 244 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().
00244 { 00245 return *_analysishandler; 00246 }
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 487 of file Analysis.cc.
References Log::ERROR, Analysis::getLog(), Analysis::name(), Analysis::scale(), Log::TRACE, Analysis::tree(), and Log::WARN.
Referenced by OPAL_1998_S3780481::finalize(), H1_1994_S2919893::finalize(), ExampleAnalysis::finalize(), DELPHI_2002_069_CONF_603::finalize(), DELPHI_1995_S3137023::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_2007_S7057202::finalize(), CDF_2004_S5839831::finalize(), CDF_2002_S4796047::finalize(), CDF_2001_S4751469::finalize(), CDF_1997_S3541940::finalize(), CDF_1996_S3418421::finalize(), CDF_1996_S3349578::finalize(), CDF_1996_S3108457::finalize(), CDF_1994_S2952106::finalize(), ALEPH_2004_S5765862::finalize(), and ALEPH_1996_S3486095::finalize().
00487 { 00488 if (!histo) { 00489 getLog() << Log::ERROR << "Failed to normalise histo=NULL in analysis " 00490 << name() << "(norm=" << norm << ")" << endl; 00491 return; 00492 } 00493 const string hpath = tree().findPath(dynamic_cast<const AIDA::IManagedObject&>(*histo)); 00494 getLog() << Log::TRACE << "Normalizing histo " << hpath << " to " << norm << endl; 00495 00496 double oldintg = 0.0; 00497 int nBins = histo->axis().bins(); 00498 for (int iBin = 0; iBin != nBins; ++iBin) { 00499 // Leaving out factor of binWidth because AIDA's "height" already includes a width factor. 00500 oldintg += histo->binHeight(iBin); // * histo->axis().binWidth(iBin); 00501 } 00502 if (oldintg == 0.0) { 00503 getLog() << Log::WARN << "Histo " << hpath << " has null integral during normalisation" << endl; 00504 return; 00505 } 00506 00507 // Scale by the normalisation factor. 00508 scale(histo, norm/oldintg); 00509 }
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 512 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_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_ZJETS::finalize(), MC_WJETS::finalize(), MC_TTBAR::finalize(), MC_PHOTONJETS::finalize(), MC_JetAnalysis::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_2010_S8566488::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(), CDF_2009_S8436959::finalize(), CDF_2009_S8383952::finalize(), CDF_2009_S8233977::finalize(), CDF_2008_S8093652::finalize(), CDF_2008_S7828950::finalize(), CDF_2008_S7540469::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(), 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(), and Analysis::normalize().
00512 { 00513 if (!histo) { 00514 getLog() << Log::ERROR << "Failed to scale histo=NULL in analysis " 00515 << name() << "(scale=" << scale << ")" << endl; 00516 return; 00517 } 00518 const string hpath = tree().findPath(dynamic_cast<const AIDA::IManagedObject&>(*histo)); 00519 getLog() << Log::TRACE << "Scaling histo " << hpath << endl; 00520 00521 vector<double> x, y, ex, ey; 00522 for (size_t i = 0, N = histo->axis().bins(); i < N; ++i) { 00523 x.push_back(0.5 * (histo->axis().binLowerEdge(i) + histo->axis().binUpperEdge(i))); 00524 ex.push_back(histo->axis().binWidth(i)*0.5); 00525 00526 // "Bin height" is a misnomer in the AIDA spec: width is neglected. 00527 // We'd like to do this: y.push_back(histo->binHeight(i) * scale); 00528 y.push_back(histo->binHeight(i)*scale/histo->axis().binWidth(i)); 00529 00530 // "Bin error" is a misnomer in the AIDA spec: width is neglected. 00531 // We'd like to do this: ey.push_back(histo->binError(i) * scale); 00532 ey.push_back(histo->binError(i)*scale/(0.5*histo->axis().binWidth(i))); 00533 } 00534 00535 string title = histo->title(); 00536 string xtitle = histo->xtitle(); 00537 string ytitle = histo->ytitle(); 00538 00539 tree().mkdir("/tmpnormalize"); 00540 tree().mv(hpath, "/tmpnormalize"); 00541 00542 AIDA::IDataPointSet* dps = datapointsetFactory().createXY(hpath, title, x, y, ex, ey); 00543 dps->setXTitle(xtitle); 00544 dps->setYTitle(ytitle); 00545 00546 tree().rm(tree().findPath(dynamic_cast<AIDA::IManagedObject&>(*histo))); 00547 tree().rmdir("/tmpnormalize"); 00548 00549 // Set histo pointer to null - it can no longer be used. 00550 histo = 0; 00551 }
Analysis & setCrossSection | ( | double | xs | ) | [inherited] |
Set the cross section from the generator.
Definition at line 214 of file Analysis.cc.
References Analysis::_crossSection, and Analysis::_gotCrossSection.
Referenced by AnalysisHandler::setCrossSection().
00214 { 00215 _crossSection = xs; 00216 _gotCrossSection = true; 00217 return *this; 00218 }
bool needsCrossSection | ( | ) | const [inherited] |
Return true if this analysis needs to know the process cross-section.
Definition at line 220 of file Analysis.cc.
References Analysis::_needsCrossSection.
Referenced by AnalysisHandler::needCrossSection().
00220 { 00221 return _needsCrossSection; 00222 }
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 106 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(), JADE_OPAL_2000_S4300807::analyze(), H1_1994_S2919893::analyze(), ExampleAnalysis::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_2006_S6438750::analyze(), D0_2004_S5992206::analyze(), D0_2001_S4674421::analyze(), D0_1998_S3711838::analyze(), CDF_2009_S8383952::analyze(), CDF_2009_S8233977::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_2007_S7057202::finalize(), CDF_2006_S6653332::finalize(), ZEUS_2001_S4815815::init(), JADE_OPAL_2000_S4300807::init(), ALEPH_2004_S5765862::init(), Analysis::normalize(), and Analysis::scale().
00106 { 00107 string logname = "Rivet.Analysis." + name(); 00108 return Log::getLog(logname); 00109 }
double crossSection | ( | ) | const [protected, inherited] |
Get the process cross-section in pb. Throws if this hasn't been set.
Definition at line 229 of file Analysis.cc.
References Analysis::_crossSection, Analysis::_gotCrossSection, and Analysis::name().
Referenced by STAR_2006_S6870392::finalize(), MC_ZJETS::finalize(), MC_WJETS::finalize(), MC_JetAnalysis::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(), 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_2007_S7057202::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().
00229 { 00230 if (!_gotCrossSection || _crossSection < 0) { 00231 string errMsg = "You did not set the cross section for the analysis " + name(); 00232 throw Error(errMsg); 00233 } 00234 return _crossSection; 00235 }
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 237 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().
00237 { 00238 const double sumW = sumOfWeights(); 00239 assert(sumW > 0); 00240 return _crossSection / sumW; 00241 }
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 112 of file Analysis.cc.
References Analysis::handler(), and AnalysisHandler::numEvents().
00112 { 00113 return handler().numEvents(); 00114 }
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 117 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(), MC_ZJETS::finalize(), MC_WJETS::finalize(), MC_TTBAR::finalize(), MC_JetAnalysis::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(), 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_1998_S3618439::finalize(), ALEPH_2004_S5765862::finalize(), ALEPH_1996_S3486095::finalize(), ALEPH_1996_S3196992::finalize(), and ALEPH_1991_S2435284::finalize().
00117 { 00118 return handler().sumOfWeights(); 00119 }
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(), H1_1995_S3167097::finalize(), D0_2008_S7837160::finalize(), D0_2008_S7719523::finalize(), and D0_2001_S4674421::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(), D0_2008_S7837160::finalize(), D0_2008_S7719523::finalize(), and D0_2001_S4674421::finalize().
00088 { 00089 string path = "/" + name(); 00090 if (handler().runName().length() > 0) { 00091 path = "/" + handler().runName() + path; 00092 } 00093 while (find_first(path, "//")) { 00094 replace_all(path, "//", "/"); 00095 } 00096 return path; 00097 }
const std::string histoPath | ( | const std::string & | hname | ) | const [protected, inherited] |
Get the canonical histogram path for the named histogram in this analysis.
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 286 of file Analysis.cc.
References Analysis::binEdges(), and Rivet::makeAxisCode().
00286 { 00287 const string hname = makeAxisCode(datasetId, xAxisId, yAxisId); 00288 return binEdges(hname); 00289 }
BinEdges logBinEdges | ( | size_t | nbins, | |
double | lower, | |||
double | upper | |||
) | [protected, inherited] |
Get bin edges with logarithmic widths.
Definition at line 292 of file Analysis.cc.
Referenced by MC_ZJETS::init(), MC_WJETS::init(), MC_PHOTONJETS::init(), MC_JetAnalysis::init(), and MC_DIPHOTON::init().
00292 { 00293 assert(lower>0.0); 00294 assert(upper>lower); 00295 double loglower=log10(lower); 00296 double logupper=log10(upper); 00297 vector<double> binedges; 00298 double stepwidth=(logupper-loglower)/double(nbins); 00299 for (size_t i=0; i<=nbins; ++i) { 00300 binedges.push_back(pow(10.0, loglower+double(i)*stepwidth)); 00301 } 00302 return binedges; 00303 }
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_1986_S1583476::init(), UA5_1982_S875503::init(), UA1_1990_S2044935::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_1998_S3780481::init(), MC_ZJETS::init(), MC_WJETS::init(), MC_TTBAR::init(), MC_SUSY::init(), MC_PHOTONJETUE::init(), MC_PHOTONJETS::init(), MC_JetAnalysis::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_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_1998_S3711838::init(), D0_1996_S3324664::init(), D0_1996_S3214044::init(), CDF_2009_S8436959::init(), CDF_2009_S8383952::init(), CDF_2009_S8233977::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_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 STAR_2006_S6860818::init(), MC_JetAnalysis::init(), JADE_OPAL_2000_S4300807::init(), CDF_2008_S7782535::init(), CDF_2008_S7541902::init(), CDF_1996_S3418421::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.
Analysis & setBeams | ( | const ParticleName & | beam1, | |
const ParticleName & | beam2 | |||
) | [protected, inherited] |
Set the colliding beam pair.
Definition at line 193 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_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_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(), 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_1998_S3780481::OPAL_1998_S3780481(), 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_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_1988_S1867512::UA5_1988_S1867512(), UA5_1989_S1926373::UA5_1989_S1926373(), and ZEUS_2001_S4815815::ZEUS_2001_S4815815().
00193 { 00194 assert(_info.get() != 0); 00195 _info->_beams = make_pair(beam1, beam2); 00196 return *this; 00197 }
Analysis & setNeedsCrossSection | ( | bool | needed | ) | [protected, inherited] |
Declare whether this analysis needs to know the process cross-section from the generator.
Definition at line 224 of file Analysis.cc.
References Analysis::_needsCrossSection.
Referenced by ATLAS_2010_S8591806::ATLAS_2010_S8591806(), CDF_1991_S2313472::CDF_1991_S2313472(), 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_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_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_JetAnalysis::MC_JetAnalysis(), MC_JETS::MC_JETS(), MC_PHOTONJETS::MC_PHOTONJETS(), MC_WJETS::MC_WJETS(), MC_ZJETS::MC_ZJETS(), STAR_2006_S6870392::STAR_2006_S6870392(), and UA1_1990_S2044935::UA1_1990_S2044935().
00224 { 00225 _needsCrossSection = needed; 00226 return *this; 00227 }
std::set<ConstProjectionPtr> getProjections | ( | ) | const [inline, inherited] |
Get the contained projections, including recursion.
Definition at line 43 of file ProjectionApplier.hh.
References ProjectionHandler::DEEP, ProjectionHandler::getChildProjections(), and ProjectionApplier::getProjHandler().
Referenced by Projection::beamPairs().
00043 { 00044 return getProjHandler().getChildProjections(*this, ProjectionHandler::DEEP); 00045 }
const PROJ& getProjection | ( | const std::string & | name | ) | const [inline, inherited] |
Get the named projection, specifying return type via a template argument.
Definition at line 50 of file ProjectionApplier.hh.
References ProjectionHandler::getProjection(), and ProjectionApplier::getProjHandler().
Referenced by VetoedFinalState::compare(), Rivet::pcmp(), and Hemispheres::project().
00050 { 00051 const Projection& p = getProjHandler().getProjection(*this, name); 00052 return pcast<PROJ>(p); 00053 }
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 58 of file ProjectionApplier.hh.
References ProjectionHandler::getProjection(), and ProjectionApplier::getProjHandler().
00058 { 00059 return getProjHandler().getProjection(*this, name); 00060 }
const PROJ& applyProjection | ( | const Event & | evt, | |
const PROJ & | proj | |||
) | const [inline, inherited] |
Apply the supplied projection on event.
Definition at line 68 of file ProjectionApplier.hh.
References ProjectionApplier::_applyProjection().
Referenced by HadronicFinalState::project(), and FinalStateHCM::project().
00068 { 00069 return pcast<PROJ>(_applyProjection(evt, proj)); 00070 }
const PROJ& applyProjection | ( | const Event & | evt, | |
const Projection & | proj | |||
) | const [inline, inherited] |
Apply the supplied projection on event.
Definition at line 75 of file ProjectionApplier.hh.
References ProjectionApplier::_applyProjection().
00075 { 00076 return pcast<PROJ>(_applyProjection(evt, proj)); 00077 }
const PROJ& applyProjection | ( | const Event & | evt, | |
const std::string & | name | |||
) | const [inline, inherited] |
Apply the named projection on event.
Definition at line 82 of file ProjectionApplier.hh.
References ProjectionApplier::_applyProjection().
00082 { 00083 return pcast<PROJ>(_applyProjection(evt, name)); 00084 }
ProjectionHandler& getProjHandler | ( | ) | const [inline, protected, inherited] |
Get a reference to the ProjectionHandler for this thread.
Definition at line 95 of file ProjectionApplier.hh.
References ProjectionApplier::_projhandler.
Referenced by ProjectionApplier::_addProjection(), ProjectionApplier::getProjection(), ProjectionApplier::getProjections(), and ProjectionApplier::~ProjectionApplier().
00095 { 00096 assert(_projhandler); 00097 return *_projhandler; 00098 }
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 115 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_1986_S1583476::init(), UA5_1982_S875503::init(), UA1_1990_S2044935::init(), STAR_2009_UE_HELEN::init(), STAR_2008_S7993412::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_1998_S3780481::init(), MC_ZJETS::init(), MC_WJETS::init(), MC_TTBAR::init(), MC_SUSY::init(), MC_PHOTONJETUE::init(), MC_PHOTONJETS::init(), MC_LEADINGJETS::init(), MC_JETS::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_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_1998_S3711838::init(), D0_1996_S3324664::init(), D0_1996_S3214044::init(), CDF_2009_S8436959::init(), CDF_2009_S8383952::init(), CDF_2009_S8233977::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_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(), KtJets::KtJets(), LeadingParticlesFinalState::LeadingParticlesFinalState(), LossyFinalState::LossyFinalState(), MergedFinalState::MergedFinalState(), Multiplicity::Multiplicity(), NeutralFinalState::NeutralFinalState(), ParisiTensor::ParisiTensor(), Sphericity::Sphericity(), SVertex::SVertex(), Thrust::Thrust(), TotalVisibleMomentum::TotalVisibleMomentum(), TriggerCDFRun0Run1::TriggerCDFRun0Run1(), TriggerUA5::TriggerUA5(), and VetoedFinalState::VetoedFinalState().
00115 { 00116 const Projection& reg = _addProjection(proj, name); 00117 return dynamic_cast<const PROJ&>(reg); 00118 }
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 23 of file ProjectionApplier.hh.
AIDA::IHistogram1D* _h_3j_x3 [private] |
Definition at line 241 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_threeJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_3j_x5 [private] |
Definition at line 242 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_threeJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_3j_costheta3 [private] |
Definition at line 243 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_threeJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_3j_psi [private] |
Definition at line 244 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_threeJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_3j_mu34 [private] |
Definition at line 245 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_threeJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_3j_mu35 [private] |
Definition at line 246 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_threeJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_3j_mu45 [private] |
Definition at line 247 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_threeJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_4j_x3 [private] |
Definition at line 249 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_4j_x4 [private] |
Definition at line 250 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_4j_x5 [private] |
Definition at line 251 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_4j_x6 [private] |
Definition at line 252 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_4j_costheta3 [private] |
Definition at line 253 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_4j_costheta4 [private] |
Definition at line 254 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_4j_costheta5 [private] |
Definition at line 255 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_4j_costheta6 [private] |
Definition at line 256 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_4j_cosomega34 [private] |
Definition at line 257 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_4j_cosomega35 [private] |
Definition at line 258 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_4j_cosomega36 [private] |
Definition at line 259 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_4j_cosomega45 [private] |
Definition at line 260 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_4j_cosomega46 [private] |
Definition at line 261 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_4j_cosomega56 [private] |
Definition at line 262 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_4j_mu34 [private] |
Definition at line 263 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_4j_mu35 [private] |
Definition at line 264 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_4j_mu36 [private] |
Definition at line 265 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_4j_mu45 [private] |
Definition at line 266 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_4j_mu46 [private] |
Definition at line 267 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_4j_mu56 [private] |
Definition at line 268 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_4j_theta_BZ [private] |
Definition at line 269 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
AIDA::IHistogram1D* _h_4j_costheta_NR [private] |
Definition at line 270 of file D0_1996_S3214044.cc.
Referenced by D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::finalize(), and D0_1996_S3214044::init().
string _defaultname [protected, inherited] |
Name passed to constructor (used to find .info analysis data file, and as a fallback).
Definition at line 412 of file Analysis.hh.
Referenced by Analysis::name().
shared_ptr<AnalysisInfo> _info [protected, inherited] |
Pointer to analysis metadata object.
Definition at line 415 of file Analysis.hh.
Referenced by Analysis::authors(), Analysis::collider(), Analysis::description(), Analysis::experiment(), Analysis::info(), Analysis::name(), Analysis::references(), Analysis::runInfo(), Analysis::setBeams(), Analysis::spiresId(), Analysis::status(), Analysis::summary(), and Analysis::year().
bool _allowProjReg [protected, inherited] |
Flag to forbid projection registration in analyses until the init phase.
Definition at line 141 of file ProjectionApplier.hh.
Referenced by ProjectionApplier::_addProjection(), and AnalysisHandler::init().