CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/SimGeneral/DataMixingModule/plugins/DataMixingHcalWorker.h

Go to the documentation of this file.
00001 #ifndef DataMixingHcalWorker_h
00002 #define SimDataMixingHcalWorker_h
00003 
00017 #include "FWCore/Framework/interface/Event.h"
00018 #include "FWCore/Framework/interface/EventPrincipal.h"
00019 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00020 #include "FWCore/Framework/interface/Selector.h"
00021 
00022 #include "DataFormats/Provenance/interface/ProductID.h"
00023 #include "DataFormats/Common/interface/Handle.h"
00024 #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h"
00025 
00026 #include <map>
00027 #include <vector>
00028 #include <string>
00029 
00030 
00031 namespace edm
00032 {
00033   class DataMixingHcalWorker
00034     {
00035     public:
00036 
00037       DataMixingHcalWorker();
00038 
00040       explicit DataMixingHcalWorker(const edm::ParameterSet& ps);
00041 
00043       virtual ~DataMixingHcalWorker();
00044 
00045       void putHcal(edm::Event &e) ;
00046       void addHcalSignals(const edm::Event &e); 
00047       void addHcalPileups(const int bcr, edm::EventPrincipal*,unsigned int EventId);
00048 
00049 
00050     private:
00051       // data specifiers
00052 
00053       // Hcal
00054       edm::InputTag HBHErechitCollectionSig_; // secondary name given to collection of EB rechits
00055       edm::InputTag HOrechitCollectionSig_  ; // secondary name given to collection of EB rechits
00056       edm::InputTag HFrechitCollectionSig_  ; // secondary name given to collection of EB rechits
00057       edm::InputTag ZDCrechitCollectionSig_ ; // secondary name given to collection of EB rechits
00058 
00059       edm::InputTag HBHEPileRecHitInputTag_ ; // InputTag for HB RecHits for Pileup
00060       edm::InputTag HOPileRecHitInputTag_   ; // InputTag for HO RecHits for Pileup 
00061       edm::InputTag HFPileRecHitInputTag_   ; // InputTag for HF RecHits for Pileup 
00062       edm::InputTag ZDCPileRecHitInputTag_  ; // InputTag for ZDC RecHits for Pileup 
00063 
00064       std::string HBHERecHitCollectionDM_; // secondary name to be given to EB collection of hits
00065       std::string HORecHitCollectionDM_  ; // secondary name to be given to EB collection of hits
00066       std::string HFRecHitCollectionDM_  ; // secondary name to be given to EB collection of hits
00067       std::string ZDCRecHitCollectionDM_ ; // secondary name to be given to EB collection of hits
00068 
00069       typedef std::multimap<DetId, HBHERecHit> HBHERecHitMap;
00070       typedef std::multimap<DetId, HFRecHit>   HFRecHitMap;
00071       typedef std::multimap<DetId, HORecHit>   HORecHitMap;
00072       typedef std::multimap<DetId, ZDCRecHit>  ZDCRecHitMap;
00073 
00074       HBHERecHitMap HBHERecHitStorage_;
00075       HFRecHitMap   HFRecHitStorage_;
00076       HORecHitMap   HORecHitStorage_;
00077       ZDCRecHitMap  ZDCRecHitStorage_;
00078 
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