Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-05-22 04:02:34

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 "CondFormats/GeometryObjects/interface/PTrackerAdditionalParametersPerDet.h"
0024 #include "Geometry/Records/interface/PTrackerAdditionalParametersPerDetRcd.h"
0025 
0026 #include "Alignment/CommonAlignment/interface/SurveyDet.h"
0027 #include "Alignment/TrackerAlignment/interface/AlignableTracker.h"
0028 
0029 #include "CondFormats/Alignment/interface/Alignments.h"
0030 #include "CondFormats/AlignmentRecord/interface/TrackerAlignmentRcd.h"
0031 #include "CondFormats/Alignment/interface/AlignmentErrorsExtended.h"
0032 #include "CondFormats/AlignmentRecord/interface/TrackerAlignmentErrorExtendedRcd.h"
0033 
0034 class AlignableSurface;
0035 class Alignments;
0036 
0037 class CreateSurveyRcds : public SurveyInputBase {
0038 public:
0039   CreateSurveyRcds(const edm::ParameterSet&);
0040 
0041   void analyze(const edm::Event&, const edm::EventSetup&) override;
0042 
0043 private:
0044   /// module which modifies the geometry
0045   void setGeometry(Alignable*);
0046   /// module which creates/inserts the survey errors
0047   void setSurveyErrors(Alignable*);
0048 
0049   /// default values for assembly precision
0050   AlgebraicVector getStructurePlacements(int, int);
0051 
0052   /// default values for survey uncertainty
0053   AlgebraicVector getStructureErrors(int, int);
0054 
0055   // es tokens
0056   const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> tTopoToken_;
0057   const edm::ESGetToken<GeometricDet, IdealGeometryRecord> geomDetToken_;
0058   const edm::ESGetToken<PTrackerParameters, PTrackerParametersRcd> ptpToken_;
0059   const edm::ESGetToken<PTrackerAdditionalParametersPerDet, PTrackerAdditionalParametersPerDetRcd> ptitpToken_;
0060   const edm::ESGetToken<Alignments, TrackerAlignmentRcd> aliToken_;
0061   const edm::ESGetToken<AlignmentErrorsExtended, TrackerAlignmentErrorExtendedRcd> aliErrToken_;
0062 
0063   std::string m_inputGeom;
0064   double m_inputSimpleMis;
0065   bool m_generatedRandom;
0066   bool m_generatedSimple;
0067 
0068   SurveyInputTextReader::MapType uIdMap;
0069 
0070   std::string textFileName;
0071 };
0072 
0073 #endif