CMS 3D CMS Logo

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 
48 public:
51 
52  virtual ~ConversionSeedFinder() {}
53 
54  virtual void makeSeeds(const edm::Handle<edm::View<reco::CaloCluster> >& allBc) = 0;
55 
56  TrajectorySeedCollection& seeds() { return theSeeds_; }
57  virtual void setCandidate(float e, GlobalPoint pos) {
58  theSCenergy_ = e;
59  theSCPosition_ = pos;
60  }
61  std::vector<const DetLayer*> const& layerList() const { return theLayerList_; }
62 
64  const MeasurementTracker* getMeasurementTracker() const { return theMeasurementTracker_; }
65 
67  void setEventSetup(const edm::EventSetup& es);
68  void setNavigationSchool(const NavigationSchool* navigation) { theNavigationSchool_ = navigation; }
69  void setEvent(const edm::Event& e);
70 
71  void clear() { theSeeds_.clear(); }
72 
73 protected:
74  //edm::ParameterSet conf_; found this to be completely unused
75  void findLayers();
76  void findLayers(const FreeTrajectoryState& fts);
77 
78  FreeTrajectoryState trackStateFromClusters(int aCharge,
79  const GlobalPoint& gpOrigine,
81  float scaleFactor) const;
82 
83  void printLayer(int i) const;
84 
87 
91  const NavigationSchool* theNavigationSchool_ = nullptr;
92 
95 
98 
103 
104  std::vector<const DetLayer*> theLayerList_;
105 
108 
111 
114 };
115 
116 #endif
const Propagator * thePropagatorAlongMomentum_
void setMeasurementTracker(const MeasurementTracker *tracker) const
std::vector< const DetLayer * > const & layerList() const
const MeasurementTracker * getMeasurementTracker() const
const MeasurementTracker * theMeasurementTracker_
std::vector< const DetLayer * > theLayerList_
Definition: config.py:1
PropagationDirection
TrajectorySeedCollection theSeeds_
const Propagator * thePropagatorOppositeToMomentum_
void setNavigationSchool(const NavigationSchool *navigation)
std::string theMeasurementTrackerName_
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
std::vector< TrajectorySeed > TrajectorySeedCollection
const TrackingGeometry * theTrackerGeom_
edm::ESHandle< GeometricSearchTracker > theGeomSearchTracker_
virtual void setCandidate(float e, GlobalPoint pos)
edm::ESHandle< MagneticField > theMF_
TrajectorySeedCollection & seeds()
HLT enums.
reco::CaloCluster * theSC_
PropagationDirection dir_
edm::Handle< MeasurementTrackerEvent > theTrackerData_
edm::EDGetTokenT< MeasurementTrackerEvent > measurementTrkToken_