8 #include "HepMC/GenEvent.h"
34 produces<edm::HepMCProduct>();
35 produces<edm::LHCTransportLinkContainer>();
47 LogDebug(
"HectorSetup") <<
"Delete HectorProducer"
63 if ( !HepMCEvt.isValid() )
66 <<
"Invalid reference to HepMCProduct\n";
69 if ( HepMCEvt.provenance()->moduleLabel() ==
"LHCTransport" )
72 <<
"HectorTrasported HepMCProduce already exists\n";
75 evt_ =
new HepMC::GenEvent( *HepMCEvt->GetEvent() );
97 NewProduct->addHepMCData(
evt_ ) ;
99 iEvent.
put( NewProduct ) ;
103 (*NewCorrespondenceMap).swap(thisLink);
106 for (
unsigned int i = 0;
i < (*NewCorrespondenceMap).size();
i++)
107 LogDebug(
"HectorEventProcessing") <<
"Hector correspondence table: " << (*NewCorrespondenceMap)[
i];
110 iEvent.
put( NewCorrespondenceMap );
T getParameter(std::string const &) const
void produce(edm::Event &iEvent, const edm::EventSetup &es)
this method will do the user analysis
HectorProducer(edm::ParameterSet const &p)
default constructor
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
int eventsAnalysed
just to count events that have been analysed
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
virtual ~HectorProducer()
default destructor
void add(const HepMC::GenEvent *ev, const edm::EventSetup &es)
std::vector< LHCTransportLink > & getCorrespondenceMap()
HepMC::GenEvent * addPartToHepMC(HepMC::GenEvent *event)
std::vector< LHCTransportLink > LHCTransportLinkContainer
void clearApertureFlags()