CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/L1Trigger/CSCTrackFinder/interface/CSCTFPtLUT.h

Go to the documentation of this file.
00001 #ifndef CSCTrackFinder_CSCTFPtLUT_h
00002 #define CSCTrackFinder_CSCTFPtLUT_h
00003 
00004 #include <FWCore/ParameterSet/interface/ParameterSet.h>
00005 #include <L1Trigger/CSCTrackFinder/interface/CSCTrackFinderDataTypes.h>
00006 #include <CondFormats/L1TObjects/interface/L1MuTriggerScales.h>
00007 #include <CondFormats/L1TObjects/interface/L1MuTriggerPtScale.h>
00008 #include <L1Trigger/CSCTrackFinder/interface/CSCTFPtMethods.h>
00009 #include <FWCore/ParameterSet/interface/FileInPath.h>
00011 #include <FWCore/Framework/interface/EventSetup.h>
00013 
00014 class CSCTFPtLUT
00015 {
00016 public:
00018   CSCTFPtLUT(const edm::EventSetup& c);
00020 
00021   CSCTFPtLUT(const edm::ParameterSet&,
00022              const L1MuTriggerScales* scales,
00023              const L1MuTriggerPtScale* ptScale);
00024 
00025   CSCTFPtLUT(const CSCTFPtLUT&);
00026   ~CSCTFPtLUT() { if(pt_lut) delete [] pt_lut; pt_lut = NULL; }
00027 
00028   CSCTFPtLUT& operator=(const CSCTFPtLUT&);
00029 
00030   ptdat Pt(const ptadd&) const;
00031 
00032   ptdat Pt(const unsigned&) const;
00033 
00034   ptdat Pt(const unsigned& delta_phi_12, const unsigned& delta_phi23,
00035            const unsigned& track_eta, const unsigned& track_mode,
00036            const unsigned& track_fr, const unsigned& delta_phi_sign) const;
00037 
00038   ptdat Pt(const unsigned& delta_phi_12, const unsigned& track_eta,
00039            const unsigned& track_mode, const unsigned& track_fr,
00040            const unsigned& delta_phi_sign) const;
00041 
00042  private:
00043   static ptdat* pt_lut;
00044   static bool lut_read_in;
00045   const L1MuTriggerScales* trigger_scale;
00046   const L1MuTriggerPtScale* trigger_ptscale;
00047   CSCTFPtMethods ptMethods;
00048 
00049   bool read_pt_lut, isBinary, isBeamStartConf;
00050   edm::FileInPath pt_lut_file;
00051   unsigned pt_method, lowQualityFlag;
00052 
00053 
00054   ptdat calcPt(const ptadd&) const;
00055   unsigned trackQuality(const unsigned& eta, const unsigned& mode) const;
00056   void readLUT();
00057 };
00058 
00059 #endif