CMS 3D CMS Logo

InOutConversionSeedFinder.h
Go to the documentation of this file.
1 #ifndef RecoEGAMMA_ConversionSeed_InOutConversionSeedFinder_h
2 #define RecoEGAMMA_ConversionSeed_InOutConversionSeedFinder_h
3 
13 
16 
26 #include <string>
27 #include <vector>
28 
29 
30 
31 class MagneticField;
35 
37 
38 
39  private:
40 
43 
44 
45  public :
46 
47 
48 
50 
51 
52 
53  ~InOutConversionSeedFinder() override;
54 
55 
56  void makeSeeds( const edm::Handle<edm::View<reco::CaloCluster> > & allBc) const override;
57 
58 
59 
60  void setTracks(std::vector<Trajectory> const & in) { theOutInTracks_ = in;}
61 
62 
63  private :
64 
66  virtual void fillClusterSeeds( ) const ;
67  void startSeed(const FreeTrajectoryState * fts, const TrajectoryStateOnSurface & stateAtPreviousLayer, int charge, int layer) const ;
68  virtual void findSeeds(const TrajectoryStateOnSurface & startingState,
69  float signedpt, unsigned int startingLayer) const ;
70 
71  std::vector<const reco::CaloCluster*> getSecondCaloClusters(const GlobalPoint & conversionPosition, float charge) const;
72  void completeSeed(const TrajectoryMeasurement & m1,FreeTrajectoryState & fts, const Propagator* propagator, int ilayer) const;
73  void createSeed(const TrajectoryMeasurement & m1, const TrajectoryMeasurement & m2) const ;
74 
75 
76  private:
80  mutable int track2Charge_;
82  mutable int nSeedsPerInputTrack_;
84 
85 
87 
88  mutable std::vector<Trajectory> inputTracks_;
89  mutable std::vector<Trajectory> theOutInTracks_;
90  mutable std::vector<TrajectoryMeasurement> theFirstMeasurements_;
91 
94 
95 
96 };
97 
98 #endif
void setTracks(std::vector< Trajectory > const &in)
virtual void findSeeds(const TrajectoryStateOnSurface &startingState, float signedpt, unsigned int startingLayer) const
void makeSeeds(const edm::Handle< edm::View< reco::CaloCluster > > &allBc) const override
Definition: config.py:1
std::vector< TrajectoryMeasurement > theFirstMeasurements_
std::vector< Trajectory > inputTracks_
TrajectoryMeasurement * myPointer
std::vector< const reco::CaloCluster * > getSecondCaloClusters(const GlobalPoint &conversionPosition, float charge) const
void startSeed(const FreeTrajectoryState *fts, const TrajectoryStateOnSurface &stateAtPreviousLayer, int charge, int layer) const
edm::Handle< edm::View< reco::CaloCluster > > bcCollection_
void completeSeed(const TrajectoryMeasurement &m1, FreeTrajectoryState &fts, const Propagator *propagator, int ilayer) const
TrajectoryStateOnSurface TSOS
InOutConversionSeedFinder(const edm::ParameterSet &config, edm::ConsumesCollector &&iC)
void createSeed(const TrajectoryMeasurement &m1, const TrajectoryMeasurement &m2) const
std::vector< Trajectory > theOutInTracks_
virtual void fillClusterSeeds() const