88 std::vector<InputTag>
const& tags) :
128 LogInfo(
"MixingModule") <<
" Will create a CrossingFrame for "<<
typeid(
T).
name()
129 <<
" with InputTag= "<< t.
encode();
143 LogDebug(
"MixingModule") <<
" adding " << result_t.
product()->size()<<
" signal objects for "<<
typeid(
T).
name()<<
" with "<<
tag_;
146 LogInfo(
"MixingModule") <<
"!!!!!!! Did not get any signal data for "<<
typeid(
T).
name()<<
", with "<<
tag_;
158 std::unique_ptr<CrossingFrame<T> > pOut(
crFrame_);
183 template <
typename T>
185 std::shared_ptr<Wrapper<std::vector<T> >
const> shPtr = getProductByTag<std::vector<T> >(ep,
tag_, mcc);
187 LogDebug(
"MixingModule") << shPtr->product()->size() <<
" pileup objects added, eventNr " << eventNr;
189 crFrame_->addPileups(*shPtr->product());
void addSignals(const edm::Event &e) override
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
const int & bunchSpace() const
def setup(process, global_tag, zero_tesla=False)
int getBunchSpace() const
unsigned int getPileupFileNr() const
std::string const labelCF_
bool checkSignal(const edm::Event &e) override
void setSourceOffset(const unsigned int s) override
const int & maxBunch() const
edm::EventID getIdFirstPileup() const
void put(edm::Event &e) override
void addPileups(const EventPrincipal &ep, ModuleCallingContext const *, unsigned int eventNr) override
virtual void copyPCrossingFrame(const PCrossingFrame< T > *PCF)
MixingWorker(int minBunch, int maxBunch, int bunchSpace, std::string subdet, std::string label, std::string labelCF, int maxNbSources, InputTag &tag, InputTag &tagCF, std::vector< InputTag > const &tags)
CrossingFrame< T > * crFrame_
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
MixingWorker(int minBunch, int maxBunch, int bunchSpace, std::string subdet, std::string label, std::string labelCF, int maxNbSources, InputTag &tag, InputTag &tagCF)
std::vector< InputTag > allTags_
std::string getSubDet() const
T const * product() const
unsigned int getMaxNbSources() const
void setBcrOffset() override
std::pair< int, int > getBunchRange() const
std::vector< unsigned int > getPileupOffsetsBcr() const
PCrossingFrame< T > * secSourceCF_
void reload(const edm::EventSetup &setup) override
std::vector< const T * > getPileups() const
const int & minBunch() const
std::string const subdet_
void createnewEDProduct() override
unsigned int const maxNbSources_
std::vector< std::vector< unsigned int > > getPileupOffsetsSource() const