CMS 3D CMS Logo

AlignmentAlgorithm.h
Go to the documentation of this file.
1 /****************************************************************************
2 * Authors:
3 * Jan Kašpar (jan.kaspar@gmail.com)
4 ****************************************************************************/
5 
6 #ifndef CalibPPS_AlignmentRelative_AlignmentAlgorithm_h
7 #define CalibPPS_AlignmentRelative_AlignmentAlgorithm_h
8 
10 
17 
18 #include <string>
19 #include <map>
20 
21 class AlignmentTask;
22 class TDirectory;
23 
24 namespace edm {
25  class ParameterSet;
26 }
27 
32 protected:
33  unsigned int verbosity;
34 
37 
39  double singularLimit;
40 
41 public:
44 
47 
48  virtual ~AlignmentAlgorithm() {}
49 
50  virtual std::string getName() { return "Base"; }
51 
53  virtual bool hasErrorEstimate() = 0;
54 
56  virtual void begin(const CTPPSGeometry *geometryReal, const CTPPSGeometry *geometryMisaligned) = 0;
57 
59  virtual void feed(const HitCollection &, const LocalTrackFit &) = 0;
60 
62  virtual void saveDiagnostics(TDirectory *) = 0;
63 
65  virtual void analyze() = 0;
66 
70  virtual unsigned int solve(const std::vector<AlignmentConstraint> &,
71  std::map<unsigned int, AlignmentResult> &results,
72  TDirectory *dir = nullptr) = 0;
73 
75  virtual void end() = 0;
76 };
77 
78 #endif
AlignmentAlgorithm::verbosity
unsigned int verbosity
Definition: AlignmentAlgorithm.h:33
CTPPSGeometry
The manager class for TOTEM RP geometry.
Definition: CTPPSGeometry.h:29
AlignmentTask
Represents an alignment task.
Definition: AlignmentTask.h:19
HitCollection.h
AlignmentAlgorithm::end
virtual void end()=0
cleans up after processing
AlignmentAlgorithm::AlignmentAlgorithm
AlignmentAlgorithm()
dummy constructor (not to be used)
Definition: AlignmentAlgorithm.h:43
AlignmentAlgorithm::begin
virtual void begin(const CTPPSGeometry *geometryReal, const CTPPSGeometry *geometryMisaligned)=0
prepare for processing
edm
HLT enums.
Definition: AlignableModifier.h:19
bookConverter.results
results
Definition: bookConverter.py:144
AlignmentAlgorithm::hasErrorEstimate
virtual bool hasErrorEstimate()=0
returns whether this algorithm is capable of estimating result uncertainties
AlignmentConstraint.h
LocalTrackFit.h
CTPPSGeometry.h
AlignmentAlgorithm
Abstract parent for all (track-based) alignment algorithms.
Definition: AlignmentAlgorithm.h:31
AlignmentAlgorithm::analyze
virtual void analyze()=0
analyzes the data collected
AlignmentResult.h
AlignmentGeometry.h
edm::ParameterSet
Definition: ParameterSet.h:47
ParameterSet
Definition: Functions.h:16
AlignmentAlgorithm::saveDiagnostics
virtual void saveDiagnostics(TDirectory *)=0
saves diagnostic histograms/plots
AlignmentAlgorithm::feed
virtual void feed(const HitCollection &, const LocalTrackFit &)=0
process one track
AlignmentAlgorithm::task
AlignmentTask * task
the tasked to be completed
Definition: AlignmentAlgorithm.h:36
AlignmentAlgorithm::getName
virtual std::string getName()
Definition: AlignmentAlgorithm.h:50
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HitCollection
std::vector< Hit > HitCollection
Definition: HitCollection.h:34
LocalTrackFit
Local (linear) track description (or a fit result). Uses global reference system.
Definition: LocalTrackFit.h:14
EventSetup.h
AlignmentAlgorithm::singularLimit
double singularLimit
eigenvalues in (-singularLimit, singularLimit) are treated as singular
Definition: AlignmentAlgorithm.h:39
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23
AlignmentAlgorithm::~AlignmentAlgorithm
virtual ~AlignmentAlgorithm()
Definition: AlignmentAlgorithm.h:48
AlignmentAlgorithm::solve
virtual unsigned int solve(const std::vector< AlignmentConstraint > &, std::map< unsigned int, AlignmentResult > &results, TDirectory *dir=nullptr)=0