Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:27:10

0001 #ifndef RecoMuon_MuonSeedParaFillHisto_H
0002 #define RecoMuon_MuonSeedParaFillHisto_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 MuonSeedParaFillHisto {
0058 public:
0059   /// Constructor
0060   MuonSeedParaFillHisto();
0061 
0062   /// Destructor
0063   virtual ~MuonSeedParaFillHisto();
0064 
0065   // Utility functions
0066   void FillCSCSegmentPair(
0067       H2DRecHit2* histo2, double pt1[5], double chi2_dof1[5], double dPhiP1[2][5][5], double EtaP1[2][5]);
0068 
0069   void FillDTSegmentPair(
0070       H2DRecHit3* histo3, double pt1[5], double chi2_dof3[5], double dPhiP3[2][5][5], double EtaP3[2][5]);
0071 
0072   void FillCSCSegmentPairByChamber(H2DRecHit4* hME1[15],
0073                                    double pt1[5],
0074                                    double dPhiP1[2][5][5],
0075                                    double EtaP1[2][5],
0076                                    bool MEPath[2][5][4],
0077                                    double dEtaP1[2][5][5]);
0078   void FillDTSegmentPairByChamber(H2DRecHit5* hMB1[26],
0079                                   double pt1[5],
0080                                   double dPhiP3[2][5][5],
0081                                   double EtaP3[2][5],
0082                                   bool MBPath[2][5][3],
0083                                   double dEtaP3[2][5][5]);
0084 
0085   void FillCSCSegmentSingle(
0086       H2DRecHit6* hME2[8], double pt1[5], double ME_phi[2][5][4], double ME_eta[2][5][4], bool MEPath[2][5][4]);
0087 
0088   void FillDTSegmentSingle(
0089       H2DRecHit7* hMB2[12], double pt1[5], double MB_phi[2][5][3], double MB_eta[2][5][3], bool MBPath[2][5][3]);
0090 
0091   void FillOLSegmentPairByChamber(H2DRecHit10* hOL1[6],
0092                                   double pt1[5],
0093                                   double dPhiP2[2][5][5],
0094                                   double EtaP3[2][5],
0095                                   bool MBPath[2][5][3],
0096                                   bool MEPath[2][5][4],
0097                                   double dEtaP2[2][5][5]);
0098 
0099 protected:
0100 private:
0101   // dPhi and dEta for CSC
0102   /*
0103   double PhiV1[2][5];
0104   double EtaV1[2][5];
0105   double dPhiV1[2][5][5];
0106   double dEtaV1[2][5][5];
0107   double PhiP1[2][5];
0108   double EtaP1[2][5];
0109   double dPhiP1[2][5][5];
0110   double dEtaP1[2][5][5];
0111   double chi2_dof1[5];
0112   /// dphi and eta for CSC single segment
0113   bool   MEPath[2][5][4];
0114   double ME_phi[2][5][4];
0115   double ME_eta[2][5][4];
0116 
0117   // dPhi and dEta for DT
0118   double PhiV3[2][5];
0119   double EtaV3[2][5];
0120   double dPhiV3[2][5][5];
0121   double dEtaV3[2][5][5];
0122   double PhiP3[2][5];
0123   double EtaP3[2][5];
0124   double dPhiP3[2][5][5];
0125   double dEtaP3[2][5][5];
0126   double chi2_dof3[5];
0127   /// dphi and eta for DT single segment
0128   bool   MBPath[2][5][3];
0129   double MB_phi[2][5][3];
0130   double MB_eta[2][5][3];
0131 
0132   // dphi & Eta for Overlap region
0133   double dPhiV2[2][5][5];
0134   double dEtaV2[2][5][5];
0135   double dPhiP2[2][5][5];
0136   double dEtaP2[2][5][5];
0137   */
0138 
0139   //std::string rootFileName;
0140 };
0141 
0142 #endif