CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/RecoEgamma/Examples/plugins/MCElectronAnalyzer.h

Go to the documentation of this file.
00001 #ifndef MCElectronAnalyzer_H
00002 #define MCElectronAnalyzer_H
00003 #include "RecoEgamma/EgammaMCTools/interface/ElectronMCTruthFinder.h"
00004 
00005 #include "SimTracker/TrackAssociation/interface/TrackAssociatorBase.h"
00006 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
00007 #include "FWCore/Framework/interface/EDAnalyzer.h"
00008 
00009 #include <map>
00010 #include <vector>
00011 
00012 
00013 // forward declarations
00014 class TFile;
00015 class TH1F;
00016 class TH2F;
00017 class TProfile;
00018 class TTree;
00019 class SimVertex;
00020 class SimTrack;
00021 
00022 
00023 class MCElectronAnalyzer : public edm::EDAnalyzer
00024 {
00025 
00026    public:
00027 
00028       //
00029       explicit MCElectronAnalyzer( const edm::ParameterSet& ) ;
00030       virtual ~MCElectronAnalyzer();
00031 
00032 
00033       virtual void analyze( const edm::Event&, const edm::EventSetup& ) ;
00034       virtual void beginJob() ;
00035       virtual void endJob() ;
00036 
00037    private:
00038 
00039 
00040       float etaTransformation( float a, float b);
00041       float phiNormalization( float& a);
00042 
00043 
00044       //
00045       ElectronMCTruthFinder*  theElectronMCTruthFinder_;
00046 
00047       const TrackerGeometry* trackerGeom;
00048 
00049       std::string fOutputFileName_ ;
00050       TFile*      fOutputFile_ ;
00051 
00052 
00053 
00054 
00055       int nEvt_;
00056       int nMatched_;
00057 
00059       double mcPhi_;
00060       double mcEta_;
00061 
00062       std::string HepMCLabel;
00063       std::string SimTkLabel;
00064       std::string SimVtxLabel;
00065       std::string SimHitLabel;
00066 
00067 
00068       TH1F* h_MCEleE_;
00069       TH1F* h_MCEleEta_;
00070       TH1F* h_MCElePhi_;
00071       TH1F* h_BremFrac_;
00072       TH1F* h_BremEnergy_;
00073 
00074       TProfile* p_BremVsR_;
00075       TProfile* p_BremVsEta_;
00076 
00077 
00078 
00079 };
00080 
00081 #endif