00001 // -*- C++ -*- 00002 // 00003 // Package: TestMuL1L2.h 00004 // Class: TestMuL1L2 00005 /*/ 00006 00007 Description: <one line class summary> 00008 00009 Implementation: 00010 <Notes on implementation> 00011 */ 00012 // 00013 // Original Author: Dong Ho Moon 00014 // Created: Wed May 9 06:22:36 CEST 2007 00015 // $Id: HITrackVertexMaker.h,v 1.3 2008/09/14 12:25:19 kodolova Exp $ 00016 // 00017 // 00018 00019 #ifndef HITRACKVERTEXMAKER_H 00020 #define HITRACKVERTEXMAKER_H 00021 00022 00023 // system include files 00024 00025 #include <memory> 00026 00027 // framework include files 00028 00029 #include "FWCore/ParameterSet/interface/InputTag.h" 00030 #include "FWCore/Framework/interface/Frameworkfwd.h" 00031 #include "FWCore/Framework/interface/Event.h" 00032 #include "FWCore/Framework/interface/MakerMacros.h" 00033 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00034 #include "FWCore/Framework/interface/EventSetup.h" 00035 #include "DataFormats/Common/interface/Handle.h" 00036 00037 // navigation school 00038 00039 #include "TrackingTools/DetLayers/interface/NavigationSetter.h" 00040 #include "TrackingTools/DetLayers/interface/NavigationSchool.h" 00041 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHitBuilder.h" 00042 #include "TrackingTools/TrackFitters/interface/KFTrajectoryFitter.h" 00043 #include "TrackingTools/TrackFitters/interface/KFTrajectorySmoother.h" 00044 #include "RecoTracker/TkDetLayers/interface/GeometricSearchTracker.h" 00045 #include "RecoTracker/MeasurementDet/interface/MeasurementTracker.h" 00046 #include "MagneticField/Engine/interface/MagneticField.h" 00047 #include "TrackingTools/TrajectoryFiltering/interface/MinPtTrajectoryFilter.h" 00048 00049 // HI reconstruction includes 00050 00051 #include "RecoHIMuon/HiMuSeed/interface/HICConst.h" 00052 #include "RecoHIMuon/HiMuPropagator/interface/FmpConst.h" 00053 #include "RecoHIMuon/HiMuTracking/interface/HICTrajectoryBuilder.h" 00054 #include "RecoHIMuon/HiMuTracking/interface/HICMeasurementEstimator.h" 00055 #include "RecoHIMuon/HiMuTracking/interface/HICMuonUpdator.h" 00056 00057 // 00058 // class declaration 00059 // 00060 namespace cms{ 00061 00062 class HITrackVertexMaker { 00063 00064 00065 public: 00066 00067 //constructor 00068 00069 explicit HITrackVertexMaker(const edm::ParameterSet&, const edm::EventSetup& es1); 00070 00071 //destructor 00072 ~HITrackVertexMaker(); 00073 00074 //produceTracks 00075 bool produceTracks(const edm ::Event&, const edm::EventSetup&, HICConst*, FmpConst*); 00076 00077 00078 private: 00079 00080 // edm::InputTag STAcandTag_; 00081 // edm::InputTag L1candTag_; 00082 edm::InputTag L2candTag_; 00083 edm::InputTag rphirecHitsTag; 00084 edm::InputTag primaryVertexTag; 00085 00086 edm::ParameterSet pset_; 00087 std::string builderName; 00088 00089 edm::ESHandle<MagneticField> magfield; 00090 edm::ESHandle<TransientTrackingRecHitBuilder> recHitBuilderHandle; 00091 edm::ESHandle<MeasurementTracker> measurementTrackerHandle; 00092 edm::ESHandle<GeometricSearchTracker> tracker; 00093 const NavigationSchool* theNavigationSchool; 00094 HICTrajectoryBuilder* theTrajectoryBuilder; 00095 MinPtTrajectoryFilter* theMinPtFilter; 00096 HICMeasurementEstimator* theEstimator; 00097 00098 edm::ESHandle<Propagator> propagatorAlongHandle; 00099 edm::ESHandle<Propagator> propagatorOppositeHandle; 00100 edm::ESHandle<TrajectoryStateUpdator> updatorHandle; 00101 }; 00102 } 00103 #endif