CMS 3D CMS Logo

EcalMipGraphs.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // Package:   EcalMipGraphs 
00004 // Class:     EcalMipGraphs 
00005 // 
00013 //
00014 // Original Author:  Seth COOPER
00015 //         Created:  Th Nov 22 5:46:22 CEST 2007
00016 // $Id: EcalMipGraphs.h,v 1.5 2008/04/24 21:17:01 scooper Exp $
00017 //
00018 //
00019 
00020 
00021 // system include files
00022 #include <memory>
00023 #include <vector>
00024 #include <map>
00025 #include <set>
00026 
00027 // user include files
00028 #include "FWCore/Framework/interface/Frameworkfwd.h"
00029 #include "FWCore/Framework/interface/EDAnalyzer.h"
00030 #include "FWCore/Framework/interface/Event.h"
00031 #include "FWCore/Framework/interface/EventSetup.h"
00032 #include "FWCore/Framework/interface/MakerMacros.h"
00033 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00034 #include "FWCore/Framework/interface/ESHandle.h"
00035 #include "Geometry/EcalMapping/interface/EcalMappingRcd.h"
00036 
00037 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h"
00038 #include "DataFormats/EcalRecHit/interface/EcalUncalibratedRecHit.h"
00039 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
00040 #include "DataFormats/DetId/interface/DetId.h"
00041 #include "DataFormats/EcalRawData/interface/EcalRawDataCollections.h"
00042 #include "DataFormats/EcalRawData/interface/EcalDCCHeaderBlock.h"
00043 
00044 #include "Geometry/EcalMapping/interface/EcalElectronicsMapping.h"
00045 #include "Geometry/CaloTopology/interface/CaloTopology.h"
00046 #include "Geometry/CaloEventSetup/interface/CaloTopologyRecord.h"
00047 
00048 #include "CaloOnlineTools/EcalTools/interface/EcalFedMap.h"
00049 
00050 #include "TFile.h"
00051 #include "TH1F.h"
00052 #include "TGraph.h"
00053 #include "TNtuple.h"
00054 
00055 
00056 //
00057 // class declaration
00058 //
00059 
00060 class EcalMipGraphs : public edm::EDAnalyzer {
00061    public:
00062       explicit EcalMipGraphs(const edm::ParameterSet&);
00063       ~EcalMipGraphs();
00064 
00065 
00066    private:
00067       virtual void beginJob(const edm::EventSetup&) ;
00068       virtual void analyze(const edm::Event&, const edm::EventSetup&);
00069       virtual void endJob() ;
00070       std::string intToString(int num);
00071       void writeGraphs();
00072       void initHists(int);
00073       void selectEBHits(edm::Handle<EcalUncalibratedRecHitCollection> EBhits,
00074           int ievt, edm::ESHandle<CaloTopology> caloTopo);
00075       void selectEEHits(edm::Handle<EcalUncalibratedRecHitCollection> EEhits,
00076           int ievt, edm::ESHandle<CaloTopology> caloTopo);
00077       void selectEBDigis(edm::Handle<EBDigiCollection> EBdigisHandle, int ievt,
00078           std::map<int,EcalDCCHeaderBlock> FEDsAndDCCHeaders_);
00079       void selectEEDigis(edm::Handle<EEDigiCollection> EEdigisHandle, int ievt,
00080           std::map<int,EcalDCCHeaderBlock> FEDsAndDCCHeaders_);
00081       
00082 
00083     // ----------member data ---------------------------
00084 
00085   edm::InputTag EBUncalibratedRecHitCollection_;
00086   edm::InputTag EEUncalibratedRecHitCollection_;
00087   edm::InputTag EBDigis_;
00088   edm::InputTag EEDigis_;
00089   edm::InputTag headerProducer_;
00090 
00091   int runNum_;
00092   int side_;
00093   int givenSeedCry_;
00094   double threshold_;
00095   std::string fileName_;
00096 
00097   std::set<EBDetId> listEBChannels;
00098   std::set<EEDetId> listEEChannels;
00099     
00100   int abscissa[10];
00101   int ordinate[10];
00102   
00103   std::vector<TGraph> graphs;
00104   std::vector<int> maskedChannels_;
00105   std::vector<int> maskedFEDs_;
00106   std::vector<std::string> maskedEBs_;
00107   std::map<int,TH1F*> FEDsAndTimingHists_;
00108   std::map<int,float> crysAndAmplitudesMap_;
00109   
00110   TH1F* allFedsTimingHist_;
00111   
00112   TFile* file_;
00113   TNtuple* eventsAndSeedCrys_;
00114   EcalFedMap* fedMap_;
00115   const EcalElectronicsMapping* ecalElectronicsMap_;
00116  
00117   int naiveEvtNum_; 
00118   int graphCount;
00119 };

Generated on Tue Jun 9 17:25:53 2009 for CMSSW by  doxygen 1.5.4