File indexing completed on 2023-03-17 10:40:41
0001 #ifndef Alignment_SurveyAnalysis_SurveyInputCSCfromPins_h
0002 #define Alignment_SurveyAnalysis_SurveyInputCSCfromPins_h
0003
0004
0005
0006
0007
0008
0009
0010
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
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