CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ConversionTrackFinder.cc
Go to the documentation of this file.
1 //
3 //
6 //
7 
9 //
10 //
11 
12 #include <sstream>
13 
14 
16  const edm::ParameterSet& conf ) :
17  conf_(conf),
18  theCkfTrajectoryBuilder_(0),
19  theInitialState_(0),
20  theTrackerGeom_(0),
21  theUpdator_(0),
22  thePropagator_(0)
23 {
24  // std::cout << " ConversionTrackFinder base CTOR " << std::endl;
25 
26  edm::ParameterSet tise_params = conf_.getParameter<edm::ParameterSet>("TransientInitialStateEstimatorParameters") ;
27  theInitialState_ = new TransientInitialStateEstimator( es, tise_params);
28  useSplitHits_ = conf_.getParameter<bool>("useHitsSplitting");
29 
30  theMeasurementTrackerName_ = conf.getParameter<std::string>("MeasurementTrackerName");
31 
32 }
33 
34 
36 
37 
38  delete theInitialState_;
39 
40 }
41 
42 
44 
45  edm::ESHandle<MeasurementTracker> measurementTrackerHandle;
46  es.get<CkfComponentsRecord>().get(theMeasurementTrackerName_,measurementTrackerHandle);
47  theMeasurementTracker_ = measurementTrackerHandle.product();
48 
49  // set the TrajectoryBuilder
50  std::string trajectoryBuilderName = conf_.getParameter<std::string>("TrajectoryBuilder");
51  // std::cout << " ConversionTrackFinderBase tbName" << trajectoryBuilderName << std::endl;
52  edm::ESHandle<TrajectoryBuilder> theTrajectoryBuilderHandle;
53  es.get<CkfComponentsRecord>().get(trajectoryBuilderName,theTrajectoryBuilderHandle);
54  theCkfTrajectoryBuilder_ = theTrajectoryBuilderHandle.product();
55 
56  edm::ESHandle<TrackerGeometry> trackerHandle;
57  es.get<TrackerDigiGeometryRecord>().get(trackerHandle);
58  theTrackerGeom_= trackerHandle.product();
59 
60  es.get<TrackingComponentsRecord>().get("AnyDirectionAnalyticalPropagator",
62 
64 }
65 
68 
69 
70 
71 }
T getParameter(std::string const &) const
const TrajectoryBuilder * theCkfTrajectoryBuilder_
void setEventSetup(const edm::EventSetup &es)
Call this at each event until this object will come from the EventSetup as it should.
virtual void update(const edm::Event &) const =0
edm::ESHandle< Propagator > thePropagator_
TransientInitialStateEstimator * theInitialState_
void setEvent(const edm::Event &e)
std::string theMeasurementTrackerName_
tuple conf
Definition: dbtoconf.py:185
const T & get() const
Definition: EventSetup.h:55
T const * product() const
Definition: ESHandle.h:62
ConversionTrackFinder(const edm::EventSetup &es, const edm::ParameterSet &config)
const MeasurementTracker * theMeasurementTracker_
const TrackerGeometry * theTrackerGeom_
void setEventSetup(const edm::EventSetup &es)
Initialize EventSetup objects at each event.