Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:57:23

0001 #ifndef Alignment_SurveyAnalysis_SurveyInputCSCfromPins_h
0002 #define Alignment_SurveyAnalysis_SurveyInputCSCfromPins_h
0003 
0004 /** \class SurveyInputCSCfromPins
0005  *
0006  *  Class to read ideal tracker from DB.
0007  *
0008  *  $Date: Fri Jun 29 09:20:52 CEST 2007
0009  *  $Revision: 1.2 $
0010  *  \author Dmitry Yakorev
0011  */
0012 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0013 #include "Alignment/SurveyAnalysis/interface/SurveyInputBase.h"
0014 #include "CondFormats/Alignment/interface/Definitions.h"
0015 #include "Geometry/DTGeometry/interface/DTGeometry.h"
0016 #include "Geometry/Records/interface/MuonGeometryRecord.h"
0017 
0018 class SurveyInputCSCfromPins : public SurveyInputBase {
0019 public:
0020   SurveyInputCSCfromPins(const edm::ParameterSet &);
0021 
0022   /// Read ideal tracker geometry from DB
0023   void analyze(const edm::Event &, const edm::EventSetup &) override;
0024 
0025 private:
0026   void orient(align::LocalVector LC1,
0027               align::LocalVector LC2,
0028               double a,
0029               double b,
0030               double &T,
0031               double &dx,
0032               double &dy,
0033               double &dz,
0034               double &PhX,
0035               double &PhZ);
0036   void errors(double a,
0037               double b,
0038               bool missing1,
0039               bool missing2,
0040               double &dx_dx,
0041               double &dy_dy,
0042               double &dz_dz,
0043               double &phix_phix,
0044               double &phiz_phiz,
0045               double &dy_phix);
0046 
0047   void fillAllRecords(Alignable *ali);
0048 
0049   const edm::ESGetToken<DTGeometry, MuonGeometryRecord> DTGeoToken_;
0050   const edm::ESGetToken<CSCGeometry, MuonGeometryRecord> CSCGeoToken_;
0051   const edm::ESGetToken<GEMGeometry, MuonGeometryRecord> GEMGeoToken_;
0052 
0053   std::string m_pinPositions;
0054   std::string m_rootFile;
0055   bool m_verbose;
0056   double m_errorX, m_errorY, m_errorZ;
0057   double m_missingErrorTranslation, m_missingErrorAngle;
0058   double m_stationErrorX, m_stationErrorY, m_stationErrorZ, m_stationErrorPhiX, m_stationErrorPhiY, m_stationErrorPhiZ;
0059 };
0060 
0061 #endif