CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
sistrip::FEDEmulatorModule Class Reference
Inheritance diagram for sistrip::FEDEmulatorModule:
edm::EDProducer edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 FEDEmulatorModule (const edm::ParameterSet &)
 
 ~FEDEmulatorModule () override
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDProducer () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void produce (edm::Event &, const edm::EventSetup &) override
 
void updateFedCabling (const SiStripFedCablingRcd &rcd)
 
void updateNoises (const SiStripNoisesRcd &rcd)
 
void updatePedestals (const SiStripPedestalsRcd &rcd)
 

Private Attributes

std::unique_ptr< SiStripRawProcessingAlgorithmsalgorithms_
 object for zero-suppression More...
 
bool byModule_
 
edm::ESWatcher< SiStripFedCablingRcdcablingWatcher_
 
const SiStripFedCablingfedCabling_
 
edm::ESGetToken< SiStripFedCabling, SiStripFedCablingRcdfedCablingToken_
 
sistrip::FEDEmulator fedEmulator_
 
const SiStripNoisesnoises_
 
edm::ESGetToken< SiStripNoises, SiStripNoisesRcdnoisesToken_
 
edm::ESWatcher< SiStripNoisesRcdnoisesWatcher_
 
const SiStripPedestalspedestals_
 
edm::ESGetToken< SiStripPedestals, SiStripPedestalsRcdpedestalsToken_
 
edm::ESWatcher< SiStripPedestalsRcdpedestalsWatcher_
 
edm::InputTag spyReorderedDigisTag_
 
edm::EDGetTokenT< edm::DetSetVector< SiStripRawDigi > > spyReorderedDigisToken_
 
edm::InputTag spyVirginRawDigisTag_
 
edm::EDGetTokenT< edm::DetSetVector< SiStripRawDigi > > spyVirginRawDigisToken_
 

Static Private Attributes

static const char * messageLabel_ = "SiStripFEDEmulatorModule"
 

Additional Inherited Members

- Public Types inherited from edm::EDProducer
typedef EDProducer ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsInputProcessBlocks ()
 
static bool wantsProcessBlocks ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Definition at line 57 of file SiStripFEDEmulatorModule.cc.

Constructor & Destructor Documentation

◆ FEDEmulatorModule()

sistrip::FEDEmulatorModule::FEDEmulatorModule ( const edm::ParameterSet iConfig)
explicit

Definition at line 105 of file SiStripFEDEmulatorModule.cc.

106  : spyReorderedDigisTag_(iConfig.getParameter<edm::InputTag>("SpyReorderedDigisTag")),
107  spyVirginRawDigisTag_(iConfig.getParameter<edm::InputTag>("SpyVirginRawDigisTag")),
108  byModule_(iConfig.getParameter<bool>("ByModule")),
110  consumesCollector())),
111  fedCablingToken_(esConsumes<>()),
112  pedestalsToken_(esConsumes<>()),
113  noisesToken_(esConsumes<>()),
117  spyReorderedDigisToken_ = consumes<edm::DetSetVector<SiStripRawDigi> >(spyReorderedDigisTag_);
118  spyVirginRawDigisToken_ = consumes<edm::DetSetVector<SiStripRawDigi> >(spyVirginRawDigisTag_);
119 
121 
122  if (!byModule_) { //if not by module
123  //the medians will be produced by fed id/channel
124  produces<std::map<uint32_t, std::vector<uint32_t> > >("Medians");
125  produces<edm::DetSetVector<SiStripRawDigi> >("PedestalsOrdered");
126  produces<edm::DetSetVector<SiStripProcessedRawDigi> >("NoisesOrdered");
127  produces<edm::DetSetVector<SiStripRawDigi> >("PedSubtrDigisOrdered");
128  produces<edm::DetSetVector<SiStripRawDigi> >("CMSubtrDigisOrdered");
129  } else { //by module
130  produces<edm::DetSetVector<SiStripRawDigi> >("ModulePedestals");
131  produces<edm::DetSetVector<SiStripProcessedRawDigi> >("ModuleNoises");
132  produces<edm::DetSetVector<SiStripRawDigi> >("PedSubtrModuleDigis");
133  produces<std::map<uint32_t, std::vector<uint32_t> > >("ModuleMedians");
134  produces<edm::DetSetVector<SiStripRawDigi> >("CMSubtrModuleDigis");
135  produces<edm::DetSetVector<SiStripDigi> >("ZSModuleDigis");
136  } //end of by module check
137 
138  } //end of FEDEmulatorModule constructor

References byModule_, fedEmulator_, sistrip::FEDEmulator::initialise(), spyReorderedDigisTag_, spyReorderedDigisToken_, spyVirginRawDigisTag_, and spyVirginRawDigisToken_.

◆ ~FEDEmulatorModule()

sistrip::FEDEmulatorModule::~FEDEmulatorModule ( )
override

Definition at line 140 of file SiStripFEDEmulatorModule.cc.

140 {}

Member Function Documentation

◆ produce()

void sistrip::FEDEmulatorModule::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::EDProducer.

Definition at line 149 of file SiStripFEDEmulatorModule.cc.

149  {
150  cablingWatcher_.check(iSetup);
151  pedestalsWatcher_.check(iSetup);
152  noisesWatcher_.check(iSetup);
153 
154  //initialise the algorithms object for the zero suppression
155  algorithms_->initialize(iSetup);
156 
157  //retrieve the digis
159  try { //to get the digis from the event
160  if (!byModule_) {
161  iEvent.getByToken(spyReorderedDigisToken_, lDigisHandle);
162  } else { //digis supplied by module
163  iEvent.getByToken(spyVirginRawDigisToken_, lDigisHandle);
164  } //end of by module check
165  } catch (const cms::Exception& e) {
166  std::cout << e.what();
167  return;
168  } //end of get digis try
169 
170  const edm::DetSetVector<SiStripRawDigi>* lInputDigis = lDigisHandle.product();
171 
172  unsigned int lNDigis = lInputDigis->size();
173 
174  //define output containers
175  //reserve space, will push_back elements
176  std::vector<edm::DetSetVector<SiStripRawDigi>::detset> pedsData;
177  pedsData.reserve(lNDigis);
178  std::vector<edm::DetSetVector<SiStripProcessedRawDigi>::detset> noiseData;
179  noiseData.reserve(lNDigis);
180  std::vector<edm::DetSetVector<SiStripRawDigi>::detset> pedSubtrData;
181  pedSubtrData.reserve(lNDigis);
182  std::vector<edm::DetSetVector<SiStripRawDigi>::detset> cmSubtrData;
183  cmSubtrData.reserve(lNDigis);
184  //zero suppressed contained - no fixed size (could be empty) so no need to reserve elements.
185  std::vector<edm::DetSet<SiStripDigi> > zsData;
186 
187  //this is a map: no reserve/resize
188  std::map<uint32_t, std::vector<uint32_t> > medsData;
189 
190  edm::DetSetVector<SiStripRawDigi>::const_iterator inputChannel = lInputDigis->begin();
191 
192  for (; inputChannel != lInputDigis->end(); ++inputChannel) { //loop on input channels
193  uint32_t lDetId = inputChannel->detId(); //either fedIndex or detId
194 
195  pedsData.push_back(edm::DetSetVector<SiStripRawDigi>::detset(lDetId));
196  noiseData.push_back(edm::DetSetVector<SiStripProcessedRawDigi>::detset(lDetId));
197  pedSubtrData.push_back(edm::DetSetVector<SiStripRawDigi>::detset(lDetId));
198  cmSubtrData.push_back(edm::DetSetVector<SiStripRawDigi>::detset(lDetId));
199 
200  unsigned int lNStrips = inputChannel->size();
201 
202  //define output digi containers
203  std::vector<SiStripRawDigi>& pedsDetSetData = pedsData.back().data;
204  pedsDetSetData.reserve(lNStrips);
205  std::vector<SiStripProcessedRawDigi>& noiseDetSetData = noiseData.back().data;
206  noiseDetSetData.reserve(lNStrips);
207  std::vector<SiStripRawDigi>& pedSubtrDetSetData = pedSubtrData.back().data;
208  pedSubtrDetSetData.reserve(lNStrips);
209  std::vector<SiStripRawDigi>& cmSubtrDetSetData = cmSubtrData.back().data;
210  cmSubtrDetSetData.reserve(lNStrips);
211  //zero suppressed - slightly different procedure as not fixed size
212  edm::DetSet<SiStripDigi> zsDetSetData(lDetId);
213 
214  //determine the number of APV pairs in the channel
215  uint32_t lNPairs = static_cast<uint32_t>(lNStrips * 1. / sistrip::STRIPS_PER_FEDCH);
216  uint32_t lPair = 0;
217 
218  std::vector<uint32_t> medsDetSetData;
219  medsDetSetData.reserve(lNPairs * 2); //2*number of pairs per module. If not by module, lNPairs = 1...
220 
221  if (!byModule_) { //the input is not stored by module
222  //need to retrieve the proper detId from cabling
223  uint16_t lFedId = 0;
224  uint16_t lFedChannel = 0;
225  sistrip::SpyUtilities::fedIndex(lDetId, lFedId, lFedChannel);
226 
227  const FedChannelConnection& lConnection = fedCabling_->fedConnection(lFedId, lFedChannel);
228  lDetId = lConnection.detId();
229  lNPairs = lConnection.nApvPairs();
230  lPair = lConnection.apvPairNumber();
231  } //end of by module check
232 
233  fedEmulator_.initialiseModule(lDetId, lNPairs, lPair);
234 
235  //get the pedestal values
236  //stored by module in the database
237  fedEmulator_.retrievePedestals(pedestals_); // FIXME maybe move into FEDEmulator then?
239 
240  //last option: fill medians from these ped subtr data
241  //if want something else, need to call a method to fill
242  //the data member medians_ of the class fedEmulator.
244  inputChannel, pedsDetSetData, noiseDetSetData, pedSubtrDetSetData, medsDetSetData, true);
245 
246  fedEmulator_.subtractCM(pedSubtrDetSetData, cmSubtrDetSetData);
247 
248  //fill the median map
249  medsData[inputChannel->detId()] = medsDetSetData;
250 
251  //zero suppress the digis
252  fedEmulator_.zeroSuppress(cmSubtrDetSetData, zsDetSetData, algorithms_);
253  if (!zsDetSetData.empty())
254  zsData.push_back(zsDetSetData);
255 
256  } //loop on input channels
257 
258  std::unique_ptr<edm::DetSetVector<SiStripRawDigi> > lPeds(new edm::DetSetVector<SiStripRawDigi>(pedsData, true));
259  std::unique_ptr<edm::DetSetVector<SiStripProcessedRawDigi> > lNoises(
260  new edm::DetSetVector<SiStripProcessedRawDigi>(noiseData, true));
261 
262  std::unique_ptr<edm::DetSetVector<SiStripRawDigi> > lOutputPedSubtr(
263  new edm::DetSetVector<SiStripRawDigi>(pedSubtrData, true));
264 
265  std::unique_ptr<edm::DetSetVector<SiStripRawDigi> > lOutputCMSubtr(
266  new edm::DetSetVector<SiStripRawDigi>(cmSubtrData, true));
267 
268  std::unique_ptr<std::map<uint32_t, std::vector<uint32_t> > > lMedians(
269  new std::map<uint32_t, std::vector<uint32_t> >(medsData));
270 
271  //zero suppressed digis
272  std::unique_ptr<edm::DetSetVector<SiStripDigi> > lOutputZS(new edm::DetSetVector<SiStripDigi>(zsData));
273 
274  if (!byModule_) {
275  iEvent.put(std::move(lMedians), "Medians");
276  iEvent.put(std::move(lPeds), "PedestalsOrdered");
277  iEvent.put(std::move(lNoises), "NoisesOrdered");
278  iEvent.put(std::move(lOutputPedSubtr), "PedSubtrDigisOrdered");
279  iEvent.put(std::move(lOutputCMSubtr), "CMSubtrDigisOrdered");
280  } else {
281  iEvent.put(std::move(lPeds), "ModulePedestals");
282  iEvent.put(std::move(lNoises), "ModuleNoises");
283  iEvent.put(std::move(lOutputPedSubtr), "PedSubtrModuleDigis");
284  iEvent.put(std::move(lMedians), "ModuleMedians");
285  iEvent.put(std::move(lOutputCMSubtr), "CMSubtrModuleDigis");
286  iEvent.put(std::move(lOutputZS), "ZSModuleDigis");
287  }
288 
289  } //produce method

References algorithms_, FedChannelConnection::apvPairNumber(), edm::DetSetVector< T >::begin(), byModule_, cablingWatcher_, edm::ESWatcher< T >::check(), gather_cfg::cout, FedChannelConnection::detId(), MillePedeFileConverter_cfg::e, edm::DetSet< T >::empty(), edm::DetSetVector< T >::end(), fedCabling_, SiStripFedCabling::fedConnection(), fedEmulator_, sistrip::SpyUtilities::fedIndex(), iEvent, sistrip::FEDEmulator::initialiseModule(), genParticles_cff::map, eostools::move(), FedChannelConnection::nApvPairs(), noises_, noisesWatcher_, pedestals_, pedestalsWatcher_, edm::Handle< T >::product(), sistrip::FEDEmulator::retrieveNoises(), sistrip::FEDEmulator::retrievePedestals(), edm::DetSetVector< T >::size(), spyReorderedDigisToken_, spyVirginRawDigisToken_, sistrip::STRIPS_PER_FEDCH, sistrip::FEDEmulator::subtractCM(), sistrip::FEDEmulator::subtractPedestals(), and sistrip::FEDEmulator::zeroSuppress().

◆ updateFedCabling()

void sistrip::FEDEmulatorModule::updateFedCabling ( const SiStripFedCablingRcd rcd)
private

◆ updateNoises()

void sistrip::FEDEmulatorModule::updateNoises ( const SiStripNoisesRcd rcd)
private

◆ updatePedestals()

void sistrip::FEDEmulatorModule::updatePedestals ( const SiStripPedestalsRcd rcd)
private

Member Data Documentation

◆ algorithms_

std::unique_ptr<SiStripRawProcessingAlgorithms> sistrip::FEDEmulatorModule::algorithms_
private

object for zero-suppression

Definition at line 79 of file SiStripFEDEmulatorModule.cc.

Referenced by produce().

◆ byModule_

bool sistrip::FEDEmulatorModule::byModule_
private

Definition at line 73 of file SiStripFEDEmulatorModule.cc.

Referenced by FEDEmulatorModule(), and produce().

◆ cablingWatcher_

edm::ESWatcher<SiStripFedCablingRcd> sistrip::FEDEmulatorModule::cablingWatcher_
private

Definition at line 88 of file SiStripFEDEmulatorModule.cc.

Referenced by produce().

◆ fedCabling_

const SiStripFedCabling* sistrip::FEDEmulatorModule::fedCabling_
private

Definition at line 84 of file SiStripFEDEmulatorModule.cc.

Referenced by produce(), and updateFedCabling().

◆ fedCablingToken_

edm::ESGetToken<SiStripFedCabling, SiStripFedCablingRcd> sistrip::FEDEmulatorModule::fedCablingToken_
private

Definition at line 81 of file SiStripFEDEmulatorModule.cc.

Referenced by updateFedCabling().

◆ fedEmulator_

sistrip::FEDEmulator sistrip::FEDEmulatorModule::fedEmulator_
private

Definition at line 75 of file SiStripFEDEmulatorModule.cc.

Referenced by FEDEmulatorModule(), and produce().

◆ messageLabel_

const char * sistrip::FEDEmulatorModule::messageLabel_ = "SiStripFEDEmulatorModule"
staticprivate

Definition at line 77 of file SiStripFEDEmulatorModule.cc.

◆ noises_

const SiStripNoises* sistrip::FEDEmulatorModule::noises_
private

Definition at line 86 of file SiStripFEDEmulatorModule.cc.

Referenced by produce(), and updateNoises().

◆ noisesToken_

edm::ESGetToken<SiStripNoises, SiStripNoisesRcd> sistrip::FEDEmulatorModule::noisesToken_
private

Definition at line 83 of file SiStripFEDEmulatorModule.cc.

Referenced by updateNoises().

◆ noisesWatcher_

edm::ESWatcher<SiStripNoisesRcd> sistrip::FEDEmulatorModule::noisesWatcher_
private

Definition at line 90 of file SiStripFEDEmulatorModule.cc.

Referenced by produce().

◆ pedestals_

const SiStripPedestals* sistrip::FEDEmulatorModule::pedestals_
private

Definition at line 85 of file SiStripFEDEmulatorModule.cc.

Referenced by produce(), and updatePedestals().

◆ pedestalsToken_

edm::ESGetToken<SiStripPedestals, SiStripPedestalsRcd> sistrip::FEDEmulatorModule::pedestalsToken_
private

Definition at line 82 of file SiStripFEDEmulatorModule.cc.

Referenced by updatePedestals().

◆ pedestalsWatcher_

edm::ESWatcher<SiStripPedestalsRcd> sistrip::FEDEmulatorModule::pedestalsWatcher_
private

Definition at line 89 of file SiStripFEDEmulatorModule.cc.

Referenced by produce().

◆ spyReorderedDigisTag_

edm::InputTag sistrip::FEDEmulatorModule::spyReorderedDigisTag_
private

Definition at line 67 of file SiStripFEDEmulatorModule.cc.

Referenced by FEDEmulatorModule().

◆ spyReorderedDigisToken_

edm::EDGetTokenT<edm::DetSetVector<SiStripRawDigi> > sistrip::FEDEmulatorModule::spyReorderedDigisToken_
private

Definition at line 69 of file SiStripFEDEmulatorModule.cc.

Referenced by FEDEmulatorModule(), and produce().

◆ spyVirginRawDigisTag_

edm::InputTag sistrip::FEDEmulatorModule::spyVirginRawDigisTag_
private

Definition at line 68 of file SiStripFEDEmulatorModule.cc.

Referenced by FEDEmulatorModule().

◆ spyVirginRawDigisToken_

edm::EDGetTokenT<edm::DetSetVector<SiStripRawDigi> > sistrip::FEDEmulatorModule::spyVirginRawDigisToken_
private

Definition at line 70 of file SiStripFEDEmulatorModule.cc.

Referenced by FEDEmulatorModule(), and produce().

FedChannelConnection::nApvPairs
const uint16_t & nApvPairs() const
Definition: FedChannelConnection.h:215
edm::ESWatcher::check
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:52
sistrip::FEDEmulatorModule::spyVirginRawDigisToken_
edm::EDGetTokenT< edm::DetSetVector< SiStripRawDigi > > spyVirginRawDigisToken_
Definition: SiStripFEDEmulatorModule.cc:70
edm::DetSetVector< SiStripRawDigi >
sistrip::FEDEmulator::retrievePedestals
void retrievePedestals(const edm::ESHandle< SiStripPedestals > &aHandle)
Definition: SiStripFEDEmulator.cc:60
sistrip::FEDEmulatorModule::pedestals_
const SiStripPedestals * pedestals_
Definition: SiStripFEDEmulatorModule.cc:85
sistrip::SpyUtilities::fedIndex
void fedIndex(uint32_t aFedIndex, uint16_t &aFedId, uint16_t &aFedChannel)
Definition: SiStripSpyUtilities.cc:300
sistrip::FEDEmulator::subtractPedestals
void subtractPedestals(const edm::DetSetVector< SiStripRawDigi >::const_iterator &inputChannel, std::vector< SiStripRawDigi > &pedsDetSetData, std::vector< SiStripProcessedRawDigi > &noiseDetSetData, std::vector< SiStripRawDigi > &pedSubtrDetSetData, std::vector< uint32_t > &medsDetSetData, const bool fillApvsForCM)
Definition: SiStripFEDEmulator.cc:84
edm::Handle::product
T const * product() const
Definition: Handle.h:70
edm::DetSetVector::end
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:325
edm::DetSet
Definition: DetSet.h:23
sistrip::FEDEmulatorModule::cablingWatcher_
edm::ESWatcher< SiStripFedCablingRcd > cablingWatcher_
Definition: SiStripFEDEmulatorModule.cc:88
sistrip::FEDEmulatorModule::byModule_
bool byModule_
Definition: SiStripFEDEmulatorModule.cc:73
gather_cfg.cout
cout
Definition: gather_cfg.py:144
edm::DetSetVector::begin
iterator begin()
Return an iterator to the first DetSet.
Definition: DetSetVector.h:314
edm::EDConsumerBase::consumesCollector
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
Definition: EDConsumerBase.cc:47
SiStripFedCabling::fedConnection
FedChannelConnection fedConnection(uint16_t fed_id, uint16_t fed_ch) const
Definition: SiStripFedCabling.cc:171
SiStripRawProcessingFactory::create
static std::unique_ptr< SiStripRawProcessingAlgorithms > create(const edm::ParameterSet &, edm::ConsumesCollector)
Definition: SiStripRawProcessingFactory.cc:16
sistrip::FEDEmulatorModule::fedCabling_
const SiStripFedCabling * fedCabling_
Definition: SiStripFEDEmulatorModule.cc:84
sistrip::FEDEmulatorModule::noises_
const SiStripNoises * noises_
Definition: SiStripFEDEmulatorModule.cc:86
edm::Handle
Definition: AssociativeIterator.h:50
sistrip::FEDEmulator::initialiseModule
void initialiseModule(const uint32_t aDetId, const uint32_t aNPairs, const uint32_t aPair)
Definition: SiStripFEDEmulator.cc:37
sistrip::FEDEmulatorModule::noisesToken_
edm::ESGetToken< SiStripNoises, SiStripNoisesRcd > noisesToken_
Definition: SiStripFEDEmulatorModule.cc:83
sistrip::FEDEmulator::subtractCM
void subtractCM(const std::vector< SiStripRawDigi > &pedSubtrDetSetData, std::vector< SiStripRawDigi > &cmSubtrDetSetData)
Definition: SiStripFEDEmulator.cc:169
sistrip::FEDEmulatorModule::spyReorderedDigisTag_
edm::InputTag spyReorderedDigisTag_
Definition: SiStripFEDEmulatorModule.cc:67
sistrip::FEDEmulator::zeroSuppress
void zeroSuppress(const std::vector< SiStripRawDigi > &cmSubtrDetSetData, edm::DetSet< SiStripDigi > &zsDetSetData, const std::unique_ptr< SiStripRawProcessingAlgorithms > &algorithms)
Definition: SiStripFEDEmulator.cc:190
edm::DetSetVector::size
size_type size() const
Return the number of contained DetSets.
Definition: DetSetVector.h:259
sistrip::FEDEmulatorModule::spyReorderedDigisToken_
edm::EDGetTokenT< edm::DetSetVector< SiStripRawDigi > > spyReorderedDigisToken_
Definition: SiStripFEDEmulatorModule.cc:69
edm::eventsetup::DependentRecordImplementation::get
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
Definition: DependentRecordImplementation.h:109
sistrip::FEDEmulator::initialise
void initialise(const bool byModule)
Definition: SiStripFEDEmulator.cc:30
FedChannelConnection
Class containning control, module, detector and connection information, at the level of a FED channel...
Definition: FedChannelConnection.h:26
FedChannelConnection::detId
const uint32_t & detId() const
Definition: FedChannelConnection.h:213
edm::ParameterSet
Definition: ParameterSet.h:47
edm::DetSetVector::const_iterator
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:102
sistrip::STRIPS_PER_FEDCH
static const uint16_t STRIPS_PER_FEDCH
Definition: ConstantsForHardwareSystems.h:44
sistrip::FEDEmulatorModule::updateNoises
void updateNoises(const SiStripNoisesRcd &rcd)
Definition: SiStripFEDEmulatorModule.cc:146
sistrip::FEDEmulator::retrieveNoises
void retrieveNoises(const edm::ESHandle< SiStripNoises > &aHandle)
Definition: SiStripFEDEmulator.cc:72
iEvent
int iEvent
Definition: GenABIO.cc:224
sistrip::FEDEmulatorModule::updateFedCabling
void updateFedCabling(const SiStripFedCablingRcd &rcd)
Definition: SiStripFEDEmulatorModule.cc:142
sistrip::FEDEmulatorModule::spyVirginRawDigisTag_
edm::InputTag spyVirginRawDigisTag_
Definition: SiStripFEDEmulatorModule.cc:68
eostools.move
def move(src, dest)
Definition: eostools.py:511
sistrip::FEDEmulatorModule::pedestalsWatcher_
edm::ESWatcher< SiStripPedestalsRcd > pedestalsWatcher_
Definition: SiStripFEDEmulatorModule.cc:89
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
FedChannelConnection::apvPairNumber
uint16_t apvPairNumber() const
Definition: FedChannelConnection.h:230
edm::eventsetup::EventSetupRecordImplementation::get
PRODUCT const & get(ESGetToken< PRODUCT, T > const &iToken) const
Definition: EventSetupRecordImplementation.h:74
sistrip::FEDEmulatorModule::noisesWatcher_
edm::ESWatcher< SiStripNoisesRcd > noisesWatcher_
Definition: SiStripFEDEmulatorModule.cc:90
cms::Exception
Definition: Exception.h:70
genParticles_cff.map
map
Definition: genParticles_cff.py:11
sistrip::FEDEmulatorModule::fedCablingToken_
edm::ESGetToken< SiStripFedCabling, SiStripFedCablingRcd > fedCablingToken_
Definition: SiStripFEDEmulatorModule.cc:81
sistrip::FEDEmulatorModule::pedestalsToken_
edm::ESGetToken< SiStripPedestals, SiStripPedestalsRcd > pedestalsToken_
Definition: SiStripFEDEmulatorModule.cc:82
sistrip::FEDEmulatorModule::updatePedestals
void updatePedestals(const SiStripPedestalsRcd &rcd)
Definition: SiStripFEDEmulatorModule.cc:145
sistrip::FEDEmulatorModule::algorithms_
std::unique_ptr< SiStripRawProcessingAlgorithms > algorithms_
object for zero-suppression
Definition: SiStripFEDEmulatorModule.cc:79
edm::InputTag
Definition: InputTag.h:15
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
sistrip::FEDEmulatorModule::fedEmulator_
sistrip::FEDEmulator fedEmulator_
Definition: SiStripFEDEmulatorModule.cc:75