File indexing completed on 2023-03-17 10:40:51
0001 #ifndef TrackInfoProducerAlgorithm_h
0002 #define TrackInfoProducerAlgorithm_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #include "DataFormats/Common/interface/Handle.h"
0014 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0015 #include "TrackingTools/PatternTools/interface/Trajectory.h"
0016 #include "AnalysisDataFormats/TrackInfo/interface/TrackInfo.h"
0017 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0018 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
0019
0020 class TrackInfoProducerAlgorithm {
0021 public:
0022 typedef TrackingRecHit::ConstRecHitPointer ConstRecHitPointer;
0023
0024 TrackInfoProducerAlgorithm(const edm::ParameterSet& conf)
0025 : conf_(conf),
0026 forwardPredictedStateTag_(conf.getParameter<std::string>("forwardPredictedState")),
0027 backwardPredictedStateTag_(conf.getParameter<std::string>("backwardPredictedState")),
0028 updatedStateTag_(conf.getParameter<std::string>("updatedState")),
0029 combinedStateTag_(conf.getParameter<std::string>("combinedState")) {}
0030
0031 ~TrackInfoProducerAlgorithm() {}
0032
0033 void run(const edm::Ref<std::vector<Trajectory> > traj_iterator,
0034 reco::TrackRef track,
0035 reco::TrackInfo& output,
0036 const TrackerGeometry* tracker);
0037 LocalPoint project(const GeomDet* det, const GeomDet* projdet, LocalPoint position, LocalVector trackdirection) const;
0038
0039 private:
0040 edm::ParameterSet conf_;
0041 std::string forwardPredictedStateTag_, backwardPredictedStateTag_, updatedStateTag_, combinedStateTag_;
0042 };
0043
0044 #endif