#include <EventFilter/EcalRawToDigi/plugins/EcalRawToRecHitByproductProducer.h>
Public Member Functions | |
EcalRawToRecHitByproductProducer (const edm::ParameterSet &) | |
~EcalRawToRecHitByproductProducer () | |
Private Member Functions | |
virtual void | beginJob (const edm::EventSetup &) |
virtual void | endJob () |
virtual void | produce (edm::Event &, const edm::EventSetup &) |
Private Attributes | |
std::string | workerName_ |
Definition at line 29 of file EcalRawToRecHitByproductProducer.h.
EcalRawToRecHitByproductProducer::EcalRawToRecHitByproductProducer | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
Definition at line 6 of file EcalRawToRecHitByproductProducer.cc.
References edm::ParameterSet::getParameter(), and workerName_.
00007 { 00008 workerName_ = iConfig.getParameter<std::string>("workerName"); 00009 00010 produces<EBDigiCollection>("ebDigis"); 00011 produces<EEDigiCollection>("eeDigis"); 00012 00013 produces<EBSrFlagCollection>(); 00014 produces<EESrFlagCollection>(); 00015 produces<EcalRawDataCollection>(); 00016 produces<EcalPnDiodeDigiCollection>(); 00017 produces<EcalTrigPrimDigiCollection>("EcalTriggerPrimitives"); 00018 00019 // Integrity for xtal data 00020 produces<EBDetIdCollection>("EcalIntegrityGainErrors"); 00021 produces<EBDetIdCollection>("EcalIntegrityGainSwitchErrors"); 00022 produces<EBDetIdCollection>("EcalIntegrityChIdErrors"); 00023 00024 // Integrity for xtal data - EE specific (to be rivisited towards EB+EE common collection) 00025 produces<EEDetIdCollection>("EcalIntegrityGainErrors"); 00026 produces<EEDetIdCollection>("EcalIntegrityGainSwitchErrors"); 00027 produces<EEDetIdCollection>("EcalIntegrityChIdErrors"); 00028 00029 // Integrity Errors 00030 produces<EcalElectronicsIdCollection>("EcalIntegrityTTIdErrors"); 00031 produces<EcalElectronicsIdCollection>("EcalIntegrityBlockSizeErrors"); 00032 00033 // Mem channels' integrity 00034 produces<EcalElectronicsIdCollection>("EcalIntegrityMemTtIdErrors"); 00035 produces<EcalElectronicsIdCollection>("EcalIntegrityMemBlockSizeErrors"); 00036 produces<EcalElectronicsIdCollection>("EcalIntegrityMemChIdErrors"); 00037 produces<EcalElectronicsIdCollection>("EcalIntegrityMemGainErrors"); 00038 }
EcalRawToRecHitByproductProducer::~EcalRawToRecHitByproductProducer | ( | ) | [inline] |
virtual void EcalRawToRecHitByproductProducer::beginJob | ( | const edm::EventSetup & | ) | [inline, private, virtual] |
Reimplemented from edm::EDProducer.
Definition at line 35 of file EcalRawToRecHitByproductProducer.h.
Reimplemented from edm::EDProducer.
Definition at line 37 of file EcalRawToRecHitByproductProducer.h.
void EcalRawToRecHitByproductProducer::produce | ( | edm::Event & | iEvent, | |
const edm::EventSetup & | iSetup | |||
) | [private, virtual] |
Implements edm::EDProducer.
Definition at line 43 of file EcalRawToRecHitByproductProducer.cc.
References edm::EventSetup::get(), LogDebug, edm::Event::put(), parseConfig::worker, and workerName_.
00044 { 00045 //retrieve the unpacker worker 00046 edm::ESHandle<EcalUnpackerWorker> worker; 00047 iSetup.get<EcalUnpackerWorkerRecord>().get(workerName_, worker); 00048 LogDebug("EcalRawToRecHit|Byproducts")<<"worker retrieved."; 00049 00050 //prepare output collections 00051 std::auto_ptr<EBDigiCollection> productDigisEB(worker->productDigisEB); 00052 00053 // create the collection of Ecal Digis 00054 std::auto_ptr<EEDigiCollection> productDigisEE(worker->productDigisEE); 00055 00056 // create the collection for headers 00057 std::auto_ptr<EcalRawDataCollection> productDccHeaders(worker->productDccHeaders); 00058 00059 // create the collection for invalid gains 00060 std::auto_ptr< EBDetIdCollection> productInvalidGains(worker->productInvalidGains); 00061 00062 // create the collection for invalid gain Switch 00063 std::auto_ptr< EBDetIdCollection> productInvalidGainsSwitch(worker->productInvalidGainsSwitch); 00064 00065 // create the collection for invalid chids 00066 std::auto_ptr< EBDetIdCollection> productInvalidChIds(worker->productInvalidChIds); 00067 00069 00070 // create the collection for invalid gains 00071 std::auto_ptr<EEDetIdCollection> productInvalidEEGains(worker->productInvalidEEGains); 00072 00073 // create the collection for invalid gain Switch 00074 std::auto_ptr<EEDetIdCollection> productInvalidEEGainsSwitch(worker->productInvalidEEGainsSwitch); 00075 00076 // create the collection for invalid chids 00077 std::auto_ptr<EEDetIdCollection> productInvalidEEChIds(worker->productInvalidEEChIds); 00078 00080 00081 // create the collection for EB srflags 00082 std::auto_ptr<EBSrFlagCollection> productEBSrFlags(worker->productEBSrFlags); 00083 00084 // create the collection for EB srflags 00085 std::auto_ptr<EESrFlagCollection> productEESrFlags(worker->productEESrFlags); 00086 00087 // create the collection for ecal trigger primitives 00088 std::auto_ptr<EcalTrigPrimDigiCollection> productEcalTps(worker->productTps); 00090 00091 // create the collection for invalid TTIds 00092 std::auto_ptr<EcalElectronicsIdCollection> productInvalidTTIds(worker->productInvalidTTIds); 00093 00094 // create the collection for invalid BlockLengths 00095 std::auto_ptr<EcalElectronicsIdCollection> productInvalidBlockLengths(worker->productInvalidBlockLengths); 00096 00097 // MEMs Collections 00098 // create the collection for the Pn Diode Digis 00099 std::auto_ptr<EcalPnDiodeDigiCollection> productPnDiodeDigis(worker->productPnDiodeDigis); 00100 00101 // create the collection for invalid Mem Tt id 00102 std::auto_ptr<EcalElectronicsIdCollection> productInvalidMemTtIds(worker->productInvalidMemTtIds); 00103 00104 // create the collection for invalid Mem Block Size 00105 std::auto_ptr<EcalElectronicsIdCollection> productInvalidMemBlockSizes(worker->productInvalidMemBlockSizes); 00106 00107 // create the collection for invalid Mem Block Size 00108 std::auto_ptr<EcalElectronicsIdCollection> productInvalidMemChIds(worker->productInvalidMemChIds); 00109 00110 // create the collection for invalid Mem Gain Errors 00111 std::auto_ptr<EcalElectronicsIdCollection> productInvalidMemGains(worker->productInvalidMemGains); 00112 00113 00114 //--------------------------- 00115 //write outputs to the event 00116 //--------------------------- 00117 iEvent.put(productDccHeaders); 00118 iEvent.put(productInvalidGains,"EcalIntegrityGainErrors"); 00119 iEvent.put(productInvalidGainsSwitch, "EcalIntegrityGainSwitchErrors"); 00120 iEvent.put(productInvalidChIds, "EcalIntegrityChIdErrors"); 00121 // EE (leaving for now the same names as in EB) 00122 iEvent.put(productInvalidEEGains,"EcalIntegrityGainErrors"); 00123 iEvent.put(productInvalidEEGainsSwitch, "EcalIntegrityGainSwitchErrors"); 00124 iEvent.put(productInvalidEEChIds, "EcalIntegrityChIdErrors"); 00125 // EE 00126 iEvent.put(productInvalidTTIds,"EcalIntegrityTTIdErrors"); 00127 iEvent.put(productInvalidBlockLengths,"EcalIntegrityBlockSizeErrors"); 00128 iEvent.put(productPnDiodeDigis); 00129 // errors 00130 iEvent.put(productInvalidMemTtIds,"EcalIntegrityMemTtIdErrors"); 00131 iEvent.put(productInvalidMemBlockSizes,"EcalIntegrityMemBlockSizeErrors"); 00132 iEvent.put(productInvalidMemChIds,"EcalIntegrityMemChIdErrors"); 00133 iEvent.put(productInvalidMemGains,"EcalIntegrityMemGainErrors"); 00134 00135 // flags 00136 iEvent.put(productEBSrFlags); 00137 iEvent.put(productEESrFlags); 00138 00139 // trigger primitives 00140 iEvent.put(productEcalTps,"EcalTriggerPrimitives"); 00141 00142 //make new collections. 00143 worker->update(iEvent); 00144 }
std::string EcalRawToRecHitByproductProducer::workerName_ [private] |
Definition at line 37 of file EcalRawToRecHitByproductProducer.h.
Referenced by EcalRawToRecHitByproductProducer(), and produce().