File indexing completed on 2023-03-17 11:20:46
0001 #ifndef RecoMuon_MuonSeeddPhiScale_H
0002 #define RecoMuon_MuonSeeddPhiScale_H
0003
0004
0005
0006
0007
0008
0009 #include "MuonSeedParameterHisto.h"
0010
0011 #include <DataFormats/MuonDetId/interface/CSCDetId.h>
0012 #include <DataFormats/MuonDetId/interface/DTChamberId.h>
0013 #include <DataFormats/CSCRecHit/interface/CSCRecHit2D.h>
0014 #include <DataFormats/CSCRecHit/interface/CSCRecHit2DCollection.h>
0015 #include <DataFormats/CSCRecHit/interface/CSCSegment.h>
0016 #include <DataFormats/CSCRecHit/interface/CSCSegmentCollection.h>
0017 #include <DataFormats/DTRecHit/interface/DTRecSegment4DCollection.h>
0018 #include <DataFormats/DTRecHit/interface/DTRecSegment4D.h>
0019 #include <DataFormats/DTRecHit/interface/DTRecSegment2DCollection.h>
0020 #include <DataFormats/DTRecHit/interface/DTRecSegment2D.h>
0021 #include <DataFormats/DTRecHit/interface/DTChamberRecSegment2D.h>
0022 #include <DataFormats/DTRecHit/interface/DTRecHitCollection.h>
0023 #include <DataFormats/DTRecHit/interface/DTRecHit1D.h>
0024
0025 #include <SimDataFormats/Track/interface/SimTrackContainer.h>
0026 #include <SimDataFormats/TrackingHit/interface/PSimHitContainer.h>
0027
0028 #include <Geometry/CSCGeometry/interface/CSCGeometry.h>
0029 #include <Geometry/CSCGeometry/interface/CSCChamber.h>
0030 #include <Geometry/CSCGeometry/interface/CSCLayer.h>
0031 #include <Geometry/CSCGeometry/interface/CSCLayerGeometry.h>
0032 #include <Geometry/DTGeometry/interface/DTGeometry.h>
0033 #include <Geometry/DTGeometry/interface/DTChamber.h>
0034 #include <Geometry/DTGeometry/interface/DTLayer.h>
0035 #include <Geometry/Records/interface/MuonGeometryRecord.h>
0036
0037 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0038 #include "DataFormats/GeometryVector/interface/GlobalVector.h"
0039 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
0040 #include "DataFormats/GeometryVector/interface/LocalVector.h"
0041 #include <DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h>
0042 #include <DataFormats/TrajectorySeed/interface/TrajectorySeed.h>
0043
0044 #include <vector>
0045 #include <map>
0046 #include <string>
0047 #include <utility>
0048
0049 namespace edm {
0050 class ParameterSet;
0051 class Event;
0052 class EventSetup;
0053 }
0054
0055
0056
0057 class MuonSeeddPhiScale {
0058 public:
0059
0060 MuonSeeddPhiScale(const edm::ParameterSet& pset);
0061
0062
0063 virtual ~MuonSeeddPhiScale();
0064
0065
0066 void ScaleCSCdPhi(double dPhiP1[2][5][5], double EtaP1[2][5]);
0067
0068 void ScaleDTdPhi(double dPhiP3[2][5][5], double EtaP3[2][5]);
0069
0070 void ScaleOLdPhi(double dPhiP2[2][5][5], bool MBPath[2][5][3], bool MEPath[2][5][4]);
0071
0072 void ScaleMESingle(double ME_phi[2][5][4], bool MEPath[2][5][4]);
0073 void ScaleMBSingle(double MB_phi[2][5][3], bool MBPath[2][5][3]);
0074
0075 protected:
0076 private:
0077 std::vector<double> CSC01_1;
0078 std::vector<double> CSC12_1;
0079 std::vector<double> CSC12_2;
0080 std::vector<double> CSC12_3;
0081 std::vector<double> CSC13_2;
0082 std::vector<double> CSC13_3;
0083 std::vector<double> CSC14_3;
0084 std::vector<double> CSC23_1;
0085 std::vector<double> CSC23_2;
0086 std::vector<double> CSC24_1;
0087 std::vector<double> CSC34_1;
0088
0089 std::vector<double> DT12_1;
0090 std::vector<double> DT12_2;
0091 std::vector<double> DT13_1;
0092 std::vector<double> DT13_2;
0093 std::vector<double> DT14_1;
0094 std::vector<double> DT14_2;
0095 std::vector<double> DT23_1;
0096 std::vector<double> DT23_2;
0097 std::vector<double> DT24_1;
0098 std::vector<double> DT24_2;
0099 std::vector<double> DT34_1;
0100 std::vector<double> DT34_2;
0101
0102 std::vector<double> OL1213;
0103 std::vector<double> OL1222;
0104 std::vector<double> OL1232;
0105 std::vector<double> OL2213;
0106 std::vector<double> OL2222;
0107
0108 std::vector<double> SMB_10S;
0109 std::vector<double> SMB_11S;
0110 std::vector<double> SMB_12S;
0111 std::vector<double> SMB_20S;
0112 std::vector<double> SMB_21S;
0113 std::vector<double> SMB_22S;
0114 std::vector<double> SMB_30S;
0115 std::vector<double> SMB_31S;
0116 std::vector<double> SMB_32S;
0117
0118 std::vector<double> SME_11S;
0119 std::vector<double> SME_12S;
0120 std::vector<double> SME_13S;
0121 std::vector<double> SME_21S;
0122 std::vector<double> SME_22S;
0123 };
0124
0125 #endif