Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:40:41

0001 #ifndef Alignment_SurveyAnalysis_CreateSurveyRcds_h
0002 #define Alignment_SurveyAnalysis_CreateSurveyRcds_h
0003 
0004 /** \class CreateSurveyRcds
0005  *
0006  *  Class to create Survey[Error]Rcd for alignment with survey constraint
0007  *
0008  *  $Date: 2012/06/13 09:22:26 $
0009  *  $Revision: 1.3 $
0010  *  \author Chung Khim Lae
0011  */
0012 // user include files
0013 
0014 #include "Alignment/SurveyAnalysis/interface/SurveyInputBase.h"
0015 #include "Alignment/SurveyAnalysis/interface/SurveyInputTextReader.h"
0016 
0017 #include "Geometry/Records/interface/IdealGeometryRecord.h"
0018 #include "Geometry/Records/interface/TrackerTopologyRcd.h"
0019 
0020 #include "CondFormats/GeometryObjects/interface/PTrackerParameters.h"
0021 #include "Geometry/Records/interface/PTrackerParametersRcd.h"
0022 
0023 #include "Alignment/CommonAlignment/interface/SurveyDet.h"
0024 #include "Alignment/TrackerAlignment/interface/AlignableTracker.h"
0025 
0026 #include "CondFormats/Alignment/interface/Alignments.h"
0027 #include "CondFormats/AlignmentRecord/interface/TrackerAlignmentRcd.h"
0028 #include "CondFormats/Alignment/interface/AlignmentErrorsExtended.h"
0029 #include "CondFormats/AlignmentRecord/interface/TrackerAlignmentErrorExtendedRcd.h"
0030 
0031 class AlignableSurface;
0032 class Alignments;
0033 
0034 class CreateSurveyRcds : public SurveyInputBase {
0035 public:
0036   CreateSurveyRcds(const edm::ParameterSet&);
0037 
0038   void analyze(const edm::Event&, const edm::EventSetup&) override;
0039 
0040 private:
0041   /// module which modifies the geometry
0042   void setGeometry(Alignable*);
0043   /// module which creates/inserts the survey errors
0044   void setSurveyErrors(Alignable*);
0045 
0046   /// default values for assembly precision
0047   AlgebraicVector getStructurePlacements(int, int);
0048 
0049   /// default values for survey uncertainty
0050   AlgebraicVector getStructureErrors(int, int);
0051 
0052   // es tokens
0053   const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> tTopoToken_;
0054   const edm::ESGetToken<GeometricDet, IdealGeometryRecord> geomDetToken_;
0055   const edm::ESGetToken<PTrackerParameters, PTrackerParametersRcd> ptpToken_;
0056   const edm::ESGetToken<Alignments, TrackerAlignmentRcd> aliToken_;
0057   const edm::ESGetToken<AlignmentErrorsExtended, TrackerAlignmentErrorExtendedRcd> aliErrToken_;
0058 
0059   std::string m_inputGeom;
0060   double m_inputSimpleMis;
0061   bool m_generatedRandom;
0062   bool m_generatedSimple;
0063 
0064   SurveyInputTextReader::MapType uIdMap;
0065 
0066   std::string textFileName;
0067 };
0068 
0069 #endif