CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/RecoEgamma/Examples/plugins/ElectronSeedAnalyzer.h

Go to the documentation of this file.
00001 #ifndef ElectronSeedAnalyzer_h
00002 #define ElectronSeedAnalyzer_h
00003 
00004 //
00005 // Package:         RecoEgamma/ElectronTrackSeed
00006 // Class:           ElectronSeedAnalyzer
00007 //
00008 
00009 //
00010 // Original Author:  Ursula Berthon, Claude Charlot
00011 //         Created:  Mon Mar 27 13:22:06 CEST 2006
00012 // $Id: ElectronSeedAnalyzer.h,v 1.5 2011/05/20 17:17:28 wmtan Exp $
00013 //
00014 //
00015 
00016 
00017 #include "FWCore/Framework/interface/EDAnalyzer.h"
00018 #include "FWCore/Framework/interface/Event.h"
00019 #include "DataFormats/Common/interface/Handle.h"
00020 #include "FWCore/Framework/interface/EventSetup.h"
00021 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00022 
00023 
00024 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
00025 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00026 
00027 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateTransform.h"
00028 
00029 class MagneticField;
00030 class TFile;
00031 class TH1F;
00032 class TH1I;
00033 class TTree;
00034 
00035 class ElectronSeedAnalyzer : public edm::EDAnalyzer
00036 {
00037  public:
00038 
00039   explicit ElectronSeedAnalyzer( const edm::ParameterSet & conf );
00040   virtual ~ElectronSeedAnalyzer();
00041   virtual void analyze( const edm::Event &, const edm::EventSetup &);
00042   virtual void beginJob();
00043   virtual void endJob();
00044 
00045  private:
00046 
00047   TrajectoryStateTransform transformer_;
00048 
00049   TFile *histfile_;
00050   TTree *tree_;
00051   float mcEnergy[10], mcEta[10], mcPhi[10], mcPt[10], mcQ[10];
00052   float superclusterEnergy[10], superclusterEta[10], superclusterPhi[10], superclusterEt[10];
00053   float seedMomentum[10], seedEta[10], seedPhi[10], seedPt[10], seedQ[10];
00054   int seedSubdet1[10], seedSubdet2[10];
00055   int seedLayer1[10], seedLayer2[10];
00056   int seedSide1[10], seedSide2[10];
00057   float seedDphi1[10], seedDrz1[10], seedDphi2[10], seedDrz2[10];
00058   float seedPhi1[10], seedRz1[10], seedPhi2[10], seedRz2[10];
00059   TH1F *histeMC_;
00060   TH1F *histeMCmatched_;
00061   TH1F *histecaldriveneMCmatched_;
00062   TH1F *histtrackerdriveneMCmatched_;
00063   TH1F *histp_;
00064   TH1F *histeclu_;
00065   TH1F *histpt_;
00066   TH1F *histptMC_;
00067   TH1F *histptMCmatched_;
00068   TH1F *histecaldrivenptMCmatched_;
00069   TH1F *histtrackerdrivenptMCmatched_;
00070   TH1F *histetclu_;
00071   TH1F *histeffpt_;
00072   TH1F *histeta_;
00073   TH1F *histetaMC_;
00074   TH1F *histetaMCmatched_;
00075   TH1F *histecaldrivenetaMCmatched_;
00076   TH1F *histtrackerdrivenetaMCmatched_;
00077   TH1F *histetaclu_;
00078   TH1F *histeffeta_;
00079   TH1F *histq_;
00080   TH1F *histeoverp_;
00081   TH1I *histnrseeds_;
00082   TH1I *histnbseeds_;
00083   TH1I *histnbclus_;
00084 
00085   edm::InputTag inputCollection_;
00086 //  std::vector<std::pair<const GeomDet*, TrajectoryStateOnSurface> >  mapTsos_;
00087 //  std::vector<std::pair<std::pair<const GeomDet*,GlobalPoint>,  TrajectoryStateOnSurface> >  mapTsos2_;
00088 
00089  };
00090 
00091 #endif
00092 
00093 
00094