00001 #ifndef TrackInfoProducerAlgorithm_h
00002 #define TrackInfoProducerAlgorithm_h
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #include "DataFormats/Common/interface/Handle.h"
00014 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00015 #include "TrackingTools/PatternTools/interface/Trajectory.h"
00016 #include "AnalysisDataFormats/TrackInfo/interface/TrackInfo.h"
00017 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00018 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
00019
00020 class TrackInfoProducerAlgorithm {
00021
00022 public:
00023 typedef TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer;
00024
00025 TrackInfoProducerAlgorithm(const edm::ParameterSet& conf) :
00026 conf_(conf),
00027 forwardPredictedStateTag_(conf.getParameter<std::string>( "forwardPredictedState" )),
00028 backwardPredictedStateTag_(conf.getParameter<std::string>( "backwardPredictedState" )),
00029 updatedStateTag_(conf.getParameter<std::string>( "updatedState" )),
00030 combinedStateTag_(conf.getParameter<std::string>( "combinedState" )) { }
00031
00032 ~TrackInfoProducerAlgorithm() {}
00033
00034 void run(const edm::Ref<std::vector<Trajectory> > traj_iterator, reco::TrackRef track,
00035 reco::TrackInfo &output,
00036 const TrackerGeometry * tracker);
00037 LocalPoint project(const GeomDet *det,const GeomDet* projdet,LocalPoint position,LocalVector trackdirection)const;
00038 private:
00039 edm::ParameterSet conf_;
00040 std::string forwardPredictedStateTag_, backwardPredictedStateTag_, updatedStateTag_, combinedStateTag_;
00041 };
00042
00043 #endif