CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
InOutConversionSeedFinder.h
Go to the documentation of this file.
1 #ifndef RecoEGAMMA_ConversionSeed_InOutConversionSeedFinder_h
2 #define RecoEGAMMA_ConversionSeed_InOutConversionSeedFinder_h
3 
16 
19 
29 #include <string>
30 #include <vector>
31 
32 
33 
34 class MagneticField;
38 
40 
41 
42  private:
43 
46 
47 
48  public :
49 
50 
51 
53 
54 
55 
57 
58 
59  virtual void makeSeeds( const edm::Handle<edm::View<reco::CaloCluster> > & allBc) const;
60 
61 
62 
63  void setTracks(std::vector<Trajectory> const & in) { theOutInTracks_ = in;}
64 
65 
66  private :
67 
69  virtual void fillClusterSeeds( ) const ;
70  void startSeed(FreeTrajectoryState * fts, const TrajectoryStateOnSurface & stateAtPreviousLayer, int charge, int layer) const ;
71  virtual void findSeeds(const TrajectoryStateOnSurface & startingState,
72  float signedpt, unsigned int startingLayer) const ;
73 
74  std::vector<const reco::CaloCluster*> getSecondCaloClusters(const GlobalPoint & conversionPosition, float charge) const;
75  void completeSeed(const TrajectoryMeasurement & m1,FreeTrajectoryState & fts, const Propagator* propagator, int ilayer) const;
76  void createSeed(const TrajectoryMeasurement & m1, const TrajectoryMeasurement & m2) const ;
77 
78 
79  private:
83  mutable int track2Charge_;
85  mutable int nSeedsPerInputTrack_;
87 
88 
90 
91  mutable std::vector<Trajectory> inputTracks_;
92  mutable std::vector<Trajectory> theOutInTracks_;
93  mutable std::vector<TrajectoryMeasurement> theFirstMeasurements_;
94 
97 
98 
99 };
100 
101 #endif
void setTracks(std::vector< Trajectory > const &in)
virtual void findSeeds(const TrajectoryStateOnSurface &startingState, float signedpt, unsigned int startingLayer) const
void startSeed(FreeTrajectoryState *fts, const TrajectoryStateOnSurface &stateAtPreviousLayer, int charge, int layer) const
std::vector< TrajectoryMeasurement > theFirstMeasurements_
double charge(const std::vector< uint8_t > &Ampls)
std::vector< Trajectory > inputTracks_
TrajectoryMeasurement * myPointer
std::vector< const reco::CaloCluster * > getSecondCaloClusters(const GlobalPoint &conversionPosition, float charge) const
edm::Handle< edm::View< reco::CaloCluster > > bcCollection_
void completeSeed(const TrajectoryMeasurement &m1, FreeTrajectoryState &fts, const Propagator *propagator, int ilayer) const
InOutConversionSeedFinder(const edm::ParameterSet &config)
TrajectoryStateOnSurface TSOS
void createSeed(const TrajectoryMeasurement &m1, const TrajectoryMeasurement &m2) const
std::vector< Trajectory > theOutInTracks_
virtual void makeSeeds(const edm::Handle< edm::View< reco::CaloCluster > > &allBc) const
virtual void fillClusterSeeds() const