61 std::string subdet,std::string
label,
62 std::string labelCF,
int maxNbSources,
InputTag&
tag,
107 LogInfo(
"MixingModule") <<
" Will create a CrossingFrame for "<<
typeid(
T).
name()
108 <<
" with InputTag= "<< t.
encode();
126 else LogInfo(
"MixingModule") <<
"!!!!!!! Did not get any signal data for "<<
typeid(
T).
name()<<
", with "<<
tagSignal_;
133 LogDebug(
"MixingModule") <<
" adding " << result_t.
product()->size()<<
" signal objects for "<<
typeid(
T).
name()<<
" with "<<
tag_;
136 else LogInfo(
"MixingModule") <<
"!!!!!!! Did not get any signal data for "<<
typeid(
T).
name()<<
", with "<<
tag_;
150 std::auto_ptr<CrossingFrame<T> > pOut(
crFrame_);
189 boost::shared_ptr<Wrapper<std::vector<T> >
const> shPtr =
190 edm::getProductByTag<std::vector<T> >(ep, tag_);
193 LogDebug(
"MixingModule") <<shPtr->product()->size()<<
" pileup objects added, eventNr "<<eventNr;
194 crFrame_->setPileupPtr(shPtr);
195 crFrame_->addPileups(bcr,
const_cast< std::vector<T> *
>(shPtr->product()),eventNr);
201 boost::shared_ptr<Wrapper<PCrossingFrame<T> >
const> shPtr = getProductByTag<PCrossingFrame<T> >(ep, tag_);
204 crFrame_->setPileupPtr(shPtr);
206 LogDebug(
"MixingModule") <<
"Add PCrossingFrame<T> eventNr " << secSourceCF_->getEventID();
208 copyPCrossingFrame(secSourceCF_);
212 LogDebug(
"MixingModule") <<
"Could not get the PCrossingFrame<T>!";
virtual void setBcrOffset()
virtual void createnewEDProduct()
virtual void addPileups(const int bcr, const EventPrincipal &ep, unsigned int eventNr, int vertexoffset)
int getBunchSpace() const
unsigned int getPileupFileNr() const
std::string const labelCF_
virtual void addSignals(const edm::Event &e)
edm::EventID getIdFirstPileup() const
virtual bool checkSignal(const edm::Event &e)
virtual void copyPCrossingFrame(const PCrossingFrame< T > *PCF)
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
CrossingFrame< T > * crFrame_
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
virtual void put(edm::Event &e)
std::string getSubDet() const
unsigned int getMaxNbSources() const
std::pair< int, int > getBunchRange() const
T const * product() const
std::vector< unsigned int > getPileupOffsetsBcr() const
PCrossingFrame< T > * secSourceCF_
MixingWorker(int minBunch, int maxBunch, int bunchSpace, std::string subdet, std::string label, std::string labelCF, int maxNbSources, InputTag &tag, InputTag &tagCF, bool mixProdStep2)
std::vector< const T * > getPileups() const
virtual void reload(const edm::EventSetup &setup)
std::string const subdet_
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
virtual void setSourceOffset(const unsigned int s)
unsigned int const maxNbSources_
std::vector< std::vector< unsigned int > > getPileupOffsetsSource() const