doesn't have to be a producer. Can act as an analyzer, too. More...
#include <SubsystemNeutronWriter.h>
Public Member Functions | |
virtual bool | accept (const edm::PSimHitContainer &cluster) const =0 |
decides whether this cluster is good enough to be included More... | |
virtual int | chamberId (int globalDetId) const =0 |
virtual int | chamberType (int globalDetId) const =0 |
void | initialize (int chamberType) |
good practice to do once for each chamber type More... | |
virtual int | localDetId (int globalDetId) const =0 |
void | printStats () |
virtual void | produce (edm::Event &e, edm::EventSetup const &c) |
SubsystemNeutronWriter (edm::ParameterSet const &pset) | |
virtual | ~SubsystemNeutronWriter () |
destructor prints statistics on number of events written More... | |
Public Member Functions inherited from edm::stream::EDProducer<> | |
EDProducer ()=default | |
Public Member Functions inherited from edm::stream::EDProducerBase | |
EDProducerBase () | |
ModuleDescription const & | moduleDescription () const |
virtual | ~EDProducerBase () |
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 () | |
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, std::unordered_multimap< std::string, edm::ProductResolverIndex > const &iIndicies, std::string const &moduleLabel) |
virtual | ~ProducerBase () noexcept(false) |
Public Member Functions inherited from edm::EDConsumerBase | |
std::vector< ConsumesInfo > | consumesInfo () const |
EDConsumerBase () | |
EDConsumerBase (EDConsumerBase const &)=delete | |
EDConsumerBase (EDConsumerBase &&)=default | |
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 & | itemsToGetFromEvent () const |
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
virtual | ~EDConsumerBase () noexcept(false) |
Protected Member Functions | |
void | adjust (PSimHit &h, float timeOffset, float smearing) |
helper to add time offsets and local det ID More... | |
void | updateCount (int chamberType) |
updates the counter More... | |
void | writeCluster (int chamberType, const edm::PSimHitContainer &cluster) |
virtual void | writeHits (int chamberType, edm::PSimHitContainer &chamberHits, CLHEP::HepRandomEngine *) |
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) |
Private Attributes | |
bool | initialized |
std::map< int, int > | theCountPerChamberType |
NeutronWriter * | theHitWriter |
edm::InputTag | theInputTag |
double | theNeutronTimeCut |
int | theNEvents |
double | theT0 |
double | theTimeWindow |
bool | useLocalDetId_ |
bool | useRandFlat |
Additional Inherited Members | |
Public Types inherited from edm::stream::EDProducer<> | |
typedef CacheContexts< T...> | CacheTypes |
typedef CacheTypes::GlobalCache | GlobalCache |
typedef AbilityChecker< T...> | HasAbility |
typedef CacheTypes::LuminosityBlockCache | LuminosityBlockCache |
typedef LuminosityBlockContextT < LuminosityBlockCache, RunCache, GlobalCache > | LuminosityBlockContext |
typedef CacheTypes::LuminosityBlockSummaryCache | LuminosityBlockSummaryCache |
typedef CacheTypes::RunCache | RunCache |
typedef RunContextT< RunCache, GlobalCache > | RunContext |
typedef CacheTypes::RunSummaryCache | RunSummaryCache |
Public Types inherited from edm::stream::EDProducerBase | |
typedef EDProducerAdaptorBase | ModuleType |
Public Types inherited from edm::ProducerBase | |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Static Public Member Functions inherited from edm::stream::EDProducerBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
doesn't have to be a producer. Can act as an analyzer, too.
Definition at line 28 of file SubsystemNeutronWriter.h.
|
explicit |
Definition at line 26 of file SubsystemNeutronWriter.cc.
References Exception, edm::ParameterSet::getParameter(), edm::Service< T >::isAvailable(), convertSQLitetoXML_cfg::output, rng, theHitWriter, useLocalDetId_, and useRandFlat.
|
virtual |
destructor prints statistics on number of events written
Definition at line 70 of file SubsystemNeutronWriter.cc.
References printStats(), and theHitWriter.
|
pure virtual |
decides whether this cluster is good enough to be included
Implemented in CSCNeutronWriter, RPCNeutronWriter, and DTNeutronWriter.
Referenced by Vispa.Gui.BoxContentDialog.BoxContentDialog::apply(), Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog::apply(), esMonitoring.FDJsonServer::handle_accept(), and writeCluster().
|
protected |
helper to add time offsets and local det ID
Definition at line 177 of file SubsystemNeutronWriter.cc.
References PSimHit::detUnitId(), PSimHit::energyLoss(), PSimHit::entryPoint(), PSimHit::exitPoint(), localDetId(), PSimHit::momentumAtEntry(), PSimHit::pabs(), PSimHit::particleType(), PV3DBase< T, PVType, FrameType >::phi(), PV3DBase< T, PVType, FrameType >::theta(), PSimHit::timeOfFlight(), PSimHit::trackId(), and useLocalDetId_.
Referenced by writeHits().
|
pure virtual |
Implemented in CSCNeutronWriter, RPCNeutronWriter, and DTNeutronWriter.
Referenced by produce().
|
pure virtual |
Implemented in CSCNeutronWriter, RPCNeutronWriter, and DTNeutronWriter.
Referenced by produce(), and writeHits().
void SubsystemNeutronWriter::initialize | ( | int | chamberType | ) |
good practice to do once for each chamber type
Definition at line 117 of file SubsystemNeutronWriter.cc.
References NeutronWriter::initialize(), and theHitWriter.
Referenced by CSCNeutronWriter::CSCNeutronWriter().
|
pure virtual |
Implemented in CSCNeutronWriter, RPCNeutronWriter, and DTNeutronWriter.
Referenced by adjust().
void SubsystemNeutronWriter::printStats | ( | ) |
Definition at line 76 of file SubsystemNeutronWriter.cc.
References theCountPerChamberType, and theNEvents.
Referenced by ~SubsystemNeutronWriter().
|
virtual |
Implements edm::stream::EDProducerBase.
Definition at line 85 of file SubsystemNeutronWriter.cc.
References NeutronWriter::beginEvent(), chamberId(), chamberType(), NeutronWriter::endEvent(), edm::Event::getByLabel(), edm::RandomNumberGenerator::getEngine(), rng, edm::Event::streamID(), theHitWriter, theInputTag, theNEvents, useRandFlat, and writeHits().
|
protected |
updates the counter
Definition at line 192 of file SubsystemNeutronWriter.cc.
References mps_splice::entry, and theCountPerChamberType.
Referenced by writeCluster().
|
protected |
Definition at line 167 of file SubsystemNeutronWriter.cc.
References accept(), theHitWriter, updateCount(), and NeutronWriter::writeCluster().
Referenced by writeHits().
|
protectedvirtual |
Definition at line 125 of file SubsystemNeutronWriter.cc.
References adjust(), chamberType(), PSimHit::detUnitId(), i, LogDebug, PSimHit::pabs(), PSimHit::particleType(), dcs_trend_monitor_cfg::startTime, theNeutronTimeCut, theT0, theTimeWindow, PSimHit::tof(), useRandFlat, and writeCluster().
Referenced by produce().
|
private |
Definition at line 73 of file SubsystemNeutronWriter.h.
|
private |
Definition at line 76 of file SubsystemNeutronWriter.h.
Referenced by printStats(), and updateCount().
|
private |
Definition at line 66 of file SubsystemNeutronWriter.h.
Referenced by initialize(), produce(), SubsystemNeutronWriter(), writeCluster(), and ~SubsystemNeutronWriter().
|
private |
Definition at line 68 of file SubsystemNeutronWriter.h.
Referenced by produce().
|
private |
Definition at line 69 of file SubsystemNeutronWriter.h.
Referenced by writeHits().
|
private |
Definition at line 72 of file SubsystemNeutronWriter.h.
Referenced by printStats(), and produce().
|
private |
Definition at line 71 of file SubsystemNeutronWriter.h.
Referenced by writeHits().
|
private |
Definition at line 70 of file SubsystemNeutronWriter.h.
Referenced by writeHits().
|
private |
Definition at line 75 of file SubsystemNeutronWriter.h.
Referenced by adjust(), and SubsystemNeutronWriter().
|
private |
Definition at line 67 of file SubsystemNeutronWriter.h.
Referenced by produce(), SubsystemNeutronWriter(), and writeHits().