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::EDProducer | |
EDProducer () | |
ModuleDescription const & | moduleDescription () const |
virtual | ~EDProducer () |
Public Member Functions inherited from edm::ProducerBase | |
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 | |
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 (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const |
bool | registeredToConsume (ProductHolderIndex, bool, BranchType) const |
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
void | updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &) |
virtual | ~EDConsumerBase () |
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::ProducerBase | |
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
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::EDProducer | |
typedef EDProducer | ModuleType |
Public Types inherited from edm::ProducerBase | |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Static Public Member Functions inherited from edm::EDProducer | |
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 27 of file SubsystemNeutronWriter.cc.
References edm::hlt::Exception, edm::ParameterSet::getParameter(), edm::Service< T >::isAvailable(), convertSQLitetoXML_cfg::output, theHitWriter, useLocalDetId_, and useRandFlat.
|
virtual |
destructor prints statistics on number of events written
Definition at line 72 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(), and writeCluster().
|
protected |
helper to add time offsets and local det ID
Definition at line 182 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 122 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 80 of file SubsystemNeutronWriter.cc.
References theCountPerChamberType, and theNEvents.
Referenced by ~SubsystemNeutronWriter().
|
virtual |
Implements edm::EDProducer.
Definition at line 90 of file SubsystemNeutronWriter.cc.
References NeutronWriter::beginEvent(), chamberId(), chamberType(), NeutronWriter::endEvent(), edm::Event::getByLabel(), edm::RandomNumberGenerator::getEngine(), edm::Event::streamID(), theHitWriter, theInputTag, theNEvents, useRandFlat, and writeHits().
|
protected |
updates the counter
Definition at line 197 of file SubsystemNeutronWriter.cc.
References theCountPerChamberType.
Referenced by writeCluster().
|
protected |
Definition at line 172 of file SubsystemNeutronWriter.cc.
References accept(), theHitWriter, updateCount(), and NeutronWriter::writeCluster().
Referenced by writeHits().
|
protectedvirtual |
Definition at line 130 of file SubsystemNeutronWriter.cc.
References adjust(), chamberType(), PSimHit::detUnitId(), i, LogDebug, PSimHit::pabs(), PSimHit::particleType(), python.multivaluedict::sort(), edmStreamStallGrapher::startTime, theNeutronTimeCut, theT0, theTimeWindow, PSimHit::tof(), useRandFlat, and writeCluster().
Referenced by produce().
|
private |
Definition at line 74 of file SubsystemNeutronWriter.h.
|
private |
Definition at line 77 of file SubsystemNeutronWriter.h.
Referenced by printStats(), and updateCount().
|
private |
Definition at line 67 of file SubsystemNeutronWriter.h.
Referenced by initialize(), produce(), SubsystemNeutronWriter(), writeCluster(), and ~SubsystemNeutronWriter().
|
private |
Definition at line 69 of file SubsystemNeutronWriter.h.
Referenced by produce().
|
private |
Definition at line 70 of file SubsystemNeutronWriter.h.
Referenced by writeHits().
|
private |
Definition at line 73 of file SubsystemNeutronWriter.h.
Referenced by printStats(), and produce().
|
private |
Definition at line 72 of file SubsystemNeutronWriter.h.
Referenced by writeHits().
|
private |
Definition at line 71 of file SubsystemNeutronWriter.h.
Referenced by writeHits().
|
private |
Definition at line 76 of file SubsystemNeutronWriter.h.
Referenced by adjust(), and SubsystemNeutronWriter().
|
private |
Definition at line 68 of file SubsystemNeutronWriter.h.
Referenced by produce(), SubsystemNeutronWriter(), and writeHits().