CMS 3D CMS Logo

AlignmentProducerBase.h
Go to the documentation of this file.
1 #ifndef Alignment_CommonAlignmentProducer_AlignmentProducerBase_h
2 #define Alignment_CommonAlignmentProducer_AlignmentProducerBase_h
3 
25 #include <memory>
26 
30 
47 
51 
58 
60 
61 class AlignTransform;
62 class Alignments;
65 struct SurveyErrors;
66 class TrackerTopology;
68 
70 protected:
72 
73  // 'noexcept(false)' is needed currently for multiple inheritance with Framework modules
74  virtual ~AlignmentProducerBase() noexcept(false);
75 
76  /*** Methods used in implementation of derived classes ***/
78  void startProcessing();
79 
81  void terminateProcessing(const edm::EventSetup* = nullptr);
82 
84  bool processEvent(const edm::Event&, const edm::EventSetup&);
85 
87  void beginRunImpl(const edm::Run&, const edm::EventSetup&);
88 
90  void endRunImpl(const edm::Run&, const edm::EventSetup&);
91 
94 
97 
98  int nEvent() const { return nevent_; }
99 
102  void initAlignmentAlgorithm(const edm::EventSetup&, bool update = false);
103 
106  bool finish();
107 
109  virtual bool getBeamSpot(const edm::Event&, edm::Handle<reco::BeamSpot>&) = 0;
113 
114  std::shared_ptr<TrackerGeometry> trackerGeometry_;
118 
121 
124 
127 
130 
131 private:
134 
136  void createMonitors();
137 
139  void createCalibrations();
140 
142  bool setupChanged(const edm::EventSetup&);
143 
145  void initBeamSpot(const edm::Event&);
146 
148  void createGeometries(const edm::EventSetup&, const TrackerTopology*);
149 
153 
156  void createAlignables(const TrackerTopology*, bool update = false);
157 
159  void buildParameterStore();
160 
162  void applyMisalignment();
163 
165  void simpleMisalignment(const align::Alignables&, const std::string&, float, float, bool);
166 
170 
173  template <class G, class Rcd, class ErrRcd>
174  void applyDB(const G*, const edm::EventSetup&, const AlignTransform&) const;
175 
177  template <class G, class DeformationRcd>
178  void applyDB(const G*, const edm::EventSetup&) const;
179 
181  void readInSurveyRcds(const edm::EventSetup&);
182 
184  void addSurveyInfo(Alignable*);
185 
187  void storeAlignmentsToDB();
188 
192 
196  void writeDB(Alignments*,
197  const std::string&,
199  const std::string&,
200  const AlignTransform*,
201  cond::Time_t) const;
202 
206 
207  //========================== PRIVATE DATA ====================================
208  //============================================================================
209 
210  /*** Alignment data ***/
211 
212  std::unique_ptr<AlignmentAlgorithmBase> alignmentAlgo_;
215 
216  std::unique_ptr<AlignmentParameterStore> alignmentParameterStore_;
217  std::unique_ptr<AlignableTracker> alignableTracker_;
218  std::unique_ptr<AlignableMuon> alignableMuon_;
219  std::unique_ptr<AlignableExtras> alignableExtras_;
220 
223  std::unique_ptr<const Alignments> globalPositions_;
224 
226  int nevent_{0};
227  bool runAtPCL_{false};
228 
229  /*** Parameters from config-file ***/
230 
232 
233  const int stNFixAlignables_;
238  const bool useSurvey_;
241  /*** ESWatcher ***/
242 
245 
249 
254 
261 
262  /*** Survey stuff ***/
263 
264  size_t surveyIndex_{0};
265  const Alignments* surveyValues_{nullptr};
266  const SurveyErrors* surveyErrors_{nullptr};
267 
268  /*** Status flags ***/
269  bool isAlgoInitialized_{false};
270  bool isDuringLoop_{false}; // -> needed to ensure correct behaviour in
271  // both, EDLooper and standard framework
272  // modules
274 };
275 
276 template <class G, class Rcd, class ErrRcd>
278  const edm::EventSetup& iSetup,
279  const AlignTransform& globalCoordinates) const {
280  // 'G' is the geometry class for that DB should be applied,
281  // 'Rcd' is the record class for its Alignments
282  // 'ErrRcd' is the record class for its AlignmentErrorsExtended
283  // 'globalCoordinates' are global transformation for this geometry
284 
285  const Rcd& record = iSetup.get<Rcd>();
287  const edm::ValidityInterval& validity = record.validityInterval();
288  const edm::IOVSyncValue first = validity.first();
289  const edm::IOVSyncValue last = validity.last();
291  throw cms::Exception("DatabaseError")
292  << "@SUB=AlignmentProducerBase::applyDB"
293  << "\nTrying to apply " << record.key().name() << " with multiple IOVs in tag.\n"
294  << "Validity range is " << first.eventID().run() << " - " << last.eventID().run();
295  }
296  }
297 
298  edm::ESHandle<Alignments> alignments;
299  record.get(alignments);
300 
302  iSetup.get<ErrRcd>().get(alignmentErrors);
303 
304  GeometryAligner aligner;
305  aligner.applyAlignments<G>(geometry, &(*alignments), &(*alignmentErrors), globalCoordinates);
306 }
307 
308 template <class G, class DeformationRcd>
309 void AlignmentProducerBase::applyDB(const G* geometry, const edm::EventSetup& iSetup) const {
310  // 'G' is the geometry class for that DB should be applied,
311  // 'DeformationRcd' is the record class for its surface deformations
312 
313  const DeformationRcd& record = iSetup.get<DeformationRcd>();
315  const edm::ValidityInterval& validity = record.validityInterval();
316  const edm::IOVSyncValue first = validity.first();
317  const edm::IOVSyncValue last = validity.last();
319  throw cms::Exception("DatabaseError")
320  << "@SUB=AlignmentProducerBase::applyDB"
321  << "\nTrying to apply " << record.key().name() << " with multiple IOVs in tag.\n"
322  << "Validity range is " << first.eventID().run() << " - " << last.eventID().run();
323  }
324  }
326  record.get(surfaceDeformations);
327 
328  GeometryAligner aligner;
329  aligner.attachSurfaceDeformations<G>(geometry, &(*surfaceDeformations));
330 }
331 
332 #endif /* Alignment_CommonAlignmentProducer_AlignmentProducerBase_h */
AlignmentProducerBase::nevent_
int nevent_
Definition: AlignmentProducerBase.h:226
AlignmentProducerBase::initAlignmentAlgorithm
void initAlignmentAlgorithm(const edm::EventSetup &, bool update=false)
Definition: AlignmentProducerBase.cc:341
geometry
ESHandle< TrackerGeometry > geometry
Definition: TkLasBeamFitter.cc:200
GlobalPositionRcd.h
AlignmentProducerBase::muonDTGeometry_
edm::ESHandle< DTGeometry > muonDTGeometry_
Definition: AlignmentProducerBase.h:115
AlignmentProducerBase::beginLuminosityBlockImpl
void beginLuminosityBlockImpl(const edm::LuminosityBlock &, const edm::EventSetup &)
begin lumi block
Definition: AlignmentProducerBase.cc:247
AlignmentProducerBase::createGeometries
void createGeometries(const edm::EventSetup &, const TrackerTopology *)
Creates ideal geometry @trackerGeometry_ from IdealGeometryRecord.
Definition: AlignmentProducerBase.cc:412
AlignmentProducerBase::watchDTSurveyErrExtRcd_
edm::ESWatcher< DTSurveyErrorExtendedRcd > watchDTSurveyErrExtRcd_
Definition: AlignmentProducerBase.h:258
AlignmentProducerBase::alignableMuon_
std::unique_ptr< AlignableMuon > alignableMuon_
Definition: AlignmentProducerBase.h:218
AlignmentProducerBase::idealGeometryLabel
std::string idealGeometryLabel
Definition: AlignmentProducerBase.h:240
TrackerGeometry.h
AlignmentProducerBase::watchCSCSurveyErrExtRcd_
edm::ESWatcher< CSCSurveyErrorExtendedRcd > watchCSCSurveyErrExtRcd_
Definition: AlignmentProducerBase.h:260
AlignmentProducerBase::endRunImpl
void endRunImpl(const edm::Run &, const edm::EventSetup &)
end run
Definition: AlignmentProducerBase.cc:231
edm::ESWatcher< IdealGeometryRecord >
ESHandle.h
AlignmentProducerBase::watchDTAlErrExtRcd_
edm::ESWatcher< DTAlignmentErrorExtendedRcd > watchDTAlErrExtRcd_
Definition: AlignmentProducerBase.h:251
AlignmentProducerBase::applyMisalignment
void applyMisalignment()
Applies misalignment scenario to @alignableTracker_.
Definition: AlignmentProducerBase.cc:515
AlignmentProducerBase::watchCSCSurveyRcd_
edm::ESWatcher< CSCSurveyRcd > watchCSCSurveyRcd_
Definition: AlignmentProducerBase.h:259
AlignmentProducerBase::endLuminosityBlockImpl
void endLuminosityBlockImpl(const edm::LuminosityBlock &, const edm::EventSetup &)
end lumi block
Definition: AlignmentProducerBase.cc:253
AlignmentProducerBase::createMonitors
void createMonitors()
Creates the monitors.
Definition: AlignmentProducerBase.cc:270
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
AlignmentProducerBase::alignableExtras_
std::unique_ptr< AlignableExtras > alignableExtras_
Definition: AlignmentProducerBase.h:219
edm::Run
Definition: Run.h:45
DTAlignmentErrorExtendedRcd.h
AlignmentProducerBase::nEvent
int nEvent() const
Definition: AlignmentProducerBase.h:98
TrackerTopology
Definition: TrackerTopology.h:16
Time.h
AlignmentProducerBase::watchDTAlRcd_
edm::ESWatcher< DTAlignmentRcd > watchDTAlRcd_
Definition: AlignmentProducerBase.h:250
Alignable
Definition: Alignable.h:27
geometry
Definition: geometry.py:1
AlignmentProducerBase::AlignmentProducerBase
AlignmentProducerBase(const edm::ParameterSet &)
Definition: AlignmentProducerBase.cc:30
edm::ValidityInterval::last
const IOVSyncValue & last() const
Definition: ValidityInterval.h:38
edm::ValidityInterval
Definition: ValidityInterval.h:28
GlobalPosition_Frontier_DevDB_cff.record
record
Definition: GlobalPosition_Frontier_DevDB_cff.py:10
Alignments.h
AlignmentProducerBase::useSurvey_
const bool useSurvey_
Definition: AlignmentProducerBase.h:238
AlignmentProducerBase::simpleMisalignment
void simpleMisalignment(const align::Alignables &, const std::string &, float, float, bool)
Applies misalignment scenario to @alignableTracker_.
Definition: AlignmentProducerBase.cc:546
AlignmentProducerBase::watchTrackerAlErrorExtRcd_
edm::ESWatcher< TrackerAlignmentErrorExtendedRcd > watchTrackerAlErrorExtRcd_
Definition: AlignmentProducerBase.h:247
edm::ValidityInterval::first
const IOVSyncValue & first() const
Definition: ValidityInterval.h:37
callgraph.G
G
Definition: callgraph.py:13
AlignmentProducerBase::surveyValues_
const Alignments * surveyValues_
Definition: AlignmentProducerBase.h:265
CSCSurveyRcd.h
AlignmentProducerBase::isDuringLoop_
bool isDuringLoop_
Definition: AlignmentProducerBase.h:270
AlignmentProducerBase::doMisalignmentScenario_
const bool doMisalignmentScenario_
Definition: AlignmentProducerBase.h:236
edm::Handle
Definition: AssociativeIterator.h:50
dqmdumpme.first
first
Definition: dqmdumpme.py:55
AlignmentProducerBase::isAlgoInitialized_
bool isAlgoInitialized_
Definition: AlignmentProducerBase.h:269
GeometryAligner::applyAlignments
void applyAlignments(const C *geometry, const Alignments *alignments, const AlignmentErrorsExtended *alignmentErrors, const AlignTransform &globalCoordinates)
Definition: GeometryAligner.h:52
TrackerSurfaceDeformationRcd.h
DTSurveyErrorExtendedRcd.h
AlignmentProducerBase::getBeamSpot
virtual bool getBeamSpot(const edm::Event &, edm::Handle< reco::BeamSpot > &)=0
AlignmentProducerBase::uniqueRunRanges_
const align::RunRanges uniqueRunRanges_
Definition: AlignmentProducerBase.h:225
TrackerAlignmentErrorExtendedRcd.h
SurveyErrors
Definition: SurveyErrors.h:19
AlignmentProducerBase::beamSpotTag_
const edm::InputTag beamSpotTag_
BeamSpot.
Definition: AlignmentProducerBase.h:123
CSCSurveyErrorExtendedRcd.h
AlignmentProducerBase::trackerGeometry_
std::shared_ptr< TrackerGeometry > trackerGeometry_
Definition: AlignmentProducerBase.h:114
AlignmentProducerBase::tjTkAssociationMapTag_
const edm::InputTag tjTkAssociationMapTag_
Map with tracks/trajectories.
Definition: AlignmentProducerBase.h:120
dqmdumpme.last
last
Definition: dqmdumpme.py:56
cond::timeTypeSpecs
const TimeTypeSpecs timeTypeSpecs[]
Definition: Time.cc:16
AlignmentProducerBase::beamSpot_
edm::Handle< reco::BeamSpot > beamSpot_
Definition: AlignmentProducerBase.h:221
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
AlignmentProducerBase::surveyIndex_
size_t surveyIndex_
Definition: AlignmentProducerBase.h:264
AlignmentProducerBase::writeForRunRange
void writeForRunRange(cond::Time_t)
Definition: AlignmentProducerBase.cc:819
AlignmentProducerBase::watchTkSurveyErrExtRcd_
edm::ESWatcher< TrackerSurveyErrorExtendedRcd > watchTkSurveyErrExtRcd_
Definition: AlignmentProducerBase.h:256
AlignmentProducerBase::addSurveyInfo
void addSurveyInfo(Alignable *)
Adds survey info to an Alignable.
Definition: AlignmentProducerBase.cc:716
CSCAlignmentErrorExtendedRcd.h
AlignmentProducerBase::applyDB
void applyDB(const G *, const edm::EventSetup &, const AlignTransform &) const
Definition: AlignmentProducerBase.h:277
TrackerDigiGeometryRecord
Definition: TrackerDigiGeometryRecord.h:15
AlignmentProducerBase::watchIdealGeometryRcd_
edm::ESWatcher< IdealGeometryRecord > watchIdealGeometryRcd_
Definition: AlignmentProducerBase.h:243
AlignmentProducerBase::muonCSCGeometry_
edm::ESHandle< CSCGeometry > muonCSCGeometry_
Definition: AlignmentProducerBase.h:116
edm::ESHandle< DTGeometry >
AlignmentProducerBase::calibrations_
CalibrationsOwner calibrations_
Definition: AlignmentProducerBase.h:213
AlignmentProducerBase::checkDbAlignmentValidity_
const bool checkDbAlignmentValidity_
Definition: AlignmentProducerBase.h:235
AlignmentProducerBase::getTrajTrackAssociationCollection
virtual bool getTrajTrackAssociationCollection(const edm::Event &, edm::Handle< TrajTrackAssociationCollection > &)=0
AlignmentProducerBase::saveApeToDB_
const bool saveApeToDB_
Definition: AlignmentProducerBase.h:237
AlignmentProducerBase::applyDbAlignment_
const bool applyDbAlignment_
Definition: AlignmentProducerBase.h:235
AlignmentProducerBase::watchTrackerAlRcd_
edm::ESWatcher< TrackerAlignmentRcd > watchTrackerAlRcd_
Definition: AlignmentProducerBase.h:246
AlignmentProducerBase
Definition: AlignmentProducerBase.h:69
AlignmentProducerBase::stNFixAlignables_
const int stNFixAlignables_
Definition: AlignmentProducerBase.h:233
TrajTrackAssociation.h
AlignmentProducerBase::finish
bool finish()
Definition: AlignmentProducerBase.cc:744
CalibrationsOwner
std::vector< std::unique_ptr< IntegratedCalibrationBase > > CalibrationsOwner
Definition: AlignmentAlgorithmBase.h:55
edm::IOVSyncValue
Definition: IOVSyncValue.h:31
AlignmentProducerBase::doTracker_
const bool doTracker_
Definition: AlignmentProducerBase.h:117
AlignTransform
Definition: AlignTransform.h:15
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DTGeometry.h
AlignmentProducerBase::createAlignables
void createAlignables(const TrackerTopology *, bool update=false)
Definition: AlignmentProducerBase.cc:460
AlignmentProducerBase::watchCSCAlRcd_
edm::ESWatcher< CSCAlignmentRcd > watchCSCAlRcd_
Definition: AlignmentProducerBase.h:252
AlignmentProducerBase::processEvent
bool processEvent(const edm::Event &, const edm::EventSetup &)
Process event.
Definition: AlignmentProducerBase.cc:133
AlignmentProducerBase::alignmentAlgo_
std::unique_ptr< AlignmentAlgorithmBase > alignmentAlgo_
Definition: AlignmentProducerBase.h:212
edm::ParameterSet
Definition: ParameterSet.h:47
AlignmentProducerBase::alignableTracker_
std::unique_ptr< AlignableTracker > alignableTracker_
Definition: AlignmentProducerBase.h:217
AlignmentProducerBase::doMuon_
const bool doMuon_
Definition: AlignmentProducerBase.h:117
TrackerSurveyRcd.h
AlignmentMonitors
std::vector< std::unique_ptr< AlignmentMonitorBase > > AlignmentMonitors
Definition: AlignmentMonitorBase.h:134
AlignmentProducerBase::storeAlignmentsToDB
void storeAlignmentsToDB()
Writes Alignments (i.e. Records) to database-file.
Definition: AlignmentProducerBase.cc:769
edm::IOVSyncValue::endOfTime
static const IOVSyncValue & endOfTime()
Definition: IOVSyncValue.cc:82
AlignmentProducerBase::createCalibrations
void createCalibrations()
Creates the calibrations.
Definition: AlignmentProducerBase.cc:280
AlignmentProducerBase::getTkFittedLasBeamCollection
virtual bool getTkFittedLasBeamCollection(const edm::Run &, edm::Handle< TkFittedLasBeamCollection > &)=0
AlignmentMonitorBase.h
cond::runnumber
Definition: Time.h:19
AlignmentProducerBase::terminateProcessing
void terminateProcessing(const edm::EventSetup *=nullptr)
Terminate processing of events.
Definition: AlignmentProducerBase.cc:111
cond::Time_t
unsigned long long Time_t
Definition: Time.h:14
AlignmentProducerBase::buildParameterStore
void buildParameterStore()
Creates the @alignmentParameterStore_, which manages all Alignables.
Definition: AlignmentProducerBase.cc:487
cond::TimeTypeSpecs::endValue
Time_t endValue
Definition: Time.h:42
AlignmentProducerBase::readInSurveyRcds
void readInSurveyRcds(const edm::EventSetup &)
Reads in survey records.
Definition: AlignmentProducerBase.cc:659
AlignmentProducerBase::enableAlignableUpdates_
const bool enableAlignableUpdates_
Definition: AlignmentProducerBase.h:239
AlignmentSurfaceDeformations
Definition: AlignmentSurfaceDeformations.h:20
Utilities.h
AlignmentProducerBase::applyAlignmentsToGeometry
void applyAlignmentsToGeometry()
Definition: AlignmentProducerBase.cc:620
DTAlignmentRcd.h
IdealGeometryRecord.h
AlignmentProducerBase::runAtPCL_
bool runAtPCL_
Definition: AlignmentProducerBase.h:227
TrackerAlignmentRcd.h
edm::EventSetup
Definition: EventSetup.h:57
AlignmentProducerBase::watchTrackerSurDeRcd_
edm::ESWatcher< TrackerSurfaceDeformationRcd > watchTrackerSurDeRcd_
Definition: AlignmentProducerBase.h:248
AlignmentProducerBase::setupChanged
bool setupChanged(const edm::EventSetup &)
Checks if one of the EventSetup-Records has changed.
Definition: AlignmentProducerBase.cc:289
AlignmentProducerBase::monitors_
AlignmentMonitors monitors_
Definition: AlignmentProducerBase.h:214
get
#define get
AlignmentProducerBase::tkLasBeamTag_
const edm::InputTag tkLasBeamTag_
LAS beams in edm::Run (ignore if empty)
Definition: AlignmentProducerBase.h:126
AlignmentErrorsExtended
Definition: AlignmentErrorsExtended.h:10
AlignmentProducerBase::getTsosVectorCollection
virtual bool getTsosVectorCollection(const edm::Run &, edm::Handle< TsosVectorCollection > &)=0
AlignmentProducerBase::useExtras_
const bool useExtras_
Definition: AlignmentProducerBase.h:117
AlignmentProducerBase::watchCSCAlErrExtRcd_
edm::ESWatcher< CSCAlignmentErrorExtendedRcd > watchCSCAlErrExtRcd_
Definition: AlignmentProducerBase.h:253
GeometryAligner::attachSurfaceDeformations
void attachSurfaceDeformations(const C *geometry, const AlignmentSurfaceDeformations *surfaceDeformations)
Definition: GeometryAligner.h:120
AlignmentProducerBase::surveyErrors_
const SurveyErrors * surveyErrors_
Definition: AlignmentProducerBase.h:266
align::Alignables
std::vector< Alignable * > Alignables
Definition: Utilities.h:31
AlignmentProducerBase::initBeamSpot
void initBeamSpot(const edm::Event &)
Initializes Beamspot @beamSpot_ of Alignables @alignableExtras_.
Definition: AlignmentProducerBase.cc:399
GeometryAligner.h
Frameworkfwd.h
ESWatcher.h
AlignmentProducerBase::~AlignmentProducerBase
virtual ~AlignmentProducerBase() noexcept(false)
Definition: AlignmentProducerBase.cc:80
Exception
Definition: hltDiff.cc:246
AlignmentProducerBase::applyAlignmentsToDB
void applyAlignmentsToDB(const edm::EventSetup &)
Definition: AlignmentProducerBase.cc:432
AlignmentProducerBase::clusterValueMapTag_
const edm::InputTag clusterValueMapTag_
ValueMap containing associtaion cluster-flag.
Definition: AlignmentProducerBase.h:129
AlignmentProducerBase::watchGlobalPositionRcd_
edm::ESWatcher< GlobalPositionRcd > watchGlobalPositionRcd_
Definition: AlignmentProducerBase.h:244
edm::IOVSyncValue::beginOfTime
static const IOVSyncValue & beginOfTime()
Definition: IOVSyncValue.cc:88
AlignmentProducerBase::alignmentParameterStore_
std::unique_ptr< AlignmentParameterStore > alignmentParameterStore_
Definition: AlignmentProducerBase.h:216
align::RunRanges
std::vector< RunRange > RunRanges
Definition: Utilities.h:39
AlignmentProducerBase::createAlignmentAlgorithm
void createAlignmentAlgorithm()
Creates the choosen alignment algorithm.
Definition: AlignmentProducerBase.cc:259
AlignmentProducerBase::globalPositions_
std::unique_ptr< const Alignments > globalPositions_
GlobalPositions that might be read from DB, nullptr otherwise.
Definition: AlignmentProducerBase.h:223
AlignmentAlgorithmBase.h
Interface/Base class for alignment algorithms, each alignment algorithm has to be derived from this c...
AlignmentProducerBase::watchDTSurveyRcd_
edm::ESWatcher< DTSurveyRcd > watchDTSurveyRcd_
Definition: AlignmentProducerBase.h:257
AlignmentProducerBase::stRandomRotation_
const double stRandomRotation_
Definition: AlignmentProducerBase.h:234
TrackerSurveyErrorExtendedRcd.h
AlignmentProducerBase::stRandomShift_
const double stRandomShift_
Definition: AlignmentProducerBase.h:234
MuonGeometryRecord.h
AlignmentProducerBase::startProcessing
void startProcessing()
Start processing of events.
Definition: AlignmentProducerBase.cc:83
edm::Event
Definition: Event.h:73
AlignmentProducerBase::saveDeformationsToDB_
const bool saveDeformationsToDB_
Definition: AlignmentProducerBase.h:237
Alignments
Definition: Alignments.h:10
AlignmentProducerBase::beginRunImpl
void beginRunImpl(const edm::Run &, const edm::EventSetup &)
begin run
Definition: AlignmentProducerBase.cc:204
edm::InputTag
Definition: InputTag.h:15
AlignmentProducerBase::config_
edm::ParameterSet config_
Definition: AlignmentProducerBase.h:231
DTSurveyRcd.h
AlignmentProducerBase::saveToDB_
const bool saveToDB_
Definition: AlignmentProducerBase.h:237
AlignmentProducerBase::firstRun_
cond::Time_t firstRun_
Definition: AlignmentProducerBase.h:273
AlignmentProducerBase::getAliClusterValueMap
virtual bool getAliClusterValueMap(const edm::Event &, edm::Handle< AliClusterValueMap > &)=0
AlignmentProducerBase::writeDB
void writeDB(Alignments *, const std::string &, AlignmentErrorsExtended *, const std::string &, const AlignTransform *, cond::Time_t) const
Definition: AlignmentProducerBase.cc:856
update
#define update(a, b)
Definition: TrackClassifier.cc:10
GeometryAligner
Class to update a given geometry with a set of alignments.
Definition: GeometryAligner.h:33
AlignmentProducerBase::watchTkSurveyRcd_
edm::ESWatcher< TrackerSurveyRcd > watchTkSurveyRcd_
Definition: AlignmentProducerBase.h:255
CSCAlignmentRcd.h
CSCGeometry.h