CMS 3D CMS Logo

MixingModule.h

Go to the documentation of this file.
00001 #ifndef MixingModule_h
00002 #define MixingModule_h
00003 
00017 #include "Mixing/Base/interface/BMixingModule.h"
00018 
00019 #include "FWCore/Framework/interface/Event.h"
00020 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00021 #include "FWCore/ParameterSet/interface/InputTag.h"
00022 #include "FWCore/Framework/interface/Selector.h"
00023 
00024 #include "SimDataFormats/CrossingFrame/interface/CrossingFrame.h"
00025 #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
00026 #include "SimDataFormats/CaloHit/interface/PCaloHitContainer.h"
00027 #include "SimDataFormats/Track/interface/SimTrackContainer.h"
00028 #include "SimDataFormats/Vertex/interface/SimVertexContainer.h"
00029 #include "SimDataFormats/HepMCProduct/interface/HepMCProduct.h"
00030 
00031 #include "DataFormats/Provenance/interface/ProductID.h"
00032 #include "DataFormats/Common/interface/Handle.h"
00033 
00034 #include "MixingWorkerBase.h"
00035 
00036 #include <vector>
00037 #include <string>
00038 
00039 class CrossingFramePlaybackInfo;
00040 class MixingWorkerBase;
00041 namespace edm
00042 {
00043   class MixingModule : public BMixingModule
00044     {
00045     public:
00046 
00048       explicit MixingModule(const edm::ParameterSet& ps);
00049 
00051       virtual ~MixingModule();
00052 
00053       virtual void beginJob(edm::EventSetup const&iSetup);
00054  
00055     private:
00056       virtual bool verifyRegistry(std::string object, std::string subdet,InputTag &tag,std::string &label);
00057       virtual void put(edm::Event &e) ;
00058       virtual void createnewEDProduct();
00059       virtual void addSignals(const edm::Event &e); 
00060       virtual void doPileUp(edm::Event &e);
00061       virtual void addPileups(const int bcr, edm::Event*,unsigned int EventId,unsigned int worker);
00062       virtual void setEventStartInfo(const unsigned int s); // set in CF-s
00063       virtual void getEventStartInfo(edm::Event & e, const unsigned int s); // fill in in base class
00064 
00065       std::string labelPlayback_;
00066       CrossingFramePlaybackInfo *playbackInfo_;
00067 
00068       Selector * sel_;
00069 
00070       std::vector<MixingWorkerBase *> workers_;
00071       std::vector<std::string> wantedBranches_;
00072 
00073     };
00074 }//edm
00075 
00076 #endif

Generated on Tue Jun 9 17:47:28 2009 for CMSSW by  doxygen 1.5.4