CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SeedFromConsecutiveHitsCreator.h
Go to the documentation of this file.
1 #ifndef RecoTracker_TkSeedGenerator_SeedFromConsecutiveHitsCreator_H
2 #define RecoTracker_TkSeedGenerator_SeedFromConsecutiveHitsCreator_H
3 
12 
14 
17 
18 
20 
22 public:
23 
25  : thePropagatorLabel (cfg.getParameter<std::string>("propagator"))
26  , theBOFFMomentum (cfg.existsAs<double>("SeedMomentumForBOFF") ? cfg.getParameter<double>("SeedMomentumForBOFF") : 5.0)
27  , theOriginTransverseErrorMultiplier(cfg.existsAs<double>("OriginTransverseErrorMultiplier") ? cfg.getParameter<double>("OriginTransverseErrorMultiplier") : 1.0)
28  , theMinOneOverPtError (cfg.existsAs<double>("MinOneOverPtError") ? cfg.getParameter<double>("MinOneOverPtError") : 1.0)
29  , TTRHBuilder (cfg.existsAs<std::string>("TTRHBuilder") ? cfg.getParameter<std::string>("TTRHBuilder") : std::string("WithTrackAngle"))
30  // 2014/02/11 mia:
31  // we should get rid of the boolean parameter useSimpleMF,
32  // and use only a string magneticField [instead of SimpleMagneticField]
33  // or better an edm::ESInputTag (at the moment HLT does not handle ESInputTag)
35  , mfName_("")
36  {
37  if (cfg.exists("SimpleMagneticField")) {
38  useSimpleMF_ = true;
39  mfName_ = cfg.getParameter<std::string>("SimpleMagneticField");
40  }
41  }
42 
44  const std::string & propagator = "PropagatorWithMaterial", double seedMomentumForBOFF = -5.0,
45  double aOriginTransverseErrorMultiplier = 1.0, double aMinOneOverPtError = 1.0, const std::string & bname="WithTrackAngle")
46  : thePropagatorLabel(propagator)
47  , theBOFFMomentum(seedMomentumForBOFF)
48  , theOriginTransverseErrorMultiplier(aOriginTransverseErrorMultiplier)
49  , theMinOneOverPtError(aMinOneOverPtError)
50  , TTRHBuilder(bname)
51  , useSimpleMF_(false) { }
52 
53  //dtor
55 
56  // initialize the "event dependent state"
57  virtual void init(const TrackingRegion & region,
58  const edm::EventSetup& es,
60 
61  // make job
62  // fill seedCollection with the "TrajectorySeed"
63  virtual void makeSeed(TrajectorySeedCollection & seedCollection,
64  const SeedingHitSet & hits) GCC11_FINAL;
65 
66 
67 private:
68 
69  virtual bool initialKinematic(GlobalTrajectoryParameters & kine,
70  const SeedingHitSet & hits) const;
71 
72 
73  bool checkHit(
74  const TrajectoryStateOnSurface &tsos,
76 
77 
78  CurvilinearTrajectoryError initialError(float sin2Theta) const dso_hidden;
79 
80  void buildSeed(TrajectorySeedCollection & seedCollection,
81  const SeedingHitSet & hits,
82  const FreeTrajectoryState & fts) const dso_hidden;
83 
86  const TrajectoryStateOnSurface & state) const dso_hidden;
87 
88 protected:
89 
94 
95  const TrackingRegion * region = nullptr;
96  const SeedComparitor *filter = nullptr;
100  float nomField;
101  bool isBOFF = false;
105 
107 
108 
109 };
110 #endif
T getParameter(std::string const &) const
edm::ESHandle< Propagator > propagatorHandle
bool exists(std::string const &parameterName) const
checks if a parameter exists
virtual bool initialKinematic(GlobalTrajectoryParameters &kine, const SeedingHitSet &hits) const
SeedFromConsecutiveHitsCreator(const std::string &propagator="PropagatorWithMaterial", double seedMomentumForBOFF=-5.0, double aOriginTransverseErrorMultiplier=1.0, double aMinOneOverPtError=1.0, const std::string &bname="WithTrackAngle")
void buildSeed(TrajectorySeedCollection &seedCollection, const SeedingHitSet &hits, const FreeTrajectoryState &fts) const dso_hidden
SeedingHitSet::RecHitPointer refitHit(SeedingHitSet::ConstRecHitPointer hit, const TrajectoryStateOnSurface &state) const dso_hidden
BaseTrackerRecHit const * ConstRecHitPointer
Definition: SeedingHitSet.h:11
bool checkHit(const TrajectoryStateOnSurface &tsos, SeedingHitSet::ConstRecHitPointer hit) const dso_hidden
std::vector< TrajectorySeed > TrajectorySeedCollection
virtual void init(const TrackingRegion &region, const edm::EventSetup &es, const SeedComparitor *filter) GCC11_FINAL
#define GCC11_FINAL
SeedFromConsecutiveHitsCreator(const edm::ParameterSet &cfg)
#define dso_hidden
Definition: Visibility.h:12
edm::ESHandle< TrackerGeometry > tracker
virtual void makeSeed(TrajectorySeedCollection &seedCollection, const SeedingHitSet &hits) GCC11_FINAL
CurvilinearTrajectoryError initialError(float sin2Theta) const dso_hidden
volatile std::atomic< bool > shutdown_flag false
edm::ESHandle< MagneticField > bfield