CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/L1Trigger/RegionalCaloTrigger/interface/L1RCTLutWriter.h

Go to the documentation of this file.
00001 #ifndef L1RCTLutWriter_h
00002 #define L1RCTLutWriter_h
00003 
00004 // -*- C++ -*-
00005 //
00006 // Package:    L1RCTLutWriter
00007 // Class:      L1RCTLutWriter
00008 // 
00016 //
00017 // Original Author:  jleonard
00018 //         Created:  Fri Apr 11 16:27:07 CEST 2008
00019 // $Id: L1RCTLutWriter.h,v 1.5 2010/08/07 14:55:58 wmtan Exp $
00020 //
00021 //
00022 
00023 
00024 // system include files
00025 #include <memory>
00026 
00027 #include <iostream>
00028 #include <fstream>
00029 
00030 // user include files
00031 #include "FWCore/Framework/interface/Frameworkfwd.h"
00032 #include "FWCore/Framework/interface/EDAnalyzer.h"
00033 
00034 #include "FWCore/Framework/interface/Event.h"
00035 #include "FWCore/Framework/interface/MakerMacros.h"
00036 
00037 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00038 #include "FWCore/Framework/interface/ESHandle.h"   // why doesn't mkedanlzr
00039 #include "FWCore/Framework/interface/EventSetup.h" // add these??
00040 
00041 class L1RCTLookupTables;
00042 class L1RCTParameters;
00043 //class L1RCTChannelMask;
00044 
00045 //
00046 // class declaration
00047 //
00048 
00049 class L1RCTLutWriter : public edm::EDAnalyzer {
00050 public:
00051   explicit L1RCTLutWriter(const edm::ParameterSet&);
00052   ~L1RCTLutWriter();
00053   
00054   
00055 private:
00056   virtual void analyze(const edm::Event&, const edm::EventSetup&);
00057   virtual void endJob() ;
00058   void writeRcLutFile(unsigned short card);
00059   void writeEicLutFile(unsigned short card);
00060   void writeJscLutFile();
00061   void writeThresholdsFile(unsigned int eicThreshold,
00062                            unsigned int jscThresholdBarrel,
00063                            unsigned int jscThresholdEndcap);
00064   
00065   // ----------member data ---------------------------
00066   
00067   L1RCTLookupTables* lookupTable_;
00068   const L1RCTParameters* rctParameters_;
00069   //const L1RCTChannelMask* channelMask_;
00070   std::ofstream lutFile_;
00071   std::string keyName_;
00072   bool useDebugTpgScales_;
00073 
00074 };
00075 #endif