CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/SimGeneral/DataMixingModule/plugins/DataMixingHcalDigiWorkerProd.h

Go to the documentation of this file.
00001 #ifndef DataMixingHcalDigiWorkerProd_h
00002 #define SimDataMixingHcalDigiWorkerProd_h
00003 
00017 #include "FWCore/Framework/interface/Event.h"
00018 #include "FWCore/Framework/interface/EventPrincipal.h"
00019 #include "FWCore/Framework/interface/EventSetup.h"
00020 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00021 
00022 #include "CalibFormats/CaloObjects/interface/CaloSamples.h"
00023 #include "DataFormats/Provenance/interface/ProductID.h"
00024 #include "DataFormats/Common/interface/Handle.h"
00025 #include "DataFormats/HcalDigi/interface/HcalDigiCollections.h"
00026 #include "DataFormats/HcalDigi/interface/HBHEDataFrame.h"
00027 #include "DataFormats/HcalDigi/interface/HODataFrame.h"
00028 #include "DataFormats/HcalDigi/interface/HFDataFrame.h"
00029 #include "SimCalorimetry/HcalSimProducers/interface/HcalDigitizer.h"
00030 #include "SimCalorimetry/HcalSimAlgos/interface/HcalSignalGenerator.h"
00031 #include "SimGeneral/DataMixingModule/plugins/HcalNoiseStorage.h"
00032 
00033 #include <map>
00034 #include <vector>
00035 #include <string>
00036 
00037 
00038 namespace edm
00039 {
00040   class DataMixingHcalDigiWorkerProd
00041     {
00042     public:
00043 
00045       explicit DataMixingHcalDigiWorkerProd(const edm::ParameterSet& ps);
00046 
00048       virtual ~DataMixingHcalDigiWorkerProd();
00049 
00050       void putHcal(edm::Event &e,const edm::EventSetup& ES);
00051       void addHcalSignals(const edm::Event &e,const edm::EventSetup& ES); 
00052       void addHcalPileups(const int bcr, const edm::EventPrincipal*,unsigned int EventId,const edm::EventSetup& ES);
00053 
00054 
00055     private:
00056       // data specifiers
00057 
00058       // Hcal
00059       //      edm::InputTag HBHEdigiCollectionSig_; // secondary name given to collection of digis
00060       // edm::InputTag HOdigiCollectionSig_  ; // secondary name given to collection of digis
00061       //edm::InputTag HFdigiCollectionSig_  ; // secondary name given to collection of digis
00062       //edm::InputTag ZDCdigiCollectionSig_ ; // secondary name given to collection of digis
00063       edm::InputTag HBHEPileInputTag_; // InputTag for Pileup Digis collection  
00064       edm::InputTag HOPileInputTag_  ; // InputTag for Pileup Digis collection
00065       edm::InputTag HFPileInputTag_  ; // InputTag for Pileup Digis collection
00066       edm::InputTag ZDCPileInputTag_ ; // InputTag for Pileup Digis collection
00067       std::string HBHEDigiCollectionDM_; // secondary name to be given to collection of digis
00068       std::string HODigiCollectionDM_  ; // secondary name to be given to collection of digis
00069       std::string HFDigiCollectionDM_  ; // secondary name to be given to collection of digis
00070       std::string ZDCDigiCollectionDM_ ; // secondary name to be given to collection of digis
00071 
00072       HcalDigitizer* myHcalDigitizer_;
00073       HBHESignalGenerator theHBHESignalGenerator;
00074       HOSignalGenerator theHOSignalGenerator;
00075       HFSignalGenerator theHFSignalGenerator;
00076       ZDCSignalGenerator theZDCSignalGenerator;
00077 
00078       std::string label_;
00079 
00080     };
00081 }//edm
00082 
00083 #endif