00001 #ifndef ElectronPixelSeedAnalyzer_h
00002 #define ElectronPixelSeedAnalyzer_h
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
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/ESHandle.h"
00021 #include "FWCore/Framework/interface/EventSetup.h"
00022 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00023
00024 #include "DataFormats/Common/interface/EDProduct.h"
00025
00026 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
00027 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00028
00029 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateTransform.h"
00030
00031 class MagneticField;
00032 class TFile;
00033 class TH1F;
00034 class TH1I;
00035 class TTree;
00036
00037 class ElectronPixelSeedAnalyzer : public edm::EDAnalyzer
00038 {
00039 public:
00040
00041 explicit ElectronPixelSeedAnalyzer(const edm::ParameterSet& conf);
00042
00043 virtual ~ElectronPixelSeedAnalyzer();
00044
00045 virtual void beginJob(edm::EventSetup const& iSetup);
00046 virtual void analyze(const edm::Event& e, const edm::EventSetup& c);
00047
00048 private:
00049
00050 TrajectoryStateTransform transformer_;
00051 edm::ESHandle<TrackerGeometry> pDD;
00052 edm::ESHandle<MagneticField> theMagField;
00053 TFile *histfile_;
00054 TTree *tree_;
00055 float mcEnergy[10], mcEta[10], mcPhi[10], mcPt[10], mcQ[10];
00056 float superclusterEnergy[10], superclusterEta[10], superclusterPhi[10], superclusterEt[10];
00057 float seedMomentum[10], seedEta[10], seedPhi[10], seedPt[10], seedQ[10];
00058 int seedSubdet1[10], seedSubdet2[10];
00059 int seedLayer1[10], seedLayer2[10];
00060 int seedSide1[10], seedSide2[10];
00061 float seedDphi1[10], seedDrz1[10], seedDphi2[10], seedDrz2[10];
00062 float seedPhi1[10], seedRz1[10], seedPhi2[10], seedRz2[10];
00063 TH1F *histeMC_;
00064 TH1F *histp_;
00065 TH1F *histeclu_;
00066 TH1F *histpt_;
00067 TH1F *histptMC_;
00068 TH1F *histetclu_;
00069 TH1F *histeffpt_;
00070 TH1F *histeta_;
00071 TH1F *histetaMC_;
00072 TH1F *histetaclu_;
00073 TH1F *histeffeta_;
00074 TH1F *histq_;
00075 TH1F *histeoverp_;
00076 TH1I *histnrseeds_;
00077 TH1I *histnbseeds_;
00078 TH1I *histnbclus_;
00079
00080 edm::InputTag inputCollection_;
00081 std::vector<std::pair<const GeomDet*, TrajectoryStateOnSurface> > mapTsos_;
00082 std::vector<std::pair<std::pair<const GeomDet*,GlobalPoint>, TrajectoryStateOnSurface> > mapTsos2_;
00083
00084 };
00085
00086 #endif
00087
00088
00089