#include <MixingWorker.h>
Public Member Functions | |
virtual void | addPileups (const int bcr, const EventPrincipal &ep, unsigned int eventNr, int vertexoffset) |
virtual void | addSignals (const edm::Event &e) |
virtual bool | checkSignal (const edm::Event &e) |
virtual void | copyPCrossingFrame (const PCrossingFrame< T > *PCF) |
virtual void | createnewEDProduct () |
MixingWorker (int minBunch, int maxBunch, int bunchSpace, std::string subdet, std::string label, std::string labelCF, int maxNbSources, InputTag &tag, InputTag &tagCF, bool mixProdStep2) | |
MixingWorker () | |
virtual void | put (edm::Event &e) |
virtual void | setBcrOffset () |
virtual void | setSourceOffset (const unsigned int s) |
void | setTof () |
virtual | ~MixingWorker () |
Private Attributes | |
int const | bunchSpace_ |
CrossingFrame< T > * | crFrame_ |
std::string const | label_ |
std::string const | labelCF_ |
int const | maxBunch_ |
unsigned int const | maxNbSources_ |
int const | minBunch_ |
bool | mixProdStep2_ |
PCrossingFrame< T > * | secSourceCF_ |
std::string const | subdet_ |
InputTag | tag_ |
InputTag | tagSignal_ |
Definition at line 35 of file MixingWorker.h.
edm::MixingWorker< T >::MixingWorker | ( | ) | [inline, explicit] |
standard constructor
Definition at line 40 of file MixingWorker.h.
References edm::MixingWorker< T >::tag_, and edm::MixingWorker< T >::tagSignal_.
: minBunch_(-5), maxBunch_(3), bunchSpace_(75), subdet_(std::string(" ")), label_(std::string(" ")), labelCF_(std::string(" ")), maxNbSources_(5), mixProdStep2_(false) { tag_=InputTag(); tagSignal_=InputTag(); }
edm::MixingWorker< T >::MixingWorker | ( | int | minBunch, |
int | maxBunch, | ||
int | bunchSpace, | ||
std::string | subdet, | ||
std::string | label, | ||
std::string | labelCF, | ||
int | maxNbSources, | ||
InputTag & | tag, | ||
InputTag & | tagCF, | ||
bool | mixProdStep2 | ||
) | [inline] |
Definition at line 55 of file MixingWorker.h.
References edm::MixingWorker< T >::mixProdStep2_.
: MixingWorkerBase(), minBunch_(minBunch), maxBunch_(maxBunch), bunchSpace_(bunchSpace), subdet_(subdet), label_(label), labelCF_(labelCF), maxNbSources_(maxNbSources), tag_(tag), tagSignal_(tagCF) { mixProdStep2_ = mixProdStep2; }
virtual edm::MixingWorker< T >::~MixingWorker | ( | ) | [inline, virtual] |
void MixingWorker::addPileups | ( | const int | bcr, |
const EventPrincipal & | ep, | ||
unsigned int | eventNr, | ||
int | vertexoffset | ||
) | [virtual] |
Implements edm::MixingWorkerBase.
Definition at line 169 of file MixingWorker.h.
References LogDebug.
{ if (!mixProdStep2_){ // default version // valid for CaloHits boost::shared_ptr<Wrapper<std::vector<T> > const> shPtr = edm::getProductByTag<std::vector<T> >(ep, tag_); if (shPtr) { LogDebug("MixingModule") <<shPtr->product()->size()<<" pileup objects added, eventNr "<<eventNr; crFrame_->setPileupPtr(shPtr); crFrame_->addPileups(bcr,const_cast< std::vector<T> * >(shPtr->product()),eventNr); } } else { boost::shared_ptr<Wrapper<PCrossingFrame<T> > const> shPtr = getProductByTag<PCrossingFrame<T> >(ep, tag_); if (shPtr){ crFrame_->setPileupPtr(shPtr); secSourceCF_ = const_cast<PCrossingFrame<T> * >(shPtr->product()); LogDebug("MixingModule") << "Add PCrossingFrame<T> eventNr " << secSourceCF_->getEventID(); copyPCrossingFrame(secSourceCF_); } else LogDebug("MixingModule") << "Could not get the PCrossingFrame<T>!"; } }
virtual void edm::MixingWorker< T >::addSignals | ( | const edm::Event & | e | ) | [inline, virtual] |
Implements edm::MixingWorkerBase.
Definition at line 103 of file MixingWorker.h.
References edm::MixingWorker< T >::crFrame_, edm::Event::getByLabel(), edm::EventBase::id(), LogDebug, edm::MixingWorker< T >::mixProdStep2_, mergeVDriftHistosByStation::name, edm::Handle< T >::product(), edm::MixingWorker< T >::tag_, and edm::MixingWorker< T >::tagSignal_.
{ if (mixProdStep2_){ edm::Handle<std::vector<T> > result_t; bool got = e.getByLabel(tagSignal_,result_t); if (got) { LogDebug("MixingModule") <<" adding " << result_t.product()->size()<<" signal objects for "<<typeid(T).name()<<" with "<<tagSignal_; crFrame_->addSignals(result_t.product(),e.id()); } else LogInfo("MixingModule") <<"!!!!!!! Did not get any signal data for "<<typeid(T).name()<<", with "<<tagSignal_; } else{ // Default version edm::Handle<std::vector<T> > result_t; bool got = e.getByLabel(tag_,result_t); if (got) { LogDebug("MixingModule") <<" adding " << result_t.product()->size()<<" signal objects for "<<typeid(T).name()<<" with "<<tag_; crFrame_->addSignals(result_t.product(),e.id()); } else LogInfo("MixingModule") <<"!!!!!!! Did not get any signal data for "<<typeid(T).name()<<", with "<<tag_; } }
virtual bool edm::MixingWorker< T >::checkSignal | ( | const edm::Event & | e | ) | [inline, virtual] |
Steps in BMixingModule::produce
Implements edm::MixingWorkerBase.
Definition at line 78 of file MixingWorker.h.
References edm::InputTag::encode(), edm::Event::getByLabel(), edm::InputTag::instance(), edm::InputTag::label(), edm::MixingWorker< T >::mixProdStep2_, mergeVDriftHistosByStation::name, matplotRender::t, edm::MixingWorker< T >::tag_, and edm::MixingWorker< T >::tagSignal_.
{ bool got; InputTag t; edm::Handle<std::vector<T> > result_t; if (mixProdStep2_){ got = e.getByLabel(tagSignal_,result_t); t = InputTag(tagSignal_.label(),tagSignal_.instance()); } else{ got = e.getByLabel(tag_,result_t); t = InputTag(tag_.label(),tag_.instance()); } if (got) LogInfo("MixingModule") <<" Will create a CrossingFrame for "<< typeid(T).name() << " with InputTag= "<< t.encode(); return got; }
void MixingWorker::copyPCrossingFrame | ( | const PCrossingFrame< T > * | PCF | ) | [virtual] |
Definition at line 218 of file MixingWorker.h.
References PCrossingFrame< T >::getBunchRange(), PCrossingFrame< T >::getBunchSpace(), PCrossingFrame< T >::getIdFirstPileup(), PCrossingFrame< T >::getMaxNbSources(), PCrossingFrame< T >::getPileupFileNr(), PCrossingFrame< T >::getPileupOffsetsBcr(), PCrossingFrame< T >::getPileupOffsetsSource(), PCrossingFrame< T >::getPileups(), and PCrossingFrame< T >::getSubDet().
{ crFrame_->setBunchRange(PCF->getBunchRange()); crFrame_->setBunchSpace(PCF->getBunchSpace()); crFrame_->setMaxNbSources(PCF->getMaxNbSources()); crFrame_->setSubDet(PCF->getSubDet()); crFrame_->setPileupOffsetsBcr(PCF->getPileupOffsetsBcr()); crFrame_->setPileupOffsetsSource(PCF->getPileupOffsetsSource()); crFrame_->setPileups(PCF->getPileups()); // For playback option crFrame_->setPileupFileNr(PCF->getPileupFileNr()); crFrame_->setIdFirstPileup(PCF->getIdFirstPileup()); }
virtual void edm::MixingWorker< T >::createnewEDProduct | ( | ) | [inline, virtual] |
Implements edm::MixingWorkerBase.
Definition at line 99 of file MixingWorker.h.
References edm::MixingWorker< T >::bunchSpace_, edm::MixingWorker< T >::crFrame_, edm::MixingWorker< T >::maxBunch_, edm::MixingWorker< T >::maxNbSources_, edm::MixingWorker< T >::minBunch_, and edm::MixingWorker< T >::subdet_.
virtual void edm::MixingWorker< T >::put | ( | edm::Event & | e | ) | [inline, virtual] |
Implements edm::MixingWorkerBase.
Definition at line 134 of file MixingWorker.h.
References edm::MixingWorker< T >::crFrame_, edm::MixingWorker< T >::label_, edm::MixingWorker< T >::labelCF_, LogDebug, edm::MixingWorker< T >::mixProdStep2_, mergeVDriftHistosByStation::name, and edm::Event::put().
{ std::auto_ptr<CrossingFrame<T> > pOut(crFrame_); if (!mixProdStep2_){ e.put(pOut,label_); LogDebug("MixingModule") <<" CF was put for type "<<typeid(T).name()<<" with "<<label_; } else { e.put(pOut,labelCF_); LogDebug("MixingModule") <<" CF was put for type "<<typeid(T).name()<<" with "<<labelCF_; } }
virtual void edm::MixingWorker< T >::setBcrOffset | ( | ) | [inline, virtual] |
Implements edm::MixingWorkerBase.
Definition at line 129 of file MixingWorker.h.
References edm::MixingWorker< T >::crFrame_.
{crFrame_->setBcrOffset();}
virtual void edm::MixingWorker< T >::setSourceOffset | ( | const unsigned int | s | ) | [inline, virtual] |
Implements edm::MixingWorkerBase.
Definition at line 130 of file MixingWorker.h.
References edm::MixingWorker< T >::crFrame_.
void MixingWorker::setTof | ( | ) | [virtual] |
int const edm::MixingWorker< T >::bunchSpace_ [private] |
Definition at line 154 of file MixingWorker.h.
Referenced by edm::MixingWorker< T >::createnewEDProduct().
CrossingFrame<T>* edm::MixingWorker< T >::crFrame_ [private] |
Definition at line 163 of file MixingWorker.h.
Referenced by edm::MixingWorker< T >::addSignals(), edm::MixingWorker< T >::createnewEDProduct(), edm::MixingWorker< T >::put(), edm::MixingWorker< T >::setBcrOffset(), and edm::MixingWorker< T >::setSourceOffset().
std::string const edm::MixingWorker< T >::label_ [private] |
Definition at line 156 of file MixingWorker.h.
Referenced by edm::MixingWorker< T >::put().
std::string const edm::MixingWorker< T >::labelCF_ [private] |
Definition at line 157 of file MixingWorker.h.
Referenced by edm::MixingWorker< T >::put().
int const edm::MixingWorker< T >::maxBunch_ [private] |
Definition at line 153 of file MixingWorker.h.
Referenced by edm::MixingWorker< T >::createnewEDProduct().
unsigned int const edm::MixingWorker< T >::maxNbSources_ [private] |
Definition at line 158 of file MixingWorker.h.
Referenced by edm::MixingWorker< T >::createnewEDProduct().
int const edm::MixingWorker< T >::minBunch_ [private] |
Definition at line 152 of file MixingWorker.h.
Referenced by edm::MixingWorker< T >::createnewEDProduct().
bool edm::MixingWorker< T >::mixProdStep2_ [private] |
Definition at line 161 of file MixingWorker.h.
Referenced by edm::MixingWorker< T >::addSignals(), edm::MixingWorker< T >::checkSignal(), edm::MixingWorker< T >::MixingWorker(), and edm::MixingWorker< T >::put().
PCrossingFrame<T>* edm::MixingWorker< T >::secSourceCF_ [private] |
Definition at line 164 of file MixingWorker.h.
std::string const edm::MixingWorker< T >::subdet_ [private] |
Definition at line 155 of file MixingWorker.h.
Referenced by edm::MixingWorker< T >::createnewEDProduct().
InputTag edm::MixingWorker< T >::tag_ [private] |
Definition at line 159 of file MixingWorker.h.
Referenced by edm::MixingWorker< T >::addSignals(), edm::MixingWorker< T >::checkSignal(), and edm::MixingWorker< T >::MixingWorker().
InputTag edm::MixingWorker< T >::tagSignal_ [private] |
Definition at line 160 of file MixingWorker.h.
Referenced by edm::MixingWorker< T >::addSignals(), edm::MixingWorker< T >::checkSignal(), and edm::MixingWorker< T >::MixingWorker().