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 
30 
33 
34 // C/C++ headers
35 #include <string>
36 #include <vector>
37 
38 
39 
40 
41 //
42 namespace edm {
43  class ConsumesCollector;
44 }
45 
46 class DetLayer;
49 class NavigationSchool;
50 
51 
53 
54  public:
55 
56 
59 
61 
62 
63  virtual void makeSeeds(const edm::Handle<edm::View<reco::CaloCluster> > & allBc ) const =0 ;
64 
65 
66 
67  TrajectorySeedCollection & seeds() { return theSeeds_;}
68  virtual void setCandidate( float e, GlobalPoint pos ) const { theSCenergy_=e; theSCPosition_= pos; }
69  std::vector<const DetLayer*> const & layerList() const { return theLayerList_;}
70 
71 
73  const MeasurementTracker* getMeasurementTracker() const {return theMeasurementTracker_;}
74 
76  void setEventSetup( const edm::EventSetup& es ) ;
77  void setNavigationSchool(const NavigationSchool *navigation) { theNavigationSchool_ = navigation; }
78  void setEvent( const edm::Event& e ) ;
79 
80  void clear() {
81  theSeeds_.clear();
82  }
83 
84  protected:
85 
86 
87  //edm::ParameterSet conf_; found this to be completely unused
88  void findLayers() const ;
89  void findLayers(const FreeTrajectoryState & fts) const ;
90 
91  FreeTrajectoryState trackStateFromClusters ( int aCharge,
92  const GlobalPoint & gpOrigine,
94  float scaleFactor ) const;
95 
96 
97  void printLayer(int i) const ;
98 
99 
102 
103 
107  const NavigationSchool *theNavigationSchool_ = nullptr;
108 
109 
112 
115 
116 
120  mutable float theSCenergy_;
121 
122 
123  mutable std::vector<const DetLayer *> theLayerList_ ;
124 
126  mutable float theBCEnergy_;
127 
130 
133 
134 
135 };
136 
137 #endif
const Propagator * thePropagatorAlongMomentum_
void setMeasurementTracker(const MeasurementTracker *tracker) const
std::vector< const DetLayer * > const & layerList() const
const MeasurementTracker * getMeasurementTracker() const
const MeasurementTracker * theMeasurementTracker_
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
std::vector< const DetLayer * > theLayerList_
const TrackingGeometry * theTrackerGeom_
edm::ESHandle< GeometricSearchTracker > theGeomSearchTracker_
edm::ESHandle< MagneticField > theMF_
TrajectorySeedCollection & seeds()
virtual void setCandidate(float e, GlobalPoint pos) const
HLT enums.
reco::CaloCluster * theSC_
PropagationDirection dir_
dbl *** dir
Definition: mlp_gen.cc:35
edm::Handle< MeasurementTrackerEvent > theTrackerData_
edm::EDGetTokenT< MeasurementTrackerEvent > measurementTrkToken_