CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
MuonErrorMatrixAdjuster Class Reference

#include <MuonErrorMatrixAdjuster.h>

Inheritance diagram for MuonErrorMatrixAdjuster:
edm::EDProducer edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

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)
 
 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< ConsumesInfoconsumesInfo () 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 (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &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 ()
 

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::TrackExtramakeTrackExtra (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< MagneticFieldtheField
 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...
 
MuonErrorMatrixtheMatrixProvider
 
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)
 

Detailed Description

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

Author
Jean-Roch Vlimant UCSB
Finn Rebassoo UCSB

Definition at line 45 of file MuonErrorMatrixAdjuster.h.

Constructor & Destructor Documentation

MuonErrorMatrixAdjuster::MuonErrorMatrixAdjuster ( const edm::ParameterSet iConfig)
explicit

constructor

Definition at line 19 of file MuonErrorMatrixAdjuster.cc.

MuonErrorMatrixAdjuster::~MuonErrorMatrixAdjuster ( )

destructor

Definition at line 35 of file MuonErrorMatrixAdjuster.cc.

Member Function Documentation

bool MuonErrorMatrixAdjuster::attachRecHits ( const reco::Track recotrack_orig,
reco::Track recotrack,
reco::TrackExtra trackextra,
TrackingRecHitCollection RHcol,
const TrackerTopology ttopo 
)
private

attached rechits to the newly created reco::Track and reco::TrackExtra

Definition at line 139 of file MuonErrorMatrixAdjuster.cc.

void MuonErrorMatrixAdjuster::beginJob ( void  )
privatevirtual

framework method

Reimplemented from edm::EDProducer.

Definition at line 241 of file MuonErrorMatrixAdjuster.cc.

bool MuonErrorMatrixAdjuster::divide ( reco::TrackBase::CovarianceMatrix num_matrix,
const reco::TrackBase::CovarianceMatrix denom_matrix 
)
private

divide the num_matrix (first argument) by second matrix, TERM by TERM

Definition at line 69 of file MuonErrorMatrixAdjuster.cc.

void MuonErrorMatrixAdjuster::endJob ( void  )
privatevirtual

Reimplemented from edm::EDProducer.

Definition at line 248 of file MuonErrorMatrixAdjuster.cc.

reco::TrackBase::CovarianceMatrix MuonErrorMatrixAdjuster::fix_cov_matrix ( const reco::TrackBase::CovarianceMatrix error_matrix,
const GlobalVector momentum 
)
private

return a corrected error matrix

Definition at line 49 of file MuonErrorMatrixAdjuster.cc.

reco::Track MuonErrorMatrixAdjuster::makeTrack ( const reco::Track recotrack_orig,
const FreeTrajectoryState PCAstate 
)
private

create a corrected reco::Track from itself and trajectory state (redundant information)

Definition at line 80 of file MuonErrorMatrixAdjuster.cc.

reco::TrackExtra * MuonErrorMatrixAdjuster::makeTrackExtra ( const reco::Track recotrack_orig,
reco::Track recotrack,
reco::TrackExtraCollection TEcol 
)
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.

void MuonErrorMatrixAdjuster::multiply ( reco::TrackBase::CovarianceMatrix revised_matrix,
const reco::TrackBase::CovarianceMatrix scale_matrix 
)
private

mutliply revised_matrix (first argument) by second matrix TERM by TERM

Definition at line 61 of file MuonErrorMatrixAdjuster.cc.

void MuonErrorMatrixAdjuster::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
privatevirtual

Implements edm::EDProducer.

Definition at line 168 of file MuonErrorMatrixAdjuster.cc.

bool MuonErrorMatrixAdjuster::selectTrack ( const reco::Track recotrack_orig)
private

make a selection on the reco:Track. (dummy for the moment)

Definition at line 164 of file MuonErrorMatrixAdjuster.cc.

Member Data Documentation

std::string MuonErrorMatrixAdjuster::theCategory
private

log category: MuonErrorMatrixAdjuster

Definition at line 86 of file MuonErrorMatrixAdjuster.h.

edm::ESHandle<MagneticField> MuonErrorMatrixAdjuster::theField
private

hold on to the magnetic field

Definition at line 103 of file MuonErrorMatrixAdjuster.h.

std::string MuonErrorMatrixAdjuster::theInstanceName
private

instrance name of the created track collecion. rechit and trackextra have no instance name

Definition at line 92 of file MuonErrorMatrixAdjuster.h.

MuonErrorMatrix* MuonErrorMatrixAdjuster::theMatrixProvider
private

Definition at line 99 of file MuonErrorMatrixAdjuster.h.

edm::ParameterSet MuonErrorMatrixAdjuster::theMatrixProvider_pset
private

holds the error matrix parametrization

Definition at line 98 of file MuonErrorMatrixAdjuster.h.

edm::RefProd<TrackingRecHitCollection> MuonErrorMatrixAdjuster::theRefprodRH
private

get reference before put rechit to the event, in order to create edm::Ref

Definition at line 110 of file MuonErrorMatrixAdjuster.h.

edm::RefProd<reco::TrackExtraCollection> MuonErrorMatrixAdjuster::theRefprodTE
private

get reference before put track extra to the event, in order to create edm::Ref

Definition at line 106 of file MuonErrorMatrixAdjuster.h.

bool MuonErrorMatrixAdjuster::theRescale
private

select the rescaling or replacing method to correct the error matrix

Definition at line 95 of file MuonErrorMatrixAdjuster.h.

edm::Ref<TrackingRecHitCollection>::key_type MuonErrorMatrixAdjuster::theRHi
private

Definition at line 111 of file MuonErrorMatrixAdjuster.h.

edm::Ref<reco::TrackExtraCollection>::key_type MuonErrorMatrixAdjuster::theTEi
private

Definition at line 107 of file MuonErrorMatrixAdjuster.h.

edm::InputTag MuonErrorMatrixAdjuster::theTrackLabel
private

input tag of the reco::Track collection to be corrected

Definition at line 89 of file MuonErrorMatrixAdjuster.h.