00001 // -*- C++ -*- 00002 // 00003 // Package: KineExample 00004 // Class: KineExample 00005 // 00013 // 00014 // Original Author: Pascal Vanlaer 00015 // Created: Tue Feb 28 11:06:34 CET 2006 00016 // $Id: KineExample.h,v 1.4 2012/10/23 02:24:13 slava77 Exp $ 00017 // 00018 // 00019 00020 00021 // system include files 00022 #include <memory> 00023 00024 // user include files 00025 #include "FWCore/Framework/interface/Frameworkfwd.h" 00026 #include "FWCore/Framework/interface/EDAnalyzer.h" 00027 00028 #include "FWCore/Framework/interface/Event.h" 00029 #include "FWCore/Framework/interface/EventSetup.h" 00030 00031 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00032 #include "SimDataFormats/Vertex/interface/SimVertex.h" 00033 #include "SimDataFormats/TrackingAnalysis/interface/TrackingVertexContainer.h" 00034 // #include "RecoVertex/KalmanVertexFit/test/SimpleVertexTree.h" 00035 #include "SimTracker/TrackAssociation/interface/TrackAssociatorByChi2.h" 00036 #include "RecoVertex/KinematicFitPrimitives/interface/RefCountedKinematicVertex.h" 00037 #include "RecoVertex/KinematicFitPrimitives/interface/RefCountedKinematicParticle.h" 00038 #include "RecoVertex/KinematicFitPrimitives/interface/RefCountedKinematicTree.h" 00039 // #include "RecoVertex/KinematicFitPrimitives/interface/" 00040 #include <TFile.h> 00041 00046 class KineExample : public edm::EDAnalyzer { 00047 public: 00048 explicit KineExample(const edm::ParameterSet&); 00049 ~KineExample(); 00050 00051 virtual void analyze(const edm::Event&, const edm::EventSetup&); 00052 00053 virtual void beginRun(edm::Run const&, edm::EventSetup const&); 00054 virtual void endJob(); 00055 00056 private: 00057 00058 void printout(const RefCountedKinematicVertex& myVertex) const; 00059 void printout(const RefCountedKinematicParticle& myParticle) const; 00060 void printout(const RefCountedKinematicTree& myTree) const; 00061 00062 TrackingVertex getSimVertex(const edm::Event& iEvent) const; 00063 00064 edm::ParameterSet theConfig; 00065 edm::ParameterSet kvfPSet; 00066 TrackAssociatorByChi2 * associatorForParamAtPca; 00067 // SimpleVertexTree *tree; 00068 // TFile* rootFile_; 00069 00070 std::string outputFile_; // output file 00071 std::string trackLabel_; // label of track producer 00072 };