CMS 3D CMS Logo

Public Member Functions | Private Attributes

edm::MixingWorker< T > Class Template Reference

#include <MixingWorker.h>

Inheritance diagram for edm::MixingWorker< T >:
edm::MixingWorkerBase

List of all members.

Public Member Functions

virtual void addPileups (const EventPrincipal &ep, unsigned int eventNr)
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 ()
 MixingWorker (int minBunch, int maxBunch, int bunchSpace, std::string subdet, std::string label, std::string labelCF, int maxNbSources, InputTag &tag, InputTag &tagCF)
virtual void put (edm::Event &e)
virtual void reload (const edm::EventSetup &setup)
virtual void setBcrOffset ()
virtual void setSourceOffset (const unsigned int s)
void setTof ()
virtual ~MixingWorker ()

Private Attributes

int bunchSpace_
CrossingFrame< T > * crFrame_
std::string const label_
std::string const labelCF_
int maxBunch_
unsigned int const maxNbSources_
int minBunch_
PCrossingFrame< T > * secSourceCF_
std::string const subdet_
InputTag tag_
InputTag tagSignal_

Detailed Description

template<class T>
class edm::MixingWorker< T >

Definition at line 40 of file MixingWorker.h.


Constructor & Destructor Documentation

template<class T >
edm::MixingWorker< T >::MixingWorker ( ) [inline, explicit]

standard constructor

Definition at line 45 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) {
            tag_=InputTag();
            tagSignal_=InputTag();
        }
template<class T >
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 
) [inline]

Definition at line 58 of file MixingWorker.h.

                                   :
        MixingWorkerBase(),
        minBunch_(minBunch),
        maxBunch_(maxBunch),
        bunchSpace_(bunchSpace),
        subdet_(subdet),
        label_(label),
        labelCF_(labelCF),
        maxNbSources_(maxNbSources),
        tag_(tag),
        tagSignal_(tagCF)
        {
        }
template<class T >
virtual edm::MixingWorker< T >::~MixingWorker ( ) [inline, virtual]

Default destructor

Definition at line 76 of file MixingWorker.h.

{;}

Member Function Documentation

template<typename T >
void MixingWorker::addPileups ( const EventPrincipal ep,
unsigned int  eventNr 
) [virtual]

Implements edm::MixingWorkerBase.

Definition at line 154 of file MixingWorker.h.

References LogDebug.

                                                                                  {
    boost::shared_ptr<Wrapper<std::vector<T> > const> shPtr = getProductByTag<std::vector<T> >(ep, tag_);
    if (shPtr) {
      LogDebug("MixingModule") << shPtr->product()->size() << "  pileup objects  added, eventNr " << eventNr;
      crFrame_->setPileupPtr(shPtr);
      crFrame_->addPileups(*shPtr->product());
    }
  }
template<class T >
virtual void edm::MixingWorker< T >::addSignals ( const edm::Event e) [inline, virtual]

Implements edm::MixingWorkerBase.

Definition at line 109 of file MixingWorker.h.

References edm::MixingWorker< T >::crFrame_, edm::Event::getByLabel(), edm::EventBase::id(), LogDebug, mergeVDriftHistosByStation::name, edm::Handle< T >::product(), and edm::MixingWorker< T >::tag_.

                                                {
        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_;
        }
      }
template<class T >
virtual bool edm::MixingWorker< T >::checkSignal ( const edm::Event e) [inline, virtual]

Steps in BMixingModule::produce

Implements edm::MixingWorkerBase.

Definition at line 90 of file MixingWorker.h.

References edm::InputTag::encode(), edm::Event::getByLabel(), edm::InputTag::instance(), edm::InputTag::label(), mergeVDriftHistosByStation::name, lumiQTWidget::t, and edm::MixingWorker< T >::tag_.

                                                 {
          bool got;
          InputTag t;
          edm::Handle<std::vector<T> >  result_t;
          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;
      }
template<class T >
void MixingWorker::copyPCrossingFrame ( const PCrossingFrame< T > *  PCF) [virtual]
template<class T >
virtual void edm::MixingWorker< T >::createnewEDProduct ( ) [inline, virtual]
template<class T >
virtual void edm::MixingWorker< T >::put ( edm::Event e) [inline, virtual]

Implements edm::MixingWorkerBase.

Definition at line 127 of file MixingWorker.h.

References edm::MixingWorker< T >::crFrame_, edm::MixingWorker< T >::label_, LogDebug, mergeVDriftHistosByStation::name, and edm::Event::put().

                                    {   
        std::auto_ptr<CrossingFrame<T> > pOut(crFrame_);
        e.put(pOut,label_);
        LogDebug("MixingModule") <<" CF was put for type "<<typeid(T).name()<<" with "<<label_;
      }
template<class T >
virtual void edm::MixingWorker< T >::reload ( const edm::EventSetup setup) [inline, virtual]

Reimplemented from edm::MixingWorkerBase.

Definition at line 80 of file MixingWorker.h.

References edm::MixingWorker< T >::bunchSpace_, HDQMDatabaseProducer::config, edm::EventSetup::get(), edm::MixingWorker< T >::maxBunch_, and edm::MixingWorker< T >::minBunch_.

                                                      {
        //get the required parameters from DB.
        // watch the label/tag
        edm::ESHandle<MixingModuleConfig> config;
        setup.get<MixingRcd>().get(config);
        minBunch_=config->minBunch();
        maxBunch_=config->maxBunch();
        bunchSpace_=config->bunchSpace();
      }
template<class T >
virtual void edm::MixingWorker< T >::setBcrOffset ( ) [inline, virtual]

Implements edm::MixingWorkerBase.

Definition at line 122 of file MixingWorker.h.

References edm::MixingWorker< T >::crFrame_.

{crFrame_->setBcrOffset();}
template<class T >
virtual void edm::MixingWorker< T >::setSourceOffset ( const unsigned int  s) [inline, virtual]

Implements edm::MixingWorkerBase.

Definition at line 123 of file MixingWorker.h.

References edm::MixingWorker< T >::crFrame_.

{crFrame_->setSourceOffset(s);}
template<class T >
void MixingWorker::setTof ( ) [virtual]

Implements edm::MixingWorkerBase.

Definition at line 168 of file MixingWorker.h.

{;}

Member Data Documentation

template<class T >
int edm::MixingWorker< T >::bunchSpace_ [private]
template<class T >
CrossingFrame<T>* edm::MixingWorker< T >::crFrame_ [private]
template<class T >
std::string const edm::MixingWorker< T >::label_ [private]

Definition at line 143 of file MixingWorker.h.

Referenced by edm::MixingWorker< T >::put().

template<class T >
std::string const edm::MixingWorker< T >::labelCF_ [private]

Definition at line 144 of file MixingWorker.h.

template<class T >
int edm::MixingWorker< T >::maxBunch_ [private]
template<class T >
unsigned int const edm::MixingWorker< T >::maxNbSources_ [private]

Definition at line 145 of file MixingWorker.h.

Referenced by edm::MixingWorker< T >::createnewEDProduct().

template<class T >
int edm::MixingWorker< T >::minBunch_ [private]
template<class T >
PCrossingFrame<T>* edm::MixingWorker< T >::secSourceCF_ [private]

Definition at line 150 of file MixingWorker.h.

template<class T >
std::string const edm::MixingWorker< T >::subdet_ [private]

Definition at line 142 of file MixingWorker.h.

Referenced by edm::MixingWorker< T >::createnewEDProduct().

template<class T >
InputTag edm::MixingWorker< T >::tag_ [private]
template<class T >
InputTag edm::MixingWorker< T >::tagSignal_ [private]

Definition at line 147 of file MixingWorker.h.

Referenced by edm::MixingWorker< T >::MixingWorker().