#include <Alignment/CommonAlignment/plugins/MagneticFieldFilter.cc>
Public Member Functions | |
MagneticFieldFilter (const edm::ParameterSet &) | |
~MagneticFieldFilter ()=default | |
Public Member Functions inherited from edm::stream::EDFilter<> | |
EDFilter ()=default | |
Public Member Functions inherited from edm::stream::EDFilterBase | |
EDFilterBase () | |
ModuleDescription const & | moduleDescription () const |
virtual | ~EDFilterBase () |
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< ConsumesInfo > | consumesInfo () 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 (const std::string &iProcessName, std::vector< const char * > &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 | fillDescriptions (edm::ConfigurationDescriptions &) |
Static Public Member Functions inherited from edm::stream::EDFilterBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Private Member Functions | |
virtual void | beginRun (const edm::Run &, const edm::EventSetup &) override |
float | currentToField (const float ¤t) const |
convert Ampere (A) to Tesla (T) More... | |
virtual bool | filter (edm::Event &, const edm::EventSetup &) override |
Private Attributes | |
const int | magneticField_ |
int | magneticFieldCurrentRun_ |
magnetic field that is filtered More... | |
Static Private Attributes | |
static float | constantTermCurrentToField_ = 1.704418e-02 |
see: https://hypernews.cern.ch/HyperNews/CMS/get/magnetic-field/63/1/1/1.html More... | |
static float | linearCoeffCurrentToField_ = 2.084287e-04 |
see: https://hypernews.cern.ch/HyperNews/CMS/get/magnetic-field/63/1/1/1.html More... | |
Additional Inherited Members | |
Public Types inherited from edm::stream::EDFilter<> | |
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::EDFilterBase | |
typedef EDFilterAdaptorBase | 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) |
Description: Plugin to filter events based on the magnetic field value
Implementation: Takes the magnet current from the RunInfoRcd and translates it into a magnetic field value using the parameterization given here:
https://hypernews.cern.ch/HyperNews/CMS/get/magnetic-field/63/1/1/1.html
Agrees within an accuracy of ~20 mT with results of: https://cmswbm.web.cern.ch/cmswbm/cmsdb/servlet/RunSummary
Definition at line 40 of file MagneticFieldFilter.cc.
|
explicit |
Definition at line 74 of file MagneticFieldFilter.cc.
|
default |
|
overrideprivatevirtual |
Reimplemented from edm::stream::EDFilterBase.
Definition at line 93 of file MagneticFieldFilter.cc.
References currentToField(), edm::EventSetup::get(), magneticFieldCurrentRun_, edm::ESHandle< class >::product(), and edmLumisInFiles::summary.
|
private |
convert Ampere (A) to Tesla (T)
Definition at line 106 of file MagneticFieldFilter.cc.
References constantTermCurrentToField_, and linearCoeffCurrentToField_.
Referenced by beginRun().
|
static |
Definition at line 113 of file MagneticFieldFilter.cc.
References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::addUntracked(), and edm::ParameterSetDescription::setComment().
|
overrideprivatevirtual |
Implements edm::stream::EDFilterBase.
Definition at line 86 of file MagneticFieldFilter.cc.
References magneticField_, and magneticFieldCurrentRun_.
Referenced by Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::filter(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::find(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::setDataAccessor(), and Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::switchCenterView().
|
staticprivate |
see: https://hypernews.cern.ch/HyperNews/CMS/get/magnetic-field/63/1/1/1.html
Definition at line 58 of file MagneticFieldFilter.cc.
Referenced by currentToField().
|
staticprivate |
see: https://hypernews.cern.ch/HyperNews/CMS/get/magnetic-field/63/1/1/1.html
Definition at line 56 of file MagneticFieldFilter.cc.
Referenced by currentToField().
|
private |
Definition at line 60 of file MagneticFieldFilter.cc.
Referenced by filter().
|
private |
magnetic field that is filtered
Definition at line 61 of file MagneticFieldFilter.cc.
Referenced by beginRun(), and filter().