CMS 3D CMS Logo

DataMixingMuonWorker.h

Go to the documentation of this file.
00001 #ifndef DataMixingMuonWorker_h
00002 #define SimDataMixingMuonWorker_h
00003 
00017 #include "FWCore/Framework/interface/Event.h"
00018 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00019 #include "FWCore/Framework/interface/Selector.h"
00020 
00021 #include "DataFormats/Provenance/interface/ProductID.h"
00022 #include "DataFormats/Common/interface/Handle.h"
00023 
00024 //DT
00025 #include "DataFormats/DTDigi/interface/DTDigiCollection.h"
00026 //RPC
00027 #include "DataFormats/RPCDigi/interface/RPCDigiCollection.h"
00028 //CSC
00029 #include "DataFormats/CSCDigi/interface/CSCStripDigiCollection.h"
00030 #include "DataFormats/CSCDigi/interface/CSCWireDigiCollection.h"
00031 
00032 #include <map>
00033 #include <vector>
00034 #include <string>
00035 
00036 
00037 namespace edm
00038 {
00039   class DataMixingMuonWorker
00040     {
00041     public:
00042 
00043       DataMixingMuonWorker();
00044 
00046       explicit DataMixingMuonWorker(const edm::ParameterSet& ps);
00047 
00049       virtual ~DataMixingMuonWorker();
00050 
00051       void putMuon(edm::Event &e) ;
00052       void addMuonSignals(const edm::Event &e); 
00053       void addMuonPileups(const int bcr, edm::Event*,unsigned int EventId);
00054 
00055 
00056     private:
00057       // data specifiers
00058 
00059       edm::InputTag DTdigi_collection_; // secondary name given to collection of DT digis
00060       edm::InputTag RPCdigi_collection_; // secondary name given to collection of RPC digis
00061       edm::InputTag CSCDigiTag_; // primary? name given to collection of CSC digis
00062       edm::InputTag DTDigiTag_; // primary? name given to collection of DT digis
00063       edm::InputTag RPCDigiTag_; // primary? name given to collection of RPC digis
00064       edm::InputTag CSCstripdigi_collection_; // secondary name given to collection of CSC Strip digis
00065       edm::InputTag CSCwiredigi_collection_; // secondary name given to collection of CSC wire digis
00066 
00067       std::string DTDigiCollectionDM_; // secondary name to be given to new DT digis
00068       std::string RPCDigiCollectionDM_; // secondary name to be given to new RPC digis
00069       std::string CSCStripDigiCollectionDM_; // secondary name given to new collection of CSC Strip digis
00070       std::string CSCWireDigiCollectionDM_; // secondary name given to new collection of CSC wire digis
00071 
00072       // just hold our own DigiCollections - order of digis in layer doesn't appear to matter...
00073       // will make a copy and put this back into the event...
00074 
00075       DTDigiCollection* OurDTDigis_;  
00076       RPCDigiCollection* OurRPCDigis_;  
00077       CSCStripDigiCollection* OurCSCStripDigis_;  
00078       CSCWireDigiCollection* OurCSCWireDigis_;  
00079 
00080       //      unsigned int eventId_; //=0 for signal, from 1-n for pileup events
00081 
00082       Selector * sel_;
00083       std::string label_;
00084 
00085     };
00086 }//edm
00087 
00088 #endif

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