Represents an alignment task. More...
#include <AlignmentTask.h>
Classes | |
struct | DetIdDirIdxPair |
Public Types | |
enum | QuantityClass { qcShR1, qcShR2, qcShZ, qcRotZ } |
quantity classes More... | |
Public Member Functions | |
AlignmentTask () | |
dummy constructor (not to be used) More... | |
AlignmentTask (const edm::ParameterSet &ps) | |
normal constructor More... | |
void | buildEqualMeanUMeanVRotZConstraints (std::vector< AlignmentConstraint > &constraints) const |
adds constraints such that only mean-U and mean-V RotZ are equal for each strip RP More... | |
void | buildFixedDetectorsConstraints (std::vector< AlignmentConstraint > &) const |
builds a set of fixed-detector constraints More... | |
void | buildIndexMaps () |
builds "mapMatrixIndeces" from "geometry" More... | |
void | buildOneRotZPerPotConstraints (std::vector< AlignmentConstraint > &) const |
adds constraints such that only 1 rot_z per RP is left More... | |
void | buildStandardConstraints (std::vector< AlignmentConstraint > &) const |
builds the standard constraints More... | |
signed int | getMeasurementIndex (QuantityClass cl, unsigned int detId, unsigned int dirIdx) const |
returns measurement index (if non-existent, returns -1) More... | |
signed int | getQuantityIndex (QuantityClass cl, unsigned int detId) const |
returns measurement index (if non-existent, returns -1) More... | |
unsigned int | measurementsOfClass (QuantityClass) const |
returns the number of quantities of the given class More... | |
unsigned int | quantitiesOfClass (QuantityClass) const |
returns the number of quantities of the given class More... | |
std::string | quantityClassTag (QuantityClass) const |
returns a string tag for the given quantity class More... | |
Static Public Member Functions | |
static void | buildGeometry (const std::vector< unsigned int > &rpDecIds, const std::vector< unsigned int > &excludedSensors, const CTPPSGeometry *, double z0, AlignmentGeometry &geometry) |
builds the alignment geometry More... | |
Public Attributes | |
edm::ParameterSet | fixedDetectorsConstraints |
fixed detectors constraints from config file More... | |
AlignmentGeometry | geometry |
the geometry for this task More... | |
std::map< QuantityClass, std::map< DetIdDirIdxPair, unsigned int > > | mapMeasurementIndeces |
for each quantity class contains mapping (detector id, direction) –> measurement index More... | |
std::map< QuantityClass, std::map< unsigned int, unsigned int > > | mapQuantityIndeces |
for each quantity class contains mapping detector id –> quantity index More... | |
bool | oneRotZPerPot |
whether to resolve only 1 rot_z per RP More... | |
std::vector< QuantityClass > | quantityClasses |
list of quantity classes to be optimized More... | |
bool | resolveRotZ |
whether to resolve detector rotations around z More... | |
bool | resolveShR |
whether to resolve detector shifts in readout direction(s) More... | |
bool | resolveShZ |
whether to resolve detector shifts in z More... | |
edm::ParameterSet | standardConstraints |
settings of "standard" constraints from config file More... | |
bool | useEqualMeanUMeanVRotZConstraints |
whether to apply the constraint mean U = mean V RotZ for strips ("standard" set of constraints only) More... | |
Represents an alignment task.
Definition at line 20 of file AlignmentTask.h.
quantity classes
Enumerator | |
---|---|
qcShR1 | detector shifts in first readout direction |
qcShR2 | detector shifts in second readout direction |
qcShZ | detector shifts in z |
qcRotZ | detector rotations around z |
Definition at line 60 of file AlignmentTask.h.
|
inline |
AlignmentTask::AlignmentTask | ( | const edm::ParameterSet & | ps | ) |
normal constructor
Definition at line 23 of file AlignmentTask.cc.
References qcRotZ, qcShR1, qcShR2, qcShZ, quantityClasses, resolveRotZ, resolveShR, and resolveShZ.
void AlignmentTask::buildEqualMeanUMeanVRotZConstraints | ( | std::vector< AlignmentConstraint > & | constraints | ) | const |
adds constraints such that only mean-U and mean-V RotZ are equal for each strip RP
Definition at line 500 of file AlignmentTask.cc.
References visDQMUpload::buf, DummyCfis::c, AlignmentConstraint::coef, createBeamHaloJobs::constraints, protons_cff::decRPId, hcalRecHitTable_cff::detId, getQuantityIndex(), visualization-live-secondInstance_cfg::m, AlignmentConstraint::name, AlCaHLTBitMon_ParallelJobs::p, amptDefault_cfi::proj, qcRotZ, quantitiesOfClass(), quantityClasses, ctppsOpticalFunctions_non_DB_cff::rpId, CTPPSDetId::sdTrackingStrip, AlCaHLTBitMon_QueryRunRegistry::string, and AlignmentConstraint::val.
Referenced by buildStandardConstraints().
void AlignmentTask::buildFixedDetectorsConstraints | ( | std::vector< AlignmentConstraint > & | constraints | ) | const |
builds a set of fixed-detector constraints
Definition at line 250 of file AlignmentTask.cc.
References visDQMUpload::buf, buildOneRotZPerPotConstraints(), AlignmentConstraint::coef, createBeamHaloJobs::constraints, Exception, fixedDetectorsConstraints, edm::ParameterSet::getParameter(), edm::ParameterSet::getParameterSet(), getQuantityIndex(), dqmiolumiharvest::j, AlignmentConstraint::name, oneRotZPerPot, qcRotZ, quantitiesOfClass(), quantityClasses, quantityClassTag(), findQualityFiles::size, makeGlobalPositionRcd_cfg::tag, AlignmentConstraint::val, and contentValuesCheck::values.
Referenced by StraightTrackAlignment::buildConstraints().
|
static |
builds the alignment geometry
Definition at line 49 of file AlignmentTask.cc.
References DummyCfis::c, d1, hcalRecHitTable_cff::detId, spr::find(), input, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, TotemRPDetId::plane(), CTPPSDetId::rp(), CTPPSDetId::sdTrackingStrip, DetGeometry::setDirection(), and ppsFastLocalSimulation_cfi::z0.
Referenced by StraightTrackAlignment::begin(), and PPSModifySingularModes::beginRun().
void AlignmentTask::buildIndexMaps | ( | ) |
builds "mapMatrixIndeces" from "geometry"
Definition at line 93 of file AlignmentTask.cc.
References hcalRecHitTable_cff::detId, mapMeasurementIndeces, mapQuantityIndeces, qcRotZ, qcShR1, qcShR2, qcShZ, quantityClasses, CTPPSDetId::sdTimingDiamond, CTPPSDetId::sdTrackingPixel, CTPPSDetId::sdTrackingStrip, and DetId::subdetId().
Referenced by StraightTrackAlignment::begin().
void AlignmentTask::buildOneRotZPerPotConstraints | ( | std::vector< AlignmentConstraint > & | constraints | ) | const |
adds constraints such that only 1 rot_z per RP is left
Definition at line 455 of file AlignmentTask.cc.
References visDQMUpload::buf, AlignmentConstraint::coef, createBeamHaloJobs::constraints, protons_cff::decRPId, hcalRecHitTable_cff::detId, getQuantityIndex(), visualization-live-secondInstance_cfg::m, AlignmentConstraint::name, AlCaHLTBitMon_ParallelJobs::p, qcRotZ, quantitiesOfClass(), quantityClasses, ctppsOpticalFunctions_non_DB_cff::rpId, and AlignmentConstraint::val.
Referenced by buildFixedDetectorsConstraints(), and buildStandardConstraints().
void AlignmentTask::buildStandardConstraints | ( | std::vector< AlignmentConstraint > & | constraints | ) | const |
builds the standard constraints
Definition at line 307 of file AlignmentTask.cc.
References CTPPSDetId::arm(), visDQMUpload::buf, buildEqualMeanUMeanVRotZConstraints(), buildOneRotZPerPotConstraints(), AlignmentConstraint::coef, createBeamHaloJobs::constraints, hcalRecHitTable_cff::detId, Exception, edm::ParameterSet::getParameter(), getQuantityIndex(), mps_fire::i, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, AlignmentConstraint::name, oneRotZPerPot, qcRotZ, qcShR1, qcShR2, quantitiesOfClass(), quantityClasses, resolveRotZ, resolveShR, CTPPSDetId::rp(), CTPPSDetId::rpId(), CTPPSDetId::sdTrackingPixel, CTPPSDetId::sdTrackingStrip, standardConstraints, CTPPSDetId::station(), DetId::subdetId(), useEqualMeanUMeanVRotZConstraints, AlignmentConstraint::val, and mps_merge::weight.
Referenced by StraightTrackAlignment::buildConstraints().
signed int AlignmentTask::getMeasurementIndex | ( | QuantityClass | cl, |
unsigned int | detId, | ||
unsigned int | dirIdx | ||
) | const |
returns measurement index (if non-existent, returns -1)
Definition at line 185 of file AlignmentTask.cc.
References haddnano::cl, hcalRecHitTable_cff::detId, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, and mapMeasurementIndeces.
Referenced by JanAlignmentAlgorithm::feed().
signed int AlignmentTask::getQuantityIndex | ( | QuantityClass | cl, |
unsigned int | detId | ||
) | const |
returns measurement index (if non-existent, returns -1)
Definition at line 199 of file AlignmentTask.cc.
References haddnano::cl, hcalRecHitTable_cff::detId, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, and mapQuantityIndeces.
Referenced by buildEqualMeanUMeanVRotZConstraints(), buildFixedDetectorsConstraints(), buildOneRotZPerPotConstraints(), buildStandardConstraints(), JanAlignmentAlgorithm::feed(), IdealResult::solve(), and JanAlignmentAlgorithm::solve().
unsigned int AlignmentTask::measurementsOfClass | ( | QuantityClass | qc | ) | const |
returns the number of quantities of the given class
Definition at line 230 of file AlignmentTask.cc.
References ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, and mapMeasurementIndeces.
unsigned int AlignmentTask::quantitiesOfClass | ( | QuantityClass | qc | ) | const |
returns the number of quantities of the given class
Definition at line 240 of file AlignmentTask.cc.
References ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, and mapQuantityIndeces.
Referenced by JanAlignmentAlgorithm::begin(), buildEqualMeanUMeanVRotZConstraints(), buildFixedDetectorsConstraints(), buildOneRotZPerPotConstraints(), buildStandardConstraints(), and IdealResult::solve().
string AlignmentTask::quantityClassTag | ( | QuantityClass | qc | ) | const |
returns a string tag for the given quantity class
Definition at line 213 of file AlignmentTask.cc.
References Exception, qcRotZ, qcShR1, qcShR2, and qcShZ.
Referenced by JanAlignmentAlgorithm::begin(), buildFixedDetectorsConstraints(), and StraightTrackAlignment::printQuantitiesLine().
edm::ParameterSet AlignmentTask::fixedDetectorsConstraints |
fixed detectors constraints from config file
Definition at line 40 of file AlignmentTask.h.
Referenced by buildFixedDetectorsConstraints().
AlignmentGeometry AlignmentTask::geometry |
the geometry for this task
Definition at line 48 of file AlignmentTask.h.
Referenced by JanAlignmentAlgorithm::analyze(), StraightTrackAlignment::begin(), JanAlignmentAlgorithm::begin(), JanAlignmentAlgorithm::feed(), StraightTrackAlignment::finish(), StraightTrackAlignment::processEvent(), IdealResult::solve(), JanAlignmentAlgorithm::solve(), and StraightTrackAlignment::updateDiagnosticHistograms().
std::map<QuantityClass, std::map<DetIdDirIdxPair, unsigned int> > AlignmentTask::mapMeasurementIndeces |
for each quantity class contains mapping (detector id, direction) –> measurement index
Definition at line 90 of file AlignmentTask.h.
Referenced by buildIndexMaps(), getMeasurementIndex(), and measurementsOfClass().
std::map<QuantityClass, std::map<unsigned int, unsigned int> > AlignmentTask::mapQuantityIndeces |
for each quantity class contains mapping detector id –> quantity index
Definition at line 93 of file AlignmentTask.h.
Referenced by buildIndexMaps(), getQuantityIndex(), and quantitiesOfClass().
bool AlignmentTask::oneRotZPerPot |
whether to resolve only 1 rot_z per RP
Definition at line 34 of file AlignmentTask.h.
Referenced by buildFixedDetectorsConstraints(), and buildStandardConstraints().
std::vector<QuantityClass> AlignmentTask::quantityClasses |
list of quantity classes to be optimized
Definition at line 68 of file AlignmentTask.h.
Referenced by AlignmentTask(), JanAlignmentAlgorithm::analyze(), JanAlignmentAlgorithm::begin(), buildEqualMeanUMeanVRotZConstraints(), buildFixedDetectorsConstraints(), buildIndexMaps(), buildOneRotZPerPotConstraints(), buildStandardConstraints(), JanAlignmentAlgorithm::end(), JanAlignmentAlgorithm::feed(), StraightTrackAlignment::finish(), StraightTrackAlignment::printAlgorithmsLine(), StraightTrackAlignment::printLineSeparator(), StraightTrackAlignment::printQuantitiesLine(), JanAlignmentAlgorithm::saveDiagnostics(), IdealResult::solve(), and JanAlignmentAlgorithm::solve().
bool AlignmentTask::resolveRotZ |
whether to resolve detector rotations around z
Definition at line 31 of file AlignmentTask.h.
Referenced by AlignmentTask(), buildStandardConstraints(), and IdealResult::solve().
bool AlignmentTask::resolveShR |
whether to resolve detector shifts in readout direction(s)
Definition at line 25 of file AlignmentTask.h.
Referenced by AlignmentTask(), buildStandardConstraints(), and IdealResult::solve().
bool AlignmentTask::resolveShZ |
whether to resolve detector shifts in z
Definition at line 28 of file AlignmentTask.h.
Referenced by AlignmentTask().
edm::ParameterSet AlignmentTask::standardConstraints |
settings of "standard" constraints from config file
Definition at line 43 of file AlignmentTask.h.
Referenced by buildStandardConstraints().
bool AlignmentTask::useEqualMeanUMeanVRotZConstraints |
whether to apply the constraint mean U = mean V RotZ for strips ("standard" set of constraints only)
Definition at line 37 of file AlignmentTask.h.
Referenced by buildStandardConstraints().