CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Protected Member Functions | Private Member Functions
edm::EventBase Class Referenceabstract

#include <EventBase.h>

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

Public Member Functions

int bunchCrossing () const
 
virtual edm::EventAuxiliary const & eventAuxiliary () const =0
 
 EventBase ()
 
edm::EventAuxiliary::ExperimentType experimentType () const
 
template<typename T >
bool get (ProductID const &, Handle< T > &) 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> More...
 
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
 
virtual BasicHandle getImpl (std::type_info const &iProductType, ProductID const &iTag) const =0
 

Detailed Description

Definition at line 45 of file EventBase.h.

Constructor & Destructor Documentation

EventBase::EventBase ( )

Definition at line 39 of file EventBase.cc.

40  {
41  }
EventBase::~EventBase ( )
virtual

Reimplemented in fwlite::EventBase.

Definition at line 43 of file EventBase.cc.

44  {
45  }

Member Function Documentation

int edm::EventBase::bunchCrossing ( ) const
inline
virtual edm::EventAuxiliary const& edm::EventBase::eventAuxiliary ( ) const
pure virtual
edm::EventAuxiliary::ExperimentType edm::EventBase::experimentType ( ) const
inline

Definition at line 64 of file EventBase.h.

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

Referenced by HLTInspect::analyze(), HLTTriggerTypeFilter::filter(), and edm::EventAuxiliaryHistoryProducer::produce().

64 {return eventAuxiliary().experimentType();}
virtual edm::EventAuxiliary const & eventAuxiliary() const =0
ExperimentType experimentType() const
template<typename T >
bool EventBase::get ( ProductID const &  pid,
Handle< T > &  result 
) const

Definition at line 102 of file EventBase.h.

References edm::HandleBase::clear(), edm::convert_handle(), edm::HandleBase::failedToGet(), getImpl(), and eostools::move().

Referenced by Options.Options::__getitem__().

102  {
103  result.clear();
104  BasicHandle bh = this->getImpl(typeid(T), pid);
105  convert_handle(std::move(bh), result); // throws on conversion error
106  if (result.failedToGet()) {
107  return false;
108  }
109  return true;
110  }
def move
Definition: eostools.py:510
void convert_handle(BasicHandle &&bh, Handle< T > &result)
Definition: ConvertHandle.h:19
virtual BasicHandle getImpl(std::type_info const &iProductType, ProductID const &iTag) const =0
tuple pid
Definition: sysUtil.py:22
long double T
template<typename T >
bool EventBase::getByLabel ( InputTag const &  tag,
Handle< T > &  result 
) const

Definition at line 90 of file EventBase.h.

References edm::HandleBase::clear(), edm::convert_handle(), edm::HandleBase::failedToGet(), getByLabelImpl(), and eostools::move().

Referenced by FWHLTValidator::fillOptions(), PhoFull5x5SigmaIEtaIEtaValueMapCut::getEventContent(), GsfEleMVACut::getEventContent(), PhoMVACut::getEventContent(), PhoAnyPFIsoWithEACut::getEventContent(), GsfEleEffAreaPFIsoCut::getEventContent(), GsfEleDxyCut::getEventContent(), GsfEleDzCut::getEventContent(), MuonPOGStandardCut::getEventContent(), GsfEleConversionVetoCut::getEventContent(), MuonDxyCut::getEventContent(), GsfEleEmHadD1IsoRhoCut::getEventContent(), MuonDzCut::getEventContent(), and GsfEleCalPFClusterIsoCut::getEventContent().

90  {
91  result.clear();
92  BasicHandle bh = this->getByLabelImpl(typeid(edm::Wrapper<T>), typeid(T), tag);
93  convert_handle(std::move(bh), result); // throws on conversion error
94  if (result.failedToGet()) {
95  return false;
96  }
97  return true;
98  }
virtual BasicHandle getByLabelImpl(std::type_info const &iWrapperType, std::type_info const &iProductType, InputTag const &iTag) const =0
def move
Definition: eostools.py:510
void convert_handle(BasicHandle &&bh, Handle< T > &result)
Definition: ConvertHandle.h:19
long double T
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 56 of file FWGenericHandle.cc.

References edm::TypeWithDict::byName(), edm::convert_handle(), edm::BasicHandle::failedToGet(), mps_fire::result, AlCaHLTBitMon_QueryRunRegistry::string, GlobalPosition_Frontier_DevDB_cff::tag, and edm::TypeWithDict::typeInfo().

58 {
59  std::string dataTypeName = result.type().name();
60  if (dataTypeName[dataTypeName.size() -1] == '>')
61  dataTypeName += " ";
62  std::string wrapperName = "edm::Wrapper<" + dataTypeName + ">";
63 
64  edm::TypeWithDict wrapperType(edm::TypeWithDict::byName(wrapperName));
65 
66  BasicHandle bh = this->getByLabelImpl(wrapperType.typeInfo(),
67  result.type().typeInfo(),
68  tag);
69  convert_handle(bh, result); // throws on conversion error
70  if(bh.failedToGet())
71  return false;
72  return true;
73 }
virtual BasicHandle getByLabelImpl(std::type_info const &iWrapperType, std::type_info const &iProductType, InputTag const &iTag) const =0
static TypeWithDict byName(std::string const &name)
Definition: TypeWithDict.cc:60
void convert_handle(BasicHandle &&bh, Handle< T > &result)
Definition: ConvertHandle.h:19
virtual BasicHandle edm::EventBase::getByLabelImpl ( std::type_info const &  iWrapperType,
std::type_info const &  iProductType,
InputTag const &  iTag 
) const
privatepure virtual

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

Referenced by getByLabel().

virtual BasicHandle edm::EventBase::getImpl ( std::type_info const &  iProductType,
ProductID const &  iTag 
) const
privatepure virtual

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

Referenced by get().

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

Definition at line 59 of file EventBase.h.

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

Referenced by fwlite::RunLumiSelector::accept(), CSCDigiDump::analyze(), ElectronIDAnalyzer::analyze(), evf::EvFRecordInserter::analyze(), PerformanceAnalyzer::analyze(), SiStripDetVOffFakeBuilder::analyze(), ESPedestalTask::analyze(), SiStripNoisesBuilder::analyze(), SiStripThresholdBuilder::analyze(), KVFTrackUpdate::analyze(), SiStripApvGainBuilder::analyze(), SiStripPedestalsBuilder::analyze(), SiStripSummaryBuilder::analyze(), edmtest::FillInfoESAnalyzer::analyze(), EventHeader::analyze(), HcalTBWriter::analyze(), ElectronGeneralAnalyzer::analyze(), BeamSpotFromDB::analyze(), ESTimingTask::analyze(), PUDumper::analyze(), edmtest::RunInfoESAnalyzer::analyze(), edmtest::L1TriggerScalerESAnalyzer::analyze(), edmtest::RunSummaryESAnalyzer::analyze(), HLTInspect::analyze(), DTConfigTester::analyze(), KVFTest::analyze(), CSCRecoBadChannelsAnalyzer::analyze(), DQMEventInfo::analyze(), sistrip::SpyExtractRunModule::analyze(), EventIDChecker::analyze(), AbortOnEventIDAnalyzer::analyze(), sistrip::SpyIdentifyRunsModule::analyze(), DuplicationChecker::analyze(), SiStripMonitorRawData::analyze(), edm::SecSourceAnalyzer::analyze(), PSMonitor::analyze(), EcalBxOrbitNumberGrapher::analyze(), FFTJetImageRecorder::analyze(), IgProfModule::analyze(), FWHLTTriggerTableView::fillAverageAcceptFractions(), DTROS8FileReader::fillRawData(), DTROS25FileReader::fillRawData(), DTSpyReader::fillRawData(), PFDQMEventSelector::filter(), TrackingFailureFilter::filter(), EcalTangentFilter::filter(), PhotonIsoProducer::filter(), MultiEventFilter::filter(), SiStripCommissioningBasicPrescaler::filter(), BeamSplash::filter(), EcalLaserCorrFilter::filter(), FilterOutScraping::filter(), PhysDecl::filter(), NMaxPerLumi::filter(), HLTEventNumberFilter::filter(), MCZll::filter(), EcalSkim::filter(), HcalLaserHFFilter2012::filter(), SiStripShotFilter::filter(), FWFFNavigator::isFirstEvent(), RunLumiSelector::operator()(), ShallowEventDataProducer::produce(), HcalPatternSource::produce(), edm::FlatRandomPtThetaGunProducer::produce(), edm::FlatRandomEThetaGunProducer::produce(), edm::FileRandomKEThetaGunProducer::produce(), edm::EventAuxiliaryHistoryProducer::produce(), PixelTrackProducer::produce(), GsfTrackProducer::produce(), CosmicMuonProducer::produce(), edm::FlatRandomOneOverPtGunProducer::produce(), CSCDigiProducer::produce(), DTDigiToRawModule::produce(), GsfTrackRefitter::produce(), EcalTBH2TDCRecInfoProducer::produce(), edm::FlatRandomPtGunProducer::produce(), edm::FlatRandomEGunProducer::produce(), CosmicMuonLinksProducer::produce(), CalibratedPhotonProducerRun2T< T >::produce(), edm::ExpoRandomPtGunProducer::produce(), edm::ExpoRandomPGunProducer::produce(), ESRecHitsMerger::produce(), CalibratedElectronProducerRun2T< T >::produce(), StoreSecondary::produce(), PFV0Producer::produce(), ESDigiToRaw::produce(), NtpProducer< C >::produce(), CastorDigiToRaw::produce(), PFDisplacedVertexProducer::produce(), HcalDigiToRaw::produce(), RPCPackingModule::produce(), BeamSpotProducer::produce(), PFDisplacedVertexCandidateProducer::produce(), CSCRecHitDProducer::produce(), LaserAlignmentProducer::produce(), PFMET::produce(), SiPixelDigiToRaw::produce(), FakeTBEventHeaderProducer::produce(), edm::BeamHaloProducer::produce(), DTTrigProd::produce(), EventWithHistoryProducer::produce(), EventWithHistoryProducerFromL1ABC::produce(), L1Analysis::L1AnalysisEvent::Set(), and FWFFNavigator::setCurrentEvent().

59 {return eventAuxiliary().id();}
virtual edm::EventAuxiliary const & eventAuxiliary() const =0
EventID const & id() const
bool edm::EventBase::isRealData ( ) const
inline
edm::LuminosityBlockNumber_t edm::EventBase::luminosityBlock ( ) const
inline
int edm::EventBase::orbitNumber ( ) const
inline
virtual ProcessHistory const& edm::EventBase::processHistory ( ) const
pure virtual
edm::Timestamp edm::EventBase::time ( ) const
inline

Definition at line 60 of file EventBase.h.

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

Referenced by DQMEventInfo::analyze(), EcalLaserCorrFilter::filter(), edm::EventAuxiliaryHistoryProducer::produce(), and L1Analysis::L1AnalysisEvent::Set().

60 {return eventAuxiliary().time();}
virtual edm::EventAuxiliary const & eventAuxiliary() const =0
Timestamp const & time() const
virtual TriggerNames const& edm::EventBase::triggerNames ( edm::TriggerResults const &  triggerResults) const
pure virtual
TriggerNames const * EventBase::triggerNames_ ( edm::TriggerResults const &  triggerResults)
staticprotected

Definition at line 48 of file EventBase.cc.

References edm::ParameterSet::addParameter(), Exception, edm::ParameterSet::existsAs(), edm::pset::Registry::getMapped(), edm::TriggerResults::getTriggerNames(), edm::ParameterSet::id(), edm::pset::Registry::instance(), edm::TriggerResults::parameterSetID(), TrackValidation_cff::pset, edm::ParameterSet::registerIt(), runTheMatrix::ret, edm::HLTGlobalStatus::size(), edm::TriggerNames::size(), and triggerNames().

48  {
49 
50  // If TriggerNames was already created and cached here in the map,
51  // then look it up and return that one
52  TriggerNamesMap::const_iterator iter =
53  triggerNamesMap.find(triggerResults.parameterSetID());
54  if (iter != triggerNamesMap.end()) {
55  return &iter->second;
56  }
57 
58  // Look for the parameter set containing the trigger names in the parameter
59  // set registry using the ID from TriggerResults as the key used to find it.
61  edm::ParameterSet const* pset=0;
62  if (0!=(pset=psetRegistry->getMapped(triggerResults.parameterSetID()))) {
63 
64  if (pset->existsAs<std::vector<std::string> >("@trigger_paths", true)) {
65  TriggerNames triggerNames(*pset);
66 
67  // This should never happen
68  if (triggerNames.size() != triggerResults.size()) {
69  throw cms::Exception("LogicError")
70  << "edm::EventBase::triggerNames_ Encountered vector\n"
71  "of trigger names and a TriggerResults object with\n"
72  "different sizes. This should be impossible.\n"
73  "Please send information to reproduce this problem to\n"
74  "the edm developers.\n";
75  }
76 
77  std::pair<TriggerNamesMap::iterator, bool> ret =
78  triggerNamesMap.insert(std::pair<edm::ParameterSetID, edm::TriggerNames>(triggerResults.parameterSetID(), triggerNames));
79  return &(ret.first->second);
80  }
81  }
82  // For backward compatibility to very old data
83  if (triggerResults.getTriggerNames().size() > 0U) {
84  edm::ParameterSet fakePset;
85  fakePset.addParameter<std::vector<std::string> >("@trigger_paths", triggerResults.getTriggerNames());
86  fakePset.registerIt();
87  TriggerNames triggerNames(fakePset);
88 
89  // This should never happen
90  if (triggerNames.size() != triggerResults.size()) {
91  throw cms::Exception("LogicError")
92  << "edm::EventBase::triggerNames_ Encountered vector\n"
93  "of trigger names and a TriggerResults object with\n"
94  "different sizes. This should be impossible.\n"
95  "Please send information to reproduce this problem to\n"
96  "the edm developers (2).\n";
97  }
98 
99  std::pair<TriggerNamesMap::iterator, bool> ret =
100  triggerNamesMap.insert(std::pair<edm::ParameterSetID, edm::TriggerNames>(fakePset.id(), triggerNames));
101  return &(ret.first->second);
102  }
103  return 0;
104  }
tuple ret
prodAgent to be discontinued
bool existsAs(std::string const &parameterName, bool trackiness=true) const
checks if a parameter exists as a given type
Definition: ParameterSet.h:186
ParameterSetID id() const
Strings::size_type size() const
Definition: TriggerNames.cc:39
void addParameter(std::string const &name, T const &value)
Definition: ParameterSet.h:144
bool getMapped(key_type const &k, value_type &result) const
Definition: Registry.cc:18
static std::string const triggerResults("TriggerResults")
virtual TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const =0
ParameterSet const & registerIt()
static Registry * instance()
Definition: Registry.cc:12
virtual TriggerResultsByName edm::EventBase::triggerResultsByName ( std::string const &  process) const
pure virtual