CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CosmicTrackingRegion.h
Go to the documentation of this file.
1 #ifndef CosmicTrackingRegion_H
2 #define CosmicTrackingRegion_H
3 
17 
20 
21 #include <vector>
22 
23 using SeedingHit = BaseTrackerRecHit const *;
24 
26 public:
27 
28 
29  virtual ~CosmicTrackingRegion() { }
30 
56  const GlobalPoint & vertexPos,
57  float ptMin, float rVertex, float zVertex,
58  float deltaEta, float deltaPhi,
59  float dummy = 0.,
61  : TrackingRegionBase( dir, vertexPos, Range( -1/ptMin, 1/ptMin),
62  rVertex, zVertex),
65  { }
66 
68  const GlobalPoint & vertexPos,
69  float ptMin, float rVertex, float zVertex,
70  float deltaEta, float deltaPhi,
71  const edm::ParameterSet & extra,
73  : TrackingRegionBase( dir, vertexPos, Range( -1/ptMin, 1/ptMin),
74  rVertex, zVertex),
76  {
77  measurementTrackerName_ = extra.getParameter<std::string>("measurementTrackerName");
78  }
79 
84 
86  hits(
87  const edm::Event& ev,
88  const edm::EventSetup& es,
89  const ctfseeding::SeedingLayer* layer) const;
90 
92  hits(
93  const edm::Event& ev,
94  const edm::EventSetup& es,
95  const SeedingLayerSetsHits::SeedingLayer& layer) const override;
96 
98  const DetLayer* layer,
99  const Hit & outerHit,
100  const edm::EventSetup& iSetup,
101  const DetLayer* outerlayer=0,
102  float lr=0, float gz=0, float dr=0, float dz=0) const {return 0; }
103 
104  CosmicTrackingRegion * clone() const { return new CosmicTrackingRegion(*this); }
105 
106  std::string name() const { return "CosmicTrackingRegion"; }
107 
108 private:
109  template <typename T>
110  void hits_(
111  const edm::Event& ev,
112  const edm::EventSetup& es,
113  const T& layer, TrackingRegion::Hits & result) const;
114 
115 
116 
119 
121  using cacheHits=std::vector<cacheHitPointer>;
122 
123  // not a solution! here just to try to get this thing working....
124  // in any case onDemand is NOT thread safe yet
125  // actually this solution is absolutely safe. It lays in the effimeral nature of the region itself
126  mutable cacheHits cache;
127 
128 
129 
130 };
131 
132 #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)
std::vector< cacheHitPointer > cacheHits
CosmicTrackingRegion * clone() const
ctfseeding::SeedingLayer::Hits ctfHits
virtual 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
bool ev
static const double deltaEta
Definition: CaloConstants.h:8
tuple result
Definition: mps_fire.py:83
virtual TrackingRegion::ctfHits hits(const edm::Event &ev, const edm::EventSetup &es, const ctfseeding::SeedingLayer *layer) const
void hits_(const edm::Event &ev, const edm::EventSetup &es, const T &layer, TrackingRegion::Hits &result) const
CosmicTrackingRegion(CosmicTrackingRegion const &rh)
SeedingLayerSetsHits::Hits Hits
float ptMin() const
minimal pt of interest
std::string name() const
BaseTrackerRecHit const * SeedingHit
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)
dbl *** dir
Definition: mlp_gen.cc:35
long double T