CMS 3D CMS Logo

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

#include <MuonTrajectoryUpdator.h>

Classes

struct  RadiusComparatorInOut
 Ordering along increasing radius (for DT rechits) More...
 
struct  RadiusComparatorOutIn
 Ordering along decreasing radius (for DT rechits) More...
 
struct  ZedComparatorInOut
 Ordering along increasing zed (for CSC rechits) More...
 
struct  ZedComparatorOutIn
 Ordering along decreasing zed (for CSC rechits) More...
 

Public Member Functions

const MeasurementEstimatorestimator () const
 accasso at the propagator More...
 
NavigationDirection fitDirection ()
 get the fit direction More...
 
void makeFirstTime ()
 reset the theFirstTSOSFlag More...
 
double maxChi2 () const
 get the max chi2 allowed More...
 
const TrajectoryStateUpdatormeasurementUpdator () const
 
 MuonTrajectoryUpdator (const edm::ParameterSet &par, NavigationDirection fitDirection)
 Constructor from Propagator and Parameter set. More...
 
 MuonTrajectoryUpdator (NavigationDirection fitDirection, double chi2, int granularity)
 Constructor from Propagator, chi2 and the granularity flag. More...
 
void setFitDirection (NavigationDirection fitDirection)
 set fit direction More...
 
void setMaxChi2 (double chi2)
 set max chi2 More...
 
virtual std::pair< bool, TrajectoryStateOnSurfaceupdate (const TrajectoryMeasurement *measurement, Trajectory &trajectory, const Propagator *propagator)
 update the Trajectory with the TrajectoryMeasurement More...
 
virtual ~MuonTrajectoryUpdator ()
 Destructor. More...
 

Private Member Functions

TrajectoryStateOnSurface propagateState (const TrajectoryStateOnSurface &state, const TrajectoryMeasurement *measurement, const TransientTrackingRecHit::ConstRecHitPointer &current, const Propagator *propagator) const
 
void sort (TransientTrackingRecHit::ConstRecHitContainer &, const DetLayer *)
 
TrajectoryMeasurement updateMeasurement (const TrajectoryStateOnSurface &propagatedTSOS, const TrajectoryStateOnSurface &lastUpdatedTSOS, const TransientTrackingRecHit::ConstRecHitPointer &recHit, const double &chi2, const DetLayer *detLayer, const TrajectoryMeasurement *initialMeasurement)
 Return the trajectory measurement. It handles both the fw and the bw propagation. More...
 

Private Attributes

MeasurementEstimatortheEstimator
 
bool theFirstTSOSFlag
 
NavigationDirection theFitDirection
 
int theGranularity
 
double theMaxChi2
 the max chi2 allowed More...
 
bool theRescaleErrorFlag
 
double theRescaleFactor
 
bool theRPCExFlag
 
TrajectoryStateUpdatortheUpdator
 
bool useInvalidHits
 

Detailed Description

An updator for the Muon system This class update a trajectory with a muon chamber measurement. In spite of the name, it is NOT an updator, but has one. A muon RecHit is a segment (for DT and CSC) or a "hit" (RPC). This updator is suitable both for FW and BW filtering. The difference between the two fitter are two: the granularity of the updating (i.e.: segment position or 1D rechit position), which can be set via parameter set, and the propagation direction which is embeded in the propagator set in the c'tor.

Author
R. Bellan - INFN Torino ricca.nosp@m.rdo..nosp@m.bella.nosp@m.n@ce.nosp@m.rn.ch
S. Lacaprara - INFN Legnaro

An updator for the Muon system This class update a trajectory with a muon chamber measurement. In spite of the name, it is NOT an updator, but has one. A muon RecHit is a segment (for DT and CSC) or a "hit" (RPC). This updator is suitable both for FW and BW filtering. The difference between the two fitter are two: the granularity of the updating (i.e.: segment position or 1D rechit position), which can be set via parameter set, and the propagation direction which is embeded in the propagator set in the c'tor.

Author
R. Bellan - INFN Torino ricca.nosp@m.rdo..nosp@m.bella.nosp@m.n@ce.nosp@m.rn.ch
S. Lacaprara - INFN Legnaro

Modified by C. Calabria: GEM Implementation Modified by D. Nash: ME0 Implementation

Definition at line 34 of file MuonTrajectoryUpdator.h.

Constructor & Destructor Documentation

◆ MuonTrajectoryUpdator() [1/2]

MuonTrajectoryUpdator::MuonTrajectoryUpdator ( const edm::ParameterSet par,
NavigationDirection  fitDirection 
)

Constructor from Propagator and Parameter set.

Definition at line 42 of file MuonTrajectoryUpdator.cc.

References Chi2MeasurementEstimator_cfi::Chi2MeasurementEstimator, edm::ParameterSet::getParameter(), theEstimator, theFirstTSOSFlag, theGranularity, theMaxChi2, theRescaleErrorFlag, theRescaleFactor, theRPCExFlag, theUpdator, and useInvalidHits.

44  // The max allowed chi2 to accept a rechit in the fit
45  theMaxChi2 = par.getParameter<double>("MaxChi2");
47 
48  // The KF updator
49  theUpdator = new KFUpdator();
50 
51  // The granularity
52  theGranularity = par.getParameter<int>("Granularity");
53 
54  // Rescale the error of the first state?
55  theRescaleErrorFlag = par.getParameter<bool>("RescaleError");
56 
58  // The rescale factor
59  theRescaleFactor = par.getParameter<double>("RescaleErrorFactor");
60 
61  // Use the invalid hits?
62  useInvalidHits = par.getParameter<bool>("UseInvalidHits");
63 
64  // Flag needed for the rescaling
65  theFirstTSOSFlag = true;
66 
67  // Exlude RPC from the fit?
68  theRPCExFlag = par.getParameter<bool>("ExcludeRPCFromFit");
69 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
NavigationDirection fitDirection()
get the fit direction
double theMaxChi2
the max chi2 allowed
TrajectoryStateUpdator * theUpdator
NavigationDirection theFitDirection
MeasurementEstimator * theEstimator

◆ MuonTrajectoryUpdator() [2/2]

MuonTrajectoryUpdator::MuonTrajectoryUpdator ( NavigationDirection  fitDirection,
double  chi2,
int  granularity 
)

Constructor from Propagator, chi2 and the granularity flag.

Definition at line 71 of file MuonTrajectoryUpdator.cc.

References Chi2MeasurementEstimator_cfi::Chi2MeasurementEstimator, theEstimator, theMaxChi2, and theUpdator.

◆ ~MuonTrajectoryUpdator()

MuonTrajectoryUpdator::~MuonTrajectoryUpdator ( )
virtual

Destructor.

Definition at line 80 of file MuonTrajectoryUpdator.cc.

References theEstimator, and theUpdator.

80  {
81  delete theEstimator;
82  delete theUpdator;
83 }
TrajectoryStateUpdator * theUpdator
MeasurementEstimator * theEstimator

Member Function Documentation

◆ estimator()

const MeasurementEstimator* MuonTrajectoryUpdator::estimator ( void  ) const
inline

accasso at the propagator

Definition at line 53 of file MuonTrajectoryUpdator.h.

References theEstimator.

Referenced by CosmicMuonTrajectoryBuilder::trajectories(), and update().

53 { return theEstimator; }
MeasurementEstimator * theEstimator

◆ fitDirection()

NavigationDirection MuonTrajectoryUpdator::fitDirection ( )
inline

get the fit direction

Definition at line 60 of file MuonTrajectoryUpdator.h.

References theFitDirection.

Referenced by setFitDirection(), and sort().

60 { return theFitDirection; }
NavigationDirection theFitDirection

◆ makeFirstTime()

void MuonTrajectoryUpdator::makeFirstTime ( )

reset the theFirstTSOSFlag

Definition at line 85 of file MuonTrajectoryUpdator.cc.

References theFirstTSOSFlag.

Referenced by CosmicMuonTrajectoryBuilder::build(), and StandAloneMuonFilter::reset().

◆ maxChi2()

double MuonTrajectoryUpdator::maxChi2 ( ) const
inline

get the max chi2 allowed

Definition at line 57 of file MuonTrajectoryUpdator.h.

References theMaxChi2.

57 { return theMaxChi2; }
double theMaxChi2
the max chi2 allowed

◆ measurementUpdator()

const TrajectoryStateUpdator* MuonTrajectoryUpdator::measurementUpdator ( ) const
inline

Definition at line 54 of file MuonTrajectoryUpdator.h.

References theUpdator.

Referenced by update().

54 { return theUpdator; }
TrajectoryStateUpdator * theUpdator

◆ propagateState()

TrajectoryStateOnSurface MuonTrajectoryUpdator::propagateState ( const TrajectoryStateOnSurface state,
const TrajectoryMeasurement measurement,
const TransientTrackingRecHit::ConstRecHitPointer current,
const Propagator propagator 
) const
private

Propagate the state to the hit surface if it's a multi hit RecHit. i.e.: if "current" is a sub-rechit of the mesurement (i.e. a 1/2D RecHit) the state will be propagated to the surface where lies the "current" rechit

Definition at line 206 of file MuonTrajectoryUpdator.cc.

References TrajectoryMeasurement::predictedState(), TrackCandidateProducer_cfi::propagator, and TrajectoryMeasurement::recHit().

Referenced by update().

210  {
211  const TransientTrackingRecHit::ConstRecHitPointer& mother = measurement->recHit();
212 
213  if (current->geographicalId() == mother->geographicalId())
214  return measurement->predictedState();
215 
216  const TrajectoryStateOnSurface tsos = propagator->propagate(state, current->det()->surface());
217  return tsos;
218 }
TrajectoryStateOnSurface const & predictedState() const
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
ConstRecHitPointer const & recHit() const

◆ setFitDirection()

void MuonTrajectoryUpdator::setFitDirection ( NavigationDirection  fitDirection)
inline

set fit direction

Definition at line 66 of file MuonTrajectoryUpdator.h.

References fitDirection(), and theFitDirection.

Referenced by CosmicMuonTrajectoryBuilder::build(), and CosmicMuonTrajectoryBuilder::trajectories().

NavigationDirection fitDirection()
get the fit direction
NavigationDirection theFitDirection

◆ setMaxChi2()

void MuonTrajectoryUpdator::setMaxChi2 ( double  chi2)
inline

set max chi2

Definition at line 63 of file MuonTrajectoryUpdator.h.

References nano_mu_local_reco_cff::chi2, and theMaxChi2.

◆ sort()

void MuonTrajectoryUpdator::sort ( TransientTrackingRecHit::ConstRecHitContainer recHitsForFit,
const DetLayer detLayer 
)
private

Definition at line 244 of file MuonTrajectoryUpdator.cc.

References GeomDetEnumerators::CSC, GeomDetEnumerators::DT, fitDirection(), GeomDetEnumerators::GEM, insideOut, GeomDetEnumerators::ME0, outsideIn, and DetLayer::subDetector().

Referenced by update().

245  {
246  if (detLayer->subDetector() == GeomDetEnumerators::DT) {
247  if (fitDirection() == insideOut)
248  stable_sort(recHitsForFit.begin(), recHitsForFit.end(), RadiusComparatorInOut());
249  else if (fitDirection() == outsideIn)
250  stable_sort(recHitsForFit.begin(), recHitsForFit.end(), RadiusComparatorOutIn());
251  else
252  LogError("Muon|RecoMuon|MuonTrajectoryUpdator") << "MuonTrajectoryUpdator::sort: Wrong propagation direction!!";
253  }
254 
255  else if (detLayer->subDetector() == GeomDetEnumerators::CSC) {
256  if (fitDirection() == insideOut)
257  stable_sort(recHitsForFit.begin(), recHitsForFit.end(), ZedComparatorInOut());
258  else if (fitDirection() == outsideIn)
259  stable_sort(recHitsForFit.begin(), recHitsForFit.end(), ZedComparatorOutIn());
260  else
261  LogError("Muon|RecoMuon|MuonTrajectoryUpdator") << "MuonTrajectoryUpdator::sort: Wrong propagation direction!!";
262  }
263 
264  else if (detLayer->subDetector() == GeomDetEnumerators::GEM) {
265  if (fitDirection() == insideOut)
266  stable_sort(recHitsForFit.begin(), recHitsForFit.end(), ZedComparatorInOut());
267  else if (fitDirection() == outsideIn)
268  stable_sort(recHitsForFit.begin(), recHitsForFit.end(), ZedComparatorOutIn());
269  else
270  LogError("Muon|RecoMuon|MuonTrajectoryUpdator") << "MuonTrajectoryUpdator::sort: Wrong propagation direction!!";
271  } else if (detLayer->subDetector() == GeomDetEnumerators::ME0) {
272  if (fitDirection() == insideOut)
273  stable_sort(recHitsForFit.begin(), recHitsForFit.end(), ZedComparatorInOut());
274  else if (fitDirection() == outsideIn)
275  stable_sort(recHitsForFit.begin(), recHitsForFit.end(), ZedComparatorOutIn());
276  else
277  LogError("Muon|RecoMuon|MuonTrajectoryUpdator") << "MuonTrajectoryUpdator::sort: Wrong propagation direction!!";
278  }
279 }
NavigationDirection fitDirection()
get the fit direction
virtual SubDetector subDetector() const =0
The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap)
Log< level::Error, false > LogError

◆ update()

pair< bool, TrajectoryStateOnSurface > MuonTrajectoryUpdator::update ( const TrajectoryMeasurement measurement,
Trajectory trajectory,
const Propagator propagator 
)
virtual

update the Trajectory with the TrajectoryMeasurement

Definition at line 87 of file MuonTrajectoryUpdator.cc.

References MuonTransientTrackingRecHitBreaker::breakInSubRecHits(), MuonPatternRecoDumper::dumpTSOS(), MeasurementEstimator::estimate(), estimator(), TrajectoryStateOnSurface::globalDirection(), TrajectoryStateOnSurface::globalPosition(), TrajectoryStateOnSurface::isValid(), TrajectoryMeasurement::layer(), LogTrace, measurementUpdator(), metname, eostools::move(), DetId::Muon, PV3DBase< T, PVType, FrameType >::perp(), TrajectoryMeasurement::predictedState(), propagateState(), TrackCandidateProducer_cfi::propagator, Trajectory::push(), rpcPointValidation_cfi::recHit, TrajectoryMeasurement::recHit(), TrajectoryStateOnSurface::rescaleError(), MuonSubdetId::RPC, sort(), MuonTransientTrackingRecHit::specificBuild(), AlCaHLTBitMon_QueryRunRegistry::string, theFirstTSOSFlag, theGranularity, theRescaleErrorFlag, theRescaleFactor, theRPCExFlag, TrajectoryStateUpdator::update(), updateMeasurement(), and useInvalidHits.

Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), CosmicMuonTrajectoryBuilder::build(), progressbar.ProgressBar::finish(), MatrixUtil.Steps::overwrite(), CosmicMuonTrajectoryBuilder::trajectories(), and StandAloneMuonFilter::update().

89  {
90  const std::string metname = "Muon|RecoMuon|MuonTrajectoryUpdator";
91 
92  MuonPatternRecoDumper muonDumper;
93 
94  // Status of the updating
95  bool updated = false;
96 
97  if (!measurement)
98  return pair<bool, TrajectoryStateOnSurface>(updated, TrajectoryStateOnSurface());
99 
100  // measurement layer
101  const DetLayer* detLayer = measurement->layer();
102 
103  // these are the 4D segment for the CSC/DT and a point for the RPC
104  TransientTrackingRecHit::ConstRecHitPointer muonRecHit = measurement->recHit();
105 
106  // The KFUpdator takes TransientTrackingRecHits as arg.
109 
110  // sort the container in agreement with the porpagation direction
111  sort(recHitsForFit, detLayer);
112 
113  TrajectoryStateOnSurface lastUpdatedTSOS = measurement->predictedState();
114 
115  LogTrace(metname) << "Number of rechits for the fit: " << recHitsForFit.size() << endl;
116 
117  TransientTrackingRecHit::ConstRecHitContainer::iterator recHit;
118  for (recHit = recHitsForFit.begin(); recHit != recHitsForFit.end(); ++recHit) {
119  if ((*recHit)->isValid()) {
120  // propagate the TSOS onto the rechit plane
121  TrajectoryStateOnSurface propagatedTSOS = propagateState(lastUpdatedTSOS, measurement, *recHit, propagator);
122 
123  if (propagatedTSOS.isValid()) {
124  pair<bool, double> thisChi2 = estimator()->estimate(propagatedTSOS, *((*recHit).get()));
125 
126  LogTrace(metname) << "Estimation for Kalman Fit. Chi2: " << thisChi2.second;
127 
128  // Is an RPC hit? Prepare the variable to possibly exluding it from the fit
129  bool wantIncludeThisHit = true;
130  if (theRPCExFlag && (*recHit)->geographicalId().det() == DetId::Muon &&
131  (*recHit)->geographicalId().subdetId() == MuonSubdetId::RPC) {
132  wantIncludeThisHit = false;
134  << "This is an RPC hit and the present configuration is such that it will be excluded from the fit";
135  }
136 
137  // The Chi2 cut was already applied in the estimator, which
138  // returns 0 if the chi2 is bigger than the cut defined in its
139  // constructor
140  if (thisChi2.first) {
141  updated = true;
142  if (wantIncludeThisHit) { // This split is a trick to have the RPC hits counted as updatable (in used chamber counting), while are not actually included in the fit when the proper obtion is activated.
143 
144  LogTrace(metname) << endl
145  << " Kalman Start"
146  << "\n"
147  << "\n";
148  LogTrace(metname) << " Meas. Position : " << (**recHit).globalPosition() << "\n"
149  << " Pred. Position : " << propagatedTSOS.globalPosition()
150  << " Pred Direction : " << propagatedTSOS.globalDirection() << endl;
151 
153  propagatedTSOS.rescaleError(theRescaleFactor);
154  theFirstTSOSFlag = false;
155  }
156 
157  lastUpdatedTSOS = measurementUpdator()->update(propagatedTSOS, *((*recHit).get()));
158 
159  LogTrace(metname) << " Fit Position : " << lastUpdatedTSOS.globalPosition()
160  << " Fit Direction : " << lastUpdatedTSOS.globalDirection() << "\n"
161  << " Fit position radius : " << lastUpdatedTSOS.globalPosition().perp()
162  << "filter updated" << endl;
163 
164  LogTrace(metname) << muonDumper.dumpTSOS(lastUpdatedTSOS);
165 
166  LogTrace(metname) << "\n\n Kalman End"
167  << "\n"
168  << "\n";
169 
170  TrajectoryMeasurement&& updatedMeasurement =
171  updateMeasurement(propagatedTSOS, lastUpdatedTSOS, *recHit, thisChi2.second, detLayer, measurement);
172  // FIXME: check!
173  trajectory.push(std::move(updatedMeasurement), thisChi2.second);
174  } else {
175  LogTrace(metname) << " Compatible RecHit with good chi2 but made with RPC when it was decided to not "
176  "include it in the fit"
177  << " --> trajectory NOT updated, invalid RecHit added." << endl;
178 
180  MuonTransientTrackingRecHit::specificBuild((*recHit)->det(), (*recHit)->hit());
181  invalidRhPtr->invalidateHit();
182  TrajectoryMeasurement invalidRhMeasurement(
183  propagatedTSOS, propagatedTSOS, invalidRhPtr, thisChi2.second, detLayer);
184  trajectory.push(std::move(invalidRhMeasurement), thisChi2.second);
185  }
186  } else {
187  if (useInvalidHits) {
188  LogTrace(metname) << " Compatible RecHit with too large chi2"
189  << " --> trajectory NOT updated, invalid RecHit added." << endl;
190 
192  MuonTransientTrackingRecHit::specificBuild((*recHit)->det(), (*recHit)->hit());
193  invalidRhPtr->invalidateHit();
194  TrajectoryMeasurement invalidRhMeasurement(
195  propagatedTSOS, propagatedTSOS, invalidRhPtr, thisChi2.second, detLayer);
196  trajectory.push(std::move(invalidRhMeasurement), thisChi2.second);
197  }
198  }
199  }
200  }
201  }
202  recHitsForFit.clear();
203  return pair<bool, TrajectoryStateOnSurface>(updated, lastUpdatedTSOS);
204 }
T perp() const
Definition: PV3DBase.h:69
TrajectoryStateOnSurface const & predictedState() const
std::string dumpTSOS(const TrajectoryStateOnSurface &tsos) const
const std::string metname
#define LogTrace(id)
static TransientTrackingRecHit::ConstRecHitContainer breakInSubRecHits(TransientTrackingRecHit::ConstRecHitPointer, int granularity)
takes a muon rechit and returns its sub-rechits given a certain granularity
void sort(TransientTrackingRecHit::ConstRecHitContainer &, const DetLayer *)
virtual TrajectoryStateOnSurface update(const TrajectoryStateOnSurface &, const TrackingRecHit &) const =0
GlobalPoint globalPosition() const
std::shared_ptr< MuonTransientTrackingRecHit > MuonRecHitPointer
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
const TrajectoryStateUpdator * measurementUpdator() const
TrajectoryMeasurement updateMeasurement(const TrajectoryStateOnSurface &propagatedTSOS, const TrajectoryStateOnSurface &lastUpdatedTSOS, const TransientTrackingRecHit::ConstRecHitPointer &recHit, const double &chi2, const DetLayer *detLayer, const TrajectoryMeasurement *initialMeasurement)
Return the trajectory measurement. It handles both the fw and the bw propagation. ...
virtual HitReturnType estimate(const TrajectoryStateOnSurface &ts, const TrackingRecHit &hit) const =0
std::vector< ConstRecHitPointer > ConstRecHitContainer
GlobalVector globalDirection() const
static constexpr int RPC
Definition: MuonSubdetId.h:13
const MeasurementEstimator * estimator() const
accasso at the propagator
TrajectoryStateOnSurface propagateState(const TrajectoryStateOnSurface &state, const TrajectoryMeasurement *measurement, const TransientTrackingRecHit::ConstRecHitPointer &current, const Propagator *propagator) const
static MuonRecHitPointer specificBuild(const GeomDet *geom, const TrackingRecHit *rh)
void push(const TrajectoryMeasurement &tm)
Definition: Trajectory.cc:50
const DetLayer * layer() const
def move(src, dest)
Definition: eostools.py:511
ConstRecHitPointer const & recHit() const

◆ updateMeasurement()

TrajectoryMeasurement MuonTrajectoryUpdator::updateMeasurement ( const TrajectoryStateOnSurface propagatedTSOS,
const TrajectoryStateOnSurface lastUpdatedTSOS,
const TransientTrackingRecHit::ConstRecHitPointer recHit,
const double &  chi2,
const DetLayer detLayer,
const TrajectoryMeasurement initialMeasurement 
)
private

Return the trajectory measurement. It handles both the fw and the bw propagation.

Definition at line 221 of file MuonTrajectoryUpdator.cc.

References nano_mu_local_reco_cff::chi2, and rpcPointValidation_cfi::recHit.

Referenced by update().

226  {
227  return TrajectoryMeasurement(propagatedTSOS, lastUpdatedTSOS, recHit, chi2, detLayer);
228 
229  // // FIXME: put a better check! One could fit in first out-in and then in - out
230  // if(propagator()->propagationDirection() == alongMomentum)
231  // return TrajectoryMeasurement(propagatedTSOS, lastUpdatedTSOS,
232  // recHit,thisChi2.second,detLayer);
233 
234  // // FIXME: Check this carefully!!
235  // else if(propagator()->propagationDirection() == oppositeToMomentum)
236  // return TrajectoryMeasurement(initialMeasurement->forwardPredictedState(),
237  // propagatedTSOS, lastUpdatedTSOS,
238  // recHit,thisChi2.second,detLayer);
239  // else{
240  // LogError("MuonTrajectoryUpdator::updateMeasurement") <<"Wrong propagation direction!!";
241  // }
242 }

Member Data Documentation

◆ theEstimator

MeasurementEstimator* MuonTrajectoryUpdator::theEstimator
private

◆ theFirstTSOSFlag

bool MuonTrajectoryUpdator::theFirstTSOSFlag
private

Definition at line 145 of file MuonTrajectoryUpdator.h.

Referenced by makeFirstTime(), MuonTrajectoryUpdator(), and update().

◆ theFitDirection

NavigationDirection MuonTrajectoryUpdator::theFitDirection
private

Definition at line 142 of file MuonTrajectoryUpdator.h.

Referenced by fitDirection(), and setFitDirection().

◆ theGranularity

int MuonTrajectoryUpdator::theGranularity
private

the granularity if 0 4D-segments are used both for the DT and CSC, if 1 2D-segments are used for the DT and the 2D-points for the CSC if 2 the 1D rec hit for the DT are used, while the 2D rechit for the CSC are used Maybe in a second step there will be more than 3 option i.e. max granularity for DT but not for the CSC and the viceversa

Definition at line 90 of file MuonTrajectoryUpdator.h.

Referenced by MuonTrajectoryUpdator(), and update().

◆ theMaxChi2

double MuonTrajectoryUpdator::theMaxChi2
private

the max chi2 allowed

Definition at line 82 of file MuonTrajectoryUpdator.h.

Referenced by maxChi2(), MuonTrajectoryUpdator(), and setMaxChi2().

◆ theRescaleErrorFlag

bool MuonTrajectoryUpdator::theRescaleErrorFlag
private

Definition at line 146 of file MuonTrajectoryUpdator.h.

Referenced by MuonTrajectoryUpdator(), and update().

◆ theRescaleFactor

double MuonTrajectoryUpdator::theRescaleFactor
private

Definition at line 147 of file MuonTrajectoryUpdator.h.

Referenced by MuonTrajectoryUpdator(), and update().

◆ theRPCExFlag

bool MuonTrajectoryUpdator::theRPCExFlag
private

Definition at line 152 of file MuonTrajectoryUpdator.h.

Referenced by MuonTrajectoryUpdator(), and update().

◆ theUpdator

TrajectoryStateUpdator* MuonTrajectoryUpdator::theUpdator
private

◆ useInvalidHits

bool MuonTrajectoryUpdator::useInvalidHits
private

Definition at line 150 of file MuonTrajectoryUpdator.h.

Referenced by MuonTrajectoryUpdator(), and update().