Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:20:46

0001 #ifndef RecoMuon_MuonSeeddPhiScale_H
0002 #define RecoMuon_MuonSeeddPhiScale_H
0003 
0004 /** \class SeedParametrization
0005  *
0006  *  Author: S.C. Kao  - UC Riverside
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 }  // namespace edm
0054 
0055 //class PSimHit;
0056 
0057 class MuonSeeddPhiScale {
0058 public:
0059   /// Constructor
0060   MuonSeeddPhiScale(const edm::ParameterSet& pset);
0061 
0062   /// Destructor
0063   virtual ~MuonSeeddPhiScale();
0064 
0065   // Utility functions
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