CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
MuonErrorMatrixAdjuster Class Reference

#include <MuonErrorMatrixAdjuster.h>

Inheritance diagram for MuonErrorMatrixAdjuster:
edm::stream::EDProducer<>

Public Member Functions

 MuonErrorMatrixAdjuster (const edm::ParameterSet &)
 constructor More...
 
 ~MuonErrorMatrixAdjuster () override
 destructor More...
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

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...
 
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...
 
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...
 
void produce (edm::Event &, const edm::EventSetup &) override
 framework method More...
 
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...
 
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecordtheFieldToken
 
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcdtheHttopoToken
 
std::string theInstanceName
 instrance name of the created track collecion. rechit and trackextra have no instance name More...
 
std::unique_ptr< MuonErrorMatrixtheMatrixProvider
 holds the error matrix parametrization More...
 
edm::RefProd< TrackingRecHitCollectiontheRefprodRH
 get reference before put rechit to the event, in order to create edm::Ref More...
 
edm::RefProd< reco::TrackExtraCollectiontheRefprodTE
 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::stream::EDProducer<>
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 

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 46 of file MuonErrorMatrixAdjuster.h.

Constructor & Destructor Documentation

◆ MuonErrorMatrixAdjuster()

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

constructor

Definition at line 19 of file MuonErrorMatrixAdjuster.cc.

References deDxTools::esConsumes().

21  theCategory = "MuonErrorMatrixAdjuster";
22  theInstanceName = iConfig.getParameter<std::string>("instanceName");
23  //register your products
24  produces<reco::TrackCollection>(theInstanceName);
25  produces<TrackingRecHitCollection>();
26  produces<reco::TrackExtraCollection>();
27 
28  theTrackLabel = iConfig.getParameter<edm::InputTag>("trackLabel");
29  consumes<reco::TrackCollection>(theTrackLabel);
30  theRescale = iConfig.getParameter<bool>("rescale");
31 
32  auto matrixProvider_pset = iConfig.getParameter<edm::ParameterSet>("errorMatrix_pset");
33 
34  theMatrixProvider = std::make_unique<MuonErrorMatrix>(matrixProvider_pset);
35 }
ESGetTokenH3DDVariant esConsumes(std::string const &Record, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
std::unique_ptr< MuonErrorMatrix > theMatrixProvider
holds the error matrix parametrization
std::string theInstanceName
instrance name of the created track collecion. rechit and trackextra have no instance name ...
edm::InputTag theTrackLabel
input tag of the reco::Track collection to be corrected
std::string theCategory
log category: MuonErrorMatrixAdjuster
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > theHttopoToken
bool theRescale
select the rescaling or replacing method to correct the error matrix
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > theFieldToken

◆ ~MuonErrorMatrixAdjuster()

MuonErrorMatrixAdjuster::~MuonErrorMatrixAdjuster ( )
override

destructor

Definition at line 37 of file MuonErrorMatrixAdjuster.cc.

37  {
38  // do anything here that needs to be done at desctruction time
39  // (e.g. close files, deallocate resources etc.)
40 }

Member Function Documentation

◆ attachRecHits()

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 148 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().

152  {
153  //loop over the hits of the original track
154  trackingRecHit_iterator recHit = recotrack_orig.recHitsBegin();
155  auto const firstHitIndex = theRHi;
156  for (; recHit != recotrack_orig.recHitsEnd(); ++recHit) {
157  //clone it. this is meandatory
158  TrackingRecHit* hit = (*recHit)->clone();
159 
160  //put it on the new track
161  recotrack.appendHitPattern(*hit, ttopo);
162  //copy them in the new collection
163  RHcol.push_back(hit);
164  ++theRHi;
165 
166  } //loop over original rechits
167  //do something with the trackextra
168  trackextra.setHits(theRefprodRH, firstHitIndex, theRHi - firstHitIndex);
169 
170  return true; //if nothing fails
171 }
void setHits(TrackingRecHitRefProd const &prod, unsigned firstH, unsigned int nH)
void push_back(D *&d)
Definition: OwnVector.h:326
trackingRecHit_iterator recHitsEnd() const
Iterator to last hit on the track.
Definition: Track.h:91
edm::RefProd< TrackingRecHitCollection > theRefprodRH
get reference before put rechit to the event, in order to create edm::Ref
trackingRecHit_iterator recHitsBegin() const
Iterator to first hit on the track.
Definition: Track.h:88
bool appendHitPattern(const TrackingRecHit &hit, const TrackerTopology &ttopo)
append a single hit to the HitPattern
Definition: TrackBase.h:510
edm::Ref< TrackingRecHitCollection >::key_type theRHi

◆ divide()

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 70 of file MuonErrorMatrixAdjuster.cc.

References mps_fire::i, and dqmiolumiharvest::j.

Referenced by makeTrackExtra().

71  {
72  //divide term by term the matrix
73  // the true type of the matrix is such that [i][j] is the same memory object as [j][i]: looping i:0-5, j:0-5 double multiply the terms
74  // need to loop only on i:0-5, j:i-5
75  for (int i = 0; i != 5; i++) {
76  for (int j = i; j != 5; j++) {
77  if (denom_matrix(i, j) == 0)
78  return false;
79  num_matrix(i, j) /= denom_matrix(i, j);
80  }
81  }
82  return true;
83 }

◆ fix_cov_matrix()

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 47 of file MuonErrorMatrixAdjuster.cc.

References multiply(), theMatrixProvider, and theRescale.

Referenced by makeTrack().

48  {
49  //CovarianceMatrix is template for SMatrix
50  reco::TrackBase::CovarianceMatrix revised_matrix(theMatrixProvider->get(momentum));
51 
52  if (theRescale) {
53  //rescale old error matrix up by a factor
54  multiply(revised_matrix, error_matrix);
55  }
56  return revised_matrix;
57 }
std::unique_ptr< MuonErrorMatrix > theMatrixProvider
holds the error matrix parametrization
void multiply(reco::TrackBase::CovarianceMatrix &revised_matrix, const reco::TrackBase::CovarianceMatrix &scale_matrix)
mutliply revised_matrix (first argument) by second matrix TERM by TERM
bool theRescale
select the rescaling or replacing method to correct the error matrix
math::Error< dimension >::type CovarianceMatrix
5 parameter covariance matrix
Definition: TrackBase.h:74

◆ makeTrack()

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 85 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().

85  {
86  //get the parameters of the track so I can reconstruct it
87  double chi2 = recotrack_orig.chi2();
88  double ndof = recotrack_orig.ndof();
89  const math::XYZPoint& refpos = recotrack_orig.referencePoint();
90  const math::XYZVector& mom = recotrack_orig.momentum();
91  int charge = recotrack_orig.charge();
92 
93  reco::TrackBase::CovarianceMatrix covariance_matrix =
94  fix_cov_matrix(recotrack_orig.covariance(), PCAstate.momentum());
95 
96  LogDebug(theCategory) << "chi2: " << chi2 << "\n ndof: " << ndof << "\n refpos: " << refpos << "\n mom: " << mom
97  << "\n charge: " << charge << "\n covariance:\n"
98  << recotrack_orig.covariance() << "\n replaced by:\n"
99  << covariance_matrix;
100 
101  return reco::Track(chi2, ndof, refpos, mom, charge, covariance_matrix);
102 }
reco::TrackBase::CovarianceMatrix fix_cov_matrix(const reco::TrackBase::CovarianceMatrix &error_matrix, const GlobalVector &momentum)
return a corrected error matrix
const Point & referencePoint() const
Reference point on the track.
Definition: TrackBase.h:667
std::string theCategory
log category: MuonErrorMatrixAdjuster
double ndof() const
number of degrees of freedom of the fit
Definition: TrackBase.h:590
int charge() const
track electric charge
Definition: TrackBase.h:596
CovarianceMatrix covariance() const
return track covariance matrix
Definition: TrackBase.h:716
GlobalVector momentum() const
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
double chi2() const
chi-squared of the fit
Definition: TrackBase.h:587
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:664
math::Error< dimension >::type CovarianceMatrix
5 parameter covariance matrix
Definition: TrackBase.h:74
#define LogDebug(id)

◆ makeTrackExtra()

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 104 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().

106  {
107  //get the 5x5 matrix of recotrack/recotrack_orig
108  reco::TrackBase::CovarianceMatrix scale_matrix(recotrack.covariance());
109  if (!divide(scale_matrix, recotrack_orig.covariance())) {
110  edm::LogError(theCategory) << "original track error matrix has term ==0... skipping.";
111  return nullptr;
112  }
113 
114  const reco::TrackExtraRef& trackExtra_orig = recotrack_orig.extra();
115  if (trackExtra_orig.isNull()) {
116  edm::LogError(theCategory) << "original track has no track extra... skipping.";
117  return nullptr;
118  }
119 
120  //copy the outer state. rescaling the error matrix
121  reco::TrackBase::CovarianceMatrix outerCov(trackExtra_orig->outerStateCovariance());
122  multiply(outerCov, scale_matrix);
123 
124  //copy the inner state, rescaling the error matrix
125  reco::TrackBase::CovarianceMatrix innerCov(trackExtra_orig->innerStateCovariance());
126  multiply(innerCov, scale_matrix);
127 
128  //put the trackExtra
129  TEcol.push_back(reco::TrackExtra(trackExtra_orig->outerPosition(),
130  trackExtra_orig->outerMomentum(),
131  true,
132  trackExtra_orig->innerPosition(),
133  trackExtra_orig->innerMomentum(),
134  true,
135  outerCov,
136  trackExtra_orig->outerDetId(),
137  innerCov,
138  trackExtra_orig->innerDetId(),
139  trackExtra_orig->seedDirection()));
140 
141  //add a reference to the trackextra on the track
143 
144  //return the reference to the last inserted then
145  return &(TEcol.back());
146 }
edm::RefProd< reco::TrackExtraCollection > theRefprodTE
get reference before put track extra to the event, in order to create edm::Ref
Log< level::Error, false > LogError
std::string theCategory
log category: MuonErrorMatrixAdjuster
void multiply(reco::TrackBase::CovarianceMatrix &revised_matrix, const reco::TrackBase::CovarianceMatrix &scale_matrix)
mutliply revised_matrix (first argument) by second matrix TERM by TERM
CovarianceMatrix covariance() const
return track covariance matrix
Definition: TrackBase.h:716
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
edm::Ref< reco::TrackExtraCollection >::key_type theTEi
bool isNull() const
Checks for null.
Definition: Ref.h:235
void setExtra(const TrackExtraRef &ref)
set reference to "extra" object
Definition: Track.h:136
math::Error< dimension >::type CovarianceMatrix
5 parameter covariance matrix
Definition: TrackBase.h:74
const TrackExtraRef & extra() const
reference to "extra" object
Definition: Track.h:139

◆ multiply()

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 59 of file MuonErrorMatrixAdjuster.cc.

References mps_fire::i, and dqmiolumiharvest::j.

Referenced by fix_cov_matrix(), and makeTrackExtra().

60  {
61  //scale term by term the matrix
62  // the true type of the matrix is such that [i][j] is the same memory object as [j][i]: looping i:0-5, j:0-5 double multiply the terms
63  // need to loop only on i:0-5, j:i-5
64  for (int i = 0; i != 5; i++) {
65  for (int j = i; j != 5; j++) {
66  revised_matrix(i, j) *= scale_matrix(i, j);
67  }
68  }
69 }

◆ produce()

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

framework method

Definition at line 176 of file MuonErrorMatrixAdjuster.cc.

References attachRecHits(), edm::EventSetup::getData(), edm::EventSetup::getHandle(), iEvent, trajectoryStateTransform::initialFreeState(), LogDebug, PV3DBase< T, PVType, FrameType >::mag(), makeTrack(), makeTrackExtra(), eostools::move(), FreeTrajectoryState::position(), edm::ESHandle< T >::product(), selectTrack(), theCategory, theField, theFieldToken, theHttopoToken, theInstanceName, theRefprodRH, theRefprodTE, theRHi, theTEi, theTrackLabel, and tracks.

176  {
177  using namespace edm;
178 
179  //open a collection of track
181  iEvent.getByLabel(theTrackLabel, tracks);
182  LogDebug(theCategory) << "considering: " << tracks->size() << " uncorrected reco::Track from the event.("
183  << theTrackLabel << ")";
184 
185  //get the mag field
186  theField = iSetup.getHandle(theFieldToken);
187 
188  const TrackerTopology& ttopo = iSetup.getData(theHttopoToken);
189 
190  //prepare the output collection
191  auto Toutput = std::make_unique<reco::TrackCollection>();
192  auto TRHoutput = std::make_unique<TrackingRecHitCollection>();
193  auto TEoutput = std::make_unique<reco::TrackExtraCollection>();
194  theRefprodTE = iEvent.getRefBeforePut<reco::TrackExtraCollection>();
195  theTEi = 0;
196  theRefprodRH = iEvent.getRefBeforePut<TrackingRecHitCollection>();
197  theRHi = 0;
198 
199  for (unsigned int it = 0; it != tracks->size(); it++) {
200  const reco::Track& recotrack_orig = (*tracks)[it];
202  if (PCAstate.position().mag() == 0) {
203  edm::LogError(theCategory) << "invalid state from track initial state in " << theTrackLabel << ". skipping.";
204  continue;
205  }
206 
207  //create a reco::Track
208  reco::Track recotrack = makeTrack(recotrack_orig, PCAstate);
209 
210  //make a selection on the create reco::Track
211  if (!selectTrack(recotrack))
212  continue;
213 
214  Toutput->push_back(recotrack);
215  reco::Track& recotrackref = Toutput->back();
216 
217  //build the track extra
218  reco::TrackExtra* extra = makeTrackExtra(recotrack_orig, recotrackref, *TEoutput);
219  if (!extra) {
220  edm::LogError(theCategory) << "cannot create the track extra for this track.";
221  //pop the inserted track
222  Toutput->pop_back();
223  continue;
224  }
225 
226  //attach the collection of rechits
227  if (!attachRecHits(recotrack_orig, recotrackref, *extra, *TRHoutput, ttopo)) {
228  edm::LogError(theCategory) << "cannot attach any rechits on this track";
229  //pop the inserted track
230  Toutput->pop_back();
231  //pop the track extra
232  TEoutput->pop_back();
233  theTEi--;
234  continue;
235  }
236 
237  } //loop over the original reco tracks
238 
239  LogDebug(theCategory) << "writing: " << Toutput->size() << " corrected reco::Track to the event.";
240 
241  iEvent.put(std::move(Toutput), theInstanceName);
242  iEvent.put(std::move(TEoutput));
243  iEvent.put(std::move(TRHoutput));
244 }
edm::RefProd< reco::TrackExtraCollection > theRefprodTE
get reference before put track extra to the event, in order to create edm::Ref
std::string theInstanceName
instrance name of the created track collecion. rechit and trackextra have no instance name ...
Log< level::Error, false > LogError
edm::InputTag theTrackLabel
input tag of the reco::Track collection to be corrected
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
std::string theCategory
log category: MuonErrorMatrixAdjuster
edm::ESHandle< MagneticField > theField
hold on to the magnetic field
GlobalPoint position() const
int iEvent
Definition: GenABIO.cc:224
T const * product() const
Definition: ESHandle.h:86
T mag() const
Definition: PV3DBase.h:64
edm::Ref< reco::TrackExtraCollection >::key_type theTEi
bool getData(T &iHolder) const
Definition: EventSetup.h:122
edm::RefProd< TrackingRecHitCollection > theRefprodRH
get reference before put rechit to the event, in order to create edm::Ref
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:151
std::vector< TrackExtra > TrackExtraCollection
collection of TrackExtra objects
Definition: TrackExtraFwd.h:10
auto const & tracks
cannot be loose
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...
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > theHttopoToken
bool selectTrack(const reco::Track &recotrack_orig)
make a selection on the reco:Track. (dummy for the moment)
reco::Track makeTrack(const reco::Track &recotrack_orig, const FreeTrajectoryState &PCAstate)
create a corrected reco::Track from itself and trajectory state (redundant information) ...
HLT enums.
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > theFieldToken
FreeTrajectoryState initialFreeState(const reco::Track &tk, const MagneticField *field, bool withErr=true)
def move(src, dest)
Definition: eostools.py:511
#define LogDebug(id)
edm::Ref< TrackingRecHitCollection >::key_type theRHi

◆ selectTrack()

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

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

Definition at line 173 of file MuonErrorMatrixAdjuster.cc.

Referenced by produce().

173 { return true; }

Member Data Documentation

◆ theCategory

std::string MuonErrorMatrixAdjuster::theCategory
private

log category: MuonErrorMatrixAdjuster

Definition at line 86 of file MuonErrorMatrixAdjuster.h.

Referenced by makeTrack(), makeTrackExtra(), and produce().

◆ theField

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

hold on to the magnetic field

Definition at line 101 of file MuonErrorMatrixAdjuster.h.

Referenced by produce().

◆ theFieldToken

const edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> MuonErrorMatrixAdjuster::theFieldToken
private

Definition at line 102 of file MuonErrorMatrixAdjuster.h.

Referenced by produce().

◆ theHttopoToken

const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> MuonErrorMatrixAdjuster::theHttopoToken
private

Definition at line 103 of file MuonErrorMatrixAdjuster.h.

Referenced by produce().

◆ theInstanceName

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.

Referenced by produce().

◆ theMatrixProvider

std::unique_ptr<MuonErrorMatrix> MuonErrorMatrixAdjuster::theMatrixProvider
private

holds the error matrix parametrization

Definition at line 98 of file MuonErrorMatrixAdjuster.h.

Referenced by fix_cov_matrix().

◆ theRefprodRH

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.

Referenced by attachRecHits(), and produce().

◆ theRefprodTE

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.

Referenced by makeTrackExtra(), and produce().

◆ theRescale

bool MuonErrorMatrixAdjuster::theRescale
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().

◆ theRHi

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

Definition at line 111 of file MuonErrorMatrixAdjuster.h.

Referenced by attachRecHits(), and produce().

◆ theTEi

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

Definition at line 107 of file MuonErrorMatrixAdjuster.h.

Referenced by makeTrackExtra(), and produce().

◆ theTrackLabel

edm::InputTag MuonErrorMatrixAdjuster::theTrackLabel
private

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

Definition at line 89 of file MuonErrorMatrixAdjuster.h.

Referenced by produce().