CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/SimGeneral/DataMixingModule/plugins/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/Framework/interface/EventPrincipal.h"
00019 #include "FWCore/ParameterSet/interface/ParameterSet.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 #include "DataFormats/CSCDigi/interface/CSCComparatorDigiCollection.h"
00032 
00033 #include <map>
00034 #include <vector>
00035 #include <string>
00036 
00037 
00038 namespace edm
00039 {
00040   class DataMixingMuonWorker
00041     {
00042     public:
00043 
00044       DataMixingMuonWorker();
00045 
00047       explicit DataMixingMuonWorker(const edm::ParameterSet& ps);
00048 
00050       virtual ~DataMixingMuonWorker();
00051 
00052       void putMuon(edm::Event &e) ;
00053       void addMuonSignals(const edm::Event &e); 
00054       void addMuonPileups(const int bcr, const edm::EventPrincipal*,unsigned int EventId);
00055 
00056 
00057     private:
00058       // data specifiers
00059 
00060       edm::InputTag DTdigi_collectionSig_; // secondary name given to collection of DT digis
00061       edm::InputTag RPCdigi_collectionSig_; // secondary name given to collection of RPC digis
00062       edm::InputTag CSCDigiTagSig_; // primary? name given to collection of CSC digis
00063       edm::InputTag DTDigiTagSig_; // primary? name given to collection of DT digis
00064       edm::InputTag RPCDigiTagSig_; // primary? name given to collection of RPC digis
00065       edm::InputTag CSCstripdigi_collectionSig_; // secondary name given to collection of CSC Strip digis
00066       edm::InputTag CSCwiredigi_collectionSig_; // secondary name given to collection of CSC wire digis
00067       edm::InputTag CSCCompdigi_collectionSig_; // secondary name given to collection of CSC wire digis
00068 
00069       edm::InputTag DTPileInputTag_       ; // InputTag for pileup DTs
00070       edm::InputTag RPCPileInputTag_      ; // InputTag for pileup RPCs
00071       edm::InputTag CSCWirePileInputTag_  ; // InputTag for pileup CSC Wires
00072       edm::InputTag CSCStripPileInputTag_ ; // InputTag for pileup CSC Strips
00073       edm::InputTag CSCCompPileInputTag_ ; // InputTag for pileup CSC Comparators
00074 
00075       std::string DTDigiCollectionDM_; // secondary name to be given to new DT digis
00076       std::string RPCDigiCollectionDM_; // secondary name to be given to new RPC digis
00077       std::string CSCStripDigiCollectionDM_; // secondary name given to new collection of CSC Strip digis
00078       std::string CSCWireDigiCollectionDM_; // secondary name given to new collection of CSC wire digis
00079       std::string CSCComparatorDigiCollectionDM_; // secondary name given to new collection of CSC comparator digis
00080 
00081       // just hold our own DigiCollections - order of digis in layer doesn't appear to matter...
00082       // will make a copy and put this back into the event...
00083 
00084       DTDigiCollection* OurDTDigis_;  
00085       RPCDigiCollection* OurRPCDigis_;  
00086       CSCStripDigiCollection* OurCSCStripDigis_;  
00087       CSCWireDigiCollection* OurCSCWireDigis_;  
00088       CSCComparatorDigiCollection* OurCSCComparatorDigis_;  
00089 
00090       //      unsigned int eventId_; //=0 for signal, from 1-n for pileup events
00091 
00092       std::string label_;
00093 
00094     };
00095 }//edm
00096 
00097 #endif