Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef Alignment_SurveyAnalysis_SurveyMisalignmentInput_h
0002 #define Alignment_SurveyAnalysis_SurveyMisalignmentInput_h
0003 
0004 /** \class SurveyMisalignmentInput
0005  *
0006  *  Class to misaligned tracker from DB.
0007  *
0008  *  $Date: 2012/06/13 09:22:26 $
0009  *  $Revision: 1.5 $
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 #include "FWCore/Framework/interface/ESHandle.h"
0017 
0018 class AlignableSurface;
0019 class Alignments;
0020 
0021 class SurveyMisalignmentInput : public SurveyInputBase {
0022 public:
0023   SurveyMisalignmentInput(const edm::ParameterSet&);
0024 
0025   /// Read ideal tracker geometry from DB
0026   void analyze(const edm::Event&, const edm::EventSetup&) override;
0027 
0028 private:
0029   const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> tTopoToken_;
0030   const edm::ESGetToken<GeometricDet, IdealGeometryRecord> geomDetToken_;
0031   const edm::ESGetToken<PTrackerParameters, PTrackerParametersRcd> ptpToken_;
0032   const edm::ESGetToken<PTrackerAdditionalParametersPerDet, PTrackerAdditionalParametersPerDetRcd> ptitpToken_;
0033   const edm::ESGetToken<Alignments, TrackerAlignmentRcd> aliToken_;
0034 
0035   SurveyInputTextReader::MapType uIdMap;
0036 
0037   std::string textFileName;
0038 
0039   edm::ESHandle<Alignments> alignments;
0040 
0041   /// Add survey info to an alignable
0042   void addSurveyInfo(Alignable*);
0043 
0044   /// Get alignable surface from misalignments.db
0045   AlignableSurface getAlignableSurface(align::ID);
0046 };
0047 
0048 #endif