#include <MuonErrorMatrixAdjuster.h>
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... | |
void | beginJob () override |
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... | |
void | endJob () override |
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... | |
void | produce (edm::Event &, const edm::EventSetup &) override |
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 | |
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > > |
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) |
static bool | wantsGlobalLuminosityBlocks () |
static bool | wantsGlobalRuns () |
static bool | wantsInputProcessBlocks () |
static bool | wantsProcessBlocks () |
static bool | wantsStreamLuminosityBlocks () |
static bool | wantsStreamRuns () |
Protected Member Functions inherited from edm::ProducerBase | |
template<class ProductType > | |
BranchAliasSetterT< ProductType > | produces () |
declare what type of product will make and with which optional label More... | |
template<typename ProductType , BranchType B> | |
BranchAliasSetterT< ProductType > | produces () |
template<typename ProductType , Transition B> | |
BranchAliasSetterT< ProductType > | produces () |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
template<BranchType B> | |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
template<Transition B> | |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
template<typename ProductType , Transition B> | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<class ProductType > | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<typename ProductType , BranchType B> | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
ProducesCollector | producesCollector () |
Protected Member Functions inherited from edm::EDConsumerBase | |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
template<BranchType B = InEvent> | |
EDConsumerBaseAdaptor< B > | consumes (edm::InputTag tag) noexcept |
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 ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes () |
template<Transition Tr = Transition::Event> | |
constexpr auto | esConsumes () noexcept |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag const &tag) |
template<Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag tag) noexcept |
template<Transition Tr = Transition::Event> | |
ESGetTokenGeneric | esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey) |
Used with EventSetupRecord::doGet. More... | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (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 44 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.
|
override |
destructor
Definition at line 33 of file MuonErrorMatrixAdjuster.cc.
|
private |
attached rechits to the newly created reco::Track and reco::TrackExtra
Definition at line 144 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().
|
overrideprivatevirtual |
framework method
Reimplemented from edm::EDProducer.
Definition at line 245 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 66 of file MuonErrorMatrixAdjuster.cc.
References mps_fire::i, and dqmiolumiharvest::j.
Referenced by makeTrackExtra().
|
overrideprivatevirtual |
Reimplemented from edm::EDProducer.
Definition at line 248 of file MuonErrorMatrixAdjuster.cc.
References theMatrixProvider.
|
private |
return a corrected error matrix
Definition at line 43 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 81 of file MuonErrorMatrixAdjuster.cc.
References ALCARECOTkAlJpsiMuMu_cff::charge, reco::TrackBase::charge(), hltPixelTracks_cff::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 100 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 55 of file MuonErrorMatrixAdjuster.cc.
References mps_fire::i, and dqmiolumiharvest::j.
Referenced by fix_cov_matrix(), and makeTrackExtra().
|
overrideprivatevirtual |
Implements edm::EDProducer.
Definition at line 172 of file MuonErrorMatrixAdjuster.cc.
References attachRecHits(), edm::EventSetup::get(), get, iEvent, trajectoryStateTransform::initialFreeState(), LogDebug, PV3DBase< T, PVType, FrameType >::mag(), makeTrack(), makeTrackExtra(), eostools::move(), FreeTrajectoryState::position(), edm::ESHandle< T >::product(), selectTrack(), theCategory, theField, theInstanceName, theRefprodRH, theRefprodTE, theRHi, theTEi, theTrackLabel, and tracks.
|
private |
make a selection on the reco:Track. (dummy for the moment)
Definition at line 169 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 102 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 109 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 105 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 110 of file MuonErrorMatrixAdjuster.h.
Referenced by attachRecHits(), and produce().
|
private |
Definition at line 106 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().