CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Attributes
AlignmentAlgorithm Class Referenceabstract

Abstract parent for all (track-based) alignment algorithms. More...

#include <AlignmentAlgorithm.h>

Inheritance diagram for AlignmentAlgorithm:
IdealResult JanAlignmentAlgorithm

Public Member Functions

 AlignmentAlgorithm ()
 dummy constructor (not to be used) More...
 
 AlignmentAlgorithm (const edm::ParameterSet &ps, AlignmentTask *_t)
 normal constructor More...
 
virtual void analyze ()=0
 analyzes the data collected More...
 
virtual void begin (const CTPPSGeometry *geometryReal, const CTPPSGeometry *geometryMisaligned)=0
 prepare for processing More...
 
virtual void end ()=0
 cleans up after processing More...
 
virtual void feed (const HitCollection &, const LocalTrackFit &)=0
 process one track More...
 
virtual std::string getName ()
 
virtual bool hasErrorEstimate ()=0
 returns whether this algorithm is capable of estimating result uncertainties More...
 
virtual void saveDiagnostics (TDirectory *)=0
 saves diagnostic histograms/plots More...
 
virtual unsigned int solve (const std::vector< AlignmentConstraint > &, std::map< unsigned int, AlignmentResult > &results, TDirectory *dir=nullptr)=0
 
virtual ~AlignmentAlgorithm ()
 

Protected Attributes

double singularLimit
 eigenvalues in (-singularLimit, singularLimit) are treated as singular More...
 
AlignmentTasktask
 the tasked to be completed More...
 
unsigned int verbosity
 

Detailed Description

Abstract parent for all (track-based) alignment algorithms.

Definition at line 31 of file AlignmentAlgorithm.h.

Constructor & Destructor Documentation

◆ AlignmentAlgorithm() [1/2]

AlignmentAlgorithm::AlignmentAlgorithm ( )
inline

dummy constructor (not to be used)

Definition at line 43 of file AlignmentAlgorithm.h.

43 {}

◆ AlignmentAlgorithm() [2/2]

AlignmentAlgorithm::AlignmentAlgorithm ( const edm::ParameterSet ps,
AlignmentTask _t 
)

normal constructor

Definition at line 13 of file AlignmentAlgorithm.cc.

14  : verbosity(ps.getUntrackedParameter<unsigned int>("verbosity", 0)),
15  task(_t),
16  singularLimit(ps.getParameter<double>("singularLimit")) {}
AlignmentTask * task
the tasked to be completed
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
T getUntrackedParameter(std::string const &, T const &) const
double singularLimit
eigenvalues in (-singularLimit, singularLimit) are treated as singular

◆ ~AlignmentAlgorithm()

virtual AlignmentAlgorithm::~AlignmentAlgorithm ( )
inlinevirtual

Definition at line 48 of file AlignmentAlgorithm.h.

48 {}

Member Function Documentation

◆ analyze()

virtual void AlignmentAlgorithm::analyze ( )
pure virtual

analyzes the data collected

Implemented in JanAlignmentAlgorithm, and IdealResult.

◆ begin()

virtual void AlignmentAlgorithm::begin ( const CTPPSGeometry geometryReal,
const CTPPSGeometry geometryMisaligned 
)
pure virtual

prepare for processing

Implemented in JanAlignmentAlgorithm, and IdealResult.

◆ end()

virtual void AlignmentAlgorithm::end ( )
pure virtual

cleans up after processing

Implemented in JanAlignmentAlgorithm, and IdealResult.

Referenced by Types.LuminosityBlockRange::cppID(), and Types.EventRange::cppID().

◆ feed()

virtual void AlignmentAlgorithm::feed ( const HitCollection ,
const LocalTrackFit  
)
pure virtual

process one track

Implemented in JanAlignmentAlgorithm, and IdealResult.

Referenced by Page1Parser.Page1Parser::_Parse().

◆ getName()

virtual std::string AlignmentAlgorithm::getName ( )
inlinevirtual

Reimplemented in JanAlignmentAlgorithm, and IdealResult.

Definition at line 50 of file AlignmentAlgorithm.h.

Referenced by plotting.Plot::draw().

50 { return "Base"; }

◆ hasErrorEstimate()

virtual bool AlignmentAlgorithm::hasErrorEstimate ( )
pure virtual

returns whether this algorithm is capable of estimating result uncertainties

Implemented in JanAlignmentAlgorithm, and IdealResult.

◆ saveDiagnostics()

virtual void AlignmentAlgorithm::saveDiagnostics ( TDirectory *  )
pure virtual

saves diagnostic histograms/plots

Implemented in JanAlignmentAlgorithm, and IdealResult.

◆ solve()

virtual unsigned int AlignmentAlgorithm::solve ( const std::vector< AlignmentConstraint > &  ,
std::map< unsigned int, AlignmentResult > &  results,
TDirectory *  dir = nullptr 
)
pure virtual

solves the alignment problem with the given constraints

Parameters
dira directory (in StraightTrackAlignment::taskDataFileName) where intermediate results can be stored

Implemented in JanAlignmentAlgorithm, and IdealResult.

Member Data Documentation

◆ singularLimit

double AlignmentAlgorithm::singularLimit
protected

eigenvalues in (-singularLimit, singularLimit) are treated as singular

Definition at line 39 of file AlignmentAlgorithm.h.

Referenced by JanAlignmentAlgorithm::analyze(), and JanAlignmentAlgorithm::solve().

◆ task

AlignmentTask* AlignmentAlgorithm::task
protected

◆ verbosity

unsigned int AlignmentAlgorithm::verbosity
protected