CMS 3D CMS Logo

MuonErrorMatrixAdjuster.h
Go to the documentation of this file.
1 #ifndef RecoMuon_TrackingTools_MuonErrorMatrixAdjuster_H
2 #define RecoMuon_TrackingTools_MuonErrorMatrixAdjuster_H
3 
17 #include <memory>
20 
23 
25 
29 
31 
33 class MuonErroMatrix;
34 class MagneticField;
35 class MuonErrorMatrix;
37 
39 
40 //
41 // class decleration
42 //
43 
45 public:
49  ~MuonErrorMatrixAdjuster() override;
50 
51 private:
53  void beginJob() override;
54  void produce(edm::Event&, const edm::EventSetup&) override;
55  void endJob() override;
56 
59  const GlobalVector& momentum);
61  void multiply(reco::TrackBase::CovarianceMatrix& revised_matrix,
62  const reco::TrackBase::CovarianceMatrix& scale_matrix);
64  bool divide(reco::TrackBase::CovarianceMatrix& num_matrix, const reco::TrackBase::CovarianceMatrix& denom_matrix);
65 
67  reco::Track makeTrack(const reco::Track& recotrack_orig, const FreeTrajectoryState& PCAstate);
68 
70  bool selectTrack(const reco::Track& recotrack_orig);
71 
73  reco::TrackExtra* makeTrackExtra(const reco::Track& recotrack_orig,
74  reco::Track& recotrack,
76 
78  bool attachRecHits(const reco::Track& recotrack_orig,
79  reco::Track& recotrack,
80  reco::TrackExtra& trackextra,
82  const TrackerTopology& ttopo);
83 
84  // ----------member data ---------------------------
87 
90 
93 
95  bool theRescale;
96 
100 
103 
107 
111 };
112 
113 #endif
Vector3DBase
Definition: Vector3DBase.h:8
edm::RefProd< reco::TrackExtraCollection >
TrackExtra.h
EDProducer.h
ESHandle.h
TrackerTopology
Definition: TrackerTopology.h:16
MuonErrorMatrixAdjuster::theMatrixProvider
MuonErrorMatrix * theMatrixProvider
Definition: MuonErrorMatrixAdjuster.h:99
MuonErrorMatrixAdjuster::beginJob
void beginJob() override
framework method
Definition: MuonErrorMatrixAdjuster.cc:245
MuonErrorMatrixAdjuster::~MuonErrorMatrixAdjuster
~MuonErrorMatrixAdjuster() override
destructor
Definition: MuonErrorMatrixAdjuster.cc:33
MuonErrorMatrixAdjuster
Definition: MuonErrorMatrixAdjuster.h:44
MuonErrorMatrixAdjuster::produce
void produce(edm::Event &, const edm::EventSetup &) override
Definition: MuonErrorMatrixAdjuster.cc:172
MuonErrorMatrixAdjuster::theRefprodTE
edm::RefProd< reco::TrackExtraCollection > theRefprodTE
get reference before put track extra to the event, in order to create edm::Ref
Definition: MuonErrorMatrixAdjuster.h:105
reco::TrackExtra
Definition: TrackExtra.h:26
TrackingRecHit.h
Track.h
MuonErrorMatrixAdjuster::theInstanceName
std::string theInstanceName
instrance name of the created track collecion. rechit and trackextra have no instance name
Definition: MuonErrorMatrixAdjuster.h:92
reco::Track
Definition: Track.h:27
edm::ESHandle< MagneticField >
reco::TrackExtraCollection
std::vector< TrackExtra > TrackExtraCollection
collection of TrackExtra objects
Definition: TrackExtraFwd.h:10
MuonErrorMatrixAdjuster::attachRecHits
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
Definition: MuonErrorMatrixAdjuster.cc:144
MuonErrorMatrixAdjuster::makeTrack
reco::Track makeTrack(const reco::Track &recotrack_orig, const FreeTrajectoryState &PCAstate)
create a corrected reco::Track from itself and trajectory state (redundant information)
Definition: MuonErrorMatrixAdjuster.cc:81
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
MuonErrorMatrixAdjuster::theRescale
bool theRescale
select the rescaling or replacing method to correct the error matrix
Definition: MuonErrorMatrixAdjuster.h:95
MuonErrorMatrixAdjuster::theTrackLabel
edm::InputTag theTrackLabel
input tag of the reco::Track collection to be corrected
Definition: MuonErrorMatrixAdjuster.h:89
edm::ParameterSet
Definition: ParameterSet.h:36
Event.h
MuonErrorMatrixAdjuster::theCategory
std::string theCategory
log category: MuonErrorMatrixAdjuster
Definition: MuonErrorMatrixAdjuster.h:86
MuonErrorMatrixAdjuster::theField
edm::ESHandle< MagneticField > theField
hold on to the magnetic field
Definition: MuonErrorMatrixAdjuster.h:102
MuonErrorMatrixAdjuster::multiply
void multiply(reco::TrackBase::CovarianceMatrix &revised_matrix, const reco::TrackBase::CovarianceMatrix &scale_matrix)
mutliply revised_matrix (first argument) by second matrix TERM by TERM
Definition: MuonErrorMatrixAdjuster.cc:55
MuonErrorMatrixAdjuster::MuonErrorMatrixAdjuster
MuonErrorMatrixAdjuster(const edm::ParameterSet &)
constructor
Definition: MuonErrorMatrixAdjuster.cc:19
MuonErrorMatrixAdjuster::divide
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
Definition: MuonErrorMatrixAdjuster.cc:66
edm::EventSetup
Definition: EventSetup.h:57
MuonErrorMatrixAdjuster::endJob
void endJob() override
Definition: MuonErrorMatrixAdjuster.cc:248
MuonErrorMatrixAdjuster::theTEi
edm::Ref< reco::TrackExtraCollection >::key_type theTEi
Definition: MuonErrorMatrixAdjuster.h:106
edm::Ref::key_type
std::remove_cv< typename std::remove_reference< argument_type >::type >::type key_type
Definition: Ref.h:164
InputTag.h
FreeTrajectoryState
Definition: FreeTrajectoryState.h:27
Frameworkfwd.h
MuonErrorMatrixAdjuster::theRefprodRH
edm::RefProd< TrackingRecHitCollection > theRefprodRH
get reference before put rechit to the event, in order to create edm::Ref
Definition: MuonErrorMatrixAdjuster.h:109
GlobalVector.h
EventSetup.h
MuonErrorMatrix
Definition: MuonErrorMatrix.h:24
edm::EDProducer
Definition: EDProducer.h:36
MuonErrorMatrixAdjuster::theRHi
edm::Ref< TrackingRecHitCollection >::key_type theRHi
Definition: MuonErrorMatrixAdjuster.h:110
MuonErrorMatrixAdjuster::makeTrackExtra
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...
Definition: MuonErrorMatrixAdjuster.cc:100
MuonErrorMatrixAdjuster::fix_cov_matrix
reco::TrackBase::CovarianceMatrix fix_cov_matrix(const reco::TrackBase::CovarianceMatrix &error_matrix, const GlobalVector &momentum)
return a corrected error matrix
Definition: MuonErrorMatrixAdjuster.cc:43
MuonErrorMatrixAdjuster::selectTrack
bool selectTrack(const reco::Track &recotrack_orig)
make a selection on the reco:Track. (dummy for the moment)
Definition: MuonErrorMatrixAdjuster.cc:169
ParameterSet.h
MuonErrorMatrixAdjuster::theMatrixProvider_pset
edm::ParameterSet theMatrixProvider_pset
holds the error matrix parametrization
Definition: MuonErrorMatrixAdjuster.h:98
reco::TrackBase::CovarianceMatrix
math::Error< dimension >::type CovarianceMatrix
5 parameter covariance matrix
Definition: TrackBase.h:74
edm::Event
Definition: Event.h:73
MagneticField
Definition: MagneticField.h:19
edm::InputTag
Definition: InputTag.h:15
edm::OwnVector< TrackingRecHit >