CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
EcalSelectiveReadoutProducer Class Reference

#include <EcalSelectiveReadoutProducer.h>

Inheritance diagram for EcalSelectiveReadoutProducer:
edm::EDProducer edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 EcalSelectiveReadoutProducer (const edm::ParameterSet &params)
 
virtual void produce (edm::Event &event, const edm::EventSetup &eventSetup)
 
virtual ~EcalSelectiveReadoutProducer ()
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDProducer ()
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Static Public Member Functions

static void printSrFlags (std::ostream &os, const EBSrFlagCollection &ebSrFlags, const EESrFlagCollection &eeSrFlags, int iEvent=-1, bool withHeader=true)
 
- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

void checkWeights (const edm::Event &evt, const edm::ProductID &noZSDigiId) const
 
bool getBinOfMax (const edm::Event &evt, const edm::ProductID &noZsDigiId, int &binOfMax) const
 
const EBDigiCollectiongetEBDigis (edm::Event &event) const
 
const EEDigiCollectiongetEEDigis (edm::Event &event) const
 
const EcalTrigPrimDigiCollectiongetTrigPrims (edm::Event &event) const
 
void printTTFlags (const EcalTrigPrimDigiCollection &tp, std::ostream &os) const
 
void checkGeometry (const edm::EventSetup &eventSetup)
 
void checkTriggerMap (const edm::EventSetup &eventSetup)
 
void checkElecMap (const edm::EventSetup &eventSetup)
 

Static Private Member Functions

static void checkValidity (const EcalSRSettings &settings)
 

Private Attributes

std::string digiProducer_
 
int dumpFlags_
 
edm::EDGetTokenT
< EBDigiCollection
EB_token
 
std::string ebdigiCollection_
 
std::string ebSrFlagCollection_
 
std::string ebSRPdigiCollection_
 
edm::EDGetTokenT
< EcalTrigPrimDigiCollection
EcTP_token
 
edm::EDGetTokenT
< EEDigiCollection
EE_token
 
std::string eedigiCollection_
 
std::string eeSrFlagCollection_
 
std::string eeSRPdigiCollection_
 
edm::ParameterSet params_
 
bool produceDigis_
 
const EcalSRSettingssettings_
 
std::auto_ptr< EcalSRSettingssettingsFromFile_
 
std::auto_ptr
< EcalSelectiveReadoutSuppressor
suppressor_
 
const EcalElectronicsMappingtheElecMap
 
const CaloGeometrytheGeometry
 
const
EcalTrigTowerConstituentsMap
theTriggerTowerMap
 
bool trigPrimBypass_
 
int trigPrimBypassMode_
 
std::string trigPrimCollection_
 
std::string trigPrimProducer_
 
bool useCondDb_
 
bool useFullReadout_
 
bool writeSrFlags_
 

Additional Inherited Members

- Public Types inherited from edm::EDProducer
typedef EDProducer ModuleType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
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 ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Definition at line 18 of file EcalSelectiveReadoutProducer.h.

Constructor & Destructor Documentation

EcalSelectiveReadoutProducer::EcalSelectiveReadoutProducer ( const edm::ParameterSet params)
explicit

Constructor

Parameters
paramsseletive readout parameters

Definition at line 21 of file EcalSelectiveReadoutProducer.cc.

EcalSelectiveReadoutProducer::~EcalSelectiveReadoutProducer ( )
virtual

Destructor

Definition at line 83 of file EcalSelectiveReadoutProducer.cc.

Member Function Documentation

void EcalSelectiveReadoutProducer::checkElecMap ( const edm::EventSetup eventSetup)
private

Definition at line 257 of file EcalSelectiveReadoutProducer.cc.

void EcalSelectiveReadoutProducer::checkGeometry ( const edm::EventSetup eventSetup)
private

call these once an event, to make sure everything is up-to-date

Definition at line 226 of file EcalSelectiveReadoutProducer.cc.

void EcalSelectiveReadoutProducer::checkTriggerMap ( const edm::EventSetup eventSetup)
private

Definition at line 241 of file EcalSelectiveReadoutProducer.cc.

void EcalSelectiveReadoutProducer::checkValidity ( const EcalSRSettings settings)
staticprivate

Checks validity of selective setting object is valid to be used for MC, especially checks the number of elements in the vectors

Parameters
forEmulatorif true check the restriction that applies for EcalSelectiveReadoutProducer
Exceptions
cms::Exceptionif the setting is not valid.

Definition at line 510 of file EcalSelectiveReadoutProducer.cc.

void EcalSelectiveReadoutProducer::checkWeights ( const edm::Event evt,
const edm::ProductID noZSDigiId 
) const
private

Sanity check on the DCC FIR filter weights. Log warning or error message if an unexpected weight set is found. In principle it is checked that the maximum weight is applied to the expected maximum sample.

Definition at line 309 of file EcalSelectiveReadoutProducer.cc.

bool EcalSelectiveReadoutProducer::getBinOfMax ( const edm::Event evt,
const edm::ProductID noZsDigiId,
int &  binOfMax 
) const
private

Gets the value of the digitizer binOfMaximum parameter.

Parameters
noZsDigiIdproduct ID of the non-suppressed digis
binOfMax[out] set the parameter value if found
Returns
true on success, false otherwise

Definition at line 353 of file EcalSelectiveReadoutProducer.cc.

const EBDigiCollection * EcalSelectiveReadoutProducer::getEBDigis ( edm::Event event) const
private

Definition at line 186 of file EcalSelectiveReadoutProducer.cc.

const EEDigiCollection * EcalSelectiveReadoutProducer::getEEDigis ( edm::Event event) const
private

Definition at line 202 of file EcalSelectiveReadoutProducer.cc.

const EcalTrigPrimDigiCollection * EcalSelectiveReadoutProducer::getTrigPrims ( edm::Event event) const
private

Definition at line 218 of file EcalSelectiveReadoutProducer.cc.

void EcalSelectiveReadoutProducer::printSrFlags ( std::ostream &  os,
const EBSrFlagCollection ebSrFlags,
const EESrFlagCollection eeSrFlags,
int  iEvent = -1,
bool  withHeader = true 
)
static

Help function to print SR flags.

Parameters
ebSrFlagsthe action flags of EB
eeSrFlagthe action flags of EE
iEventevent number. Ignored if <0.
withHeader,iftrue an output description is written out as header.

Definition at line 372 of file EcalSelectiveReadoutProducer.cc.

void EcalSelectiveReadoutProducer::printTTFlags ( const EcalTrigPrimDigiCollection tp,
std::ostream &  os 
) const
private

Definition at line 273 of file EcalSelectiveReadoutProducer.cc.

void EcalSelectiveReadoutProducer::produce ( edm::Event event,
const edm::EventSetup eventSetup 
)
virtual

Produces the EDM products

Parameters
CMSevent
eventSetupevent conditions

Implements edm::EDProducer.

Definition at line 88 of file EcalSelectiveReadoutProducer.cc.

Member Data Documentation

std::string EcalSelectiveReadoutProducer::digiProducer_
private

Definition at line 106 of file EcalSelectiveReadoutProducer.h.

int EcalSelectiveReadoutProducer::dumpFlags_
private

Number of event whose TT and SR flags must be dumped into a file.

Definition at line 128 of file EcalSelectiveReadoutProducer.h.

edm::EDGetTokenT<EBDigiCollection> EcalSelectiveReadoutProducer::EB_token
private

Definition at line 161 of file EcalSelectiveReadoutProducer.h.

std::string EcalSelectiveReadoutProducer::ebdigiCollection_
private

Definition at line 107 of file EcalSelectiveReadoutProducer.h.

std::string EcalSelectiveReadoutProducer::ebSrFlagCollection_
private

Definition at line 111 of file EcalSelectiveReadoutProducer.h.

std::string EcalSelectiveReadoutProducer::ebSRPdigiCollection_
private

Definition at line 109 of file EcalSelectiveReadoutProducer.h.

edm::EDGetTokenT<EcalTrigPrimDigiCollection> EcalSelectiveReadoutProducer::EcTP_token
private

Definition at line 163 of file EcalSelectiveReadoutProducer.h.

edm::EDGetTokenT<EEDigiCollection> EcalSelectiveReadoutProducer::EE_token
private

Definition at line 162 of file EcalSelectiveReadoutProducer.h.

std::string EcalSelectiveReadoutProducer::eedigiCollection_
private

Definition at line 108 of file EcalSelectiveReadoutProducer.h.

std::string EcalSelectiveReadoutProducer::eeSrFlagCollection_
private

Definition at line 112 of file EcalSelectiveReadoutProducer.h.

std::string EcalSelectiveReadoutProducer::eeSRPdigiCollection_
private

Definition at line 110 of file EcalSelectiveReadoutProducer.h.

edm::ParameterSet EcalSelectiveReadoutProducer::params_
private

Definition at line 120 of file EcalSelectiveReadoutProducer.h.

bool EcalSelectiveReadoutProducer::produceDigis_
private

Switch for suppressed digi production If false SR flags are produced but selective readout is not applied on the crystal channel digis.

Definition at line 137 of file EcalSelectiveReadoutProducer.h.

const EcalSRSettings* EcalSelectiveReadoutProducer::settings_
private

SR settings

Definition at line 141 of file EcalSelectiveReadoutProducer.h.

std::auto_ptr<EcalSRSettings> EcalSelectiveReadoutProducer::settingsFromFile_
private

Used when settings_ is imported from configuration file. Just used for memory management. Used settings_ to access to the object

Definition at line 157 of file EcalSelectiveReadoutProducer.h.

std::auto_ptr<EcalSelectiveReadoutSuppressor> EcalSelectiveReadoutProducer::suppressor_
private

Definition at line 105 of file EcalSelectiveReadoutProducer.h.

const EcalElectronicsMapping* EcalSelectiveReadoutProducer::theElecMap
private

Definition at line 119 of file EcalSelectiveReadoutProducer.h.

const CaloGeometry* EcalSelectiveReadoutProducer::theGeometry
private

Definition at line 117 of file EcalSelectiveReadoutProducer.h.

const EcalTrigTowerConstituentsMap* EcalSelectiveReadoutProducer::theTriggerTowerMap
private

Definition at line 118 of file EcalSelectiveReadoutProducer.h.

bool EcalSelectiveReadoutProducer::trigPrimBypass_
private

Definition at line 122 of file EcalSelectiveReadoutProducer.h.

int EcalSelectiveReadoutProducer::trigPrimBypassMode_
private

Definition at line 124 of file EcalSelectiveReadoutProducer.h.

std::string EcalSelectiveReadoutProducer::trigPrimCollection_
private

Definition at line 114 of file EcalSelectiveReadoutProducer.h.

std::string EcalSelectiveReadoutProducer::trigPrimProducer_
private

Definition at line 113 of file EcalSelectiveReadoutProducer.h.

bool EcalSelectiveReadoutProducer::useCondDb_
private

Switch for retrieving SR settings from condition database instead of CMSSW python configuration file.

Definition at line 146 of file EcalSelectiveReadoutProducer.h.

bool EcalSelectiveReadoutProducer::useFullReadout_
private

Special switch to turn off SR entirely using special DB entries

Definition at line 152 of file EcalSelectiveReadoutProducer.h.

bool EcalSelectiveReadoutProducer::writeSrFlags_
private

switch to write out the SrFlags collections in the event

Definition at line 132 of file EcalSelectiveReadoutProducer.h.