CMS 3D CMS Logo

MillePedeAlignmentAlgorithm.h
Go to the documentation of this file.
1 #ifndef Alignment_MillePedeAlignmentAlgorithm_MillePedeAlignmentAlgorithm_h
2 #define Alignment_MillePedeAlignmentAlgorithm_MillePedeAlignmentAlgorithm_h
3 
13 
16 
18 
21 
24 
25 #include <vector>
26 #include <string>
27 #include <memory>
28 
29 class Alignable;
30 class AlignableTracker;
31 class AlignableMuon;
32 class AlignableExtras;
33 
35 class AlignableNavigator;
38 
40 
42 
43 class MillePedeMonitor;
44 class PedeSteerer;
45 class PedeLabelerBase;
46 class Mille;
48 
49 // already from base class - and forward declaration does not work since typedef!
50 /* class TkFittedLasBeamCollection; */
51 /* class TsosVectorCollection; */
52 
54 public:
57 
60 
62  void initialize(const edm::EventSetup &setup,
65  AlignableExtras *extras,
66  AlignmentParameterStore *store) override;
67 
69  bool supportsCalibrations() override;
71  bool addCalibrations(const std::vector<IntegratedCalibrationBase *> &iCals) override;
72 
73  virtual bool storeThresholds(const int &nRecords, const AlignPCLThresholds::threshold_map &thresholdMap);
74 
76  void terminate(const edm::EventSetup &iSetup) override;
78  void terminate() override;
79 
81  bool processesEvents() override;
82 
84  bool storeAlignments() override;
85 
87  void run(const edm::EventSetup &setup, const EventInfo &eventInfo) override;
88 
90  void beginRun(const edm::Run &run, const edm::EventSetup &setup, bool changed) override;
91 
92  // TODO: This method does NOT match endRun() in base class! Nobody is
93  // calling this?
95  virtual void endRun(const EventInfo &, const EndRunInfo &,
96  const edm::EventSetup &); //override;
97 
98  // This one will be called since it matches the interface of the base class
99  void endRun(const EndRunInfo &runInfo, const edm::EventSetup &setup) override;
100 
102  void beginLuminosityBlock(const edm::EventSetup &) override;
103 
105  void endLuminosityBlock(const edm::EventSetup &) override;
106 
107  /* virtual void beginLuminosityBlock(const edm::EventSetup &setup) {} */
108  /* virtual void endLuminosityBlock(const edm::EventSetup &setup) {} */
109 
112  bool setParametersForRunRange(const RunRange &runrange) override;
113 
114 private:
116 
118  std::pair<unsigned int, unsigned int> addReferenceTrajectory(
119  const edm::EventSetup &setup,
120  const EventInfo &eventInfo,
122 
127  const EventInfo &eventInfo,
129  unsigned int iHit,
131 
135  const EventInfo &eventInfo,
137  unsigned int iHit,
138  gbl::GblPoint &gblPoint);
139 
144  unsigned int addHitCount(const std::vector<AlignmentParameters *> &parVec,
145  const std::vector<bool> &validHitVecY) const;
146 
148  template <typename CovarianceMatrix, typename ResidualMatrix, typename LocalDerivativeMatrix>
150  unsigned int iTrajHit,
151  Eigen::MatrixBase<CovarianceMatrix> &aHitCovarianceM,
152  Eigen::MatrixBase<ResidualMatrix> &aHitResidualsM,
153  Eigen::MatrixBase<LocalDerivativeMatrix> &aLocalDerivativesM);
154 
156  void addVirtualMeas(const ReferenceTrajectoryBase::ReferenceTrajectoryPtr &refTrajPtr, unsigned int iVirtualMeas);
157 
159  template <typename CovarianceMatrix, typename ResidualMatrix, typename LocalDerivativeMatrix>
161  unsigned int iVirtualMeas,
162  Eigen::MatrixBase<CovarianceMatrix> &aHitCovarianceM,
163  Eigen::MatrixBase<ResidualMatrix> &aHitResidualsM,
164  Eigen::MatrixBase<LocalDerivativeMatrix> &aLocalDerivativesM);
165 
168  const TrajectoryStateOnSurface &tsos,
169  Alignable *ali,
170  const AlignableDetOrUnitPtr &alidet,
171  std::vector<float> &globalDerivativesX,
172  std::vector<float> &globalDerivativesY,
173  std::vector<int> &globalLabels,
174  AlignmentParameters *&lowestParams) const;
175 
178  const TrajectoryStateOnSurface &tsos,
179  Alignable *ali,
180  const AlignableDetOrUnitPtr &alidet,
181  std::vector<double> &globalDerivativesX,
182  std::vector<double> &globalDerivativesY,
183  std::vector<int> &globalLabels,
184  AlignmentParameters *&lowestParams) const;
185 
188  const TrajectoryStateOnSurface &tsos,
189  const edm::EventSetup &setup,
190  const EventInfo &eventInfo,
191  std::vector<float> &globalDerivativesX,
192  std::vector<float> &globalDerivativesY,
193  std::vector<int> &globalLabels) const;
194 
197  unsigned int iTrajHit,
198  const std::vector<int> &globalLabels,
199  const std::vector<float> &globalDerivativesX,
200  const std::vector<float> &globalDerivativesY);
201 
204  unsigned int iTrajHit,
205  const std::vector<int> &globalLabels,
206  const std::vector<float> &globalDerivativesX);
207 
212  unsigned int iTrajHit,
213  const std::vector<int> &globalLabels,
214  const std::vector<float> &globalDerivativesx,
215  const std::vector<float> &globalDerivativesy);
216 
217  template <typename CovarianceMatrix,
218  typename LocalDerivativeMatrix,
219  typename ResidualMatrix,
220  typename GlobalDerivativeMatrix>
221  void diagonalize(Eigen::MatrixBase<CovarianceMatrix> &aHitCovarianceM,
222  Eigen::MatrixBase<LocalDerivativeMatrix> &aLocalDerivativesM,
223  Eigen::MatrixBase<ResidualMatrix> &aHitResidualsM,
224  Eigen::MatrixBase<GlobalDerivativeMatrix> &aGlobalDerivativesM) const;
225 
226  // deals with the non matrix format of theFloatBufferX ...
227  template <typename GlobalDerivativeMatrix>
228  void makeGlobDerivMatrix(const std::vector<float> &globalDerivativesx,
229  const std::vector<float> &globalDerivativesy,
230  Eigen::MatrixBase<GlobalDerivativeMatrix> &aGlobalDerivativesM);
231 
232  // void callMille(const ReferenceTrajectoryBase::ReferenceTrajectoryPtr &refTrajPtr,
233  // unsigned int iTrajHit, MeasurementDirection xOrY,
234  // const std::vector<float> &globalDerivatives, const std::vector<int> &globalLabels);
237 
239  bool readFromPede(const edm::ParameterSet &mprespset, bool setUserVars, const RunRange &runrange);
240  bool areEmptyParams(const align::Alignables &alignables) const;
241  unsigned int doIO(int loop) const;
243  void buildUserVariables(const align::Alignables &alignables) const;
244 
247  std::vector<std::string> getExistingFormattedFiles(const std::vector<std::string> &plainFiles,
248  const std::string &theDir);
249 
250  void addLaserData(const EventInfo &eventInfo,
251  const TkFittedLasBeamCollection &tkLasBeams,
252  const TsosVectorCollection &tkLasBeamTsoses);
253  void addLasBeam(const EventInfo &eventInfo,
254  const TkFittedLasBeam &lasBeam,
255  const std::vector<TrajectoryStateOnSurface> &tsoses);
256 
258  void addPxbSurvey(const edm::ParameterSet &pxbSurveyCfg);
259 
260  //
261  bool areIOVsSpecified() const;
262 
263  //--------------------------------------------------------
264  // Data members
265  //--------------------------------------------------------
266  enum EModeBit { myMilleBit = 1 << 0, myPedeRunBit = 1 << 1, myPedeSteerBit = 1 << 2, myPedeReadBit = 1 << 3 };
267  unsigned int decodeMode(const std::string &mode) const;
268  bool isMode(unsigned int testMode) const { return (theMode & testMode); }
269  bool addHitStatistics(int fromLoop, const std::string &outFile, const std::vector<std::string> &inFiles) const;
270  bool addHits(const align::Alignables &alis, const std::vector<AlignmentUserVariables *> &mpVars) const;
271 
273  unsigned int theMode;
277  std::unique_ptr<AlignableNavigator> theAlignableNavigator;
278  std::unique_ptr<MillePedeMonitor> theMonitor;
279  std::unique_ptr<Mille> theMille;
280  std::shared_ptr<PedeLabelerBase> thePedeLabels;
281  std::unique_ptr<PedeSteerer> thePedeSteer;
282  std::unique_ptr<TrajectoryFactoryBase> theTrajectoryFactory;
283  std::vector<IntegratedCalibrationBase *> theCalibrations;
284  std::shared_ptr<AlignPCLThresholds> theThresholds;
285  unsigned int theMinNumHits;
291  int theLastWrittenIov; // keeping track for output trees...
292  std::vector<float> theFloatBufferX;
293  std::vector<float> theFloatBufferY;
294  std::vector<int> theIntBuffer;
296  // CHK for GBL
297  std::unique_ptr<gbl::MilleBinary> theBinary;
299 
300  const bool runAtPCL_;
303 
306  std::vector<align::RunNumber> cachedRuns_;
308 };
309 
311 #endif
MillePedeAlignmentAlgorithm::theDir
std::string theDir
Definition: MillePedeAlignmentAlgorithm.h:274
TrajectoryStateOnSurface.h
MillePedeAlignmentAlgorithm::theLastWrittenIov
int theLastWrittenIov
Definition: MillePedeAlignmentAlgorithm.h:291
TsosVectorCollection
std::vector< std::vector< TrajectoryStateOnSurface > > TsosVectorCollection
Definition: TsosVectorCollection.h:16
MillePedeAlignmentAlgorithm::thePedeSteer
std::unique_ptr< PedeSteerer > thePedeSteer
Definition: MillePedeAlignmentAlgorithm.h:281
MillePedeAlignmentAlgorithm::theConfig
edm::ParameterSet theConfig
Definition: MillePedeAlignmentAlgorithm.h:272
MillePedeAlignmentAlgorithm::firstIOV_
const align::RunNumber firstIOV_
Definition: MillePedeAlignmentAlgorithm.h:288
AlignmentUserVariables
(Abstract) Base class for alignment algorithm user variables
Definition: AlignmentUserVariables.h:6
MillePedeAlignmentAlgorithm::addRefTrackVirtualMeas1D
void addRefTrackVirtualMeas1D(const ReferenceTrajectoryBase::ReferenceTrajectoryPtr &refTrajPtr, unsigned int iVirtualMeas, Eigen::MatrixBase< CovarianceMatrix > &aHitCovarianceM, Eigen::MatrixBase< ResidualMatrix > &aHitResidualsM, Eigen::MatrixBase< LocalDerivativeMatrix > &aLocalDerivativesM)
adds data for a specific virtual measurement from reference trajectory
Definition: MillePedeAlignmentAlgorithm.cc:1286
MillePedeAlignmentAlgorithm::makeGlobDerivMatrix
void makeGlobDerivMatrix(const std::vector< float > &globalDerivativesx, const std::vector< float > &globalDerivativesy, Eigen::MatrixBase< GlobalDerivativeMatrix > &aGlobalDerivativesM)
Definition: MillePedeAlignmentAlgorithm.cc:1243
MillePedeAlignmentAlgorithm::MillePedeAlignmentAlgorithm
MillePedeAlignmentAlgorithm(const edm::ParameterSet &cfg)
Constructor.
Definition: MillePedeAlignmentAlgorithm.cc:92
muon
Definition: MuonCocktails.h:17
MillePedeAlignmentAlgorithm::globalDerivativesCalibration
void globalDerivativesCalibration(const TransientTrackingRecHit::ConstRecHitPointer &recHit, const TrajectoryStateOnSurface &tsos, const edm::EventSetup &setup, const EventInfo &eventInfo, std::vector< float > &globalDerivativesX, std::vector< float > &globalDerivativesY, std::vector< int > &globalLabels) const
adding derivatives from integrated calibrations
Definition: MillePedeAlignmentAlgorithm.cc:957
CalibrationSummaryClient_cfi.params
params
Definition: CalibrationSummaryClient_cfi.py:14
edm::Run
Definition: Run.h:45
MillePedeAlignmentAlgorithm::theMonitor
std::unique_ptr< MillePedeMonitor > theMonitor
Definition: MillePedeAlignmentAlgorithm.h:278
MillePedeAlignmentAlgorithm::theFloatBufferX
std::vector< float > theFloatBufferX
Definition: MillePedeAlignmentAlgorithm.h:292
align::RunNumber
cond::RealTimeType< cond::runnumber >::type RunNumber
Definition: Utilities.h:37
Alignable
Definition: Alignable.h:27
MillePedeAlignmentAlgorithm::kLocalY
Definition: MillePedeAlignmentAlgorithm.h:115
MillePedeAlignmentAlgorithm::theMaximalCor2D
double theMaximalCor2D
Definition: MillePedeAlignmentAlgorithm.h:286
ALCARECOPromptCalibProdSiPixelAli0T_cff.mode
mode
Definition: ALCARECOPromptCalibProdSiPixelAli0T_cff.py:96
IntegratedCalibrationBase
Definition: IntegratedCalibrationBase.h:40
MillePedeAlignmentAlgorithm::theAlignables
align::Alignables theAlignables
Definition: MillePedeAlignmentAlgorithm.h:276
MillePedeAlignmentAlgorithm::theTrajectoryFactory
std::unique_ptr< TrajectoryFactoryBase > theTrajectoryFactory
Definition: MillePedeAlignmentAlgorithm.h:282
MillePedeAlignmentAlgorithm::uniqueRunRanges_
const align::RunRanges uniqueRunRanges_
Definition: MillePedeAlignmentAlgorithm.h:304
MillePedeAlignmentAlgorithm::theGblDoubleBinary
bool theGblDoubleBinary
Definition: MillePedeAlignmentAlgorithm.h:298
MillePedeAlignmentAlgorithm::cachedRuns_
std::vector< align::RunNumber > cachedRuns_
Definition: MillePedeAlignmentAlgorithm.h:306
MillePedeAlignmentAlgorithm::endRun
virtual void endRun(const EventInfo &, const EndRunInfo &, const edm::EventSetup &)
Run on run products, e.g. TkLAS.
Definition: MillePedeAlignmentAlgorithm.cc:693
TransientTrackingRecHit.h
ReferenceCountingPointer
Definition: ReferenceCounted.h:60
MillePedeAlignmentAlgorithm::decodeMode
unsigned int decodeMode(const std::string &mode) const
Definition: MillePedeAlignmentAlgorithm.cc:1174
MillePedeAlignmentAlgorithm::endLuminosityBlock
void endLuminosityBlock(const edm::EventSetup &) override
called at end of luminosity block
Definition: MillePedeAlignmentAlgorithm.cc:719
AlignmentAlgorithmPluginFactory.h
MillePedeAlignmentAlgorithm::theMille
std::unique_ptr< Mille > theMille
Definition: MillePedeAlignmentAlgorithm.h:279
AlignableDetOrUnitPtr
Definition: AlignableDetOrUnitPtr.h:30
MillePedeAlignmentAlgorithm::terminate
void terminate() override
Called at end of job.
Definition: MillePedeAlignmentAlgorithm.cc:369
MillePedeAlignmentAlgorithm::getExistingFormattedFiles
std::vector< std::string > getExistingFormattedFiles(const std::vector< std::string > &plainFiles, const std::string &theDir)
Definition: MillePedeAlignmentAlgorithm.cc:423
MillePedeAlignmentAlgorithm::lastProcessedRun_
align::RunNumber lastProcessedRun_
Definition: MillePedeAlignmentAlgorithm.h:307
MillePedeAlignmentAlgorithm::theThresholds
std::shared_ptr< AlignPCLThresholds > theThresholds
Definition: MillePedeAlignmentAlgorithm.h:284
MillePedeAlignmentAlgorithm::theDoSurveyPixelBarrel
bool theDoSurveyPixelBarrel
Definition: MillePedeAlignmentAlgorithm.h:295
AlignmentAlgorithmBase
Definition: AlignmentAlgorithmBase.h:59
rpcPointValidation_cfi.recHit
recHit
Definition: rpcPointValidation_cfi.py:7
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
MillePedeAlignmentAlgorithm::myMilleBit
Definition: MillePedeAlignmentAlgorithm.h:266
AlignmentParameters
Definition: AlignmentParameters.h:35
ReferenceTrajectoryBase.h
MillePedeAlignmentAlgorithm::beginRun
void beginRun(const edm::Run &run, const edm::EventSetup &setup, bool changed) override
called at begin of run
Definition: MillePedeAlignmentAlgorithm.cc:620
MillePedeAlignmentAlgorithm::addGlobalData
int addGlobalData(const edm::EventSetup &setup, const EventInfo &eventInfo, const ReferenceTrajectoryBase::ReferenceTrajectoryPtr &refTrajPtr, unsigned int iHit, gbl::GblPoint &gblPoint)
Definition: MillePedeAlignmentAlgorithm.cc:776
CovarianceMatrix
math::Error< 5 >::type CovarianceMatrix
Definition: SeedToTrackProducer.h:48
MillePedeAlignmentAlgorithm::addLaserData
void addLaserData(const EventInfo &eventInfo, const TkFittedLasBeamCollection &tkLasBeams, const TsosVectorCollection &tkLasBeamTsoses)
Definition: MillePedeAlignmentAlgorithm.cc:1508
MillePedeAlignmentAlgorithm::isMode
bool isMode(unsigned int testMode) const
Definition: MillePedeAlignmentAlgorithm.h:268
MillePedeAlignmentAlgorithm::myPedeSteerBit
Definition: MillePedeAlignmentAlgorithm.h:266
MillePedeAlignmentAlgorithm::theAlignableNavigator
std::unique_ptr< AlignableNavigator > theAlignableNavigator
Definition: MillePedeAlignmentAlgorithm.h:277
MillePedeAlignmentAlgorithm::callMille
int callMille(const ReferenceTrajectoryBase::ReferenceTrajectoryPtr &refTrajPtr, unsigned int iTrajHit, const std::vector< int > &globalLabels, const std::vector< float > &globalDerivativesX, const std::vector< float > &globalDerivativesY)
calls callMille1D or callMille2D
Definition: MillePedeAlignmentAlgorithm.cc:1333
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
MillePedeAlignmentAlgorithm::setParametersForRunRange
bool setParametersForRunRange(const RunRange &runrange) override
Definition: MillePedeAlignmentAlgorithm.cc:340
MillePedeAlignmentAlgorithm::myPedeRunBit
Definition: MillePedeAlignmentAlgorithm.h:266
MillePedeAlignmentAlgorithm::addHitStatistics
bool addHitStatistics(int fromLoop, const std::string &outFile, const std::vector< std::string > &inFiles) const
Definition: MillePedeAlignmentAlgorithm.cc:1196
MillePedeAlignmentAlgorithm::enableAlignableUpdates_
const bool enableAlignableUpdates_
Definition: MillePedeAlignmentAlgorithm.h:290
MillePedeAlignmentAlgorithm::globalDerivativesHierarchy
bool globalDerivativesHierarchy(const EventInfo &eventInfo, const TrajectoryStateOnSurface &tsos, Alignable *ali, const AlignableDetOrUnitPtr &alidet, std::vector< float > &globalDerivativesX, std::vector< float > &globalDerivativesY, std::vector< int > &globalLabels, AlignmentParameters *&lowestParams) const
recursively adding derivatives and labels, false if problems
Definition: MillePedeAlignmentAlgorithm.cc:840
MillePedeAlignmentAlgorithm::supportsCalibrations
bool supportsCalibrations() override
Returns whether MP supports calibrations.
Definition: MillePedeAlignmentAlgorithm.cc:298
AlignableTracker
Definition: AlignableTracker.h:17
MillePedeAlignmentAlgorithm::theCalibrations
std::vector< IntegratedCalibrationBase * > theCalibrations
Definition: MillePedeAlignmentAlgorithm.h:283
MillePedeAlignmentAlgorithm::theBinary
std::unique_ptr< gbl::MilleBinary > theBinary
Definition: MillePedeAlignmentAlgorithm.h:297
MillePedeAlignmentAlgorithm::diagonalize
void diagonalize(Eigen::MatrixBase< CovarianceMatrix > &aHitCovarianceM, Eigen::MatrixBase< LocalDerivativeMatrix > &aLocalDerivativesM, Eigen::MatrixBase< ResidualMatrix > &aHitResidualsM, Eigen::MatrixBase< GlobalDerivativeMatrix > &aGlobalDerivativesM) const
Definition: MillePedeAlignmentAlgorithm.cc:1259
MillePedeAlignmentAlgorithm::theIntBuffer
std::vector< int > theIntBuffer
Definition: MillePedeAlignmentAlgorithm.h:294
MillePedeAlignmentAlgorithm::theAlignmentParameterStore
AlignmentParameterStore * theAlignmentParameterStore
directory for all kind of files
Definition: MillePedeAlignmentAlgorithm.h:275
AlignableExtras
Definition: AlignableExtras.h:19
AlignmentAlgorithmBase::EndRunInfo
define run information passed to algorithms (in endRun)
Definition: AlignmentAlgorithmBase.h:96
MillePedeAlignmentAlgorithm::runAtPCL_
const bool runAtPCL_
Definition: MillePedeAlignmentAlgorithm.h:300
DEFINE_EDM_PLUGIN
#define DEFINE_EDM_PLUGIN(factory, type, name)
Definition: PluginFactory.h:124
AlignableNavigator
Definition: AlignableNavigator.h:25
MillePedeAlignmentAlgorithm::addLasBeam
void addLasBeam(const EventInfo &eventInfo, const TkFittedLasBeam &lasBeam, const std::vector< TrajectoryStateOnSurface > &tsoses)
Definition: MillePedeAlignmentAlgorithm.cc:1525
MillePedeAlignmentAlgorithm::thePedeLabels
std::shared_ptr< PedeLabelerBase > thePedeLabels
Definition: MillePedeAlignmentAlgorithm.h:280
L1TdeCSCTF_cfi.outFile
outFile
Definition: L1TdeCSCTF_cfi.py:5
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
MillePedeAlignmentAlgorithm::run
void run(const edm::EventSetup &setup, const EventInfo &eventInfo) override
Run the algorithm on trajectories and tracks.
Definition: MillePedeAlignmentAlgorithm.cc:464
MillePedeAlignmentAlgorithm::theMinNumHits
unsigned int theMinNumHits
Definition: MillePedeAlignmentAlgorithm.h:285
MillePedeAlignmentAlgorithm::theMode
unsigned int theMode
Definition: MillePedeAlignmentAlgorithm.h:273
PbPb_ZMuSkimMuonDPG_cff.tracker
tracker
Definition: PbPb_ZMuSkimMuonDPG_cff.py:60
MillePedeAlignmentAlgorithm::addHits
bool addHits(const align::Alignables &alis, const std::vector< AlignmentUserVariables * > &mpVars) const
Definition: MillePedeAlignmentAlgorithm.cc:1221
MillePedeAlignmentAlgorithm::callMille2D
int callMille2D(const ReferenceTrajectoryBase::ReferenceTrajectoryPtr &refTrajPtr, unsigned int iTrajHit, const std::vector< int > &globalLabels, const std::vector< float > &globalDerivativesx, const std::vector< float > &globalDerivativesy)
Definition: MillePedeAlignmentAlgorithm.cc:1385
MillePedeAlignmentAlgorithm::enforceSingleIOVInput_
const bool enforceSingleIOVInput_
Definition: MillePedeAlignmentAlgorithm.h:305
MillePedeAlignmentAlgorithm::areEmptyParams
bool areEmptyParams(const align::Alignables &alignables) const
Definition: MillePedeAlignmentAlgorithm.cc:1069
edm::ParameterSet
Definition: ParameterSet.h:47
AlignPCLThresholds.h
MillePedeAlignmentAlgorithm::processesEvents
bool processesEvents() override
Returns whether MP should process events in the current configuration.
Definition: MillePedeAlignmentAlgorithm.cc:315
TrajectoryFactoryBase
Definition: TrajectoryFactoryBase.h:20
MillePedeAlignmentAlgorithm::addPxbSurvey
void addPxbSurvey(const edm::ParameterSet &pxbSurveyCfg)
add measurement data from PXB survey
Definition: MillePedeAlignmentAlgorithm.cc:1574
heppy_loop.loop
loop
Definition: heppy_loop.py:28
MillePedeAlignmentAlgorithm::addReferenceTrajectory
std::pair< unsigned int, unsigned int > addReferenceTrajectory(const edm::EventSetup &setup, const EventInfo &eventInfo, const ReferenceTrajectoryBase::ReferenceTrajectoryPtr &refTrajPtr)
fill mille for a trajectory, returning number of x/y hits ([0,0] if 'bad' trajectory)
Definition: MillePedeAlignmentAlgorithm.cc:500
MillePedeAlignmentAlgorithm::addRefTrackData2D
void addRefTrackData2D(const ReferenceTrajectoryBase::ReferenceTrajectoryPtr &refTrajPtr, unsigned int iTrajHit, Eigen::MatrixBase< CovarianceMatrix > &aHitCovarianceM, Eigen::MatrixBase< ResidualMatrix > &aHitResidualsM, Eigen::MatrixBase< LocalDerivativeMatrix > &aLocalDerivativesM)
adds data from reference trajectory from a specific Hit
Definition: MillePedeAlignmentAlgorithm.cc:1307
AlignableMuon
Constructor of the full muon geometry.
Definition: AlignableMuon.h:38
MillePedeAlignmentAlgorithm
Definition: MillePedeAlignmentAlgorithm.h:53
TrackingRecHit::ConstRecHitPointer
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
Definition: TrackingRecHit.h:25
PedeLabelerBase
Definition: PedeLabelerBase.h:33
MillePedeAlignmentAlgorithm::beginLuminosityBlock
void beginLuminosityBlock(const edm::EventSetup &) override
called at begin of luminosity block (resets Mille binary in mille mode)
Definition: MillePedeAlignmentAlgorithm.cc:711
MillePedeAlignmentAlgorithm::addMeasurementData
int addMeasurementData(const edm::EventSetup &setup, const EventInfo &eventInfo, const ReferenceTrajectoryBase::ReferenceTrajectoryPtr &refTrajPtr, unsigned int iHit, AlignmentParameters *&params)
Definition: MillePedeAlignmentAlgorithm.cc:727
edm::EventSetup
Definition: EventSetup.h:58
TkFittedLasBeam
Definition: TkFittedLasBeam.h:18
MillePedeAlignmentAlgorithm::initialize
void initialize(const edm::EventSetup &setup, AlignableTracker *tracker, AlignableMuon *muon, AlignableExtras *extras, AlignmentParameterStore *store) override
Called at beginning of job.
Definition: MillePedeAlignmentAlgorithm.cc:133
AlignPCLThresholds::threshold_map
std::map< std::string, AlignPCLThreshold > threshold_map
Definition: AlignPCLThresholds.h:13
MillePedeAlignmentAlgorithm::~MillePedeAlignmentAlgorithm
~MillePedeAlignmentAlgorithm() override
Destructor.
Definition: MillePedeAlignmentAlgorithm.cc:129
MillePedeAlignmentAlgorithm::callMille1D
int callMille1D(const ReferenceTrajectoryBase::ReferenceTrajectoryPtr &refTrajPtr, unsigned int iTrajHit, const std::vector< int > &globalLabels, const std::vector< float > &globalDerivativesX)
calls Mille for 1D hits
Definition: MillePedeAlignmentAlgorithm.cc:1348
MillePedeAlignmentAlgorithm::theFloatBufferY
std::vector< float > theFloatBufferY
Definition: MillePedeAlignmentAlgorithm.h:293
MillePedeAlignmentAlgorithm::storeThresholds
virtual bool storeThresholds(const int &nRecords, const AlignPCLThresholds::threshold_map &thresholdMap)
Definition: MillePedeAlignmentAlgorithm.cc:308
looper.cfg
cfg
Definition: looper.py:297
dumpTauVariables_cfi.eventInfo
eventInfo
add run, event number and lumi section
Definition: dumpTauVariables_cfi.py:12
align::Alignables
std::vector< Alignable * > Alignables
Definition: Utilities.h:31
MillePedeMonitor
Definition: MillePedeMonitor.h:45
MillePedeAlignmentAlgorithm::myPedeReadBit
Definition: MillePedeAlignmentAlgorithm.h:266
MillePedeAlignmentAlgorithm::skipGlobalPositionRcdCheck_
const bool skipGlobalPositionRcdCheck_
Definition: MillePedeAlignmentAlgorithm.h:302
PedeSteerer
Definition: PedeSteerer.h:36
MillePedeAlignmentAlgorithm::ignoreFirstIOVCheck_
const bool ignoreFirstIOVCheck_
Definition: MillePedeAlignmentAlgorithm.h:289
MillePedeAlignmentAlgorithm::ignoreHitsWithoutGlobalDerivatives_
const bool ignoreHitsWithoutGlobalDerivatives_
Definition: MillePedeAlignmentAlgorithm.h:301
MillePedeAlignmentAlgorithm::addCalibrations
bool addCalibrations(const std::vector< IntegratedCalibrationBase * > &iCals) override
Pass integrated calibrations to Millepede (they are not owned by Millepede!)
Definition: MillePedeAlignmentAlgorithm.cc:301
AlignmentParameterStore
Definition: AlignmentParameterStore.h:23
MillePedeAlignmentAlgorithm::kLocalX
Definition: MillePedeAlignmentAlgorithm.h:115
MillePedeAlignmentAlgorithm::is2D
bool is2D(const TransientTrackingRecHit::ConstRecHitPointer &recHit) const
true if hit belongs to 2D detector (currently tracker specific)
Definition: MillePedeAlignmentAlgorithm.cc:1012
MillePedeAlignmentAlgorithm::addHitCount
unsigned int addHitCount(const std::vector< AlignmentParameters * > &parVec, const std::vector< bool > &validHitVecY) const
Definition: MillePedeAlignmentAlgorithm.cc:591
TkFittedLasBeamCollection
std::vector< TkFittedLasBeam > TkFittedLasBeamCollection
Definition: TkFittedLasBeamCollectionFwd.h:3
MillePedeAlignmentAlgorithm::readFromPede
bool readFromPede(const edm::ParameterSet &mprespset, bool setUserVars, const RunRange &runrange)
read pede input defined by 'psetName', flag to create/not create MillePedeVariables
Definition: MillePedeAlignmentAlgorithm.cc:1030
MillePedeAlignmentAlgorithm::storeAlignments
bool storeAlignments() override
Returns whether MP produced results to be stored.
Definition: MillePedeAlignmentAlgorithm.cc:324
MillePedeAlignmentAlgorithm::MeasurementDirection
MeasurementDirection
Definition: MillePedeAlignmentAlgorithm.h:115
submitPVValidationJobs.runInfo
dictionary runInfo
Definition: submitPVValidationJobs.py:1013
align::RunRanges
std::vector< RunRange > RunRanges
Definition: Utilities.h:39
AlignmentAlgorithmBase::RunRange
align::RunRange RunRange
Definition: AlignmentAlgorithmBase.h:69
AlignmentAlgorithmBase.h
Interface/Base class for alignment algorithms, each alignment algorithm has to be derived from this c...
ParameterSet.h
MillePedeAlignmentAlgorithm::addVirtualMeas
void addVirtualMeas(const ReferenceTrajectoryBase::ReferenceTrajectoryPtr &refTrajPtr, unsigned int iVirtualMeas)
adds data for virtual measurements from reference trajectory
Definition: MillePedeAlignmentAlgorithm.cc:1480
MillePedeAlignmentAlgorithm::doIO
unsigned int doIO(int loop) const
Definition: MillePedeAlignmentAlgorithm.cc:1090
MillePedeAlignmentAlgorithm::buildUserVariables
void buildUserVariables(const align::Alignables &alignables) const
add MillePedeVariables for each AlignmentParameters (exception if no parameters......
Definition: MillePedeAlignmentAlgorithm.cc:1147
AlignmentAlgorithmPluginFactory
MillePedeAlignmentAlgorithm::EModeBit
EModeBit
Definition: MillePedeAlignmentAlgorithm.h:266
Mille
Definition: Mille.h:26
AlignmentAlgorithmBase::EventInfo
define event information passed to algorithms
Definition: AlignmentAlgorithmBase.h:72
MillePedeAlignmentAlgorithm::areIOVsSpecified
bool areIOVsSpecified() const
Definition: MillePedeAlignmentAlgorithm.cc:1665