CMS 3D CMS Logo

Public Member Functions | Private Types | Private Member Functions | Private Attributes

StandAloneMuonSmoother Class Reference

#include <StandAloneMuonSmoother.h>

List of all members.

Public Member Functions

MeasurementEstimatorestimator () const
 access at the estimator
const Propagatorpropagator () const
 access at the propagator
SmoothingResult smooth (const Trajectory &)
 Smoothes the trajectories.
TrajectorySmoothersmoother () const
 access to the smoother
 StandAloneMuonSmoother (const edm::ParameterSet &par, const MuonServiceProxy *service)
 Constructor.
TrajectoryStateUpdatorupdator () const
 return the KFUpdator
virtual ~StandAloneMuonSmoother ()
 Destructor.

Private Types

typedef std::pair< bool,
Trajectory
SmoothingResult

Private Member Functions

void renewTheSmoother ()

Private Attributes

double theErrorRescaling
MeasurementEstimatortheEstimator
double theMaxChi2
 The max allowed chi2 to accept a rechit in the fit.
double theNSigma
std::string thePropagatorName
const MuonServiceProxytheService
TrajectorySmoothertheSmoother
TrajectoryStateUpdatortheUpdator

Detailed Description

Smooth a trajectory using the standard Kalman Filter smoother. This class contains the KFTrajectorySmoother and takes care to update the it whenever the propagator change.

Date:
2006/10/18 16:33:03
Revision:
1.9
Author:
R. Bellan - INFN Torino <riccardo.bellan@cern.ch>

Smooth a trajectory using the standard Kalman Filter smoother. This class contains the KFTrajectorySmoother and takes care to update the it whenever the propagator change.

Date:
2007/02/16 13:31:23
Revision:
1.8
Author:
R. Bellan - INFN Torino <riccardo.bellan@cern.ch>

Definition at line 28 of file StandAloneMuonSmoother.h.


Member Typedef Documentation

typedef std::pair<bool,Trajectory> StandAloneMuonSmoother::SmoothingResult [private]

Definition at line 30 of file StandAloneMuonSmoother.h.


Constructor & Destructor Documentation

StandAloneMuonSmoother::StandAloneMuonSmoother ( const edm::ParameterSet par,
const MuonServiceProxy *  service 
)

Constructor.

Definition at line 27 of file StandAloneMuonSmoother.cc.

References Chi2MeasurementEstimatorESProducer_cfi::Chi2MeasurementEstimator, edm::ParameterSet::getParameter(), theErrorRescaling, theEstimator, theMaxChi2, theNSigma, thePropagatorName, theSmoother, and theUpdator.

                                                                               :theService(service){

  // The max allowed chi2 to accept a rechit in the fit
  theMaxChi2 = par.getParameter<double>("MaxChi2");
  
  // The errors of the trajectory state are multiplied by nSigma 
  // to define acceptance of BoundPlane and maximalLocalDisplacement
  theNSigma = par.getParameter<double>("NumberOfSigma"); // default = 3.
  
  // The estimator: makes the decision wheter a measure is good or not
  // it isn't used by the updator which does the real fit. In fact, in principle,
  // a looser request onto the measure set can be requested 
  // (w.r.t. the request on the accept/reject measure in the fit)
  theEstimator = new Chi2MeasurementEstimator(theMaxChi2,theNSigma);
  
  theErrorRescaling = par.getParameter<double>("ErrorRescalingFactor");
  
  thePropagatorName = par.getParameter<string>("Propagator");
  
  theUpdator = new KFUpdator();
  
  // The Kalman smoother
  theSmoother = 0 ;
                
}
StandAloneMuonSmoother::~StandAloneMuonSmoother ( ) [virtual]

Destructor.

Definition at line 54 of file StandAloneMuonSmoother.cc.

References theEstimator, theSmoother, and theUpdator.

                                               {
  if (theEstimator) delete theEstimator;
  if (theUpdator) delete theUpdator;
  if (theSmoother) delete theSmoother;
}

Member Function Documentation

MeasurementEstimator* StandAloneMuonSmoother::estimator ( void  ) const [inline]

access at the estimator

Definition at line 51 of file StandAloneMuonSmoother.h.

References theEstimator.

Referenced by renewTheSmoother().

{return theEstimator;}
const Propagator * StandAloneMuonSmoother::propagator ( void  ) const

access at the propagator

Definition at line 60 of file StandAloneMuonSmoother.cc.

References thePropagatorName, and theService.

Referenced by renewTheSmoother().

                                                          { 
  return &*theService->propagator(thePropagatorName); 
}
void StandAloneMuonSmoother::renewTheSmoother ( ) [private]
StandAloneMuonSmoother::SmoothingResult StandAloneMuonSmoother::smooth ( const Trajectory inputTrajectory)

Smoothes the trajectories.

Definition at line 78 of file StandAloneMuonSmoother.cc.

References LogTrace, metname, renewTheSmoother(), smoother(), and TrajectorySmoother::trajectories().

                                                                                                     {
  const string metname = "Muon|RecoMuon|StandAloneMuonSmoother";
  
  renewTheSmoother();
  
  vector<Trajectory> trajectoriesSM = smoother()->trajectories(inputTrajectory);
  
  if(!trajectoriesSM.size()){
    LogTrace(metname) << "No Track smoothed!";
    return SmoothingResult(false,inputTrajectory); 
  }
  
  Trajectory smoothed = trajectoriesSM.front(); 
  
  return SmoothingResult(true,smoothed); 
}
TrajectorySmoother* StandAloneMuonSmoother::smoother ( ) const [inline]

access to the smoother

Definition at line 54 of file StandAloneMuonSmoother.h.

References theSmoother.

Referenced by smooth().

{return theSmoother;}
TrajectoryStateUpdator* StandAloneMuonSmoother::updator ( ) const [inline]

return the KFUpdator

Definition at line 45 of file StandAloneMuonSmoother.h.

References theUpdator.

Referenced by renewTheSmoother().

{return theUpdator;}

Member Data Documentation

Definition at line 76 of file StandAloneMuonSmoother.h.

Referenced by StandAloneMuonSmoother().

The estimator: makes the decision wheter a measure is good or not it isn't used by the updator which does the real fit. In fact, in principle, a looser request onto the measure set can be requested (w.r.t. the request on the accept/reject measure in the fit)

Definition at line 74 of file StandAloneMuonSmoother.h.

Referenced by estimator(), StandAloneMuonSmoother(), and ~StandAloneMuonSmoother().

The max allowed chi2 to accept a rechit in the fit.

Definition at line 64 of file StandAloneMuonSmoother.h.

Referenced by StandAloneMuonSmoother().

The errors of the trajectory state are multiplied by nSigma to define acceptance of BoundPlane and maximalLocalDisplacement

Definition at line 68 of file StandAloneMuonSmoother.h.

Referenced by StandAloneMuonSmoother().

Definition at line 61 of file StandAloneMuonSmoother.h.

Referenced by propagator(), and StandAloneMuonSmoother().

Definition at line 80 of file StandAloneMuonSmoother.h.

Referenced by propagator(), and renewTheSmoother().