#include <MuonErrorMatrixAdjuster.h>
Public Member Functions | |
MuonErrorMatrixAdjuster (const edm::ParameterSet &) | |
constructor More... | |
~MuonErrorMatrixAdjuster () | |
destructor More... | |
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) |
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 |
void | convertCurrentProcessAlias (std::string const &processName) |
Convert "@currentProcess" in InputTag process names to the actual current process name. More... | |
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 & | itemsToGetFrom (BranchType iType) 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) |
Private Member Functions | |
bool | attachRecHits (const reco::Track &recotrack_orig, reco::Track &recotrack, reco::TrackExtra &trackextra, TrackingRecHitCollection &RHcol, const TrackerTopology &ttopo) |
attached rechits to the newly created reco::Track and reco::TrackExtra More... | |
virtual void | beginJob () |
framework method More... | |
bool | divide (reco::TrackBase::CovarianceMatrix &num_matrix, const reco::TrackBase::CovarianceMatrix &denom_matrix) |
divide the num_matrix (first argument) by second matrix, TERM by TERM More... | |
virtual void | endJob () |
reco::TrackBase::CovarianceMatrix | fix_cov_matrix (const reco::TrackBase::CovarianceMatrix &error_matrix, const GlobalVector &momentum) |
return a corrected error matrix More... | |
reco::Track | makeTrack (const reco::Track &recotrack_orig, const FreeTrajectoryState &PCAstate) |
create a corrected reco::Track from itself and trajectory state (redundant information) More... | |
reco::TrackExtra * | makeTrackExtra (const reco::Track &recotrack_orig, reco::Track &recotrack, reco::TrackExtraCollection &TEcol) |
create a track extra for the newly created recotrack, scaling the outer/inner measurment error matrix by the scale matrix recotrack/recotrack_orig More... | |
void | multiply (reco::TrackBase::CovarianceMatrix &revised_matrix, const reco::TrackBase::CovarianceMatrix &scale_matrix) |
mutliply revised_matrix (first argument) by second matrix TERM by TERM More... | |
virtual void | produce (edm::Event &, const edm::EventSetup &) |
bool | selectTrack (const reco::Track &recotrack_orig) |
make a selection on the reco:Track. (dummy for the moment) More... | |
Private Attributes | |
std::string | theCategory |
log category: MuonErrorMatrixAdjuster More... | |
edm::ESHandle< MagneticField > | theField |
hold on to the magnetic field More... | |
std::string | theInstanceName |
instrance name of the created track collecion. rechit and trackextra have no instance name More... | |
MuonErrorMatrix * | theMatrixProvider |
edm::ParameterSet | theMatrixProvider_pset |
holds the error matrix parametrization More... | |
edm::RefProd< TrackingRecHitCollection > | theRefprodRH |
get reference before put rechit to the event, in order to create edm::Ref More... | |
edm::RefProd< reco::TrackExtraCollection > | theRefprodTE |
get reference before put track extra to the event, in order to create edm::Ref More... | |
bool | theRescale |
select the rescaling or replacing method to correct the error matrix More... | |
edm::Ref< TrackingRecHitCollection >::key_type | theRHi |
edm::Ref< reco::TrackExtraCollection >::key_type | theTEi |
edm::InputTag | theTrackLabel |
input tag of the reco::Track collection to be corrected More... | |
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 |
Static Public Member Functions inherited from edm::EDProducer | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
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) |
EDProducer which duplicatesa collection of track, adjusting their error matrix
track collection is retrieve from the event, duplicated, while the error matrix is corrected rechit are copied into a new collection track extra is also copied and error matrix are corrected by the same scale factors
Definition at line 45 of file MuonErrorMatrixAdjuster.h.
|
explicit |
constructor
Definition at line 19 of file MuonErrorMatrixAdjuster.cc.
References edm::ParameterSet::getParameter(), AlCaHLTBitMon_QueryRunRegistry::string, theCategory, theInstanceName, theMatrixProvider_pset, theRescale, and theTrackLabel.
MuonErrorMatrixAdjuster::~MuonErrorMatrixAdjuster | ( | ) |
destructor
Definition at line 35 of file MuonErrorMatrixAdjuster.cc.
|
private |
attached rechits to the newly created reco::Track and reco::TrackExtra
Definition at line 139 of file MuonErrorMatrixAdjuster.cc.
References reco::TrackBase::appendHitPattern(), edm::OwnVector< T, P >::push_back(), rpcPointValidation_cfi::recHit, reco::Track::recHitsBegin(), reco::Track::recHitsEnd(), reco::TrackExtraBase::setHits(), theRefprodRH, and theRHi.
Referenced by produce().
|
privatevirtual |
framework method
Reimplemented from edm::EDProducer.
Definition at line 241 of file MuonErrorMatrixAdjuster.cc.
References theMatrixProvider, and theMatrixProvider_pset.
|
private |
divide the num_matrix (first argument) by second matrix, TERM by TERM
Definition at line 69 of file MuonErrorMatrixAdjuster.cc.
References mps_fire::i.
Referenced by makeTrackExtra().
|
privatevirtual |
Reimplemented from edm::EDProducer.
Definition at line 248 of file MuonErrorMatrixAdjuster.cc.
References theMatrixProvider.
|
private |
return a corrected error matrix
Definition at line 49 of file MuonErrorMatrixAdjuster.cc.
References MuonErrorMatrix::get(), multiply(), theMatrixProvider, and theRescale.
Referenced by makeTrack().
|
private |
create a corrected reco::Track from itself and trajectory state (redundant information)
Definition at line 80 of file MuonErrorMatrixAdjuster.cc.
References ALCARECOTkAlJpsiMuMu_cff::charge, reco::TrackBase::charge(), HiEvtPlane_cfi::chi2, reco::TrackBase::chi2(), reco::TrackBase::covariance(), fix_cov_matrix(), LogDebug, FreeTrajectoryState::momentum(), reco::TrackBase::momentum(), ndof, reco::TrackBase::ndof(), reco::TrackBase::referencePoint(), and theCategory.
Referenced by produce().
|
private |
create a track extra for the newly created recotrack, scaling the outer/inner measurment error matrix by the scale matrix recotrack/recotrack_orig
Definition at line 102 of file MuonErrorMatrixAdjuster.cc.
References reco::TrackBase::covariance(), divide(), reco::Track::extra(), edm::Ref< C, T, F >::isNull(), multiply(), reco::Track::setExtra(), theCategory, theRefprodTE, and theTEi.
Referenced by produce().
|
private |
mutliply revised_matrix (first argument) by second matrix TERM by TERM
Definition at line 61 of file MuonErrorMatrixAdjuster.cc.
References mps_fire::i.
Referenced by fix_cov_matrix(), and makeTrackExtra().
|
privatevirtual |
Definition at line 168 of file MuonErrorMatrixAdjuster.cc.
References attachRecHits(), edm::EventSetup::get(), edm::Event::getByLabel(), edm::Event::getRefBeforePut(), trajectoryStateTransform::initialFreeState(), LogDebug, PV3DBase< T, PVType, FrameType >::mag(), makeTrack(), makeTrackExtra(), eostools::move(), FreeTrajectoryState::position(), edm::ESHandle< T >::product(), edm::Event::put(), selectTrack(), theCategory, theField, theInstanceName, theRefprodRH, theRefprodTE, theRHi, theTEi, theTrackLabel, and l1t::tracks.
|
private |
make a selection on the reco:Track. (dummy for the moment)
Definition at line 164 of file MuonErrorMatrixAdjuster.cc.
Referenced by produce().
|
private |
log category: MuonErrorMatrixAdjuster
Definition at line 86 of file MuonErrorMatrixAdjuster.h.
Referenced by makeTrack(), makeTrackExtra(), MuonErrorMatrixAdjuster(), and produce().
|
private |
hold on to the magnetic field
Definition at line 103 of file MuonErrorMatrixAdjuster.h.
Referenced by produce().
|
private |
instrance name of the created track collecion. rechit and trackextra have no instance name
Definition at line 92 of file MuonErrorMatrixAdjuster.h.
Referenced by MuonErrorMatrixAdjuster(), and produce().
|
private |
Definition at line 99 of file MuonErrorMatrixAdjuster.h.
Referenced by beginJob(), endJob(), and fix_cov_matrix().
|
private |
holds the error matrix parametrization
Definition at line 98 of file MuonErrorMatrixAdjuster.h.
Referenced by beginJob(), and MuonErrorMatrixAdjuster().
|
private |
get reference before put rechit to the event, in order to create edm::Ref
Definition at line 110 of file MuonErrorMatrixAdjuster.h.
Referenced by attachRecHits(), and produce().
|
private |
get reference before put track extra to the event, in order to create edm::Ref
Definition at line 106 of file MuonErrorMatrixAdjuster.h.
Referenced by makeTrackExtra(), and produce().
|
private |
select the rescaling or replacing method to correct the error matrix
Definition at line 95 of file MuonErrorMatrixAdjuster.h.
Referenced by fix_cov_matrix(), and MuonErrorMatrixAdjuster().
|
private |
Definition at line 111 of file MuonErrorMatrixAdjuster.h.
Referenced by attachRecHits(), and produce().
|
private |
Definition at line 107 of file MuonErrorMatrixAdjuster.h.
Referenced by makeTrackExtra(), and produce().
|
private |
input tag of the reco::Track collection to be corrected
Definition at line 89 of file MuonErrorMatrixAdjuster.h.
Referenced by MuonErrorMatrixAdjuster(), and produce().