CMS 3D CMS Logo

IntegratedCalibrationBase.h
Go to the documentation of this file.
1 #ifndef Alignment_CommonAlignmentAlgorithm_IntegratedCalibrationBase_h
2 #define Alignment_CommonAlignmentAlgorithm_IntegratedCalibrationBase_h
3 
23 
24 #include <vector>
25 #include <utility>
26 #include <string>
27 
28 class AlignableTracker;
29 class AlignableMuon;
30 class AlignableExtras;
31 
33 class TrackingRecHit;
34 
35 namespace edm {
36  class EventSetup;
37  class ParameterSet;
38 } // namespace edm
39 
41 public:
43  typedef std::pair<double, double> Values;
44  typedef std::pair<Values, unsigned int> ValuesIndexPair;
45 
48 
51 
53  virtual unsigned int numParameters() const = 0;
54 
58  virtual std::vector<Values> derivatives(const TrackingRecHit &hit,
59  const TrajectoryStateOnSurface &tsos,
60  const edm::EventSetup &setup,
61  const EventInfo &eventInfo) const;
62 
67  virtual unsigned int derivatives(std::vector<ValuesIndexPair> &outDerivInds,
68  const TrackingRecHit &hit,
69  const TrajectoryStateOnSurface &tsos,
70  const edm::EventSetup &setup,
71  const EventInfo &eventInfo) const = 0;
72 
75  virtual bool setParameter(unsigned int index, double value) = 0;
76 
79  virtual bool setParameterError(unsigned int index, double value) = 0;
80 
83  virtual double getParameter(unsigned int index) const = 0;
84 
87  virtual double getParameterError(unsigned int index) const = 0;
88 
92 
95  virtual void beginRun(const edm::Run &, const edm::EventSetup &){};
96 
100  virtual void startNewLoop(){};
101 
105  virtual void endOfLoop(){};
106 
111  virtual void endOfJob() = 0;
112 
113  /* /// called at begin of run */
114  /* virtual void beginRun(const edm::EventSetup &setup) {}; */
115 
116  /* /// called at end of run - order of arguments like in EDProducer etc. */
117  /* virtual void endRun(const EndRunInfo &runInfo, const edm::EventSetup &setup) {}; */
118 
119  /* /// called at begin of luminosity block (no lumi block info passed yet) */
120  /* virtual void beginLuminosityBlock(const edm::EventSetup &setup) {}; */
121 
122  /* /// called at end of luminosity block (no lumi block info passed yet) */
123  /* virtual void endLuminosityBlock(const edm::EventSetup &setup) {}; */
124 
126  const std::string &name() const { return name_; } // non-virtual since refering to private member
127 
128 private:
130 };
131 
132 #endif
IntegratedCalibrationBase::endOfLoop
virtual void endOfLoop()
Definition: IntegratedCalibrationBase.h:105
IntegratedCalibrationBase::EventInfo
AlignmentAlgorithmBase::EventInfo EventInfo
Definition: IntegratedCalibrationBase.h:42
IntegratedCalibrationBase::name
const std::string & name() const
name of this calibration
Definition: IntegratedCalibrationBase.h:126
muon
Definition: MuonCocktails.h:17
edm::Run
Definition: Run.h:45
edm
HLT enums.
Definition: AlignableModifier.h:19
IntegratedCalibrationBase::ValuesIndexPair
std::pair< Values, unsigned int > ValuesIndexPair
x- and y-values
Definition: IntegratedCalibrationBase.h:44
IntegratedCalibrationBase
Definition: IntegratedCalibrationBase.h:40
IntegratedCalibrationBase::~IntegratedCalibrationBase
virtual ~IntegratedCalibrationBase()
Destructor.
Definition: IntegratedCalibrationBase.h:50
IntegratedCalibrationBase::derivatives
virtual std::vector< Values > derivatives(const TrackingRecHit &hit, const TrajectoryStateOnSurface &tsos, const edm::EventSetup &setup, const EventInfo &eventInfo) const
Definition: IntegratedCalibrationBase.cc:23
IntegratedCalibrationBase::numParameters
virtual unsigned int numParameters() const =0
How many parameters does this calibration define?
IntegratedCalibrationBase::beginRun
virtual void beginRun(const edm::Run &, const edm::EventSetup &)
Definition: IntegratedCalibrationBase.h:95
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
IntegratedCalibrationBase::Values
std::pair< double, double > Values
Definition: IntegratedCalibrationBase.h:43
AlignableTracker
Definition: AlignableTracker.h:17
AlignableExtras
Definition: AlignableExtras.h:19
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
PbPb_ZMuSkimMuonDPG_cff.tracker
tracker
Definition: PbPb_ZMuSkimMuonDPG_cff.py:60
ZMuMuAnalysisNtupler_cff.eventInfo
eventInfo
Definition: ZMuMuAnalysisNtupler_cff.py:15
IntegratedCalibrationBase::setParameterError
virtual bool setParameterError(unsigned int index, double value)=0
edm::ParameterSet
Definition: ParameterSet.h:36
ParameterSet
Definition: Functions.h:16
IntegratedCalibrationBase::name_
const std::string name_
Definition: IntegratedCalibrationBase.h:129
AlignableMuon
Constructor of the full muon geometry.
Definition: AlignableMuon.h:33
value
Definition: value.py:1
edm::EventSetup
Definition: EventSetup.h:57
IntegratedCalibrationBase::endOfJob
virtual void endOfJob()=0
looper.cfg
cfg
Definition: looper.py:297
TrackingRecHit
Definition: TrackingRecHit.h:21
IntegratedCalibrationBase::beginOfJob
virtual void beginOfJob(AlignableTracker *tracker, AlignableMuon *muon, AlignableExtras *extras)
Definition: IntegratedCalibrationBase.h:91
IntegratedCalibrationBase::IntegratedCalibrationBase
IntegratedCalibrationBase(const edm::ParameterSet &cfg)
Values and their parameter index.
Definition: IntegratedCalibrationBase.cc:19
IntegratedCalibrationBase::setParameter
virtual bool setParameter(unsigned int index, double value)=0
IntegratedCalibrationBase::startNewLoop
virtual void startNewLoop()
Definition: IntegratedCalibrationBase.h:100
IntegratedCalibrationBase::getParameterError
virtual double getParameterError(unsigned int index) const =0
IntegratedCalibrationBase::getParameter
virtual double getParameter(unsigned int index) const =0
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
AlignmentAlgorithmBase.h
Interface/Base class for alignment algorithms, each alignment algorithm has to be derived from this c...
EventSetup
hit
Definition: SiStripHitEffFromCalibTree.cc:88
AlignmentAlgorithmBase::EventInfo
define event information passed to algorithms
Definition: AlignmentAlgorithmBase.h:72