00001 #ifndef EgammaHLTPixelMatchElectronAlgo_H 00002 #define EgammaHLTPixelMatchElectronAlgo_H 00003 00014 #include "DataFormats/EgammaCandidates/interface/Electron.h" 00015 #include "DataFormats/EgammaCandidates/interface/ElectronFwd.h" 00016 /* 00017 #include "DataFormats/EgammaReco/interface/SuperClusterFwd.h" 00018 //#include "DataFormats/EgammaReco/interface/ElectronPixelSeed.h" 00019 //#include "DataFormats/EgammaReco/interface/ElectronPixelSeedFwd.h" 00020 //#include "DataFormats/EgammaReco/interface/SeedSuperClusterAssociation.h" 00021 #include "DataFormats/TrackCandidate/interface/TrackCandidate.h" 00022 #include "DataFormats/TrackCandidate/interface/TrackCandidateCollection.h" 00023 #include "DataFormats/Math/interface/LorentzVector.h" 00024 #include "DataFormats/TrackReco/interface/Track.h" 00025 #include "DataFormats/TrackReco/interface/TrackExtra.h" 00026 #include "DataFormats/TrackReco/interface/TrackFwd.h" 00027 #include "DataFormats/TrackReco/interface/TrackExtraFwd.h" 00028 #include "DataFormats/TrackingRecHit/interface/TrackingRecHitFwd.h" 00029 #include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h" 00030 */ 00031 00032 #include "FWCore/Framework/interface/ESHandle.h" 00033 #include "FWCore/Framework/interface/EventSetup.h" 00034 #include "FWCore/Framework/interface/Event.h" 00035 00036 #include "MagneticField/Engine/interface/MagneticField.h" 00037 #include "RecoTracker/TkDetLayers/interface/GeometricSearchTracker.h" 00038 00039 #include "DataFormats/GeometryVector/interface/GlobalPoint.h" 00040 /* 00041 #include "TrackingTools/TrajectoryCleaning/interface/TrajectoryCleaner.h" 00042 //#include "TrackingTools/DetLayers/interface/NavigationSetter.h" 00043 //#include "TrackingTools/DetLayers/interface/NavigationSchool.h" 00044 00045 00046 #include "TrackingTools/PatternTools/interface/TrajectoryBuilder.h" 00047 //#include "RecoTracker/TkNavigation/interface/SimpleNavigationSchool.h" 00048 #include "RecoTracker/MeasurementDet/interface/MeasurementTracker.h" 00049 #include "RecoTracker/CkfPattern/interface/TransientInitialStateEstimator.h" 00050 #include "RecoTracker/Record/interface/TrackerRecoGeometryRecord.h" 00051 #include "RecoTracker/Record/interface/CkfComponentsRecord.h" 00052 00053 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" 00054 #include "TrackingTools/MaterialEffects/interface/PropagatorWithMaterial.h" 00055 #include "TrackingTools/PatternTools/interface/Trajectory.h" 00056 #include "TrackingTools/TrajectoryCleaning/interface/TrajectoryCleanerBySharedHits.h" 00057 #include "TrackingTools/Records/interface/TrackingComponentsRecord.h" 00058 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateTransform.h" 00059 #include "TrackingTools/PatternTools/interface/TransverseImpactPointExtrapolator.h" 00060 #include "TrackingTools/PatternTools/interface/TSCPBuilderNoMaterial.h" 00061 #include "TrackingTools/TrackFitters/interface/TrajectoryFitter.h" 00062 00063 #include "DataFormats/GeometryVector/interface/GlobalPoint.h" 00064 #include "DataFormats/GeometryVector/interface/GlobalVector.h" 00065 */ 00066 00067 00068 //class TransientInitialStateEstimator; 00069 //class NavigationSchool; 00070 00071 00072 00073 00074 00075 00076 class EgammaHLTPixelMatchElectronAlgo { 00077 00078 public: 00079 00080 EgammaHLTPixelMatchElectronAlgo(const edm::ParameterSet& conf); 00081 00082 ~EgammaHLTPixelMatchElectronAlgo(); 00083 00084 void setupES(const edm::EventSetup& setup); 00085 void run(edm::Event&, reco::ElectronCollection&); 00086 00087 private: 00088 00089 // create electrons from tracks 00090 void process(edm::Handle<reco::TrackCollection> tracksH, reco::ElectronCollection & outEle, Global3DPoint & bs); 00091 00092 00093 // input configuration 00094 // std::string trackLabel_; 00095 // std::string trackInstanceName_; 00096 edm::InputTag trackProducer_; 00097 edm::InputTag BSProducer_; 00098 00099 // const TrajectoryBuilder* theCkfTrajectoryBuilder; 00100 //TrajectoryCleaner* theTrajectoryCleaner; 00101 //TransientInitialStateEstimator* theInitialStateEstimator; 00102 00103 edm::ESHandle<MagneticField> theMagField; 00104 edm::ESHandle<GeometricSearchTracker> theGeomSearchTracker; 00105 00106 //const MeasurementTracker* theMeasurementTracker; 00107 //const NavigationSchool* theNavigationSchool; 00108 00109 }; 00110 00111 #endif // EgammaHLTPixelMatchElectronAlgo_H 00112 00113