CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ConversionSeedFinder.h
Go to the documentation of this file.
1 #ifndef RecoEGAMMA_ConversionSeed_ConversionSeedFinder_h
2 #define RecoEGAMMA_ConversionSeed_ConversionSeedFinder_h
3 
26 
29 
32 
33 // C/C++ headers
34 #include <string>
35 #include <vector>
36 
37 //
38 namespace edm {
39  class ConsumesCollector;
40 }
41 
42 class DetLayer;
45 class NavigationSchool;
46 class TrackingGeometry;
51 
53 public:
56 
57  virtual ~ConversionSeedFinder() {}
58 
59  virtual void makeSeeds(const edm::Handle<edm::View<reco::CaloCluster> >& allBc) = 0;
60 
62  virtual void setCandidate(float e, GlobalPoint pos) {
63  theSCenergy_ = e;
64  theSCPosition_ = pos;
65  }
66  std::vector<const DetLayer*> const& layerList() const { return theLayerList_; }
67 
68  void setMeasurementTracker(const MeasurementTracker* tracker) const { ; }
70 
72  void setEventSetup(const edm::EventSetup& es);
73  void setNavigationSchool(const NavigationSchool* navigation) { theNavigationSchool_ = navigation; }
74  void setEvent(const edm::Event& e);
75 
76  void clear() { theSeeds_.clear(); }
77 
78 protected:
79  //edm::ParameterSet conf_; found this to be completely unused
80  void findLayers();
81  void findLayers(const FreeTrajectoryState& fts);
82 
84  const GlobalPoint& gpOrigine,
86  float scaleFactor) const;
87 
88  void printLayer(int i) const;
89 
92 
96 
99 
105 
108 
113 
114  std::vector<const DetLayer*> theLayerList_;
115 
118 
121 
124 };
125 
126 #endif
const Propagator * thePropagatorAlongMomentum_
void setMeasurementTracker(const MeasurementTracker *tracker) const
std::vector< const DetLayer * > const & layerList() const
const MeasurementTracker * getMeasurementTracker() const
const MeasurementTracker * theMeasurementTracker_
const NavigationSchool * theNavigationSchool_
std::vector< const DetLayer * > theLayerList_
PropagationDirection
TrajectorySeedCollection theSeeds_
const Propagator * thePropagatorOppositeToMomentum_
void setNavigationSchool(const NavigationSchool *navigation)
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > theMFToken_
edm::ESGetToken< GeometricSearchTracker, TrackerRecoGeometryRecord > theGeomSearchTrackerToken_
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
std::vector< TrajectorySeed > TrajectorySeedCollection
void printLayer(int i) const
const TrackingGeometry * theTrackerGeom_
edm::ESHandle< GeometricSearchTracker > theGeomSearchTracker_
edm::ESGetToken< Propagator, TrackingComponentsRecord > thePropagatorAlongMomentumToken_
virtual void setCandidate(float e, GlobalPoint pos)
edm::ESHandle< MagneticField > theMF_
TrajectorySeedCollection & seeds()
void setEvent(const edm::Event &e)
FreeTrajectoryState trackStateFromClusters(int aCharge, const GlobalPoint &gpOrigine, PropagationDirection dir, float scaleFactor) const
void setEventSetup(const edm::EventSetup &es)
Initialize EventSetup objects at each event.
edm::ESGetToken< MeasurementTracker, CkfComponentsRecord > theMeasurementTrackerToken_
tuple config
parse the configuration file
reco::CaloCluster * theSC_
PropagationDirection dir_
edm::Handle< MeasurementTrackerEvent > theTrackerData_
edm::EDGetTokenT< MeasurementTrackerEvent > measurementTrkToken_
edm::ESGetToken< Propagator, TrackingComponentsRecord > thePropagatorOppositeToMomentumToken_
virtual void makeSeeds(const edm::Handle< edm::View< reco::CaloCluster > > &allBc)=0