CMS 3D CMS Logo

L1THCALTPGXAna.h

Go to the documentation of this file.
00001 #ifndef L1THCALTPGXANA_H
00002 #define L1THCALTPGXANA_H
00003 
00004 /*
00005  * \file L1THCALTPGXAna.h
00006  *
00007  * $Date: 2008/03/01 00:40:00 $
00008  * $Revision: 1.2 $
00009  * \author J. Berryhill
00010  *
00011 */
00012 
00013 // system include files
00014 #include <memory>
00015 #include <unistd.h>
00016 #include <iostream>
00017 #include <fstream>
00018 #include <vector>
00019 #include <map>
00020 
00021 
00022 // user include files
00023 #include "FWCore/Framework/interface/Frameworkfwd.h"
00024 #include "FWCore/Framework/interface/EDAnalyzer.h"
00025 
00026 #include "FWCore/Framework/interface/Event.h"
00027 #include "FWCore/Framework/interface/MakerMacros.h"
00028 
00029 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00030 
00031 #include "DQMServices/Core/interface/DQMStore.h"
00032 #include "DQMServices/Core/interface/MonitorElement.h"
00033 #include "FWCore/ServiceRegistry/interface/Service.h"
00034 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00035 
00036 //adam's includes
00037 #include "DataFormats/HcalDetId/interface/HcalSubdetector.h"
00038 #include "DataFormats/HcalDetId/interface/HcalDetId.h"
00039 #include "DataFormats/DetId/interface/DetId.h"
00040 #include "DataFormats/HcalDetId/interface/HcalTrigTowerDetId.h"
00041 #include "DataFormats/HcalDigi/interface/HcalDigiCollections.h"
00042 #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h"
00043 #include "DataFormats/HcalRecHit/interface/HBHERecHit.h"
00044 #include "DataFormats/HcalRecHit/interface/HFRecHit.h"
00045 #include "DataFormats/FEDRawData/interface/FEDNumbering.h"
00046 
00047 #include "Geometry/HcalTowerAlgo/interface/HcalTrigTowerGeometry.h"
00048 #include "Geometry/CaloTopology/interface/HcalTopology.h"
00049 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
00050 #include "Geometry/Records/interface/IdealGeometryRecord.h"
00051 
00052 #include "DataFormats/HcalDigi/interface/HcalTriggerPrimitiveDigi.h"
00053 //#include "DQM/L1TMonitor/interface/hcal_root_prefs.h"
00054 
00055 
00056 //
00057 // class decleration
00058 //
00059 
00060 class L1THCALTPGXAna : public edm::EDAnalyzer {
00061 
00062 public:
00063 
00064   typedef std::multimap<HcalTrigTowerDetId, double> IdtoEnergy;
00065 
00066 
00067 // Constructor
00068 L1THCALTPGXAna(const edm::ParameterSet& ps);
00069 
00070 // Destructor
00071 virtual ~L1THCALTPGXAna();
00072 
00073 protected:
00074 // Analyze
00075 void analyze(const edm::Event& e, const edm::EventSetup& c);
00076 
00077 // BeginJob
00078 void beginJob(const edm::EventSetup& c);
00079 
00080 // EndJob
00081 void endJob(void);
00082  
00083  private:
00084 // ----------member data ---------------------------
00085  DQMStore * dbe;
00086  HcalTrigTowerGeometry theTrigTowerGeometry;
00087  IdtoEnergy Rec_towers;
00088  
00089  // what we monitor
00090  MonitorElement *hcalTpEtEtaPhi_;
00091  MonitorElement *hcalTpOccEtaPhi_;
00092  MonitorElement *hcalTpRank_;
00093  MonitorElement *hcalEffDen_1_;
00094  MonitorElement *hcalEffNum_1_;
00095  MonitorElement *hcalEffDen_2_;
00096  MonitorElement *hcalEffNum_2_;
00097  MonitorElement *hcalEffDen_3_;
00098  MonitorElement *hcalEffNum_3_;
00099  MonitorElement *hcalEffDen_4_;
00100  MonitorElement *hcalEffNum_4_;
00101  MonitorElement *hcalFakes_;
00102  MonitorElement *hcalNoFire_;
00103  MonitorElement *hcalTpgRatiom1_;
00104  MonitorElement *hcalTpgRatioSOI_;
00105  MonitorElement *hcalTpgRatiop1_;
00106  MonitorElement *hcalTpgRatiop2_;
00107  MonitorElement *hcalTpgvsRec1_;
00108  MonitorElement *hcalTpgvsRec2_;
00109  MonitorElement *hcalTpgvsRec3_;
00110  MonitorElement *hcalTpgvsRec4_;
00111  MonitorElement *hcalTpSat_;
00112  MonitorElement *hcalEffNum_HBHE[56][72]; //56 eta slices, 72 phi slices
00113  MonitorElement *hcalEffNum_HF[8][18]; //8 eta slices, 18 phi slices
00114  MonitorElement *hcalEffDen_HBHE[56][72]; //56 eta slices, 72 phi slices
00115  MonitorElement *hcalEffDen_HF[8][18]; //8 eta slices, 18 phi slices
00116  MonitorElement *hcalTpgfgperbunch_;
00117  MonitorElement *hcalTpgfgbindiff_;
00118  MonitorElement *hcalTpgfgtimediff_;
00119 
00120  int nev_; // Number of events processed
00121  std::string outputFile_; //file name for ROOT ouput
00122  bool verbose_;
00123  bool monitorDaemon_;
00124  ofstream logFile_;
00125  double fakeCut_;
00126  edm::InputTag hcaltpgSource_;
00127  edm::InputTag hbherecoSource_;
00128  edm::InputTag hfrecoSource_;
00129  int numFG;
00130  int binfg1;
00131  int binfg2;
00132 
00133 };
00134 
00135 double find_eta(double,double);
00136 
00137 #endif

Generated on Tue Jun 9 17:33:10 2009 for CMSSW by  doxygen 1.5.4