Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:40:51

0001 #ifndef TrackInfoProducerAlgorithm_h
0002 #define TrackInfoProducerAlgorithm_h
0003 
0004 //
0005 // Package:    RecoTracker/TrackProducer
0006 // Class:      TrackInfoProducerAlgorithm
0007 //
0008 //
0009 // Original $Author:  Chiara Genta
0010 //          $Created:
0011 // $Id:
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