CMS 3D CMS Logo

MCFileSource.cc
Go to the documentation of this file.
1 
9 #include <iostream>
10 #include <string>
11 
19 
20 namespace edm {
21 
22  //-------------------------------------------------------------------------
24  : ProducerSourceFromFiles(pset, desc, false), reader_(HepMCFileReader::instance()), evt_(nullptr) {
25  LogInfo("MCFileSource") << "Reading HepMC file:" << fileNames(0)[0];
27  // strip the file:
28  if (fileName.find("file:") == 0) {
29  fileName.erase(0, 5);
30  }
31 
32  reader_->initialize(fileName);
33  produces<HepMCProduct>("generator");
34  produces<GenEventInfoProduct>("generator");
35  }
36 
37  //-------------------------------------------------------------------------
39 
40  //-------------------------------------------------------------------------
42  // Read one HepMC event
43  LogInfo("MCFileSource") << "Start Reading";
44  evt_ = reader_->fillCurrentEventData();
45  return (evt_ != nullptr);
46  }
47 
48  //-------------------------------------------------------------------------
50  // Store one HepMC event in the Event.
51 
52  auto bare_product = std::make_unique<HepMCProduct>();
53  bare_product->addHepMCData(evt_);
54  e.put(std::move(bare_product), "generator");
55  std::unique_ptr<GenEventInfoProduct> info(new GenEventInfoProduct(evt_));
56  e.put(std::move(info), "generator");
57  }
58 
59 } // namespace edm
GenEventInfoProduct
Definition: GenEventInfoProduct.h:17
edm::MCFileSource::~MCFileSource
~MCFileSource() override
Definition: MCFileSource.cc:38
MessageLogger.h
funct::false
false
Definition: Factorize.h:34
edm::MCFileSource::MCFileSource
MCFileSource(const ParameterSet &pset, const InputSourceDescription &desc)
Definition: MCFileSource.cc:23
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::LogInfo
Definition: MessageLogger.h:254
edm::InputSourceDescription
Definition: InputSourceDescription.h:20
info
static const TGPicture * info(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:152
MillePedeFileConverter_cfg.fileName
fileName
Definition: MillePedeFileConverter_cfg.py:32
edm::MCFileSource::reader_
edm::propagate_const< HepMCFileReader * > reader_
Definition: MCFileSource.h:36
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::ParameterSet
Definition: ParameterSet.h:36
GenEventInfoProduct.h
Event.h
edm::FromFiles::fileNames
std::vector< std::string > fileNames(unsigned iCatalog) const
Definition: FromFiles.h:22
edm::MCFileSource::produce
void produce(Event &e) override
Definition: MCFileSource.cc:49
instance
static PFTauRenderPlugin instance
Definition: PFTauRenderPlugin.cc:70
MCFileSource.h
eostools.move
def move(src, dest)
Definition: eostools.py:511
edm::ProducerSourceFromFiles
Definition: ProducerSourceFromFiles.h:17
edm::MCFileSource::setRunAndEventInfo
bool setRunAndEventInfo(EventID &, TimeValue_t &time, EventAuxiliary::ExperimentType &eType) override
Definition: MCFileSource.cc:41
edm::EventAuxiliary::ExperimentType
ExperimentType
Definition: EventAuxiliary.h:18
ParameterSet.h
HepMCProduct.h
HepMCFileReader.h
edm::EventID
Definition: EventID.h:31
edm::Event
Definition: Event.h:73
HepMCFileReader
Definition: HepMCFileReader.h:27
edm::TimeValue_t
unsigned long long TimeValue_t
Definition: Timestamp.h:28
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
edm::MCFileSource::evt_
edm::propagate_const< HepMC::GenEvent * > evt_
Definition: MCFileSource.h:37
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37