CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

reco::AnnealingGhostTrackFitter Class Reference

#include <AnnealingGhostTrackFitter.h>

Inheritance diagram for reco::AnnealingGhostTrackFitter:
reco::SequentialGhostTrackFitter reco::GhostTrackFitter::FitterImpl

List of all members.

Public Member Functions

 AnnealingGhostTrackFitter ()
 AnnealingGhostTrackFitter (const AnnealingGhostTrackFitter &orig)
 ~AnnealingGhostTrackFitter ()

Private Member Functions

virtual FitterImpl * clone () const
virtual void postFit (const GhostTrackFitter::PredictionUpdater &updater, const GhostTrackPrediction &pred, std::vector< GhostTrackState > &states)
virtual void reset ()
virtual bool stable (const GhostTrackPrediction &before, const GhostTrackPrediction &after) const

Private Attributes

std::auto_ptr< AnnealingScheduleannealing
bool firstStep

Detailed Description

Definition at line 17 of file AnnealingGhostTrackFitter.h.


Constructor & Destructor Documentation

AnnealingGhostTrackFitter::AnnealingGhostTrackFitter ( )

Definition at line 16 of file AnnealingGhostTrackFitter.cc.

References annealing.

Referenced by clone().

{
        annealing.reset(new GeometricAnnealing(3.0, 64.0, 0.25));
}
reco::AnnealingGhostTrackFitter::AnnealingGhostTrackFitter ( const AnnealingGhostTrackFitter orig) [inline]

Definition at line 20 of file AnnealingGhostTrackFitter.h.

                                                                         :
                annealing(orig.annealing->clone()),
                firstStep(orig.firstStep) {}
reco::AnnealingGhostTrackFitter::~AnnealingGhostTrackFitter ( ) [inline]

Definition at line 23 of file AnnealingGhostTrackFitter.h.

{}

Member Function Documentation

virtual FitterImpl* reco::AnnealingGhostTrackFitter::clone ( void  ) const [inline, private, virtual]

Reimplemented from reco::SequentialGhostTrackFitter.

Definition at line 26 of file AnnealingGhostTrackFitter.h.

References AnnealingGhostTrackFitter().

        { return new AnnealingGhostTrackFitter(*this); }
void AnnealingGhostTrackFitter::postFit ( const GhostTrackFitter::PredictionUpdater updater,
const GhostTrackPrediction pred,
std::vector< GhostTrackState > &  states 
) [private, virtual]

Reimplemented from reco::SequentialGhostTrackFitter.

Definition at line 21 of file AnnealingGhostTrackFitter.cc.

References annealing, ExpressReco_HICollisions_FallBack::chi2, reco::GhostTrackFitter::PredictionUpdater::contribution(), firstStep, and evf::utils::state.

{
        for(std::vector<GhostTrackState>::iterator state = 
                states.begin(); state != states.end(); ++state) {

                if (!state->isValid())
                        continue;

                double ndof, chi2;
                updater.contribution(pred, *state, ndof, chi2);
                if (ndof == 0. || firstStep)
                        continue;

                state->setWeight(annealing->weight(chi2));
        }

        if (firstStep)
                firstStep = false;
        else
                annealing->anneal();
}
virtual void reco::AnnealingGhostTrackFitter::reset ( void  ) [inline, private, virtual]

Reimplemented from reco::SequentialGhostTrackFitter.

Definition at line 36 of file AnnealingGhostTrackFitter.h.

References annealing, and firstStep.

{ annealing->resetAnnealing(); firstStep = true; }
virtual bool reco::AnnealingGhostTrackFitter::stable ( const GhostTrackPrediction before,
const GhostTrackPrediction after 
) const [inline, private, virtual]

Reimplemented from reco::SequentialGhostTrackFitter.

Definition at line 29 of file AnnealingGhostTrackFitter.h.

References annealing.

        {
                return SequentialGhostTrackFitter::stable(before, after) &&
                       annealing->isAnnealed();
        }

Member Data Documentation

Definition at line 42 of file AnnealingGhostTrackFitter.h.

Referenced by AnnealingGhostTrackFitter(), postFit(), reset(), and stable().

Definition at line 43 of file AnnealingGhostTrackFitter.h.

Referenced by postFit(), and reset().