CMS 3D CMS Logo

Public Member Functions | Static Protected Member Functions | Private Member Functions

edm::EventBase Class Reference

#include <EventBase.h>

Inheritance diagram for edm::EventBase:
edm::Event fwlite::EventBase fwlite::ChainEvent fwlite::Event fwlite::EventContainer fwlite::MultiChainEvent

List of all members.

Public Member Functions

int bunchCrossing () const
virtual edm::EventAuxiliary const & eventAuxiliary () const =0
 EventBase ()
edm::EventAuxiliary::ExperimentType experimentType () const
template<typename T >
bool getByLabel (InputTag const &, Handle< T > &) const
template<>
bool getByLabel (edm::InputTag const &tag, Handle< FWGenericObject > &result) const
 Specialize the getByLabel method to work with a Handle<FWGenericObject>
edm::EventID id () const
bool isRealData () const
edm::LuminosityBlockNumber_t luminosityBlock () const
int orbitNumber () const
virtual ProcessHistory const & processHistory () const =0
edm::Timestamp time () const
virtual TriggerNames const & triggerNames (edm::TriggerResults const &triggerResults) const =0
virtual TriggerResultsByName triggerResultsByName (std::string const &process) const =0
virtual ~EventBase ()

Static Protected Member Functions

static TriggerNames const * triggerNames_ (edm::TriggerResults const &triggerResults)

Private Member Functions

virtual BasicHandle getByLabelImpl (std::type_info const &iWrapperType, std::type_info const &iProductType, InputTag const &iTag) const =0

Detailed Description

Definition at line 45 of file EventBase.h.


Constructor & Destructor Documentation

EventBase::EventBase ( )

Reimplemented in fwlite::EventBase.

Definition at line 33 of file EventBase.cc.

   {
   }
EventBase::~EventBase ( ) [virtual]

Reimplemented in fwlite::EventBase.

Definition at line 37 of file EventBase.cc.

   {
   }

Member Function Documentation

int edm::EventBase::bunchCrossing ( ) const [inline]

Definition at line 62 of file EventBase.h.

References edm::EventAuxiliary::bunchCrossing(), and eventAuxiliary().

Referenced by PrimaryVertexAnalyzer4PU::analyze(), IsolatedTracksHcalScale::analyze(), EBRawDataTask::analyze(), BeamHaloAnalyzer::analyze(), HcalDigiMonitor::analyze(), ESRawDataTask::analyze(), EERawDataTask::analyze(), HcalRecHitMonitor::analyze(), FourVectorHLTOnline::analyze(), HcalBeamMonitor::analyze(), HitEff::analyze(), SiPixelDigiSource::analyze(), EventTimeDistribution::analyze(), EcalTPGAnalyzer::analyze(), IsolatedTracksNxN::analyze(), HLTScalers::analyze(), RPCTTUMonitor::analyze(), HcalNZSMonitor::analyze(), EventHeader::analyze(), myJetAna::analyze(), CastorMonitorModule::analyze(), HLTInspect::analyze(), GlobalTrackerMuonAlignment::analyzeTrackTrack(), GlobalTrackerMuonAlignment::analyzeTrackTrajectory(), ecaldqm::RawDataTask::beginEvent(), ecaldqm::TrigPrimTask::beginEvent(), MultiplicityCorrelatorHistogramMaker::fill(), DigiVertexCorrHistogramMaker::fill(), DigiLumiCorrHistogramMaker::fill(), L1GlobalTriggerPSB::fillPsbBlock(), PhysDecl::filter(), BeamSplash::filter(), myFilter::filter(), FilterOutScraping::filter(), GetLumi::getRawValue(), L1GTDigiToRaw::packHeader(), L1GTEvmDigiToRaw::packHeader(), EETriggerTowerTask::processDigis(), EBTriggerTowerTask::processDigis(), EventWithHistoryProducerFromL1ABC::produce(), EventWithHistoryProducer::produce(), L1GlobalTrigger::produce(), ShallowEventDataProducer::produce(), APVCyclePhaseProducerFromL1ABC::produce(), edm::EventAuxiliaryHistoryProducer::produce(), RPCTrigger::produce(), EcalDigiToRaw::produce(), PVFitter::readEvent(), L1GlobalTriggerFDL::run(), and LaserSorter::writeEventHeader().

virtual edm::EventAuxiliary const& edm::EventBase::eventAuxiliary ( ) const [pure virtual]
edm::EventAuxiliary::ExperimentType edm::EventBase::experimentType ( ) const [inline]
bool edm::EventBase::getByLabel ( edm::InputTag const &  tag,
Handle< FWGenericObject > &  result 
) const

Specialize the getByLabel method to work with a Handle<FWGenericObject>

Specialize the Event's getByLabel method to work with a Handle<FWGenericObject>

Definition at line 65 of file FWGenericHandle.cc.

References edm::convert_handle(), edm::BasicHandle::failedToGet(), query::result, and GlobalPosition_Frontier_DevDB_cff::tag.

{
   std::string dataTypeName = result.type().Name(ROOT::Reflex::SCOPED);
   if (dataTypeName[dataTypeName.size() -1] == '>')
      dataTypeName += " ";
   std::string wrapperName = "edm::Wrapper<" + dataTypeName + ">";

   ROOT::Reflex::Type wrapperType = ROOT::Reflex::Type::ByName(wrapperName);

   BasicHandle bh = this->getByLabelImpl(wrapperType.TypeInfo(),
                                         result.type().TypeInfo(),
                                         tag);
   convert_handle(bh, result);  // throws on conversion error
   if(bh.failedToGet()) 
      return false;
   return true;
}
template<typename T >
bool EventBase::getByLabel ( InputTag const &  tag,
Handle< T > &  result 
) const
virtual BasicHandle edm::EventBase::getByLabelImpl ( std::type_info const &  iWrapperType,
std::type_info const &  iProductType,
InputTag const &  iTag 
) const [private, pure virtual]

Implemented in fwlite::EventBase, and edm::Event.

Referenced by getByLabel().

edm::EventID edm::EventBase::id ( void  ) const [inline]

Definition at line 56 of file EventBase.h.

References eventAuxiliary(), and edm::EventAuxiliary::id().

Referenced by fwlite::RunLumiSelector::accept(), Selection< C, Selector, StoreContainer >::accept(), edm::DataMixingEMWorker::addEMSignals(), edm::DataMixingEMDigiWorker::addEMSignals(), edm::DataMixingHcalDigiWorker::addHcalSignals(), edm::DataMixingHcalWorker::addHcalSignals(), edm::DataMixingMuonWorker::addMuonSignals(), edm::DataMixingModule::addSignals(), edm::MixingWorker< T >::addSignals(), edm::MixingModule::addSignals(), edm::HiMixingWorker< T >::addSignals(), edm::DataMixingSiPixelWorker::addSiPixelSignals(), SiStripHitEffFromCalibTree::algoAnalyze(), SiStripGainFromData::algoAnalyze(), MCPhotonAnalyzer::analyze(), DTTrigTest::analyze(), IgProfModule::analyze(), HFLightCalRand::analyze(), EcalEndcapMonitorModule::analyze(), sistrip::SpyIdentifyRunsModule::analyze(), ElectronAnalyzer::analyze(), XmasToDQMEventInfo::analyze(), EventIDChecker::analyze(), GlobalRecHitsHistogrammer::analyze(), ElectronMcFakeValidator::analyze(), JetValidation::analyze(), FFTJetImageRecorder::analyze(), GsfElectronDataAnalyzer::analyze(), IsolatedTracksHcalScale::analyze(), IsolatedGenParticles::analyze(), ValidationMisalignedTracker::analyze(), TrackerDpgAnalysis::analyze(), HcalDetDiagLaserMonitor::analyze(), GlobalDigisHistogrammer::analyze(), PhotonValidator::analyze(), PrimaryVertexAnalyzer4PU::analyze(), PhotonsWithConversionsAnalyzer::analyze(), EcalPedHists::analyze(), AlCaElectronsTest::analyze(), L1O2OTestAnalyzer::analyze(), EBRawDataTask::analyze(), L1TScalersSCAL::analyze(), KVFTest::analyze(), calcTopMass::analyze(), DumpGctDigis::analyze(), EcalBxOrbitNumberGrapher::analyze(), SiStripQualityStatistics::analyze(), HcalIsoTrkAnalyzer::analyze(), DTT0CalibrationNew::analyze(), EcalTrivialObjectAnalyzer::analyze(), EcnaAnalyzer::analyze(), ESTimingTask::analyze(), TrackingMonitor::analyze(), BeamHaloAnalyzer::analyze(), BeamSpotAnalyzer::analyze(), HcalPedestalMCWidths::analyze(), EBTrendTask::analyze(), SiStripMonitorRawData::analyze(), DQMEventInfo::analyze(), MuonSimHitsValidAnalyzer::analyze(), ElectronConversionRejectionValidator::analyze(), CentralityTableProducer::analyze(), pat::CandidateSummaryTable::analyze(), GctErrorAnalyzer::analyze(), EcalURecHitHists::analyze(), EcalMipGraphs::analyze(), ResidualRefitting::analyze(), LhcTrackAnalyzer::analyze(), BigEventsDebugger::analyze(), Vx3DHLTAnalyzer::analyze(), EcalBarrelMonitorClient::analyze(), ESRawDataTask::analyze(), ElectronGeneralAnalyzer::analyze(), EcalRecHitsValidation::analyze(), cms::DiJetAnalyzer::analyze(), HFLightCal::analyze(), SiStripApvGainBuilder::analyze(), SiStripThresholdBuilder::analyze(), EcalBarrelMonitorModule::analyze(), EERawDataTask::analyze(), SiStripMonitorCluster::analyze(), DQMFileSaver::analyze(), PlaybackRawDataProvider::analyze(), test::GlobalNumbersAnalysis::analyze(), GlobalDigisAnalyzer::analyze(), PerformanceAnalyzer::analyze(), SiPixelRecHitsValid::analyze(), KineExample::analyze(), ElectronIDAnalyzer::analyze(), SiPixelOfflineCalibAnalysisBase::analyze(), SiPixelErrorEstimation::analyze(), LaserSorter::analyze(), edmtest::RunSummaryESAnalyzer::analyze(), SiStripCommissioningOfflineClient::analyze(), PhotonAnalyzer::analyze(), CaloMETAnalyzer::analyze(), EcalDigisValidation::analyze(), DuplicationChecker::analyze(), DTConfigTester::analyze(), HLTrigReport::analyze(), EcalCosmicsHists::analyze(), HcalDetDiagPedestalMonitor::analyze(), TopDiLeptonDQM::analyze(), SiStripCommissioningSource::analyze(), RPCPhiEff::analyze(), ElectronMcSignalValidator::analyze(), GsfElectronMCFakeAnalyzer::analyze(), HitEff::analyze(), DTT0Calibration::analyze(), CastorDumpConditions::analyze(), SiStripDetVOffFakeBuilder::analyze(), ESOccupancyTask::analyze(), HcalDetDiagNoiseMonitor::analyze(), SiStripMonitorDigi::analyze(), SiStripCMMonitorPlugin::analyze(), GlobalHitsAnalyzer::analyze(), HcalSimHitStudy::analyze(), SiPixelTrackingRecHitsValid::analyze(), edm::SecSourceAnalyzer::analyze(), MCPizeroAnalyzer::analyze(), ElectronSeedAnalyzer::analyze(), SiPixelLorentzAngle::analyze(), SiStripNoisesBuilder::analyze(), HcalMonitorModule::analyze(), ElectronTagProbeAnalyzer::analyze(), ZToMuMuGammaAnalyzer::analyze(), CSCViewDigi::analyze(), ContainmentCorrectionAnalyzer::analyze(), EcalBarrelSimHitsValidation::analyze(), SimHitsValidationHcal::analyze(), SimpleConvertedPhotonAnalyzer::analyze(), MCElectronAnalyzer::analyze(), IsolatedTracksCone::analyze(), cms::GammaJetAnalysis::analyze(), CastorPedestalsAnalysis::analyze(), edmtest::RunInfoESAnalyzer::analyze(), SiStripSummaryBuilder::analyze(), SiStripSpyDisplayModule::analyze(), ZdcSimHitStudy::analyze(), SiStripRecHitsValid::analyze(), FFTJetPileupAnalyzer::analyze(), SimplePhotonAnalyzer::analyze(), GsfElectronMCAnalyzer::analyze(), HOCalibAnalyzer::analyze(), edmtest::L1TriggerScalerESAnalyzer::analyze(), SiStripPedestalsBuilder::analyze(), HcalMonitorClient::analyze(), HcalTimingMonitorModule::analyze(), ZDCMonitorModule::analyze(), HcalDetDiagLEDMonitor::analyze(), SiStripFEDMonitorPlugin::analyze(), PFJetAnalyzer::analyze(), MulticoreRunLumiEventChecker::analyze(), GlobalRecHitsAnalyzer::analyze(), CSCDigiDump::analyze(), TestOutliers::analyze(), SiStripBaselineAnalyzer::analyze(), SimplePi0DiscAnalyzer::analyze(), EcalTPGAnalyzer::analyze(), IsolatedTracksNxN::analyze(), HcalPedestalsAnalysis::analyze(), L1CondDBIOVWriter::analyze(), DTCreateSummaryHistos::analyze(), DTSegmentAnalysisTask::analyze(), EcalSimHitsValidation::analyze(), KVFTrackUpdate::analyze(), DQMAnalyzer::analyze(), EcalDisplaysByEvent::analyze(), ValidIsoTrkCalib::analyze(), HFPreLightCal::analyze(), HcalPedestalWidthsValidation::analyze(), EcalEndcapMonitorClient::analyze(), ZDCMonitorClient::analyze(), HLTScalers::analyze(), PiZeroAnalyzer::analyze(), TrackerHitAnalyzer::analyze(), BeamSpotFromDB::analyze(), PFCandidateChecker::analyze(), EventHeader::analyze(), SiStripLAProfileBooker::analyze(), EcalLaserAnalyzerYousi::analyze(), AlignmentStats::analyze(), L1TRate::analyze(), HiggsDQM::analyze(), SiStripMonitorTrack::analyze(), evf::EvFRecordInserter::analyze(), EcalEndcapSimHitsValidation::analyze(), myJetAna::analyze(), GsfElectronFakeAnalyzer::analyze(), HcalTBWriter::analyze(), ElectronStudy::analyze(), RawDataConverter::analyze(), edmtest::HcalDumpConditions::analyze(), HLTInspect::analyze(), CastorMonitorModule::analyze(), ESPedestalTask::analyze(), sistrip::SpyExtractRunModule::analyze(), SiStripSpyMonitorModule::analyze(), SiStripMonitorPedestals::analyze(), JetAnalyzer::analyze(), EcalPreshowerSimHitsValidation::analyze(), GlobalHitsHistogrammer::analyze(), TkConvValidator::analyze(), L1GtAnalyzer::analyzeConditionsInEventBlock(), MuonDetLayerMeasurements::checkCSCRecHits(), MuonDetLayerMeasurements::checkDTRecHits(), MuonDetLayerMeasurements::checkRPCRecHits(), CSCDigiToRaw::createFedBuffers(), sistrip::DigiToRaw::createFedBuffers_(), GsfElectronAlgo::displayInternalElectrons(), edm::DataMixingModule::doPileUp(), edm::MixingModule::doPileUp(), CastorDumpConditions::dumpIt(), edmtest::HcalDumpConditions::dumpIt(), AlignmentProducer::duringLoop(), EventWithHistory::EventWithHistory(), L1GtPatternGenerator::extractGlobalTriggerData(), extractRecordData(), FWHLTTriggerTableView::fillAverageAcceptFractions(), HLXMonitor::FillEventInfo(), L1GlobalTriggerPSB::fillPsbBlock(), DTTFFEDSim::fillRawData(), edm::GeneratorFilter< HAD, DEC >::filter(), HSCPTreeBuilder::filter(), edm::HadronizerFilter< HAD, DEC >::filter(), HLTPrescaler::filter(), EcalSkim::filter(), PhysDecl::filter(), MCZll::filter(), PythiaFilterGammaJetIsoPi0::filter(), BeamSplash::filter(), SiStripCommissioningBasicPrescaler::filter(), PFDQMEventSelector::filter(), HLTEcalResonanceFilter::filter(), EcalTangentFilter::filter(), LogErrorEventFilter::filter(), NMaxPerLumi::filter(), PickEvents::filter(), SkipBadEvents::filter(), myFilter::filter(), SiStripShotFilter::filter(), FilterOutScraping::filter(), FWFileEntry::filterEventsWithCustomParser(), RunManager::generateEvent(), L1GtUtils::getL1GtRecordInputTag(), MatacqProducer::getOrbitId(), edm::Event::getProcessParameterSet(), TrackProducerWithSCAssociation::getTransient(), TrackProducer::getTransient(), HLTEventNumberFilter::hltFilter(), tnp::BaseTreeFiller::init(), PFRootEventManager::initializeEventInformation(), FWFFNavigator::isFirstEvent(), CmsShowMainFrame::loadEvent(), EgammaHLTNxNClusterProducer::makeNxNClusters(), CentralityProvider::newEvent(), RunLumiSelector::operator()(), L1GTDigiToRaw::packHeader(), L1GTEvmDigiToRaw::packHeader(), edm::service::IgProfService::postEvent(), edm::service::SimpleMemoryCheck::postEventProcessing(), CkfDebugger::printSimHits(), PFRootEventManager::processEntry(), AlignmentMonitorMuonSystemMap1D::processMuonResidualsFromTrack(), FFTJetTreeDump::processTreeData(), TrackProducer::produce(), edm::ExpoRandomPtGunProducer::produce(), ESDigiToRaw::produce(), edm::CosMuoGenProducer::produce(), GlobalHitsProdHist::produce(), EventWithHistoryProducer::produce(), EventWithHistoryProducerFromL1ABC::produce(), EgammaHLTNxNClusterProducer::produce(), RPCPackingModule::produce(), edm::BeamHaloProducer::produce(), CosmicMuonProducer::produce(), edm::FileRandomKEThetaGunProducer::produce(), edm::ExhumeProducer::produce(), BeamSpotProducer::produce(), GoodSeedProducer::produce(), LaserAlignment::produce(), CSCTFPacker::produce(), DTDigitizer::produce(), PFElecTkProducer::produce(), L1Comparator::produce(), edm::FlatRandomOneOverPtGunProducer::produce(), GctDigiToRaw::produce(), SiPixelDigiToRaw::produce(), FakeTBEventHeaderProducer::produce(), PFDisplacedVertexCandidateProducer::produce(), PFBlockProducer::produce(), ESListOfFEDSProducer::produce(), PreshowerClusterShapeProducer::produce(), L1GlobalTrigger::produce(), edm::FlatRandomPtGunProducer::produce(), edm::FlatRandomEThetaGunProducer::produce(), NtpProducer< C >::produce(), GlobalRecHitsProducer::produce(), DTDigiToRawModule::produce(), GlobalHitsProducer::produce(), edm::FlatRandomEGunProducer::produce(), ShallowEventDataProducer::produce(), TrackerHitProducer::produce(), reco::modules::TrackerTrackHitFilter::produce(), SiPixelCalibDigiProducer::produce(), APVCyclePhaseProducerFromL1ABC::produce(), CSCDCCUnpacker::produce(), HcalDigiToRaw::produce(), sistrip::RawToDigiModule::produce(), CosmicMuonLinksProducer::produce(), RPCTrigger::produce(), edm::FlatRandomPtThetaGunProducer::produce(), TopProjector< Top, Bottom >::produce(), AlcaBeamSpotProducer::produce(), AlCaHOCalibProducer::produce(), ZToLLEdmNtupleDumper::produce(), edm::EventAuxiliaryHistoryProducer::produce(), gen::Pythia6Gun::produce(), StoreSecondary::produce(), RunManager::produce(), GsfTrackProducer::produce(), PFDisplacedVertexProducer::produce(), PFProducer::produce(), VirtualJetProducer::produce(), EcalTBH2TDCRecInfoProducer::produce(), EcalRecHitsMerger::produce(), HcalPatternSource::produce(), edm::MultiParticleInConeGunProducer::produce(), PFSimParticleProducer::produce(), SiPixelFedFillerWordEventNumber::produce(), CastorDigiToRaw::produce(), TrackRefitter::produce(), ESRecHitsMerger::produce(), EcalListOfFEDSProducer::produce(), EcalDigiToRaw::produce(), EcalTrigPrimProducer::produce(), GsfTrackRefitter::produce(), ConvBremSeedProducer::produce(), DTTrigProd::produce(), GlobalDigisProducer::produce(), PixelTrackProducer::produce(), PFV0Producer::produce(), PiZeroDiscriminatorProducer::produce(), FSPFProducer::produce(), PVFitter::readEvent(), BeamFitter::readEvent(), ElectronSeedGenerator::run(), SiStripElectronSeedGenerator::run(), edm::Event::run(), L1GlobalTriggerFDL::run(), FastElectronSeedGenerator::run(), FWFFNavigator::setCurrentEvent(), PFMETDQMAnalyzer::storeBadEvents(), PFJetDQMAnalyzer::storeBadEvents(), PFCandidateDQMAnalyzer::storeBadEvents(), OnDemandMeasurementTracker::updateStrips(), FRDEventOutputModule< Consumer >::write(), and LaserSorter::writeEventHeader().

{return eventAuxiliary().id();}
bool edm::EventBase::isRealData ( ) const [inline]
edm::LuminosityBlockNumber_t edm::EventBase::luminosityBlock ( ) const [inline]

Definition at line 59 of file EventBase.h.

References eventAuxiliary(), and edm::EventAuxiliary::luminosityBlock().

Referenced by fwlite::RunLumiSelector::accept(), SiStripHitEffFromCalibTree::algoAnalyze(), XmasToDQMEventInfo::analyze(), ElectronAnalyzer::analyze(), JetMETAnalyzer::analyze(), IsolatedTracksHcalScale::analyze(), BeamMonitorBx::analyze(), L1TGT::analyze(), PrimaryVertexAnalyzer4PU::analyze(), SiPixelClusterSource::analyze(), L1TScalersSCAL::analyze(), SiStripQualityStatistics::analyze(), HcalDigiMonitor::analyze(), OccupancyPlotter::analyze(), BeamHaloAnalyzer::analyze(), HLTAnalyzer::analyze(), L1Scalers::analyze(), ElectronGeneralAnalyzer::analyze(), HcalTrigPrimMonitor::analyze(), test::GlobalNumbersAnalysis::analyze(), LaserSorter::analyze(), HcalDetDiagTimingMonitor::analyze(), HcalRecHitMonitor::analyze(), WenuPlots::analyze(), HcalCoarsePedestalMonitor::analyze(), TopDiLeptonDQM::analyze(), HLTrigReport::analyze(), HcalBaseDQMonitor::analyze(), HcalBeamMonitor::analyze(), HcalDataIntegrityTask::analyze(), HcalDetDiagNoiseMonitor::analyze(), ZeePlots::analyze(), HcalMonitorModule::analyze(), SiPixelDigiSource::analyze(), ElectronTagProbeAnalyzer::analyze(), HcalMonitorClient::analyze(), ZDCMonitorModule::analyze(), HcalDeadCellMonitor::analyze(), HcalRawDataMonitor::analyze(), IsolatedTracksNxN::analyze(), DQMHcalPhiSymHLT::analyze(), NoiseRates::analyze(), ZDCMonitorClient::analyze(), BeamMonitor::analyze(), HcalHotCellMonitor::analyze(), HcalNZSMonitor::analyze(), SiPixelRawDataErrorSource::analyze(), EventHeader::analyze(), RawDataConverter::analyze(), HLTInspect::analyze(), CastorMonitorModule::analyze(), myJetAna::analyze(), L1GtAnalyzer::analyzeConditionsInEventBlock(), L1GtAnalyzer::analyzeL1GtUtilsCore(), MuCorrMETAnalyzer::fillMonitorElement(), METAnalyzer::fillMonitorElement(), PFMETAnalyzer::fillMonitorElement(), TcMETAnalyzer::fillMonitorElement(), CaloMETAnalyzer::fillMonitorElementTriggered(), ZeeCandidateFilter::filter(), LumiblockFilter::filter(), PhysDecl::filter(), BeamSplash::filter(), LogErrorEventFilter::filter(), FilterOutScraping::filter(), L1GlobalTrigger::produce(), NtpProducer< C >::produce(), ShallowEventDataProducer::produce(), ZToLLEdmNtupleDumper::produce(), PVFitter::readEvent(), BeamFitter::readEvent(), L1GlobalTriggerFDL::run(), fwlite::MultiChainEvent::to(), fwlite::Event::to(), fwlite::ChainEvent::to(), edm::LumiReWeighting::weightOOT(), FRDEventOutputModule< Consumer >::write(), and LaserSorter::writeEventHeader().

int edm::EventBase::orbitNumber ( ) const [inline]
virtual ProcessHistory const& edm::EventBase::processHistory ( ) const [pure virtual]
edm::Timestamp edm::EventBase::time ( ) const [inline]
virtual TriggerNames const& edm::EventBase::triggerNames ( edm::TriggerResults const &  triggerResults) const [pure virtual]
TriggerNames const * EventBase::triggerNames_ ( edm::TriggerResults const &  triggerResults) [static, protected]

Definition at line 42 of file EventBase.cc.

References edm::ParameterSet::addParameter(), Exception, edm::ParameterSet::existsAs(), edm::detail::ThreadSafeRegistry< KEY, T, E >::getMapped(), edm::TriggerResults::getTriggerNames(), edm::ParameterSet::id(), instance, edm::TriggerResults::parameterSetID(), edm::previousTriggerName, edm::ParameterSet::registerIt(), run_regression::ret, edm::HLTGlobalStatus::size(), edm::TriggerNames::size(), triggerNames(), and edm::triggerNamesMap.

Referenced by edm::Event::triggerNames(), fwlite::MultiChainEvent::triggerNames(), fwlite::Event::triggerNames(), fwlite::MultiChainEvent::triggerResultsByName(), fwlite::Event::triggerResultsByName(), and edm::Event::triggerResultsByName().

                                                                   {

      // If the current and previous requests are for the same TriggerNames
      // then just return it.  
      if (!triggerNamesMap.empty() &&
          previousTriggerName->first == triggerResults.parameterSetID()) {
         return &previousTriggerName->second;
      }

      // If TriggerNames was already created and cached here in the map,
      // then look it up and return that one
      TriggerNamesMap::const_iterator iter =
         triggerNamesMap.find(triggerResults.parameterSetID());
      if (iter != triggerNamesMap.end()) {
         previousTriggerName = iter;
         return &iter->second;
      }

      // Look for the parameter set containing the trigger names in the parameter
      // set registry using the ID from TriggerResults as the key used to find it.
      edm::pset::Registry* psetRegistry = edm::pset::Registry::instance();
      edm::ParameterSet const* pset=0;
      if (0!=(pset=psetRegistry->getMapped(triggerResults.parameterSetID()))) {

         if (pset->existsAs<std::vector<std::string> >("@trigger_paths", true)) {
            TriggerNames triggerNames(*pset);

            // This should never happen
            if (triggerNames.size() != triggerResults.size()) {
               throw cms::Exception("LogicError")
                  << "edm::EventBase::triggerNames_ Encountered vector\n"
                     "of trigger names and a TriggerResults object with\n"
                     "different sizes.  This should be impossible.\n"
                     "Please send information to reproduce this problem to\n"
                     "the edm developers.\n";
            }

            std::pair<TriggerNamesMap::iterator, bool> ret =
               triggerNamesMap.insert(std::pair<edm::ParameterSetID, edm::TriggerNames>(triggerResults.parameterSetID(), triggerNames));
            previousTriggerName = ret.first;
            return &(ret.first->second);
         }
      }
      // For backward compatibility to very old data
      if (triggerResults.getTriggerNames().size() > 0U) {
         edm::ParameterSet fakePset;
         fakePset.addParameter<std::vector<std::string> >("@trigger_paths", triggerResults.getTriggerNames());
         fakePset.registerIt();
         TriggerNames triggerNames(fakePset);

         // This should never happen
         if (triggerNames.size() != triggerResults.size()) {
            throw cms::Exception("LogicError")
               << "edm::EventBase::triggerNames_ Encountered vector\n"
                  "of trigger names and a TriggerResults object with\n"
                  "different sizes.  This should be impossible.\n"
                  "Please send information to reproduce this problem to\n"
                  "the edm developers (2).\n";
         }

         std::pair<TriggerNamesMap::iterator, bool> ret =
            triggerNamesMap.insert(std::pair<edm::ParameterSetID, edm::TriggerNames>(fakePset.id(), triggerNames));
         previousTriggerName = ret.first;
         return &(ret.first->second);
      }
      return 0;
   }
virtual TriggerResultsByName edm::EventBase::triggerResultsByName ( std::string const &  process) const [pure virtual]