CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/Validation/EcalDigis/interface/EcalDigisValidation.h

Go to the documentation of this file.
00001 #ifndef EcalDigisValidation_H
00002 #define EcalDigisValidation_H
00003 
00004 /*
00005  * \file EcalDigisValidation.h
00006  *
00007  * $Date: 2010/01/04 15:10:59 $
00008  * $Revision: 1.13 $
00009  * \author F. Cossutti
00010  *
00011 */
00012 
00013 #include "FWCore/Framework/interface/Frameworkfwd.h"
00014 #include "FWCore/Framework/interface/EDAnalyzer.h"
00015 
00016 #include "FWCore/Framework/interface/Event.h"
00017 #include "FWCore/Framework/interface/EventSetup.h"
00018 #include "FWCore/Framework/interface/ESHandle.h"
00019 #include "FWCore/Framework/interface/MakerMacros.h"
00020 
00021 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00022 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00023 
00024 #include "DQMServices/Core/interface/DQMStore.h"
00025 #include "FWCore/ServiceRegistry/interface/Service.h"
00026 
00027 #include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h"
00028 #include "SimDataFormats/EncodedEventId/interface/EncodedEventId.h"
00029 #include "SimDataFormats/Track/interface/SimTrack.h"
00030 #include "SimDataFormats/Track/interface/SimTrackContainer.h"
00031 #include "SimDataFormats/Vertex/interface/SimVertex.h"
00032 #include "SimDataFormats/Vertex/interface/SimVertexContainer.h"
00033 #include "SimDataFormats/CaloHit/interface/PCaloHit.h"
00034 #include "SimDataFormats/CaloHit/interface/PCaloHitContainer.h"
00035 
00036 #include "DataFormats/EcalDigi/interface/EBDataFrame.h"
00037 #include "DataFormats/EcalDigi/interface/EEDataFrame.h"
00038 #include "DataFormats/EcalDigi/interface/ESDataFrame.h"
00039 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h"
00040 #include "SimDataFormats/CrossingFrame/interface/CrossingFrame.h"
00041 #include "SimDataFormats/CrossingFrame/interface/MixCollection.h"
00042 #
00043 #include <iostream>
00044 #include <fstream>
00045 #include <vector>
00046 #include <map>
00047 #include "DQMServices/Core/interface/MonitorElement.h"
00048 
00049 class EcalDigisValidation: public edm::EDAnalyzer{
00050 
00051     typedef std::map<uint32_t,float,std::less<uint32_t> >  MapType;
00052 
00053 public:
00054 
00056 EcalDigisValidation(const edm::ParameterSet& ps);
00057 
00059 ~EcalDigisValidation();
00060 
00061 protected:
00062 
00064 void analyze(edm::Event const & e, edm::EventSetup const & c);
00065 
00066 // BeginRun
00067 void beginRun(edm::Run const &, edm::EventSetup const & c);
00068 
00069 // EndJob
00070 void endJob(void);
00071 
00072 private:
00073 
00074  void checkCalibrations(edm::EventSetup const & c);
00075  
00076  std::string HepMCLabel;
00077  std::string g4InfoLabel;
00078  
00079  bool verbose_;
00080  
00081  DQMStore* dbe_;
00082  
00083  std::string outputFile_;
00084 
00085  edm::InputTag EBdigiCollection_;
00086  edm::InputTag EEdigiCollection_;
00087  edm::InputTag ESdigiCollection_;
00088  
00089  std::map<int, double, std::less<int> > gainConv_;
00090 
00091  double barrelADCtoGeV_;
00092  double endcapADCtoGeV_;
00093  
00094  MonitorElement* meGunEnergy_;
00095  MonitorElement* meGunEta_;
00096  MonitorElement* meGunPhi_;   
00097 
00098  MonitorElement* meEBDigiSimRatio_;
00099  MonitorElement* meEEDigiSimRatio_;
00100 
00101  MonitorElement* meEBDigiSimRatiogt10ADC_;
00102  MonitorElement* meEEDigiSimRatiogt20ADC_;
00103 
00104  MonitorElement* meEBDigiSimRatiogt100ADC_;
00105  MonitorElement* meEEDigiSimRatiogt100ADC_;
00106 
00107 };
00108 
00109 #endif