CDF calo jet underlying event analysis at 630 and 1800 GeV. More...
Public Member Functions | |
CDF_2004_S5839831 () | |
AnalysisHandler & | handler () const |
Access the controlling AnalysisHandler object. | |
void | normalize (AIDA::IHistogram1D *&histo, double norm=1.0) |
void | normalize (AIDA::IHistogram2D *&histo, double norm=1.0) |
void | scale (AIDA::IHistogram1D *&histo, double scale) |
void | scale (AIDA::IHistogram2D *&histo, double scale) |
Analysis & | setCrossSection (double xs) |
Set the cross section from the generator. | |
Metadata | |
Metadata is used for querying from the command line and also for building web pages and the analysis pages in the Rivet manual. | |
const 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 std::string | year () const |
When the original experimental analysis was published. | |
virtual std::vector< std::string > | references () const |
Journal, and preprint references. | |
virtual std::string | bibKey () const |
BibTeX citation key for this article. | |
virtual std::string | bibTeX () const |
BibTeX citation entry for this article. | |
virtual std::string | status () const |
Whether this analysis is trusted (in any way!). | |
virtual std::vector< std::string > | todos () const |
Any work to be done on this analysis. | |
virtual const std::vector < PdgIdPair > & | requiredBeams () const |
Return the allowed pairs of incoming beams required by this analysis. | |
virtual Analysis & | setRequiredBeams (const std::vector< PdgIdPair > &requiredBeams) |
Declare the allowed pairs of incoming beams required by this analysis. | |
virtual const std::vector < std::pair< double, double > > & | requiredEnergies () const |
Sets of valid beam energy pairs, in GeV. | |
virtual Analysis & | setRequiredEnergies (const std::vector< std::pair< double, double > > &requiredEnergies) |
Declare the list of valid beam energy pairs, in GeV. | |
bool | needsCrossSection () const |
Return true if this analysis needs to know the process cross-section. | |
Analysis & | setNeedsCrossSection (bool needed=true) |
Declare whether this analysis needs to know the process cross-section from the generator. | |
Internal metadata modifiying methods | |
AnalysisInfo & | info () |
Get the actual AnalysisInfo object in which all this metadata is stored (non-const). | |
virtual Analysis & | setBeams (PdgId beam1, PdgId beam2) |
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. | |
Analysis / beam compatibility testing | |
bool | isCompatible (const ParticlePair &beams) const |
Check if analysis is compatible with the provided beam particle IDs and energies. | |
bool | isCompatible (PdgId beam1, PdgId beam2, double e1, double e2) const |
Check if analysis is compatible with the provided beam particle IDs and energies. | |
bool | isCompatible (const PdgIdPair &beams, const std::pair< double, double > &energies) const |
Check if analysis is compatible with the provided beam particle IDs and energies. | |
Projection "getting" functions | |
std::set< 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 |
ProjectionHandler & | getProjHandler () const |
Get a reference to the ProjectionHandler for this thread. | |
AIDA analysis infrastructure. | |
AIDA::IAnalysisFactory & | analysisFactory () |
Access the AIDA analysis factory of the controlling AnalysisHandler object. | |
AIDA::ITree & | tree () |
Access the AIDA tree of the controlling AnalysisHandler object. | |
AIDA::IHistogramFactory & | histogramFactory () |
Access the AIDA histogram factory of the controlling AnalysisHandler object. | |
AIDA::IDataPointSetFactory & | datapointsetFactory () |
Access the AIDA histogram factory of the controlling AnalysisHandler object. | |
const std::string | histoDir () const |
Get the canonical histogram "directory" path for this analysis. | |
const std::string | histoPath (const std::string &hname) const |
Get the canonical histogram path for the named histogram in this analysis. | |
Internal histogram booking (for use by Analysis sub-classes). | |
const BinEdges & | binEdges (const std::string &hname) const |
Get bin edges for a named histo (using ref AIDA caching). | |
const BinEdges & | binEdges (size_t datasetId, size_t xAxisId, size_t yAxisId) const |
Get bin edges for a numbered histo (using ref AIDA caching). | |
BinEdges | logBinEdges (size_t nbins, double lower, double upper) |
Get bin edges with logarithmic widths. | |
AIDA::IHistogram1D * | bookHistogram1D (const std::string &name, size_t nbins, double lower, double upper, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="") |
AIDA::IHistogram1D * | bookHistogram1D (const std::string &name, const std::vector< double > &binedges, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="") |
AIDA::IHistogram1D * | bookHistogram1D (const std::string &name, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="") |
AIDA::IHistogram1D * | bookHistogram1D (size_t datasetId, size_t xAxisId, size_t yAxisId, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="") |
AIDA::IHistogram2D * | bookHistogram2D (const std::string &name, size_t nxbins, double xlower, double xupper, size_t nybins, double ylower, double yupper, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="", const std::string &ztitle="") |
AIDA::IHistogram2D * | bookHistogram2D (const std::string &name, const std::vector< double > &xbinedges, const std::vector< double > &ybinedges, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="", const std::string &ztitle="") |
Internal profile histogram booking (for use by Analysis sub-classes). | |
AIDA::IProfile1D * | bookProfile1D (const std::string &name, size_t nbins, double lower, double upper, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="") |
AIDA::IProfile1D * | bookProfile1D (const std::string &name, const std::vector< double > &binedges, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="") |
AIDA::IProfile1D * | bookProfile1D (const std::string &name, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="") |
AIDA::IProfile1D * | bookProfile1D (size_t datasetId, size_t xAxisId, size_t yAxisId, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="") |
Internal data point set booking (for use by Analysis sub-classes). | |
AIDA::IDataPointSet * | bookDataPointSet (const std::string &name, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="") |
AIDA::IDataPointSet * | bookDataPointSet (const std::string &name, size_t npts, double lower, double upper, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="") |
AIDA::IDataPointSet * | bookDataPointSet (size_t datasetId, size_t xAxisId, size_t yAxisId, const std::string &title="", const std::string &xtitle="", const std::string &ytitle="") |
Projection registration functions | |
template<typename PROJ > | |
const PROJ & | addProjection (const PROJ &proj, const std::string &name) |
const Projection & | _addProjection (const Projection &proj, const std::string &name) |
Untemplated function to do the work... | |
Protected Attributes | |
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 | |
ConesInfo | _calcTransCones (const double etaLead, const double phiLead, const ParticleVector &tracks) |
ConesInfo | _calcTransCones (const FourMomentum &leadvec, const ParticleVector &tracks) |
Analysis methods | |
void | init () |
void | analyze (const Event &event) |
Do the analysis. | |
void | finalize () |
Private Attributes | |
Histogram collections | |
AIDA::IProfile1D * | _pt90MaxAvg1800 |
AIDA::IProfile1D * | _pt90MinAvg1800 |
AIDA::IProfile1D * | _pt90Max1800 |
AIDA::IProfile1D * | _pt90Min1800 |
AIDA::IProfile1D * | _pt90Diff1800 |
AIDA::IProfile1D * | _pt90Max630 |
AIDA::IProfile1D * | _pt90Min630 |
AIDA::IProfile1D * | _pt90Diff630 |
AIDA::IProfile1D * | _num90Max1800 |
AIDA::IProfile1D * | _num90Min1800 |
AIDA::IProfile1D * | _pTSum1800_2Jet |
AIDA::IProfile1D * | _pTSum1800_3Jet |
AIDA::IProfile1D * | _pTSum630_2Jet |
AIDA::IProfile1D * | _pTSum630_3Jet |
AIDA::IHistogram1D * | _pt90Dbn1800Et40 |
AIDA::IHistogram1D * | _pt90Dbn1800Et80 |
AIDA::IHistogram1D * | _pt90Dbn1800Et120 |
AIDA::IHistogram1D * | _pt90Dbn1800Et160 |
AIDA::IHistogram1D * | _pt90Dbn1800Et200 |
AIDA::IHistogram1D * | _numTracksDbn1800MB |
AIDA::IHistogram1D * | _ptDbn1800MB |
AIDA::IHistogram1D * | _numTracksDbn630MB |
AIDA::IHistogram1D * | _ptDbn630MB |
CDF calo jet underlying event analysis at 630 and 1800 GeV.
CDF measurement of underlying event using calorimeter jet scales and alignment, particle flow activity in transverse cones, and the Swiss Cheese analysis method, where cones are excluded around the 2 and 3 hardest jets.
Definition at line 24 of file CDF_2004_S5839831.cc.
CDF_2004_S5839831 | ( | ) | [inline] |
Constructor: cuts on charged final state are and
GeV.
Definition at line 29 of file CDF_2004_S5839831.cc.
References Rivet::ANTIPROTON, Rivet::PROTON, and Analysis::setBeams().
00030 : Analysis("CDF_2004_S5839831") 00031 { 00032 setBeams(PROTON, ANTIPROTON); 00033 }
const Projection & _addProjection | ( | const Projection & | proj, | |
const std::string & | name | |||
) | [protected, inherited] |
Untemplated function to do the work...
Definition at line 33 of file ProjectionApplier.cc.
References ProjectionApplier::_allowProjReg, ProjectionApplier::getProjHandler(), ProjectionApplier::name(), Projection::name(), and ProjectionHandler::registerProjection().
Referenced by ProjectionApplier::addProjection().
00034 { 00035 if (!_allowProjReg) { 00036 cerr << "Trying to register projection '" 00037 << proj.name() << "' before init phase in '" << this->name() << "'." << endl; 00038 exit(2); 00039 } 00040 const Projection& reg = getProjHandler().registerProjection(*this, proj, name); 00041 return reg; 00042 }
ConesInfo _calcTransCones | ( | const FourMomentum & | leadvec, | |
const ParticleVector & | tracks | |||
) | [inline, private] |
Definition at line 92 of file CDF_2004_S5839831.cc.
References CDF_2004_S5839831::_calcTransCones(), FourVector::azimuthalAngle(), and FourVector::pseudorapidity().
00093 { 00094 const double etaLead = leadvec.pseudorapidity(); 00095 const double phiLead = leadvec.azimuthalAngle(); 00096 return _calcTransCones(etaLead, phiLead, tracks); 00097 }
ConesInfo _calcTransCones | ( | const double | etaLead, | |
const double | phiLead, | |||
const ParticleVector & | tracks | |||
) | [inline, private] |
Definition at line 49 of file CDF_2004_S5839831.cc.
References Log::DEBUG, Rivet::deltaR(), Analysis::getLog(), Rivet::GeV, Rivet::mapAngle0To2Pi(), Particle::momentum(), Rivet::PI, and FourMomentum::pT().
Referenced by CDF_2004_S5839831::_calcTransCones(), and CDF_2004_S5839831::analyze().
00050 { 00051 const double phiTransPlus = mapAngle0To2Pi(phiLead + PI/2.0); 00052 const double phiTransMinus = mapAngle0To2Pi(phiLead - PI/2.0); 00053 getLog() << Log::DEBUG << "phi_lead = " << phiLead 00054 << " -> trans = (" << phiTransPlus 00055 << ", " << phiTransMinus << ")" << endl; 00056 00057 unsigned int numPlus(0), numMinus(0); 00058 double ptPlus(0), ptMinus(0); 00059 // Run over all charged tracks 00060 foreach (const Particle& t, tracks) { 00061 FourMomentum trackMom = t.momentum(); 00062 const double pt = trackMom.pT(); 00063 00064 // Find if track mom is in either transverse cone 00065 if (deltaR(trackMom, etaLead, phiTransPlus) < 0.7) { 00066 ptPlus += pt; 00067 numPlus += 1; 00068 } else if (deltaR(trackMom, etaLead, phiTransMinus) < 0.7) { 00069 ptMinus += pt; 00070 numMinus += 1; 00071 } 00072 } 00073 00074 ConesInfo rtn; 00075 // Assign N_{min,max} from N_{plus,minus} 00076 rtn.numMax = (ptPlus >= ptMinus) ? numPlus : numMinus; 00077 rtn.numMin = (ptPlus >= ptMinus) ? numMinus : numPlus; 00078 // Assign pT_{min,max} from pT_{plus,minus} 00079 rtn.ptMax = (ptPlus >= ptMinus) ? ptPlus : ptMinus; 00080 rtn.ptMin = (ptPlus >= ptMinus) ? ptMinus : ptPlus; 00081 rtn.ptDiff = fabs(rtn.ptMax - rtn.ptMin); 00082 00083 getLog() << Log::DEBUG << "Min cone has " << rtn.numMin << " tracks -> " 00084 << "pT_min = " << rtn.ptMin/GeV << " GeV" << endl; 00085 getLog() << Log::DEBUG << "Max cone has " << rtn.numMax << " tracks -> " 00086 << "pT_max = " << rtn.ptMax/GeV << " GeV" << endl; 00087 00088 return rtn; 00089 }
const PROJ& addProjection | ( | const PROJ & | proj, | |
const std::string & | name | |||
) | [inline, protected, inherited] |
Register a contained projection. The type of the argument is used to instantiate a new projection internally: this new object is applied to events rather than the argument object. Hence you are advised to only use locally-scoped Projection objects in your Projection and Analysis constructors, and to avoid polymorphism (e.g. handling ConcreteProjection
via a pointer or reference to type Projection
) since this will screw up the internal type management.
Definition at line 113 of file ProjectionApplier.hh.
References ProjectionApplier::_addProjection().
Referenced by ZFinder::_init(), WFinder::_init(), VetoedFinalState::addVetoOnThisFinalState(), BeamThrust::BeamThrust(), CDF_2009_S8057893::CDF_2009_S8057893::init(), CentralEtHCM::CentralEtHCM(), ChargedFinalState::ChargedFinalState(), ChargedLeptons::ChargedLeptons(), ClusteredPhotons::ClusteredPhotons(), DISKinematics::DISKinematics(), DISLepton::DISLepton(), FinalState::FinalState(), FinalStateHCM::FinalStateHCM(), FoxWolframMoments::FoxWolframMoments(), FParameter::FParameter(), HadronicFinalState::HadronicFinalState(), Hemispheres::Hemispheres(), IdentifiedFinalState::IdentifiedFinalState(), ZEUS_2001_S4815815::init(), UA5_1989_S1926373::init(), UA5_1988_S1867512::init(), UA5_1987_S1640666::init(), UA5_1986_S1583476::init(), UA5_1982_S875503::init(), UA1_1990_S2044935::init(), TASSO_1990_S2148048::init(), STAR_2009_UE_HELEN::init(), STAR_2008_S7993412::init(), STAR_2008_S7869363::init(), STAR_2006_S6870392::init(), STAR_2006_S6860818::init(), STAR_2006_S6500200::init(), SFM_1984_S1178091::init(), PDG_HADRON_MULTIPLICITIES_RATIOS::init(), PDG_HADRON_MULTIPLICITIES::init(), OPAL_2004_S6132243::init(), OPAL_2001_S4553896::init(), OPAL_1998_S3780481::init(), OPAL_1993_S2692198::init(), MC_ZZJETS::init(), MC_ZJETS::init(), MC_WWJETS::init(), MC_WPOL::init(), MC_WJETS::init(), MC_TTBAR::init(), MC_SUSY::init(), MC_PHOTONJETUE::init(), MC_PHOTONJETS::init(), MC_LEADINGJETS::init(), MC_JETS::init(), MC_HJETS::init(), MC_GENERIC::init(), MC_DIPHOTON::init(), MC_DIJET::init(), LHCB_2010_S8758301::init(), JADE_OPAL_2000_S4300807::init(), JADE_1998_S3612880::init(), H1_2000_S4129130::init(), H1_1995_S3167097::init(), H1_1994_S2919893::init(), ExampleAnalysis::init(), E735_1998_S3905616::init(), DELPHI_2003_WUD_03_11::init(), DELPHI_2002_069_CONF_603::init(), DELPHI_1996_S3430090::init(), DELPHI_1995_S3137023::init(), D0_2010_S8821313::init(), D0_2010_S8671338::init(), D0_2010_S8570965::init(), D0_2010_S8566488::init(), D0_2009_S8349509::init(), D0_2009_S8320160::init(), D0_2009_S8202443::init(), D0_2008_S7863608::init(), D0_2008_S7837160::init(), D0_2008_S7719523::init(), D0_2008_S7662670::init(), D0_2008_S7554427::init(), D0_2008_S6879055::init(), D0_2007_S7075677::init(), D0_2006_S6438750::init(), D0_2004_S5992206::init(), D0_2001_S4674421::init(), D0_2000_S4480767::init(), D0_1996_S3324664::init(), D0_1996_S3214044::init(), CMS_2011_S8978280::init(), CMS_2011_S8968497::init(), CMS_2011_S8957746::init(), CMS_2011_S8884919::init(), CMS_2010_S8656010::init(), CMS_2010_S8547297::init(), CDF_2010_S8591881_QCD::init(), CDF_2010_S8591881_DY::init(), CDF_2009_S8436959::init(), CDF_2009_S8383952::init(), CDF_2009_S8233977::init(), CDF_2009_NOTE_9936::init(), CDF_2008_S8095620::init(), CDF_2008_S8093652::init(), CDF_2008_S7828950::init(), CDF_2008_S7782535::init(), CDF_2008_S7541902::init(), CDF_2008_S7540469::init(), CDF_2008_NOTE_9351::init(), CDF_2008_LEADINGJETS::init(), CDF_2007_S7057202::init(), CDF_2006_S6653332::init(), CDF_2006_S6450792::init(), CDF_2005_S6217184::init(), CDF_2005_S6080774::init(), CDF_2004_S5839831::init(), CDF_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_1990_S2089246::init(), CDF_1988_S1865951::init(), BELLE_2006_S6265367::init(), ATLAS_2011_S9120807::init(), ATLAS_2011_S9019561::init(), ATLAS_2011_S9002537::init(), ATLAS_2011_S8994773::init(), ATLAS_2011_S8983313::init(), ATLAS_2011_S8971293::init(), ATLAS_2011_S8924791::init(), ATLAS_2011_CONF_2011_090::init(), ATLAS_2010_S8919674::init(), ATLAS_2010_S8918562::init(), ATLAS_2010_S8914702::init(), ATLAS_2010_S8894728::init(), ATLAS_2010_S8817804::init(), ATLAS_2010_S8591806::init(), ATLAS_2010_CONF_2010_049::init(), ALICE_2010_S8706239::init(), ALICE_2010_S8625980::init(), ALICE_2010_S8624100::init(), ALEPH_2004_S5765862::init(), ALEPH_1996_S3486095::init(), ALEPH_1996_S3196992::init(), ALEPH_1991_S2435284::init(), IsolationProjection< PROJ1, PROJ2, EST >::IsolationProjection(), JetAlg::JetAlg(), JetShape::JetShape(), LeadingParticlesFinalState::LeadingParticlesFinalState(), LeptonClusters::LeptonClusters(), LossyFinalState< ConstRandomFilter >::LossyFinalState(), MergedFinalState::MergedFinalState(), MissingMomentum::MissingMomentum(), Multiplicity::Multiplicity(), NeutralFinalState::NeutralFinalState(), ParisiTensor::ParisiTensor(), Sphericity::Sphericity(), Spherocity::Spherocity(), SVertex::SVertex(), Thrust::Thrust(), TotalVisibleMomentum::TotalVisibleMomentum(), TriggerCDFRun0Run1::TriggerCDFRun0Run1(), TriggerCDFRun2::TriggerCDFRun2(), TriggerUA5::TriggerUA5(), VetoedFinalState::VetoedFinalState(), and VisibleFinalState::VisibleFinalState().
00113 { 00114 const Projection& reg = _addProjection(proj, name); 00115 const PROJ& rtn = dynamic_cast<const PROJ&>(reg); 00116 return rtn; 00117 }
IAnalysisFactory & analysisFactory | ( | ) | [protected, inherited] |
Access the AIDA analysis factory of the controlling AnalysisHandler object.
Definition at line 50 of file Analysis.cc.
References AnalysisHandler::analysisFactory(), and Analysis::handler().
00050 { 00051 return handler().analysisFactory(); 00052 }
void analyze | ( | const Event & | event | ) | [inline, private, virtual] |
Do the analysis.
Implements Analysis.
Definition at line 153 of file CDF_2004_S5839831.cc.
References CDF_2004_S5839831::_calcTransCones(), CDF_2004_S5839831::_num90Max1800, CDF_2004_S5839831::_num90Min1800, CDF_2004_S5839831::_numTracksDbn1800MB, CDF_2004_S5839831::_numTracksDbn630MB, CDF_2004_S5839831::_pt90Dbn1800Et120, CDF_2004_S5839831::_pt90Dbn1800Et160, CDF_2004_S5839831::_pt90Dbn1800Et200, CDF_2004_S5839831::_pt90Dbn1800Et40, CDF_2004_S5839831::_pt90Dbn1800Et80, CDF_2004_S5839831::_pt90Diff1800, CDF_2004_S5839831::_pt90Diff630, CDF_2004_S5839831::_pt90Max1800, CDF_2004_S5839831::_pt90Max630, CDF_2004_S5839831::_pt90MaxAvg1800, CDF_2004_S5839831::_pt90Min1800, CDF_2004_S5839831::_pt90Min630, CDF_2004_S5839831::_pt90MinAvg1800, CDF_2004_S5839831::_ptDbn1800MB, CDF_2004_S5839831::_ptDbn630MB, CDF_2004_S5839831::_pTSum1800_2Jet, CDF_2004_S5839831::_pTSum1800_3Jet, CDF_2004_S5839831::_pTSum630_2Jet, CDF_2004_S5839831::_pTSum630_3Jet, FourVector::azimuthalAngle(), Log::DEBUG, Rivet::deltaR(), FourVector::eta(), Jet::EtSum(), Rivet::fuzzyEquals(), Analysis::getLog(), Rivet::GeV, Rivet::inRange(), Rivet::isZero(), Rivet::momentum(), Particle::momentum(), Jet::momentum(), Rivet::particles(), FourVector::pseudorapidity(), Rivet::pseudorapidity(), FourMomentum::pT(), Analysis::sqrtS(), Log::TRACE, and vetoEvent.
00153 { 00154 // Trigger 00155 const bool trigger = applyProjection<TriggerCDFRun0Run1>(event, "Trigger").minBiasDecision(); 00156 if (!trigger) vetoEvent; 00157 00158 // Get sqrt(s) and event weight 00159 const double sqrtS = applyProjection<Beam>(event, "Beam").sqrtS(); 00160 const double weight = event.weight(); 00161 00162 { 00163 getLog() << Log::DEBUG << "Running max/min analysis" << endl; 00164 vector<Jet> jets = applyProjection<JetAlg>(event, "Jets").jetsByE(); 00165 if (!jets.empty()) { 00166 // Leading jet must be in central |eta| < 0.5 region 00167 const Jet leadingjet = jets.front(); 00168 const double etaLead = leadingjet.momentum().eta(); 00169 // Get Et of the leading jet: used to bin histograms 00170 const double ETlead = leadingjet.EtSum(); 00171 getLog() << Log::DEBUG << "Leading Et = " << ETlead/GeV << " GeV" << endl; 00172 if (fabs(etaLead) > 0.5 && ETlead < 15*GeV) { 00173 getLog() << Log::DEBUG << "Leading jet eta = " << etaLead 00174 << " not in |eta| < 0.5 & pT > 15 GeV" << endl; 00175 } else { 00176 // Multiplicity & pT distributions for sqrt(s) = 630 GeV, 1800 GeV 00177 const ParticleVector tracks = applyProjection<FinalState>(event, "TrackFS").particles(); 00178 const ConesInfo cones = _calcTransCones(leadingjet.momentum(), tracks); 00179 if (fuzzyEquals(sqrtS/GeV, 630)) { 00180 _pt90Max630->fill(ETlead/GeV, cones.ptMax/GeV, weight); 00181 _pt90Min630->fill(ETlead/GeV, cones.ptMin/GeV, weight); 00182 _pt90Diff630->fill(ETlead/GeV, cones.ptDiff/GeV, weight); 00183 } else if (fuzzyEquals(sqrtS/GeV, 1800)) { 00184 _num90Max1800->fill(ETlead/GeV, cones.numMax, weight); 00185 _num90Min1800->fill(ETlead/GeV, cones.numMin, weight); 00186 _pt90Max1800->fill(ETlead/GeV, cones.ptMax/GeV, weight); 00187 _pt90Min1800->fill(ETlead/GeV, cones.ptMin/GeV, weight); 00188 _pt90Diff1800->fill(ETlead/GeV, cones.ptDiff/GeV, weight); 00189 _pt90MaxAvg1800->fill(ETlead/GeV, cones.ptMax/GeV, weight); // /numMax 00190 _pt90MinAvg1800->fill(ETlead/GeV, cones.ptMin/GeV, weight); // /numMin 00191 // 00192 const double ptTransTotal = cones.ptMax + cones.ptMin; 00193 if (inRange(ETlead/GeV, 40., 80.)) { 00194 _pt90Dbn1800Et40->fill(ptTransTotal/GeV, weight); 00195 } else if (inRange(ETlead/GeV, 80., 120.)) { 00196 _pt90Dbn1800Et80->fill(ptTransTotal/GeV, weight); 00197 } else if (inRange(ETlead/GeV, 120., 160.)) { 00198 _pt90Dbn1800Et120->fill(ptTransTotal/GeV, weight); 00199 } else if (inRange(ETlead/GeV, 160., 200.)) { 00200 _pt90Dbn1800Et160->fill(ptTransTotal/GeV, weight); 00201 } else if (inRange(ETlead/GeV, 200., 270.)) { 00202 _pt90Dbn1800Et200->fill(ptTransTotal/GeV, weight); 00203 } 00204 } 00205 00206 } 00207 } 00208 } 00209 00210 00211 // Fill min bias total track multiplicity histos 00212 { 00213 getLog() << Log::DEBUG << "Running min bias multiplicity analysis" << endl; 00214 const ParticleVector mbtracks = applyProjection<FinalState>(event, "MBFS").particles(); 00215 if (fuzzyEquals(sqrtS/GeV, 1800)) { 00216 _numTracksDbn1800MB->fill(mbtracks.size(), weight); 00217 } else if (fuzzyEquals(sqrtS/GeV, 630)) { 00218 _numTracksDbn630MB->fill(mbtracks.size(), weight); 00219 } 00220 // Run over all charged tracks 00221 foreach (const Particle& t, mbtracks) { 00222 FourMomentum trackMom = t.momentum(); 00223 const double pt = trackMom.pT(); 00224 // Plot total pT distribution for min bias 00225 if (fuzzyEquals(sqrtS/GeV, 1800)) { 00226 _ptDbn1800MB->fill(pt/GeV, weight); 00227 } else if (fuzzyEquals(sqrtS/GeV, 630)) { 00228 _ptDbn630MB->fill(pt/GeV, weight); 00229 } 00230 } 00231 } 00232 00233 00234 00235 // Construct "Swiss Cheese" pT distributions, with pT contributions from 00236 // tracks within R = 0.7 of the 1st, 2nd (and 3rd) jets being ignored. A 00237 // different set of charged tracks, with |eta| < 1.0, is used here, and all 00238 // the removed jets must have Et > 5 GeV. 00239 { 00240 getLog() << Log::DEBUG << "Running Swiss Cheese analysis" << endl; 00241 const ParticleVector cheesetracks = applyProjection<FinalState>(event, "CheeseFS").particles(); 00242 vector<Jet> cheesejets = applyProjection<JetAlg>(event, "Jets").jetsByE(); 00243 if (cheesejets.empty()) { 00244 getLog() << Log::DEBUG << "No 'cheese' jets found in event" << endl; 00245 return; 00246 } 00247 if (cheesejets.size() > 1 && 00248 fabs(cheesejets[0].momentum().pseudorapidity()) <= 0.5 && 00249 cheesejets[0].momentum().Et()/GeV > 5.0 && 00250 cheesejets[1].momentum().Et()/GeV > 5.0) { 00251 00252 const double cheeseETlead = cheesejets[0].momentum().Et(); 00253 00254 const double eta1 = cheesejets[0].momentum().pseudorapidity(); 00255 const double phi1 = cheesejets[0].momentum().azimuthalAngle(); 00256 const double eta2 = cheesejets[1].momentum().pseudorapidity(); 00257 const double phi2 = cheesejets[1].momentum().azimuthalAngle(); 00258 00259 double ptSumSub2(0), ptSumSub3(0); 00260 foreach (const Particle& t, cheesetracks) { 00261 FourMomentum trackMom = t.momentum(); 00262 const double pt = trackMom.pT(); 00263 00264 // Subtracting 2 leading jets 00265 const double deltaR1 = deltaR(trackMom, eta1, phi1); 00266 const double deltaR2 = deltaR(trackMom, eta2, phi2); 00267 getLog() << Log::TRACE << "Track vs jet(1): " 00268 << "|(" << trackMom.pseudorapidity() << ", " << trackMom.azimuthalAngle() << ") - " 00269 << "|(" << eta1 << ", " << phi1 << ")| = " << deltaR1 << endl; 00270 getLog() << Log::TRACE << "Track vs jet(2): " 00271 << "|(" << trackMom.pseudorapidity() << ", " << trackMom.azimuthalAngle() << ") - " 00272 << "|(" << eta2 << ", " << phi2 << ")| = " << deltaR2 << endl; 00273 if (deltaR1 > 0.7 && deltaR2 > 0.7) { 00274 ptSumSub2 += pt; 00275 00276 // Subtracting 3rd leading jet 00277 if (cheesejets.size() > 2 && 00278 cheesejets[2].momentum().Et()/GeV > 5.0) { 00279 const double eta3 = cheesejets[2].momentum().pseudorapidity(); 00280 const double phi3 = cheesejets[2].momentum().azimuthalAngle(); 00281 const double deltaR3 = deltaR(trackMom, eta3, phi3); 00282 getLog() << Log::TRACE << "Track vs jet(3): " 00283 << "|(" << trackMom.pseudorapidity() << ", " << trackMom.azimuthalAngle() << ") - " 00284 << "|(" << eta3 << ", " << phi3 << ")| = " << deltaR3 << endl; 00285 if (deltaR3 > 0.7) { 00286 ptSumSub3 += pt; 00287 } 00288 } 00289 } 00290 } 00291 00292 // Swiss Cheese sub 2,3 jets distributions for sqrt(s) = 630 GeV, 1800 GeV 00293 if (fuzzyEquals(sqrtS/GeV, 630)) { 00294 if (!isZero(ptSumSub2)) _pTSum630_2Jet->fill(cheeseETlead/GeV, ptSumSub2/GeV, weight); 00295 if (!isZero(ptSumSub3))_pTSum630_3Jet->fill(cheeseETlead/GeV, ptSumSub3/GeV, weight); 00296 } else if (fuzzyEquals(sqrtS/GeV, 1800)) { 00297 if (!isZero(ptSumSub2))_pTSum1800_2Jet->fill(cheeseETlead/GeV, ptSumSub2/GeV, weight); 00298 if (!isZero(ptSumSub3))_pTSum1800_3Jet->fill(cheeseETlead/GeV, ptSumSub3/GeV, weight); 00299 } 00300 00301 } 00302 } 00303 00304 }
const PROJ& applyProjection | ( | const Event & | evt, | |
const std::string & | name | |||
) | const [inline, inherited] |
Apply the named projection on event.
Definition at line 81 of file ProjectionApplier.hh.
References ProjectionApplier::_applyProjection().
00081 { 00082 return pcast<PROJ>(_applyProjection(evt, name)); 00083 }
const PROJ& applyProjection | ( | const Event & | evt, | |
const Projection & | proj | |||
) | const [inline, inherited] |
Apply the supplied projection on event.
Definition at line 74 of file ProjectionApplier.hh.
References ProjectionApplier::_applyProjection().
00074 { 00075 return pcast<PROJ>(_applyProjection(evt, proj)); 00076 }
const PROJ& applyProjection | ( | const Event & | evt, | |
const PROJ & | proj | |||
) | const [inline, inherited] |
Apply the supplied projection on event.
Definition at line 67 of file ProjectionApplier.hh.
References ProjectionApplier::_applyProjection().
Referenced by HadronicFinalState::project(), and FinalStateHCM::project().
00067 { 00068 return pcast<PROJ>(_applyProjection(evt, proj)); 00069 }
virtual std::vector<std::string> authors | ( | ) | const [inline, virtual, inherited] |
Names & emails of paper/analysis authors.
Names and email of authors in 'NAME <EMAIL>' format. The first name in the list should be the primary contact person.
Definition at line 125 of file Analysis.hh.
References AnalysisInfo::authors(), and Analysis::info().
00125 { 00126 return info().authors(); 00127 }
const PdgIdPair beamIds | ( | ) | const [inherited] |
Incoming beam IDs for this run.
Definition at line 78 of file Analysis.cc.
References AnalysisHandler::beamIds(), and Analysis::handler().
Referenced by UA5_1982_S875503::finalize(), and UA5_1982_S875503::init().
00078 { 00079 return handler().beamIds(); 00080 }
const ParticlePair & beams | ( | ) | const [inherited] |
Incoming beams for this run.
Definition at line 74 of file Analysis.cc.
References AnalysisHandler::beams(), and Analysis::handler().
Referenced by OPAL_1998_S3780481::analyze(), MC_WPOL::analyze(), DELPHI_2002_069_CONF_603::analyze(), DELPHI_1996_S3430090::analyze(), DELPHI_1995_S3137023::analyze(), BELLE_2006_S6265367::analyze(), ALEPH_2004_S5765862::analyze(), ALEPH_1996_S3486095::analyze(), MC_WPOL::init(), and Analysis::isCompatible().
00074 { 00075 return handler().beams(); 00076 }
virtual std::string bibKey | ( | ) | const [inline, virtual, inherited] |
BibTeX citation key for this article.
Definition at line 178 of file Analysis.hh.
References AnalysisInfo::bibKey(), and Analysis::info().
00178 { 00179 return info().bibKey(); 00180 }
virtual std::string bibTeX | ( | ) | const [inline, virtual, inherited] |
BibTeX citation entry for this article.
Definition at line 183 of file Analysis.hh.
References AnalysisInfo::bibTeX(), and Analysis::info().
00183 { 00184 return info().bibTeX(); 00185 }
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 223 of file Analysis.cc.
References Analysis::binEdges().
00223 { 00224 const string hname = makeAxisCode(datasetId, xAxisId, yAxisId); 00225 return binEdges(hname); 00226 }
const BinEdges & binEdges | ( | const std::string & | hname | ) | const [protected, inherited] |
Get bin edges for a named histo (using ref AIDA caching).
Definition at line 208 of file Analysis.cc.
References Analysis::_cacheBinEdges(), Analysis::_histBinEdges, Analysis::getLog(), MSG_TRACE, Analysis::name(), and Log::TRACE.
Referenced by ATLAS_2011_S8994773::analyze(), ATLAS_2010_S8894728::analyze(), Analysis::binEdges(), Analysis::bookHistogram1D(), Analysis::bookProfile1D(), D0_2008_S7837160::init(), CDF_1994_S2952106::init(), ATLAS_2011_S9002537::init(), and ATLAS_2010_S8894728::init().
00208 { 00209 _cacheBinEdges(); 00210 MSG_TRACE("Using histo bin edges for " << name() << ":" << hname); 00211 const BinEdges& edges = _histBinEdges.find(hname)->second; 00212 if (getLog().isActive(Log::TRACE)) { 00213 stringstream edges_ss; 00214 foreach (const double be, edges) { 00215 edges_ss << " " << be; 00216 } 00217 MSG_TRACE("Edges:" << edges_ss.str()); 00218 } 00219 return edges; 00220 }
IDataPointSet * bookDataPointSet | ( | size_t | datasetId, | |
size_t | xAxisId, | |||
size_t | yAxisId, | |||
const std::string & | title = "" , |
|||
const std::string & | xtitle = "" , |
|||
const std::string & | ytitle = "" | |||
) | [protected, inherited] |
Book a 2-dimensional data point set based on the corresponding AIDA data file. The binnings (x-errors) will be obtained by reading the bundled AIDA data record file of the same filename as the analysis' name() property. Book a 2-dimensional data point set based on the paper, dataset and x/y-axis IDs in the corresponding HepData record. The binnings (x-errors) will be obtained by reading the bundled AIDA data record file of the same filename as the analysis' name() property.
Definition at line 418 of file Analysis.cc.
References Analysis::_cacheXAxisData(), Analysis::_dpsData, Analysis::bookDataPointSet(), MSG_TRACE, and Analysis::name().
00420 { 00421 // Get the bin edges (only read the AIDA file once) 00422 _cacheXAxisData(); 00423 // Build the axis code 00424 const string axisCode = makeAxisCode(datasetId, xAxisId, yAxisId); 00425 //const map<string, vector<DPSXPoint> > xpoints = getDPSXValsErrs(papername); 00426 MSG_TRACE("Using DPS x-positions for " << name() << ":" << axisCode); 00427 IDataPointSet* dps = bookDataPointSet(axisCode, title, xtitle, ytitle); 00428 const vector<DPSXPoint> xpts = _dpsData.find(axisCode)->second; 00429 for (size_t pt = 0; pt < xpts.size(); ++pt) { 00430 dps->addPoint(); 00431 IMeasurement* meas = dps->point(pt)->coordinate(0); 00432 meas->setValue(xpts[pt].val); 00433 meas->setErrorPlus(xpts[pt].errplus); 00434 meas->setErrorMinus(xpts[pt].errminus); 00435 } 00436 MSG_TRACE("Made DPS " << axisCode << " for " << name()); 00437 return dps; 00438 }
IDataPointSet * bookDataPointSet | ( | const std::string & | name, | |
size_t | npts, | |||
double | lower, | |||
double | upper, | |||
const std::string & | title = "" , |
|||
const std::string & | xtitle = "" , |
|||
const std::string & | ytitle = "" | |||
) | [protected, inherited] |
Book a 2-dimensional data point set with equally spaced points in a range. (NB. this returns a pointer rather than a reference since it will have to be stored in the analysis class - there's no point in forcing users to explicitly get the pointer from a reference before they can use it!)
Definition at line 400 of file Analysis.cc.
References Analysis::bookDataPointSet().
00403 { 00404 IDataPointSet* dps = bookDataPointSet(hname, title, xtitle, ytitle); 00405 for (size_t pt = 0; pt < npts; ++pt) { 00406 const double binwidth = (upper-lower)/npts; 00407 const double bincentre = lower + (pt + 0.5) * binwidth; 00408 dps->addPoint(); 00409 IMeasurement* meas = dps->point(pt)->coordinate(0); 00410 meas->setValue(bincentre); 00411 meas->setErrorPlus(binwidth/2.0); 00412 meas->setErrorMinus(binwidth/2.0); 00413 } 00414 return dps; 00415 }
IDataPointSet * bookDataPointSet | ( | const std::string & | name, | |
const std::string & | title = "" , |
|||
const std::string & | xtitle = "" , |
|||
const std::string & | ytitle = "" | |||
) | [protected, inherited] |
Book a 2-dimensional data point set. (NB. this returns a pointer rather than a reference since it will have to be stored in the analysis class - there's no point in forcing users to explicitly get the pointer from a reference before they can use it!)
Definition at line 388 of file Analysis.cc.
References Analysis::_makeHistoDir(), Analysis::datapointsetFactory(), Analysis::histoPath(), MSG_TRACE, and Analysis::name().
Referenced by Analysis::bookDataPointSet(), ALEPH_2004_S5765862::finalize(), UA5_1988_S1867512::init(), STAR_2006_S6860818::init(), OPAL_1993_S2692198::init(), MC_XS::init(), MC_JetAnalysis::init(), JADE_OPAL_2000_S4300807::init(), D0_2001_S4674421::init(), CDF_2008_S7782535::init(), CDF_2008_S7541902::init(), CDF_2005_S6217184::init(), CDF_1996_S3418421::init(), CDF_1994_S2952106::init(), ATLAS_2011_S9002537::init(), ATLAS_2010_S8894728::init(), and ALEPH_2004_S5765862::init().
00389 { 00390 _makeHistoDir(); 00391 const string path = histoPath(hname); 00392 IDataPointSet* dps = datapointsetFactory().create(path, title, 2); 00393 MSG_TRACE("Made data point set " << hname << " for " << name()); 00394 dps->setXTitle(xtitle); 00395 dps->setYTitle(ytitle); 00396 return dps; 00397 }
IHistogram1D * bookHistogram1D | ( | size_t | datasetId, | |
size_t | xAxisId, | |||
size_t | yAxisId, | |||
const std::string & | title = "" , |
|||
const std::string & | xtitle = "" , |
|||
const std::string & | ytitle = "" | |||
) | [protected, inherited] |
Book a 1D histogram based on the paper, dataset and x/y-axis IDs in the corresponding HepData record. The binnings will be obtained by reading the bundled AIDA data record file of the same filename as the analysis' name() property.
Definition at line 242 of file Analysis.cc.
References Analysis::bookHistogram1D().
00245 { 00246 const string axisCode = makeAxisCode(datasetId, xAxisId, yAxisId); 00247 return bookHistogram1D(axisCode, title, xtitle, ytitle); 00248 }
IHistogram1D * bookHistogram1D | ( | const std::string & | name, | |
const std::string & | title = "" , |
|||
const std::string & | xtitle = "" , |
|||
const std::string & | ytitle = "" | |||
) | [protected, inherited] |
Book a 1D histogram based on the name in the corresponding AIDA file. The binnings will be obtained by reading the bundled AIDA data record file with the same filename as the analysis' name() property.
Definition at line 251 of file Analysis.cc.
References Analysis::_makeHistoDir(), Analysis::binEdges(), Analysis::histogramFactory(), Analysis::histoPath(), MSG_TRACE, and Analysis::name().
00253 { 00254 // Get the bin edges (only read the AIDA file once) 00255 const BinEdges edges = binEdges(hname); 00256 _makeHistoDir(); 00257 const string path = histoPath(hname); 00258 IHistogram1D* hist = histogramFactory().createHistogram1D(path, title, edges); 00259 MSG_TRACE("Made histogram " << hname << " for " << name()); 00260 hist->setXTitle(xtitle); 00261 hist->setYTitle(ytitle); 00262 return hist; 00263 }
IHistogram1D * bookHistogram1D | ( | const std::string & | name, | |
const std::vector< double > & | binedges, | |||
const std::string & | title = "" , |
|||
const std::string & | xtitle = "" , |
|||
const std::string & | ytitle = "" | |||
) | [protected, inherited] |
Book a 1D histogram with non-uniform bins defined by the vector of bin edges binedges . (NB. this returns a pointer rather than a reference since it will have to be stored in the analysis class - there's no point in forcing users to explicitly get the pointer from a reference before they can use it!)
Definition at line 280 of file Analysis.cc.
References Analysis::_makeHistoDir(), Analysis::histogramFactory(), Analysis::histoPath(), MSG_TRACE, and Analysis::name().
00283 { 00284 _makeHistoDir(); 00285 const string path = histoPath(hname); 00286 IHistogram1D* hist = histogramFactory().createHistogram1D(path, title, binedges); 00287 MSG_TRACE("Made histogram " << hname << " for " << name()); 00288 hist->setXTitle(xtitle); 00289 hist->setYTitle(ytitle); 00290 return hist; 00291 }
IHistogram1D * bookHistogram1D | ( | const std::string & | name, | |
size_t | nbins, | |||
double | lower, | |||
double | upper, | |||
const std::string & | title = "" , |
|||
const std::string & | xtitle = "" , |
|||
const std::string & | ytitle = "" | |||
) | [protected, inherited] |
Book a 1D histogram with nbins uniformly distributed across the range lower - upper . (NB. this returns a pointer rather than a reference since it will have to be stored in the analysis class - there's no point in forcing users to explicitly get the pointer from a reference before they can use it!)
Definition at line 266 of file Analysis.cc.
References Analysis::_makeHistoDir(), Analysis::histogramFactory(), Analysis::histoPath(), MSG_TRACE, and Analysis::name().
Referenced by Analysis::bookHistogram1D(), ZEUS_2001_S4815815::init(), UA5_1989_S1926373::init(), UA5_1987_S1640666::init(), UA5_1986_S1583476::init(), UA5_1982_S875503::init(), UA1_1990_S2044935::init(), TASSO_1990_S2148048::init(), STAR_2008_S7869363::init(), STAR_2006_S6870392::init(), STAR_2006_S6860818::init(), STAR_2006_S6500200::init(), SFM_1984_S1178091::init(), PDG_HADRON_MULTIPLICITIES_RATIOS::init(), PDG_HADRON_MULTIPLICITIES::init(), OPAL_2004_S6132243::init(), OPAL_2001_S4553896::init(), OPAL_1998_S3780481::init(), MC_ZZJETS::init(), MC_ZJETS::init(), MC_WWJETS::init(), MC_WPOL::init(), MC_WJETS::init(), MC_TTBAR::init(), MC_SUSY::init(), MC_PHOTONJETUE::init(), MC_PHOTONJETS::init(), MC_JetAnalysis::init(), MC_HJETS::init(), MC_GENERIC::init(), MC_DIPHOTON::init(), MC_DIJET::init(), LHCB_2010_S8758301::init(), JADE_OPAL_2000_S4300807::init(), JADE_1998_S3612880::init(), H1_2000_S4129130::init(), H1_1995_S3167097::init(), H1_1994_S2919893::init(), ExampleAnalysis::init(), E735_1998_S3905616::init(), DELPHI_2003_WUD_03_11::init(), DELPHI_2002_069_CONF_603::init(), DELPHI_1996_S3430090::init(), DELPHI_1995_S3137023::init(), D0_2010_S8821313::init(), D0_2010_S8671338::init(), D0_2010_S8570965::init(), D0_2010_S8566488::init(), D0_2009_S8349509::init(), D0_2009_S8320160::init(), D0_2009_S8202443::init(), D0_2008_S7863608::init(), D0_2008_S7837160::init(), D0_2008_S7719523::init(), D0_2008_S7662670::init(), D0_2008_S7554427::init(), D0_2008_S6879055::init(), D0_2007_S7075677::init(), D0_2006_S6438750::init(), D0_2004_S5992206::init(), D0_2001_S4674421::init(), D0_2000_S4480767::init(), D0_1996_S3324664::init(), D0_1996_S3214044::init(), CMS_2011_S8978280::init(), CMS_2011_S8968497::init(), CMS_2011_S8957746::init(), CMS_2011_S8884919::init(), CMS_2010_S8656010::init(), CMS_2010_S8547297::init(), CDF_2009_S8436959::init(), CDF_2009_S8383952::init(), CDF_2009_S8233977::init(), CDF_2009_NOTE_9936::init(), CDF_2008_S8095620::init(), CDF_2008_S8093652::init(), CDF_2008_S7828950::init(), CDF_2008_S7541902::init(), CDF_2008_S7540469::init(), CDF_2007_S7057202::init(), CDF_2006_S6653332::init(), CDF_2006_S6450792::init(), CDF_2005_S6080774::init(), CDF_2004_S5839831::init(), CDF_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_1990_S2089246::init(), CDF_1988_S1865951::init(), BELLE_2006_S6265367::init(), ATLAS_2011_S9120807::init(), ATLAS_2011_S9019561::init(), ATLAS_2011_S9002537::init(), ATLAS_2011_S8983313::init(), ATLAS_2011_S8971293::init(), ATLAS_2011_CONF_2011_090::init(), ATLAS_2010_S8919674::init(), ATLAS_2010_S8918562::init(), ATLAS_2010_S8914702::init(), ATLAS_2010_S8817804::init(), ATLAS_2010_S8591806::init(), ATLAS_2010_CONF_2010_049::init(), ALICE_2010_S8706239::init(), ALICE_2010_S8625980::init(), ALICE_2010_S8624100::init(), ALEPH_2004_S5765862::init(), ALEPH_1996_S3486095::init(), ALEPH_1996_S3196992::init(), and ALEPH_1991_S2435284::init().
00269 { 00270 _makeHistoDir(); 00271 const string path = histoPath(hname); 00272 IHistogram1D* hist = histogramFactory().createHistogram1D(path, title, nbins, lower, upper); 00273 MSG_TRACE("Made histogram " << hname << " for " << name()); 00274 hist->setXTitle(xtitle); 00275 hist->setYTitle(ytitle); 00276 return hist; 00277 }
IHistogram2D * bookHistogram2D | ( | const std::string & | name, | |
const std::vector< double > & | xbinedges, | |||
const std::vector< double > & | ybinedges, | |||
const std::string & | title = "" , |
|||
const std::string & | xtitle = "" , |
|||
const std::string & | ytitle = "" , |
|||
const std::string & | ztitle = "" | |||
) | [protected, inherited] |
Book a 2D histogram with non-uniform bins defined by the vectorx of bin edges xbinedges and ybinedges. (NB. this returns a pointer rather than a reference since it will have to be stored in the analysis class - there's no point in forcing users to explicitly get the pointer from a reference before they can use it!)
Definition at line 313 of file Analysis.cc.
References Analysis::_makeHistoDir(), Analysis::histogramFactory(), Analysis::histoPath(), MSG_TRACE, and Analysis::name().
00317 { 00318 _makeHistoDir(); 00319 const string path = histoPath(hname); 00320 IHistogram2D* hist = 00321 histogramFactory().createHistogram2D(path, title, xbinedges, ybinedges); 00322 MSG_TRACE("Made 2D histogram " << hname << " for " << name()); 00323 hist->setXTitle(xtitle); 00324 hist->setYTitle(ytitle); 00325 hist->setZTitle(ztitle); 00326 return hist; 00327 }
IHistogram2D * bookHistogram2D | ( | const std::string & | name, | |
size_t | nxbins, | |||
double | xlower, | |||
double | xupper, | |||
size_t | nybins, | |||
double | ylower, | |||
double | yupper, | |||
const std::string & | title = "" , |
|||
const std::string & | xtitle = "" , |
|||
const std::string & | ytitle = "" , |
|||
const std::string & | ztitle = "" | |||
) | [protected, inherited] |
Book a 2D histogram with nxbins and nybins uniformly distributed across the ranges xlower - xupper and ylower - yupper respectively along the x- and y-axis. (NB. this returns a pointer rather than a reference since it will have to be stored in the analysis class - there's no point in forcing users to explicitly get the pointer from a reference before they can use it!)
Definition at line 294 of file Analysis.cc.
References Analysis::_makeHistoDir(), Analysis::histogramFactory(), Analysis::histoPath(), MSG_TRACE, and Analysis::name().
00298 { 00299 _makeHistoDir(); 00300 const string path = histoPath(hname); 00301 IHistogram2D* hist = 00302 histogramFactory().createHistogram2D(path, title, nxbins, xlower, xupper, 00303 nybins, ylower, yupper); 00304 MSG_TRACE("Made 2D histogram " << hname << " for " << name()); 00305 hist->setXTitle(xtitle); 00306 hist->setYTitle(ytitle); 00307 hist->setZTitle(ztitle); 00308 return hist; 00309 }
IProfile1D * bookProfile1D | ( | size_t | datasetId, | |
size_t | xAxisId, | |||
size_t | yAxisId, | |||
const std::string & | title = "" , |
|||
const std::string & | xtitle = "" , |
|||
const std::string & | ytitle = "" | |||
) | [protected, inherited] |
Book a 1D profile histogram based on the paper, dataset and x/y-axis IDs in the corresponding HepData record. The binnings will be obtained by reading the bundled AIDA data record file of the same filename as the analysis' name() property.
Definition at line 333 of file Analysis.cc.
References Analysis::bookProfile1D().
00335 { 00336 const string axisCode = makeAxisCode(datasetId, xAxisId, yAxisId); 00337 return bookProfile1D(axisCode, title, xtitle, ytitle); 00338 }
IProfile1D * bookProfile1D | ( | const std::string & | name, | |
const std::string & | title = "" , |
|||
const std::string & | xtitle = "" , |
|||
const std::string & | ytitle = "" | |||
) | [protected, inherited] |
Book a 1D profile histogram based on the name in the corresponding AIDA file. The binnings will be obtained by reading the bundled AIDA data record file with the same filename as the analysis' name() property.
Definition at line 341 of file Analysis.cc.
References Analysis::_makeHistoDir(), Analysis::binEdges(), Analysis::histogramFactory(), Analysis::histoPath(), MSG_TRACE, and Analysis::name().
00343 { 00344 // Get the bin edges (only read the AIDA file once) 00345 const BinEdges edges = binEdges(hname); 00346 _makeHistoDir(); 00347 const string path = histoPath(hname); 00348 IProfile1D* prof = histogramFactory().createProfile1D(path, title, edges); 00349 MSG_TRACE("Made profile histogram " << hname << " for " << name()); 00350 prof->setXTitle(xtitle); 00351 prof->setYTitle(ytitle); 00352 return prof; 00353 }
IProfile1D * bookProfile1D | ( | const std::string & | name, | |
const std::vector< double > & | binedges, | |||
const std::string & | title = "" , |
|||
const std::string & | xtitle = "" , |
|||
const std::string & | ytitle = "" | |||
) | [protected, inherited] |
Book a 1D profile histogram with non-uniform bins defined by the vector of bin edges binedges . (NB. this returns a pointer rather than a reference since it will have to be stored in the analysis class - there's no point in forcing users to explicitly get the pointer from a reference before they can use it!)
Definition at line 370 of file Analysis.cc.
References Analysis::_makeHistoDir(), Analysis::histogramFactory(), Analysis::histoPath(), MSG_TRACE, and Analysis::name().
00373 { 00374 _makeHistoDir(); 00375 const string path = histoPath(hname); 00376 IProfile1D* prof = histogramFactory().createProfile1D(path, title, binedges); 00377 MSG_TRACE("Made profile histogram " << hname << " for " << name()); 00378 prof->setXTitle(xtitle); 00379 prof->setYTitle(ytitle); 00380 return prof; 00381 }
IProfile1D * bookProfile1D | ( | const std::string & | name, | |
size_t | nbins, | |||
double | lower, | |||
double | upper, | |||
const std::string & | title = "" , |
|||
const std::string & | xtitle = "" , |
|||
const std::string & | ytitle = "" | |||
) | [protected, inherited] |
Book a 1D profile histogram with nbins uniformly distributed across the range lower - upper . (NB. this returns a pointer rather than a reference since it will have to be stored in the analysis class - there's no point in forcing users to explicitly get the pointer from a reference before they can use it!)
Definition at line 356 of file Analysis.cc.
References Analysis::_makeHistoDir(), Analysis::histogramFactory(), Analysis::histoPath(), MSG_TRACE, and Analysis::name().
Referenced by Analysis::bookProfile1D(), UA1_1990_S2044935::init(), STAR_2009_UE_HELEN::init(), STAR_2008_S7993412::init(), STAR_2006_S6860818::init(), MC_WPOL::init(), MC_PHOTONJETUE::init(), MC_LEADINGJETS::init(), MC_GENERIC::init(), H1_2000_S4129130::init(), H1_1994_S2919893::init(), DELPHI_2002_069_CONF_603::init(), DELPHI_1996_S3430090::init(), D0_1996_S3324664::init(), CMS_2011_S8884919::init(), CDF_2010_S8591881_QCD::init(), CDF_2010_S8591881_DY::init(), CDF_2009_S8233977::init(), CDF_2008_S7782535::init(), CDF_2008_NOTE_9351::init(), CDF_2008_LEADINGJETS::init(), CDF_2005_S6217184::init(), CDF_2004_S5839831::init(), CDF_2002_S4796047::init(), CDF_2001_S4751469::init(), ATLAS_2011_S8994773::init(), ATLAS_2011_S8924791::init(), ATLAS_2010_S8918562::init(), ATLAS_2010_S8894728::init(), ATLAS_2010_S8591806::init(), and ALICE_2010_S8706239::init().
00359 { 00360 _makeHistoDir(); 00361 const string path = histoPath(hname); 00362 IProfile1D* prof = histogramFactory().createProfile1D(path, title, nbins, lower, upper); 00363 MSG_TRACE("Made profile histogram " << hname << " for " << name()); 00364 prof->setXTitle(xtitle); 00365 prof->setYTitle(ytitle); 00366 return prof; 00367 }
virtual std::string collider | ( | ) | const [inline, virtual, inherited] |
Collider on which the experiment ran.
Definition at line 163 of file Analysis.hh.
References AnalysisInfo::collider(), and Analysis::info().
00163 { 00164 return info().collider(); 00165 }
double crossSection | ( | ) | const [protected, inherited] |
Get the process cross-section in pb. Throws if this hasn't been set.
Definition at line 171 of file Analysis.cc.
References Analysis::_crossSection, Analysis::_gotCrossSection, and Analysis::name().
Referenced by STAR_2006_S6870392::finalize(), MC_ZZJETS::finalize(), MC_ZJETS::finalize(), MC_XS::finalize(), MC_WWJETS::finalize(), MC_WJETS::finalize(), MC_JetAnalysis::finalize(), MC_HJETS::finalize(), MC_DIPHOTON::finalize(), D0_2010_S8570965::finalize(), D0_2010_S8566488::finalize(), D0_2008_S7863608::finalize(), D0_2008_S7719523::finalize(), D0_2008_S7662670::finalize(), D0_2006_S6438750::finalize(), D0_2000_S4480767::finalize(), CDF_2009_S8436959::finalize(), CDF_2009_S8383952::finalize(), CDF_2009_S8233977::finalize(), CDF_2008_S8093652::finalize(), CDF_2008_S7828950::finalize(), CDF_2008_S7541902::finalize(), CDF_2008_S7540469::finalize(), CDF_2006_S6653332::finalize(), CDF_2006_S6450792::finalize(), CDF_2005_S6080774::finalize(), CDF_2001_S4563131::finalize(), CDF_2001_S4517016::finalize(), CDF_2000_S4266730::finalize(), CDF_2000_S4155203::finalize(), CDF_1998_S3618439::finalize(), ATLAS_2011_S9120807::finalize(), ATLAS_2011_CONF_2011_090::finalize(), ATLAS_2010_S8919674::finalize(), ATLAS_2010_S8914702::finalize(), and ATLAS_2010_CONF_2010_049::finalize().
00171 { 00172 if (!_gotCrossSection || std::isnan(_crossSection)) { 00173 string errMsg = "You did not set the cross section for the analysis " + name(); 00174 throw Error(errMsg); 00175 } 00176 return _crossSection; 00177 }
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 179 of file Analysis.cc.
References Analysis::_crossSection, and Analysis::sumOfWeights().
Referenced by UA1_1990_S2044935::finalize(), MC_WPOL::finalize(), MC_PHOTONJETS::finalize(), D0_2010_S8671338::finalize(), D0_2009_S8349509::finalize(), D0_2001_S4674421::finalize(), CDF_2007_S7057202::finalize(), CDF_1988_S1865951::finalize(), and ATLAS_2010_S8817804::finalize().
00179 { 00180 const double sumW = sumOfWeights(); 00181 assert(sumW > 0); 00182 return _crossSection / sumW; 00183 }
IDataPointSetFactory & datapointsetFactory | ( | ) | [protected, inherited] |
Access the AIDA histogram factory of the controlling AnalysisHandler object.
Definition at line 65 of file Analysis.cc.
References AnalysisHandler::datapointsetFactory(), and Analysis::handler().
Referenced by Analysis::bookDataPointSet(), and Analysis::scale().
00065 { 00066 return handler().datapointsetFactory(); 00067 }
virtual std::string description | ( | ) | const [inline, virtual, inherited] |
Get a full description of the analysis.
Full textual description of this analysis, what it is useful for, what experimental techniques are applied, etc. Should be treated as a chunk of restructuredText (http://docutils.sourceforge.net/rst.html), with equations to be rendered as LaTeX with amsmath operators.
Definition at line 144 of file Analysis.hh.
References AnalysisInfo::description(), and Analysis::info().
00144 { 00145 return info().description(); 00146 }
virtual std::string experiment | ( | ) | const [inline, virtual, inherited] |
Experiment which performed and published this analysis.
Definition at line 158 of file Analysis.hh.
References AnalysisInfo::experiment(), and Analysis::info().
00158 { 00159 return info().experiment(); 00160 }
void finalize | ( | ) | [inline, private, 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 307 of file CDF_2004_S5839831.cc.
References CDF_2004_S5839831::_numTracksDbn1800MB, CDF_2004_S5839831::_numTracksDbn630MB, CDF_2004_S5839831::_pt90Dbn1800Et120, CDF_2004_S5839831::_pt90Dbn1800Et160, CDF_2004_S5839831::_pt90Dbn1800Et200, CDF_2004_S5839831::_pt90Dbn1800Et40, CDF_2004_S5839831::_pt90Dbn1800Et80, CDF_2004_S5839831::_ptDbn1800MB, CDF_2004_S5839831::_ptDbn630MB, Rivet::fuzzyEquals(), Rivet::GeV, Analysis::normalize(), and Analysis::sqrtS().
00307 { 00308 /// @todo Take these normalisations from the data histo (it can't come from just the MC) 00309 00310 if (fuzzyEquals(sqrtS()/GeV, 1800, 1E-3)) { 00311 // Normalize to actual number of entries in pT dbn histos... 00312 normalize(_pt90Dbn1800Et40, 1656.75); // norm OK 00313 normalize(_pt90Dbn1800Et80, 4657.5); // norm OK 00314 normalize(_pt90Dbn1800Et120, 5395.5); // norm OK 00315 normalize(_pt90Dbn1800Et160, 7248.75); // norm OK 00316 normalize(_pt90Dbn1800Et200, 2442.0); // norm OK 00317 } 00318 00319 // ...and for min bias distributions: 00320 if (fuzzyEquals(sqrtS()/GeV, 1800, 1E-3)) { 00321 normalize(_numTracksDbn1800MB, 309718.25); // norm OK 00322 normalize(_ptDbn1800MB, 33600.0); // norm OK 00323 } else if (fuzzyEquals(sqrtS()/GeV, 630, 1E-3)) { 00324 normalize(_numTracksDbn630MB, 1101024.0); // norm OK 00325 normalize(_ptDbn630MB, 105088.0); // norm OK 00326 } 00327 }
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 102 of file Analysis.cc.
References Analysis::name().
Referenced by 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(), TASSO_1990_S2148048::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(), OPAL_1998_S3780481::analyze(), MC_SUSY::analyze(), MC_PHOTONJETUE::analyze(), MC_LEADINGJETS::analyze(), MC_JetAnalysis::analyze(), JADE_1998_S3612880::analyze(), H1_1994_S2919893::analyze(), DELPHI_2003_WUD_03_11::analyze(), DELPHI_2002_069_CONF_603::analyze(), DELPHI_1996_S3430090::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_2007_S7075677::analyze(), D0_2004_S5992206::analyze(), CMS_2011_S8884919::analyze(), CDF_2010_S8591881_QCD::analyze(), CDF_2010_S8591881_DY::analyze(), CDF_2009_S8383952::analyze(), CDF_2008_S8095620::analyze(), CDF_2008_S7782535::analyze(), CDF_2008_S7540469::analyze(), CDF_2008_NOTE_9351::analyze(), CDF_2008_LEADINGJETS::analyze(), CDF_2006_S6653332::analyze(), CDF_2004_S5839831::analyze(), CDF_2001_S4751469::analyze(), BELLE_2006_S6265367::analyze(), ALEPH_1996_S3486095::analyze(), ALEPH_1991_S2435284::analyze(), Analysis::binEdges(), CDF_2009_S8057893::CDF_2009_S8057893::analyze(), UA5_1986_S1583476::finalize(), STAR_2006_S6860818::finalize(), STAR_2006_S6500200::finalize(), DELPHI_2003_WUD_03_11::finalize(), D0_2001_S4674421::finalize(), CDF_2006_S6653332::finalize(), ZEUS_2001_S4815815::init(), and ALEPH_2004_S5765862::init().
00102 { 00103 string logname = "Rivet.Analysis." + name(); 00104 return Log::getLog(logname); 00105 }
const Projection& getProjection | ( | const std::string & | name | ) | const [inline, inherited] |
Get the named projection (non-templated, so returns as a reference to a Projection base class).
Definition at line 57 of file ProjectionApplier.hh.
References ProjectionHandler::getProjection(), and ProjectionApplier::getProjHandler().
00057 { 00058 return getProjHandler().getProjection(*this, name); 00059 }
const PROJ& getProjection | ( | const std::string & | name | ) | const [inline, inherited] |
Get the named projection, specifying return type via a template argument.
Definition at line 49 of file ProjectionApplier.hh.
References ProjectionHandler::getProjection(), and ProjectionApplier::getProjHandler().
Referenced by ProjectionApplier::_applyProjection(), Rivet::pcmp(), and Hemispheres::project().
00049 { 00050 const Projection& p = getProjHandler().getProjection(*this, name); 00051 return pcast<PROJ>(p); 00052 }
std::set<ConstProjectionPtr> getProjections | ( | ) | const [inline, inherited] |
Get the contained projections, including recursion.
Definition at line 42 of file ProjectionApplier.hh.
References ProjectionHandler::DEEP, ProjectionHandler::getChildProjections(), and ProjectionApplier::getProjHandler().
Referenced by Projection::beamPairs().
00042 { 00043 return getProjHandler().getChildProjections(*this, ProjectionHandler::DEEP); 00044 }
ProjectionHandler& getProjHandler | ( | ) | const [inline, protected, inherited] |
Get a reference to the ProjectionHandler for this thread.
Definition at line 94 of file ProjectionApplier.hh.
References ProjectionApplier::_projhandler.
Referenced by ProjectionApplier::_addProjection(), ProjectionApplier::getProjection(), ProjectionApplier::getProjections(), and ProjectionApplier::~ProjectionApplier().
00094 { 00095 return _projhandler; 00096 }
AnalysisHandler& handler | ( | ) | const [inline, inherited] |
Access the controlling AnalysisHandler object.
Definition at line 285 of file Analysis.hh.
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().
00285 { return *_analysishandler; }
const string histoDir | ( | ) | const [protected, inherited] |
Get the canonical histogram "directory" path for this analysis.
Definition at line 83 of file Analysis.cc.
References Analysis::handler(), Analysis::name(), and AnalysisHandler::runName().
Referenced by Analysis::_makeHistoDir(), STAR_2006_S6860818::finalize(), STAR_2006_S6500200::finalize(), MC_WJETS::finalize(), D0_2008_S7837160::finalize(), D0_2008_S7719523::finalize(), CMS_2011_S8978280::finalize(), and Analysis::histoPath().
00083 { 00084 /// @todo This doesn't change: calc and cache at first use! 00085 string path = "/" + name(); 00086 if (handler().runName().length() > 0) { 00087 path = "/" + handler().runName() + path; 00088 } 00089 while (find_first(path, "//")) { 00090 replace_all(path, "//", "/"); 00091 } 00092 return path; 00093 }
IHistogramFactory & histogramFactory | ( | ) | [protected, inherited] |
Access the AIDA histogram factory of the controlling AnalysisHandler object.
Definition at line 60 of file Analysis.cc.
References Analysis::handler(), and AnalysisHandler::histogramFactory().
Referenced by Analysis::bookHistogram1D(), Analysis::bookHistogram2D(), Analysis::bookProfile1D(), STAR_2006_S6860818::finalize(), STAR_2006_S6500200::finalize(), MC_WJETS::finalize(), MC_JetAnalysis::finalize(), MC_GENERIC::finalize(), H1_1995_S3167097::finalize(), D0_2008_S7837160::finalize(), D0_2008_S7719523::finalize(), CMS_2011_S8978280::finalize(), and ATLAS_2011_S9002537::finalize().
00060 { 00061 return handler().histogramFactory(); 00062 }
const string histoPath | ( | const std::string & | hname | ) | const [protected, inherited] |
Get the canonical histogram path for the named histogram in this analysis.
Definition at line 96 of file Analysis.cc.
References Analysis::histoDir().
Referenced by Analysis::bookDataPointSet(), Analysis::bookHistogram1D(), Analysis::bookHistogram2D(), Analysis::bookProfile1D(), MC_JetAnalysis::finalize(), and MC_GENERIC::finalize().
00096 { 00097 const string path = histoDir() + "/" + hname; 00098 return path; 00099 }
AnalysisInfo& info | ( | ) | [inline, inherited] |
Get the actual AnalysisInfo object in which all this metadata is stored (non-const).
Definition at line 237 of file Analysis.hh.
References Analysis::_info.
const AnalysisInfo& info | ( | ) | const [inline, inherited] |
Get the actual AnalysisInfo object in which all this metadata is stored.
Definition at line 102 of file Analysis.hh.
References Analysis::_info.
Referenced by Analysis::authors(), Analysis::bibKey(), Analysis::bibTeX(), Analysis::collider(), Analysis::description(), Analysis::experiment(), Analysis::name(), Analysis::needsCrossSection(), Analysis::references(), Analysis::requiredBeams(), Analysis::requiredEnergies(), Analysis::runInfo(), Analysis::setNeedsCrossSection(), Analysis::setRequiredBeams(), Analysis::setRequiredEnergies(), Analysis::spiresId(), Analysis::status(), Analysis::summary(), Analysis::todos(), and Analysis::year().
void init | ( | ) | [inline, private, 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 103 of file CDF_2004_S5839831.cc.
References CDF_2004_S5839831::_num90Max1800, CDF_2004_S5839831::_num90Min1800, CDF_2004_S5839831::_numTracksDbn1800MB, CDF_2004_S5839831::_numTracksDbn630MB, CDF_2004_S5839831::_pt90Dbn1800Et120, CDF_2004_S5839831::_pt90Dbn1800Et160, CDF_2004_S5839831::_pt90Dbn1800Et200, CDF_2004_S5839831::_pt90Dbn1800Et40, CDF_2004_S5839831::_pt90Dbn1800Et80, CDF_2004_S5839831::_pt90Diff1800, CDF_2004_S5839831::_pt90Diff630, CDF_2004_S5839831::_pt90Max1800, CDF_2004_S5839831::_pt90Max630, CDF_2004_S5839831::_pt90MaxAvg1800, CDF_2004_S5839831::_pt90Min1800, CDF_2004_S5839831::_pt90Min630, CDF_2004_S5839831::_pt90MinAvg1800, CDF_2004_S5839831::_ptDbn1800MB, CDF_2004_S5839831::_ptDbn630MB, CDF_2004_S5839831::_pTSum1800_2Jet, CDF_2004_S5839831::_pTSum1800_3Jet, CDF_2004_S5839831::_pTSum630_2Jet, CDF_2004_S5839831::_pTSum630_3Jet, ProjectionApplier::addProjection(), Analysis::bookHistogram1D(), Analysis::bookProfile1D(), FastJets::CDFJETCLU, Rivet::fuzzyEquals(), Rivet::GeV, and Analysis::sqrtS().
00103 { 00104 // Set up projections 00105 addProjection(TriggerCDFRun0Run1(), "Trigger"); 00106 addProjection(Beam(), "Beam"); 00107 const FinalState calofs(-1.2, 1.2); 00108 addProjection(calofs, "CaloFS"); 00109 addProjection(FastJets(calofs, FastJets::CDFJETCLU, 0.7), "Jets"); 00110 const ChargedFinalState trackfs(-1.2, 1.2, 0.4*GeV); 00111 addProjection(trackfs, "TrackFS"); 00112 // Restrict tracks to |eta| < 0.7 for the min bias part. 00113 const ChargedFinalState mbfs(-0.7, 0.7, 0.4*GeV); 00114 addProjection(mbfs, "MBFS"); 00115 // Restrict tracks to |eta| < 1 for the Swiss-Cheese part. 00116 const ChargedFinalState cheesefs(-1.0, 1.0, 0.4*GeV); 00117 addProjection(cheesefs, "CheeseFS"); 00118 addProjection(FastJets(cheesefs, FastJets::CDFJETCLU, 0.7), "CheeseJets"); 00119 00120 // Book histograms 00121 if (fuzzyEquals(sqrtS()/GeV, 1800, 1E-3)) { 00122 _pt90MaxAvg1800 = bookProfile1D(1, 1, 1); 00123 _pt90MinAvg1800 = bookProfile1D(1, 1, 2); 00124 _pt90Max1800 = bookProfile1D(2, 1, 1); 00125 _pt90Min1800 = bookProfile1D(2, 1, 2); 00126 _pt90Diff1800 = bookProfile1D(2, 1, 3); 00127 _num90Max1800 = bookProfile1D(4, 1, 1); 00128 _num90Min1800 = bookProfile1D(4, 1, 2); 00129 _pTSum1800_2Jet = bookProfile1D(7, 1, 1); 00130 _pTSum1800_3Jet = bookProfile1D(7, 1, 2); 00131 00132 _pt90Dbn1800Et40 = bookHistogram1D(3, 1, 1); 00133 _pt90Dbn1800Et80 = bookHistogram1D(3, 1, 2); 00134 _pt90Dbn1800Et120 = bookHistogram1D(3, 1, 3); 00135 _pt90Dbn1800Et160 = bookHistogram1D(3, 1, 4); 00136 _pt90Dbn1800Et200 = bookHistogram1D(3, 1, 5); 00137 _numTracksDbn1800MB = bookHistogram1D(5, 1, 1); 00138 _ptDbn1800MB = bookHistogram1D(6, 1, 1); 00139 } else if (fuzzyEquals(sqrtS()/GeV, 630, 1E-3)) { 00140 _pt90Max630 = bookProfile1D(8, 1, 1); 00141 _pt90Min630 = bookProfile1D(8, 1, 2); 00142 _pt90Diff630 = bookProfile1D(8, 1, 3); 00143 _pTSum630_2Jet = bookProfile1D(9, 1, 1); 00144 _pTSum630_3Jet = bookProfile1D(9, 1, 2); 00145 00146 _numTracksDbn630MB = bookHistogram1D(10, 1, 1); 00147 _ptDbn630MB = bookHistogram1D(11, 1, 1); 00148 } 00149 }
bool isCompatible | ( | const PdgIdPair & | beams, | |
const std::pair< double, double > & | energies | |||
) | const [inherited] |
Check if analysis is compatible with the provided beam particle IDs and energies.
Check if analysis is compatible with the provided beam particle IDs and energies.
Definition at line 127 of file Analysis.cc.
References Analysis::beams(), and Analysis::isCompatible().
00127 { 00128 PdgIdPair beams(beam1, beam2); 00129 pair<double,double> energies(e1, e2); 00130 return isCompatible(beams, energies); 00131 }
bool isCompatible | ( | const ParticlePair & | beams | ) | const [inherited] |
Check if analysis is compatible with the provided beam particle IDs and energies.
Definition at line 121 of file Analysis.cc.
Referenced by Analysis::isCompatible().
00121 { 00122 return isCompatible(beams.first.pdgId(), beams.second.pdgId(), 00123 beams.first.energy(), beams.second.energy()); 00124 }
BinEdges logBinEdges | ( | size_t | nbins, | |
double | lower, | |||
double | upper | |||
) | [protected, inherited] |
Get bin edges with logarithmic widths.
Definition at line 229 of file Analysis.cc.
Referenced by MC_ZZJETS::init(), MC_ZJETS::init(), MC_WWJETS::init(), MC_WPOL::init(), MC_WJETS::init(), MC_PHOTONJETS::init(), MC_JetAnalysis::init(), MC_HJETS::init(), and MC_DIPHOTON::init().
00229 { 00230 assert(lower>0.0); 00231 assert(upper>lower); 00232 double loglower=log10(lower); 00233 double logupper=log10(upper); 00234 vector<double> binedges; 00235 double stepwidth=(logupper-loglower)/double(nbins); 00236 for (size_t i=0; i<=nbins; ++i) { 00237 binedges.push_back(pow(10.0, loglower+double(i)*stepwidth)); 00238 } 00239 return binedges; 00240 }
virtual std::string name | ( | ) | const [inline, virtual, inherited] |
Get the name of the analysis.
By default this is computed by combining the results of the experiment, year and Spires ID metadata methods and you should only override it if there's a good reason why those won't work.
Implements ProjectionApplier.
Definition at line 112 of file Analysis.hh.
References Analysis::_defaultname, Analysis::info(), and AnalysisInfo::name().
Referenced by Analysis::_cacheBinEdges(), Analysis::_cacheXAxisData(), Analysis::_makeHistoDir(), Analysis::binEdges(), Analysis::bookDataPointSet(), Analysis::bookHistogram1D(), Analysis::bookHistogram2D(), Analysis::bookProfile1D(), Analysis::crossSection(), Analysis::getLog(), Analysis::histoDir(), Analysis::normalize(), HistoHandler::registerAnalysisObject(), and Analysis::scale().
00112 { 00113 return (info().name().empty()) ? _defaultname : info().name(); 00114 }
bool needsCrossSection | ( | ) | const [inline, inherited] |
Return true if this analysis needs to know the process cross-section.
Definition at line 221 of file Analysis.hh.
References Analysis::info(), and AnalysisInfo::needsCrossSection().
00221 { 00222 return info().needsCrossSection(); 00223 }
void normalize | ( | AIDA::IHistogram2D *& | histo, | |
double | norm = 1.0 | |||
) | [inherited] |
Normalize the given histogram, histo. After this call the histogram will have been transformed to a DataPointSet with the same name and path. It has the same effect as scale
(histo, norm/sumOfWeights).
histo | The histogram to be normalised. | |
norm | The new area of the histogram. |
Definition at line 527 of file Analysis.cc.
References MSG_ERROR, MSG_TRACE, MSG_WARNING, Analysis::name(), Analysis::scale(), and Analysis::tree().
00527 { 00528 if (!histo) { 00529 MSG_ERROR("Failed to normalize histo=NULL in analysis " 00530 << name() << " (norm=" << norm << ")"); 00531 return; 00532 } 00533 const string hpath = tree().findPath(dynamic_cast<const AIDA::IManagedObject&>(*histo)); 00534 MSG_TRACE("Normalizing histo " << hpath << " to " << norm); 00535 00536 double oldintg = 0.0; 00537 int nxBins = histo->xAxis().bins(); 00538 int nyBins = histo->yAxis().bins(); 00539 for (int ixBin = 0; ixBin != nxBins; ++ixBin) 00540 for (int iyBin = 0; iyBin != nyBins; ++iyBin) { 00541 // Leaving out factor of binWidth because AIDA's "height" 00542 // already includes a width factor. 00543 oldintg += histo->binHeight(ixBin, iyBin); // * histo->axis().binWidth(iBin); 00544 } 00545 if (oldintg == 0.0) { 00546 MSG_WARNING("Histo " << hpath << " has null integral during normalization"); 00547 return; 00548 } 00549 00550 // Scale by the normalisation factor. 00551 scale(histo, norm/oldintg); 00552 }
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 460 of file Analysis.cc.
References MSG_ERROR, MSG_TRACE, MSG_WARNING, Analysis::name(), Analysis::scale(), and Analysis::tree().
Referenced by TASSO_1990_S2148048::finalize(), STAR_2008_S7869363::finalize(), OPAL_2001_S4553896::finalize(), OPAL_1998_S3780481::finalize(), JADE_1998_S3612880::finalize(), H1_1994_S2919893::finalize(), ExampleAnalysis::finalize(), DELPHI_2003_WUD_03_11::finalize(), DELPHI_2002_069_CONF_603::finalize(), DELPHI_1996_S3430090::finalize(), DELPHI_1995_S3137023::finalize(), D0_2010_S8821313::finalize(), D0_2010_S8671338::finalize(), D0_2009_S8320160::finalize(), D0_2008_S7554427::finalize(), D0_2008_S6879055::finalize(), D0_2007_S7075677::finalize(), D0_2004_S5992206::finalize(), D0_2001_S4674421::finalize(), D0_1996_S3324664::finalize(), D0_1996_S3214044::finalize(), CMS_2011_S8968497::finalize(), CMS_2011_S8957746::finalize(), CMS_2011_S8884919::finalize(), CDF_2009_NOTE_9936::finalize(), CDF_2004_S5839831::finalize(), CDF_2002_S4796047::finalize(), CDF_2001_S4751469::finalize(), CDF_1997_S3541940::finalize(), CDF_1996_S3418421::finalize(), CDF_1996_S3349578::finalize(), CDF_1996_S3108457::finalize(), CDF_1994_S2952106::finalize(), CDF_1993_S2742446::finalize(), ATLAS_2011_S8971293::finalize(), ALICE_2010_S8625980::finalize(), ALICE_2010_S8624100::finalize(), ALEPH_2004_S5765862::finalize(), and ALEPH_1996_S3486095::finalize().
00460 { 00461 if (!histo) { 00462 MSG_ERROR("Failed to normalize histo=NULL in analysis " 00463 << name() << " (norm=" << norm << ")"); 00464 return; 00465 } 00466 const string hpath = tree().findPath(dynamic_cast<const AIDA::IManagedObject&>(*histo)); 00467 MSG_TRACE("Normalizing histo " << hpath << " to " << norm); 00468 00469 double oldintg = 0.0; 00470 int nBins = histo->axis().bins(); 00471 for (int iBin = 0; iBin != nBins; ++iBin) { 00472 // Leaving out factor of binWidth because AIDA's "height" already includes a width factor. 00473 oldintg += histo->binHeight(iBin); // * histo->axis().binWidth(iBin); 00474 } 00475 if (oldintg == 0.0) { 00476 MSG_WARNING("Histo " << hpath << " has null integral during normalization"); 00477 return; 00478 } 00479 00480 // Scale by the normalisation factor. 00481 scale(histo, norm/oldintg); 00482 }
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 108 of file Analysis.cc.
References Analysis::handler(), and AnalysisHandler::numEvents().
00108 { 00109 return handler().numEvents(); 00110 }
virtual std::vector<std::string> references | ( | ) | const [inline, virtual, inherited] |
Journal, and preprint references.
Definition at line 173 of file Analysis.hh.
References Analysis::info(), and AnalysisInfo::references().
00173 { 00174 return info().references(); 00175 }
virtual const std::vector<PdgIdPair>& requiredBeams | ( | ) | const [inline, virtual, inherited] |
Return the allowed pairs of incoming beams required by this analysis.
Definition at line 199 of file Analysis.hh.
References AnalysisInfo::beams(), and Analysis::info().
00199 { 00200 return info().beams(); 00201 }
virtual const std::vector<std::pair<double, double> >& requiredEnergies | ( | ) | const [inline, virtual, inherited] |
Sets of valid beam energy pairs, in GeV.
Definition at line 210 of file Analysis.hh.
References AnalysisInfo::energies(), and Analysis::info().
Referenced by Analysis::setRequiredEnergies().
00210 { 00211 return info().energies(); 00212 }
virtual std::string runInfo | ( | ) | const [inline, virtual, inherited] |
Information about the events needed as input for this analysis.
Event types, energies, kinematic cuts, particles to be considered stable, etc. etc. Should be treated as a restructuredText bullet list (http://docutils.sourceforge.net/rst.html)
Definition at line 153 of file Analysis.hh.
References Analysis::info(), and AnalysisInfo::runInfo().
00153 { 00154 return info().runInfo(); 00155 }
void scale | ( | AIDA::IHistogram2D *& | histo, | |
double | scale | |||
) | [inherited] |
Multiplicatively scale the given histogram, histo. After this call the histogram will have been transformed to a DataPointSet with the same name and path.
histo | The histogram to be scaled. | |
scale | The factor used to multiply the histogram bin heights. |
Definition at line 555 of file Analysis.cc.
References Analysis::datapointsetFactory(), MSG_ERROR, MSG_TRACE, Analysis::name(), and Analysis::tree().
00555 { 00556 if (!histo) { 00557 MSG_ERROR("Failed to scale histo=NULL in analysis " 00558 << name() << " (scale=" << scale << ")"); 00559 return; 00560 } 00561 const string hpath = 00562 tree().findPath(dynamic_cast<const AIDA::IManagedObject&>(*histo)); 00563 MSG_TRACE("Scaling histo " << hpath); 00564 00565 vector<double> x, y, z, ex, ey, ez; 00566 for (size_t ix = 0, Nx = histo->xAxis().bins(); ix < Nx; ++ix) 00567 for (size_t iy = 0, Ny = histo->yAxis().bins(); iy < Ny; ++iy) { 00568 x.push_back(0.5 * (histo->xAxis().binLowerEdge(ix) + 00569 histo->xAxis().binUpperEdge(ix))); 00570 ex.push_back(histo->xAxis().binWidth(ix)*0.5); 00571 y.push_back(0.5 * (histo->yAxis().binLowerEdge(iy) + 00572 histo->yAxis().binUpperEdge(iy))); 00573 ey.push_back(histo->yAxis().binWidth(iy)*0.5); 00574 00575 // "Bin height" is a misnomer in the AIDA spec: width is neglected. 00576 // We'd like to do this: y.push_back(histo->binHeight(i) * scale); 00577 z.push_back(histo->binHeight(ix, iy)*scale/ 00578 (histo->xAxis().binWidth(ix)*histo->yAxis().binWidth(iy))); 00579 // "Bin error" is a misnomer in the AIDA spec: width is neglected. 00580 // We'd like to do this: ey.push_back(histo->binError(i) * scale); 00581 ez.push_back(histo->binError(ix, iy)*scale/ 00582 (histo->xAxis().binWidth(ix)*histo->yAxis().binWidth(iy))); 00583 } 00584 00585 string title = histo->title(); 00586 string xtitle = histo->xtitle(); 00587 string ytitle = histo->ytitle(); 00588 string ztitle = histo->ztitle(); 00589 00590 tree().mkdir("/tmpnormalize"); 00591 tree().mv(hpath, "/tmpnormalize"); 00592 00593 AIDA::IDataPointSet* dps = 00594 datapointsetFactory().createXYZ(hpath, title, x, y, z, ex, ey, ez); 00595 dps->setXTitle(xtitle); 00596 dps->setYTitle(ytitle); 00597 dps->setZTitle(ztitle); 00598 00599 tree().rm(tree().findPath(dynamic_cast<AIDA::IManagedObject&>(*histo))); 00600 tree().rmdir("/tmpnormalize"); 00601 00602 // Set histo pointer to null - it can no longer be used. 00603 histo = 0; 00604 }
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 485 of file Analysis.cc.
References Analysis::datapointsetFactory(), MSG_ERROR, MSG_TRACE, Analysis::name(), and Analysis::tree().
Referenced by UA5_1989_S1926373::finalize(), UA5_1987_S1640666::finalize(), UA5_1986_S1583476::finalize(), UA5_1982_S875503::finalize(), UA1_1990_S2044935::finalize(), STAR_2006_S6870392::finalize(), STAR_2006_S6860818::finalize(), STAR_2006_S6500200::finalize(), SFM_1984_S1178091::finalize(), PDG_HADRON_MULTIPLICITIES_RATIOS::finalize(), PDG_HADRON_MULTIPLICITIES::finalize(), OPAL_2004_S6132243::finalize(), OPAL_1998_S3780481::finalize(), MC_ZZJETS::finalize(), MC_ZJETS::finalize(), MC_WWJETS::finalize(), MC_WPOL::finalize(), MC_WJETS::finalize(), MC_PHOTONJETS::finalize(), MC_JetAnalysis::finalize(), MC_HJETS::finalize(), MC_GENERIC::finalize(), MC_DIPHOTON::finalize(), LHCB_2010_S8758301::finalize(), JADE_OPAL_2000_S4300807::finalize(), H1_2000_S4129130::finalize(), H1_1994_S2919893::finalize(), E735_1998_S3905616::finalize(), DELPHI_1996_S3430090::finalize(), D0_2010_S8671338::finalize(), D0_2010_S8570965::finalize(), D0_2009_S8349509::finalize(), D0_2009_S8202443::finalize(), D0_2008_S7863608::finalize(), D0_2008_S7719523::finalize(), D0_2008_S7662670::finalize(), D0_2006_S6438750::finalize(), D0_2000_S4480767::finalize(), CMS_2011_S8978280::finalize(), CMS_2010_S8656010::finalize(), CMS_2010_S8547297::finalize(), CDF_2009_S8436959::finalize(), CDF_2009_S8383952::finalize(), CDF_2009_S8233977::finalize(), CDF_2008_S8093652::finalize(), CDF_2008_S7540469::finalize(), CDF_2007_S7057202::finalize(), CDF_2006_S6450792::finalize(), CDF_2005_S6080774::finalize(), CDF_2001_S4563131::finalize(), CDF_2000_S4266730::finalize(), CDF_2000_S4155203::finalize(), CDF_1998_S3618439::finalize(), CDF_1990_S2089246::finalize(), CDF_1988_S1865951::finalize(), ATLAS_2011_S9120807::finalize(), ATLAS_2011_CONF_2011_090::finalize(), ATLAS_2010_S8919674::finalize(), ATLAS_2010_S8914702::finalize(), ATLAS_2010_S8591806::finalize(), ATLAS_2010_CONF_2010_049::finalize(), ALICE_2010_S8706239::finalize(), ALICE_2010_S8625980::finalize(), ALEPH_2004_S5765862::finalize(), ALEPH_1996_S3486095::finalize(), ALEPH_1996_S3196992::finalize(), ALEPH_1991_S2435284::finalize(), Analysis::normalize(), and BinnedHistogram< T >::scale().
00485 { 00486 if (!histo) { 00487 MSG_ERROR("Failed to scale histo=NULL in analysis " 00488 << name() << " (scale=" << scale << ")"); 00489 return; 00490 } 00491 const string hpath = tree().findPath(dynamic_cast<const AIDA::IManagedObject&>(*histo)); 00492 MSG_TRACE("Scaling histo " << hpath); 00493 00494 vector<double> x, y, ex, ey; 00495 for (size_t i = 0, N = histo->axis().bins(); i < N; ++i) { 00496 x.push_back(0.5 * (histo->axis().binLowerEdge(i) + histo->axis().binUpperEdge(i))); 00497 ex.push_back(histo->axis().binWidth(i)*0.5); 00498 00499 // "Bin height" is a misnomer in the AIDA spec: width is neglected. 00500 // We'd like to do this: y.push_back(histo->binHeight(i) * scale); 00501 y.push_back(histo->binHeight(i)*scale/histo->axis().binWidth(i)); 00502 00503 // "Bin error" is a misnomer in the AIDA spec: width is neglected. 00504 // We'd like to do this: ey.push_back(histo->binError(i) * scale); 00505 ey.push_back(histo->binError(i)*scale/histo->axis().binWidth(i)); 00506 } 00507 00508 string title = histo->title(); 00509 string xtitle = histo->xtitle(); 00510 string ytitle = histo->ytitle(); 00511 00512 tree().mkdir("/tmpnormalize"); 00513 tree().mv(hpath, "/tmpnormalize"); 00514 00515 AIDA::IDataPointSet* dps = datapointsetFactory().createXY(hpath, title, x, y, ex, ey); 00516 dps->setXTitle(xtitle); 00517 dps->setYTitle(ytitle); 00518 00519 tree().rm(tree().findPath(dynamic_cast<AIDA::IManagedObject&>(*histo))); 00520 tree().rmdir("/tmpnormalize"); 00521 00522 // Set histo pointer to null - it can no longer be used. 00523 histo = 0; 00524 }
Set the required beams
Definition at line 244 of file Analysis.hh.
References Analysis::setRequiredBeams().
Referenced by ALEPH_1991_S2435284::ALEPH_1991_S2435284(), ALEPH_1996_S3196992::ALEPH_1996_S3196992(), ALEPH_1996_S3486095::ALEPH_1996_S3486095(), ALEPH_2004_S5765862::ALEPH_2004_S5765862(), ALICE_2010_S8624100::ALICE_2010_S8624100(), ALICE_2010_S8625980::ALICE_2010_S8625980(), ALICE_2010_S8706239::ALICE_2010_S8706239(), ATLAS_2010_S8817804::ATLAS_2010_S8817804(), ATLAS_2011_S8924791::ATLAS_2011_S8924791(), ATLAS_2011_S9120807::ATLAS_2011_S9120807(), BELLE_2006_S6265367::BELLE_2006_S6265367(), CDF_1988_S1865951::CDF_1988_S1865951(), CDF_1990_S2089246::CDF_1990_S2089246(), 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(), CDF_2010_S8591881_DY::CDF_2010_S8591881_DY(), CDF_2010_S8591881_QCD::CDF_2010_S8591881_QCD(), CMS_2011_S8957746::CMS_2011_S8957746(), D0_1996_S3214044::D0_1996_S3214044(), D0_1996_S3324664::D0_1996_S3324664(), 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_1996_S3430090::DELPHI_1996_S3430090(), 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_1998_S3612880::JADE_1998_S3612880(), JADE_OPAL_2000_S4300807::JADE_OPAL_2000_S4300807(), LHCB_2010_S8758301::LHCB_2010_S8758301(), OPAL_1993_S2692198::OPAL_1993_S2692198(), OPAL_1998_S3780481::OPAL_1998_S3780481(), OPAL_2001_S4553896::OPAL_2001_S4553896(), PDG_HADRON_MULTIPLICITIES::PDG_HADRON_MULTIPLICITIES(), PDG_HADRON_MULTIPLICITIES_RATIOS::PDG_HADRON_MULTIPLICITIES_RATIOS(), SFM_1984_S1178091::SFM_1984_S1178091(), STAR_2006_S6500200::STAR_2006_S6500200(), STAR_2006_S6860818::STAR_2006_S6860818(), STAR_2006_S6870392::STAR_2006_S6870392(), STAR_2008_S7869363::STAR_2008_S7869363(), STAR_2008_S7993412::STAR_2008_S7993412(), STAR_2009_UE_HELEN::STAR_2009_UE_HELEN(), TASSO_1990_S2148048::TASSO_1990_S2148048(), 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().
00244 { 00245 /// @todo Print out a warning to use setRequiredBeams() instead (and really to use .info files) 00246 return setRequiredBeams(std::vector<PdgIdPair>(1, make_pair(beam1, beam2))); 00247 }
Analysis & setCrossSection | ( | double | xs | ) | [inherited] |
Set the cross section from the generator.
Definition at line 165 of file Analysis.cc.
References Analysis::_crossSection, and Analysis::_gotCrossSection.
00165 { 00166 _crossSection = xs; 00167 _gotCrossSection = true; 00168 return *this; 00169 }
Analysis& setNeedsCrossSection | ( | bool | needed = true |
) | [inline, inherited] |
Declare whether this analysis needs to know the process cross-section from the generator.
Definition at line 225 of file Analysis.hh.
References Analysis::info(), and AnalysisInfo::setNeedsCrossSection().
Referenced by ALICE_2010_S8624100::ALICE_2010_S8624100(), ALICE_2010_S8625980::ALICE_2010_S8625980(), ALICE_2010_S8706239::ALICE_2010_S8706239(), ATLAS_2010_CONF_2010_049::ATLAS_2010_CONF_2010_049(), ATLAS_2010_S8591806::ATLAS_2010_S8591806(), ATLAS_2010_S8817804::ATLAS_2010_S8817804(), ATLAS_2010_S8914702::ATLAS_2010_S8914702(), ATLAS_2010_S8919674::ATLAS_2010_S8919674(), ATLAS_2011_CONF_2011_090::ATLAS_2011_CONF_2011_090(), ATLAS_2011_S8971293::ATLAS_2011_S8971293(), ATLAS_2011_S8983313::ATLAS_2011_S8983313(), ATLAS_2011_S9019561::ATLAS_2011_S9019561(), ATLAS_2011_S9120807::ATLAS_2011_S9120807(), CDF_1988_S1865951::CDF_1988_S1865951(), 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(), CMS_2011_S8884919::CMS_2011_S8884919(), D0_1996_S3214044::D0_1996_S3214044(), D0_1996_S3324664::D0_1996_S3324664(), 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_2009_S8349509::D0_2009_S8349509(), D0_2010_S8566488::D0_2010_S8566488(), D0_2010_S8570965::D0_2010_S8570965(), D0_2010_S8671338::D0_2010_S8671338(), D0_2010_S8821313::D0_2010_S8821313(), LHCB_2010_S8758301::LHCB_2010_S8758301(), MC_DIPHOTON::MC_DIPHOTON(), MC_HJETS::MC_HJETS(), MC_JetAnalysis::MC_JetAnalysis(), MC_JETS::MC_JETS(), MC_PHOTONJETS::MC_PHOTONJETS(), MC_WJETS::MC_WJETS(), MC_WPOL::MC_WPOL(), MC_WWJETS::MC_WWJETS(), MC_XS::MC_XS(), 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().
00225 { 00226 info().setNeedsCrossSection(needed); 00227 return *this; 00228 }
virtual Analysis& setRequiredBeams | ( | const std::vector< PdgIdPair > & | requiredBeams | ) | [inline, virtual, inherited] |
Declare the allowed pairs of incoming beams required by this analysis.
Definition at line 203 of file Analysis.hh.
References Analysis::info(), and AnalysisInfo::setBeams().
Referenced by Analysis::setBeams().
00203 { 00204 info().setBeams(requiredBeams); 00205 return *this; 00206 }
virtual Analysis& setRequiredEnergies | ( | const std::vector< std::pair< double, double > > & | requiredEnergies | ) | [inline, virtual, inherited] |
Declare the list of valid beam energy pairs, in GeV.
Definition at line 214 of file Analysis.hh.
References Analysis::info(), Analysis::requiredEnergies(), and AnalysisInfo::setEnergies().
00214 { 00215 info().setEnergies(requiredEnergies); 00216 return *this; 00217 }
virtual std::string spiresId | ( | ) | const [inline, virtual, inherited] |
Get a the SPIRES/Inspire ID code for this analysis.
Definition at line 117 of file Analysis.hh.
References Analysis::info(), and AnalysisInfo::spiresId().
00117 { 00118 return info().spiresId(); 00119 }
double sqrtS | ( | ) | const [inherited] |
Centre of mass energy for this run.
Definition at line 70 of file Analysis.cc.
References Analysis::handler(), and AnalysisHandler::sqrtS().
Referenced by UA1_1990_S2044935::analyze(), TASSO_1990_S2148048::analyze(), SFM_1984_S1178091::analyze(), PDG_HADRON_MULTIPLICITIES_RATIOS::analyze(), PDG_HADRON_MULTIPLICITIES::analyze(), JADE_1998_S3612880::analyze(), CDF_2004_S5839831::analyze(), ATLAS_2010_S8918562::analyze(), ATLAS_2010_S8894728::analyze(), ALICE_2010_S8625980::analyze(), ALEPH_2004_S5765862::analyze(), UA1_1990_S2044935::finalize(), PDG_HADRON_MULTIPLICITIES_RATIOS::finalize(), PDG_HADRON_MULTIPLICITIES::finalize(), JADE_1998_S3612880::finalize(), CMS_2011_S8978280::finalize(), CDF_2004_S5839831::finalize(), CDF_2002_S4796047::finalize(), ATLAS_2010_S8918562::finalize(), ALICE_2010_S8625980::finalize(), ALEPH_2004_S5765862::finalize(), UA5_1989_S1926373::init(), UA5_1988_S1867512::init(), UA5_1986_S1583476::init(), UA1_1990_S2044935::init(), TASSO_1990_S2148048::init(), SFM_1984_S1178091::init(), PDG_HADRON_MULTIPLICITIES_RATIOS::init(), PDG_HADRON_MULTIPLICITIES::init(), OPAL_2004_S6132243::init(), MC_ZZJETS::init(), MC_ZJETS::init(), MC_WWJETS::init(), MC_WPOL::init(), MC_WJETS::init(), MC_PHOTONJETS::init(), MC_JetAnalysis::init(), MC_HJETS::init(), MC_DIPHOTON::init(), JADE_OPAL_2000_S4300807::init(), JADE_1998_S3612880::init(), CMS_2011_S8978280::init(), CMS_2011_S8884919::init(), CMS_2010_S8547297::init(), CDF_2004_S5839831::init(), CDF_2002_S4796047::init(), CDF_1990_S2089246::init(), CDF_1988_S1865951::init(), ATLAS_2011_S8994773::init(), ATLAS_2010_S8918562::init(), ATLAS_2010_S8894728::init(), ALICE_2010_S8625980::init(), ALICE_2010_S8624100::init(), and ALEPH_2004_S5765862::init().
00070 { 00071 return handler().sqrtS(); 00072 }
virtual std::string status | ( | ) | const [inline, virtual, inherited] |
Whether this analysis is trusted (in any way!).
Definition at line 188 of file Analysis.hh.
References Analysis::info(), and AnalysisInfo::status().
virtual std::string summary | ( | ) | const [inline, virtual, inherited] |
Get a short description of the analysis.
Short (one sentence) description used as an index entry. Use description() to provide full descriptive paragraphs of analysis details.
Definition at line 134 of file Analysis.hh.
References Analysis::info(), and AnalysisInfo::summary().
00134 { 00135 return info().summary(); 00136 }
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 113 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_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(), CMS_2011_S8978280::finalize(), CMS_2010_S8656010::finalize(), CMS_2010_S8547297::finalize(), CDF_2009_S8436959::finalize(), CDF_2009_S8383952::finalize(), CDF_2009_S8233977::finalize(), CDF_2008_S8093652::finalize(), CDF_2008_S7828950::finalize(), CDF_2008_S7541902::finalize(), CDF_2008_S7540469::finalize(), CDF_2006_S6653332::finalize(), CDF_2006_S6450792::finalize(), CDF_2005_S6080774::finalize(), CDF_2001_S4563131::finalize(), CDF_2001_S4517016::finalize(), CDF_2000_S4266730::finalize(), CDF_2000_S4155203::finalize(), CDF_1998_S3618439::finalize(), ATLAS_2011_S9120807::finalize(), ATLAS_2011_CONF_2011_090::finalize(), ATLAS_2010_S8919674::finalize(), ATLAS_2010_S8914702::finalize(), ATLAS_2010_CONF_2010_049::finalize(), ALEPH_2004_S5765862::finalize(), ALEPH_1996_S3486095::finalize(), ALEPH_1996_S3196992::finalize(), and ALEPH_1991_S2435284::finalize().
00113 { 00114 return handler().sumOfWeights(); 00115 }
virtual std::vector<std::string> todos | ( | ) | const [inline, virtual, inherited] |
Any work to be done on this analysis.
Definition at line 193 of file Analysis.hh.
References Analysis::info(), and AnalysisInfo::todos().
00193 { 00194 return info().todos(); 00195 }
ITree & tree | ( | ) | [protected, inherited] |
Access the AIDA tree of the controlling AnalysisHandler object.
Definition at line 55 of file Analysis.cc.
References Analysis::handler(), and AnalysisHandler::tree().
Referenced by Analysis::_makeHistoDir(), Analysis::normalize(), and Analysis::scale().
00055 { 00056 return handler().tree(); 00057 }
virtual std::string year | ( | ) | const [inline, virtual, inherited] |
When the original experimental analysis was published.
Definition at line 168 of file Analysis.hh.
References Analysis::info(), and AnalysisInfo::year().
00168 { 00169 return info().year(); 00170 }
bool _allowProjReg [protected, inherited] |
Flag to forbid projection registration in analyses until the init phase.
Definition at line 140 of file ProjectionApplier.hh.
Referenced by ProjectionApplier::_addProjection(), and Analysis::Analysis().
string _defaultname [protected, inherited] |
Name passed to constructor (used to find .info analysis data file, and as a fallback).
Definition at line 533 of file Analysis.hh.
Referenced by Analysis::Analysis(), and Analysis::name().
shared_ptr<AnalysisInfo> _info [protected, inherited] |
Pointer to analysis metadata object.
Definition at line 536 of file Analysis.hh.
Referenced by Analysis::Analysis(), and Analysis::info().
AIDA::IProfile1D* _num90Max1800 [private] |
Profile histograms, binned in the of the leading jet, for the cone track multiplicity at
. Corresponds to figure 5, and HepData table 4.
Definition at line 357 of file CDF_2004_S5839831.cc.
Referenced by CDF_2004_S5839831::analyze(), and CDF_2004_S5839831::init().
AIDA::IProfile1D * _num90Min1800 [private] |
Definition at line 357 of file CDF_2004_S5839831.cc.
Referenced by CDF_2004_S5839831::analyze(), and CDF_2004_S5839831::init().
AIDA::IHistogram1D* _numTracksDbn1800MB [private] |
Histograms of track multiplicity and distributions for minimum bias events. Figure 6, and HepData tables 5 & 6. Figure 10, and HepData tables 10 & 11.
Definition at line 379 of file CDF_2004_S5839831.cc.
Referenced by CDF_2004_S5839831::analyze(), CDF_2004_S5839831::finalize(), and CDF_2004_S5839831::init().
AIDA::IHistogram1D* _numTracksDbn630MB [private] |
Definition at line 380 of file CDF_2004_S5839831.cc.
Referenced by CDF_2004_S5839831::analyze(), CDF_2004_S5839831::finalize(), and CDF_2004_S5839831::init().
AIDA::IHistogram1D * _pt90Dbn1800Et120 [private] |
Definition at line 372 of file CDF_2004_S5839831.cc.
Referenced by CDF_2004_S5839831::analyze(), CDF_2004_S5839831::finalize(), and CDF_2004_S5839831::init().
AIDA::IHistogram1D * _pt90Dbn1800Et160 [private] |
Definition at line 372 of file CDF_2004_S5839831.cc.
Referenced by CDF_2004_S5839831::analyze(), CDF_2004_S5839831::finalize(), and CDF_2004_S5839831::init().
AIDA::IHistogram1D * _pt90Dbn1800Et200 [private] |
Definition at line 372 of file CDF_2004_S5839831.cc.
Referenced by CDF_2004_S5839831::analyze(), CDF_2004_S5839831::finalize(), and CDF_2004_S5839831::init().
AIDA::IHistogram1D* _pt90Dbn1800Et40 [private] |
Histogram of distribution for 5 different
bins. Corresponds to figure 4, and HepData table 3.
Definition at line 372 of file CDF_2004_S5839831.cc.
Referenced by CDF_2004_S5839831::analyze(), CDF_2004_S5839831::finalize(), and CDF_2004_S5839831::init().
AIDA::IHistogram1D * _pt90Dbn1800Et80 [private] |
Definition at line 372 of file CDF_2004_S5839831.cc.
Referenced by CDF_2004_S5839831::analyze(), CDF_2004_S5839831::finalize(), and CDF_2004_S5839831::init().
AIDA::IProfile1D * _pt90Diff1800 [private] |
Definition at line 346 of file CDF_2004_S5839831.cc.
Referenced by CDF_2004_S5839831::analyze(), and CDF_2004_S5839831::init().
AIDA::IProfile1D * _pt90Diff630 [private] |
Definition at line 352 of file CDF_2004_S5839831.cc.
Referenced by CDF_2004_S5839831::analyze(), and CDF_2004_S5839831::init().
AIDA::IProfile1D* _pt90Max1800 [private] |
Profile histograms, binned in the of the leading jet, for the
sum in the toward, transverse and away regions at
. Corresponds to figure 2/3, and HepData table 2.
Definition at line 346 of file CDF_2004_S5839831.cc.
Referenced by CDF_2004_S5839831::analyze(), and CDF_2004_S5839831::init().
AIDA::IProfile1D* _pt90Max630 [private] |
Profile histograms, binned in the of the leading jet, for the
sum in the toward, transverse and away regions at at
. Corresponds to figure 8, and HepData table 8.
Definition at line 352 of file CDF_2004_S5839831.cc.
Referenced by CDF_2004_S5839831::analyze(), and CDF_2004_S5839831::init().
AIDA::IProfile1D* _pt90MaxAvg1800 [private] |
Profile histograms, binned in the of the leading jet, for the average
in the toward, transverse and away regions at
. Corresponds to Table 1, and HepData table 1.
Definition at line 340 of file CDF_2004_S5839831.cc.
Referenced by CDF_2004_S5839831::analyze(), and CDF_2004_S5839831::init().
AIDA::IProfile1D * _pt90Min1800 [private] |
Definition at line 346 of file CDF_2004_S5839831.cc.
Referenced by CDF_2004_S5839831::analyze(), and CDF_2004_S5839831::init().
AIDA::IProfile1D * _pt90Min630 [private] |
Definition at line 352 of file CDF_2004_S5839831.cc.
Referenced by CDF_2004_S5839831::analyze(), and CDF_2004_S5839831::init().
AIDA::IProfile1D * _pt90MinAvg1800 [private] |
Definition at line 340 of file CDF_2004_S5839831.cc.
Referenced by CDF_2004_S5839831::analyze(), and CDF_2004_S5839831::init().
AIDA::IHistogram1D * _ptDbn1800MB [private] |
Definition at line 379 of file CDF_2004_S5839831.cc.
Referenced by CDF_2004_S5839831::analyze(), CDF_2004_S5839831::finalize(), and CDF_2004_S5839831::init().
AIDA::IHistogram1D * _ptDbn630MB [private] |
Definition at line 380 of file CDF_2004_S5839831.cc.
Referenced by CDF_2004_S5839831::analyze(), CDF_2004_S5839831::finalize(), and CDF_2004_S5839831::init().
AIDA::IProfile1D* _pTSum1800_2Jet [private] |
Profile histograms, binned in the of the leading jet, for the
sum at
. Corresponds to figure 7, and HepData table 7.
Definition at line 362 of file CDF_2004_S5839831.cc.
Referenced by CDF_2004_S5839831::analyze(), and CDF_2004_S5839831::init().
AIDA::IProfile1D * _pTSum1800_3Jet [private] |
Definition at line 362 of file CDF_2004_S5839831.cc.
Referenced by CDF_2004_S5839831::analyze(), and CDF_2004_S5839831::init().
AIDA::IProfile1D* _pTSum630_2Jet [private] |
Profile histograms, binned in the of the leading jet, for the
sum at
. Corresponds to figure 9, and HepData table 9.
Definition at line 367 of file CDF_2004_S5839831.cc.
Referenced by CDF_2004_S5839831::analyze(), and CDF_2004_S5839831::init().
AIDA::IProfile1D * _pTSum630_3Jet [private] |
Definition at line 367 of file CDF_2004_S5839831.cc.
Referenced by CDF_2004_S5839831::analyze(), and CDF_2004_S5839831::init().