CMS 3D CMS Logo

CosmicTrackingRegion.h
Go to the documentation of this file.
1 #ifndef CosmicTrackingRegion_H
2 #define CosmicTrackingRegion_H
3 
16 
19 
20 #include <vector>
21 
23 
25 public:
26  ~CosmicTrackingRegion() override {}
27 
53  const GlobalPoint& vertexPos,
54  float ptMin,
55  float rVertex,
56  float zVertex,
57  float deltaEta,
58  float deltaPhi,
59  float dummy = 0.,
61  : TrackingRegionBase(dir, vertexPos, Range(-1 / ptMin, 1 / ptMin), rVertex, zVertex),
64 
66  const GlobalPoint& vertexPos,
67  float ptMin,
68  float rVertex,
69  float zVertex,
70  float deltaEta,
71  float deltaPhi,
72  const edm::ParameterSet& extra,
74  : TrackingRegionBase(dir, vertexPos, Range(-1 / ptMin, 1 / ptMin), rVertex, zVertex),
76  measurementTrackerName_ = extra.getParameter<std::string>("measurementTrackerName");
77  }
78 
80  : TrackingRegionBase(rh),
83 
84  TrackingRegion::Hits hits(const edm::EventSetup& es, const SeedingLayerSetsHits::SeedingLayer& layer) const override;
85 
87  const Hit& outerHit,
88  const edm::EventSetup& iSetup,
89  const DetLayer* outerlayer = nullptr,
90  float lr = 0,
91  float gz = 0,
92  float dr = 0,
93  float dz = 0) const override {
94  return nullptr;
95  }
96 
97  CosmicTrackingRegion* clone() const override { return new CosmicTrackingRegion(*this); }
98 
99  std::string name() const override { return "CosmicTrackingRegion"; }
100 
101 private:
102  template <typename T>
103  void hits_(const edm::EventSetup& es, const T& layer, TrackingRegion::Hits& result) const;
104 
107 
109  using cacheHits = std::vector<cacheHitPointer>;
110 
111  // not a solution! here just to try to get this thing working....
112  // in any case onDemand is NOT thread safe yet
113  // actually this solution is absolutely safe. It lays in the effimeral nature of the region itself
114  mutable cacheHits cache;
115 };
116 
117 #endif
T getParameter(std::string const &) const
CosmicTrackingRegion(const GlobalVector &dir, const GlobalPoint &vertexPos, float ptMin, float rVertex, float zVertex, float deltaEta, float deltaPhi, const edm::ParameterSet &extra, const MeasurementTrackerEvent *measurementTracker=0)
TrackingRegion::Hits hits(const edm::EventSetup &es, const SeedingLayerSetsHits::SeedingLayer &layer) const override
get hits from layer compatible with region constraints
std::vector< cacheHitPointer > cacheHits
CosmicTrackingRegion * clone() const override
void hits_(const edm::EventSetup &es, const T &layer, TrackingRegion::Hits &result) const
static const double deltaEta
Definition: CaloConstants.h:8
HitRZCompatibility * checkRZ(const DetLayer *layer, const Hit &outerHit, const edm::EventSetup &iSetup, const DetLayer *outerlayer=0, float lr=0, float gz=0, float dr=0, float dz=0) const override
CosmicTrackingRegion(CosmicTrackingRegion const &rh)
SeedingLayerSetsHits::Hits Hits
float ptMin() const
minimal pt of interest
BaseTrackerRecHit const * SeedingHit
std::string name() const override
const MeasurementTrackerEvent * theMeasurementTracker_
CosmicTrackingRegion(const GlobalVector &dir, const GlobalPoint &vertexPos, float ptMin, float rVertex, float zVertex, float deltaEta, float deltaPhi, float dummy=0., const MeasurementTrackerEvent *measurementTracker=0)
long double T