Go to the documentation of this file.00001 #ifndef SimG4CMS_Calo_ElectronStudy_H
00002 #define SimG4CMS_Calo_ElectronStudy_H
00003
00004 #include "FWCore/Framework/interface/Frameworkfwd.h"
00005 #include "FWCore/Framework/interface/EDAnalyzer.h"
00006
00007 #include "FWCore/Framework/interface/Event.h"
00008 #include "FWCore/Framework/interface/EventSetup.h"
00009 #include "FWCore/Framework/interface/ESHandle.h"
00010 #include "FWCore/Framework/interface/MakerMacros.h"
00011
00012 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00013 #include "FWCore/Utilities/interface/InputTag.h"
00014 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00015
00016 #include "FWCore/ServiceRegistry/interface/Service.h"
00017 #include "CommonTools/UtilAlgos/interface/TFileService.h"
00018
00019 #include "SimDataFormats/CaloHit/interface/PCaloHit.h"
00020 #include "SimDataFormats/CaloHit/interface/PCaloHitContainer.h"
00021
00022 #include "SimDataFormats/Track/interface/SimTrackContainer.h"
00023 #include "SimDataFormats/Vertex/interface/SimVertexContainer.h"
00024
00025 #include <TH1F.h>
00026
00027 #include <memory>
00028 #include <iostream>
00029 #include <fstream>
00030 #include <vector>
00031 #include <string>
00032
00033 class ElectronStudy: public edm::EDAnalyzer {
00034
00035 public:
00036
00037 ElectronStudy(const edm::ParameterSet& ps);
00038 ~ElectronStudy() {}
00039
00040 void analyze (const edm::Event& e, const edm::EventSetup& c);
00041
00042 private:
00043
00044 static const int NEtaBins = 3;
00045 static const int NPBins = 8;
00046 double pBins[NPBins+1], etaBins[NEtaBins+1];
00047
00048 std::string sourceLabel, g4Label, hitLabEB, hitLabEE;
00049 int verbose;
00050 bool histos;
00051 TH1F *histoR1[NPBins+1][NEtaBins+1], *histoR2[NPBins+1][NEtaBins+1];
00052 TH1F *histoR3[NPBins+1][NEtaBins+1], *histoE1x1[NPBins+1][NEtaBins+1];
00053 TH1F *histoE3x3[NPBins+1][NEtaBins+1], *histoE5x5[NPBins+1][NEtaBins+1];
00054 };
00055
00056 #endif