00001 // -*- C++ -*- 00002 // 00003 // Class: EcalTPCondAnalyzer 00004 // 00011 // 00012 // Original Author: Ursula Berthon 00013 // Created: Wed Oct 15 11:38:38 CEST 2008 00014 // $Id: EcalTPCondAnalyzer.h,v 1.5 2011/03/09 13:10:32 ebecheva Exp $ 00015 // 00016 // 00017 00018 00019 // system include files 00020 #include "FWCore/Utilities/interface/InputTag.h" 00021 #include "FWCore/Framework/interface/EDAnalyzer.h" 00022 00023 #include "FWCore/Framework/interface/Event.h" 00024 #include "FWCore/Framework/interface/EventSetup.h" 00025 #include "FWCore/Framework/interface/MakerMacros.h" 00026 00027 #include "DataFormats/Common/interface/Handle.h" 00028 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00029 00030 #include "CondFormats/EcalObjects/interface/EcalTPGLinearizationConst.h" 00031 #include "CondFormats/EcalObjects/interface/EcalTPGPedestals.h" 00032 #include "CondFormats/EcalObjects/interface/EcalTPGSlidingWindow.h" 00033 #include "CondFormats/EcalObjects/interface/EcalTPGWeightIdMap.h" 00034 #include "CondFormats/EcalObjects/interface/EcalTPGWeightGroup.h" 00035 #include "CondFormats/EcalObjects/interface/EcalTPGFineGrainStripEE.h" 00036 #include "CondFormats/EcalObjects/interface/EcalTPGFineGrainEBGroup.h" 00037 #include "CondFormats/EcalObjects/interface/EcalTPGLutGroup.h" 00038 #include "CondFormats/EcalObjects/interface/EcalTPGLutIdMap.h" 00039 #include "CondFormats/EcalObjects/interface/EcalTPGFineGrainEBIdMap.h" 00040 #include "CondFormats/EcalObjects/interface/EcalTPGFineGrainTowerEE.h" 00041 #include "CondFormats/EcalObjects/interface/EcalTPGPhysicsConst.h" 00042 #include "CondFormats/EcalObjects/interface/EcalTPGCrystalStatus.h" 00043 #include "CondFormats/EcalObjects/interface/EcalTPGTowerStatus.h" 00044 #include "CondFormats/EcalObjects/interface/EcalTPGStripStatus.h" 00045 #include "CondFormats/EcalObjects/interface/EcalTPGSpike.h" 00046 00047 class CaloSubdetectorGeometry ; 00048 00049 #include <vector> 00050 #include <string> 00051 00052 // 00053 // class declaration 00054 // 00055 00056 class EcalTPCondAnalyzer : public edm::EDAnalyzer { 00057 public: 00058 explicit EcalTPCondAnalyzer(const edm::ParameterSet&); 00059 ~EcalTPCondAnalyzer(); 00060 00061 00062 virtual void analyze(const edm::Event&, const edm::EventSetup&); 00063 virtual void beginJob(); 00064 void beginRun(const edm::Run & run, const edm::EventSetup & es); 00065 virtual void endJob(); 00066 00067 private: 00068 00069 unsigned long long getRecords(edm::EventSetup const& setup); 00070 unsigned long long cacheID_; 00071 00072 const CaloSubdetectorGeometry * theEndcapGeometry_ ; 00073 const CaloSubdetectorGeometry * theBarrelGeometry_ ; 00074 00075 void printComment() const; 00076 void printEcalTPGPhysicsConst(const EcalTPGPhysicsConst *) const; 00077 void printCRYSTAL(const EcalTPGPedestals * ecaltpPed, const EcalTPGLinearizationConst * ecaltpLin ) ; 00078 void printSTRIP(const EcalTPGSlidingWindow *ecaltpgSlidW,const EcalTPGWeightGroup *ecaltpgWeightGroup,const EcalTPGFineGrainStripEE * ecaltpgFgStripEE) const; 00079 void printWEIGHT(const EcalTPGWeightIdMap * ecaltpgWeightMap) const ; 00080 void printTOWEREB(const EcalTPGSpike *ecaltpgSpike, const EcalTPGFineGrainEBGroup *ecaltpgFgEBGroup,const EcalTPGLutGroup *ecaltpgLutGroup) const; 00081 void printEcalTPGLutIdMap(const EcalTPGLutIdMap *ecaltpgLut) const; 00082 void printEcalTPGFineGrainEBIdMap(const EcalTPGFineGrainEBIdMap *ecaltpgFineGrainEB) const ; 00083 void printTOWEREE(const EcalTPGFineGrainTowerEE *ecaltpgFineGrainTowerEE,const EcalTPGLutGroup *ecaltpgLutGroup) const ; 00084 void printBadX(const EcalTPGCrystalStatus *ecaltpgBadX) const; 00085 void printBadTT(const EcalTPGTowerStatus *ecaltpgBadTT) const; 00086 void printBadStrip(const EcalTPGStripStatus *ecaltpgBadStrip) const; 00087 void printSpikeTh(const EcalTPGSpike *ecaltpgSpike) const; 00088 00089 }; 00090