CMS 3D CMS Logo

GlobalTrackingRegion.h
Go to the documentation of this file.
1 #ifndef GlobalTrackingRegion_H
2 #define GlobalTrackingRegion_H
3 
12 #include <vector>
13 
14 class GlobalTrackingRegion final : public TrackingRegion {
15 public:
25  const GlobalPoint& origin,
26  float originRadius,
27  float originHalfLength,
28  bool precise = false,
29  bool useMS = false,
30  const MultipleScatteringParametrisationMaker* msmaker = nullptr)
32  theMSMaker(msmaker),
34  theUseMS(useMS) {}
35 
36  // obsolete constructor
38  float originRadius = 0.2,
39  float originHalfLength = 22.7,
40  float originZPos = 0.,
41  bool precise = false)
43  GlobalPoint(0, 0, originZPos),
44  Range(-1 / ptMin, 1 / ptMin),
48 
50 
51  std::unique_ptr<HitRZCompatibility> checkRZ(const DetLayer* layer,
52  const Hit& outerHit,
53  const DetLayer* outerlayer = nullptr,
54  float lr = 0,
55  float gz = 0,
56  float dr = 0,
57  float dz = 0) const override;
58 
61  void checkTracks(reco::TrackCollection const& tracks, std::vector<bool>& mask) const override;
62 
63  std::unique_ptr<TrackingRegion> clone() const override { return std::make_unique<GlobalTrackingRegion>(*this); }
64 
65  std::string name() const override { return "GlobalTrackingRegion"; }
66  std::string print() const override;
67 
68 private:
70  bool thePrecise = false;
71  bool theUseMS = false;
72 };
73 #endif
GlobalPoint const & origin() const
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:14
constexpr std::array< uint8_t, layerIndexSize > layer
TrackingRegion::Hits hits(const SeedingLayerSetsHits::SeedingLayer &layer) const override
get hits from layer compatible with region constraints
float ptMin() const
minimal pt of interest
void checkTracks(reco::TrackCollection const &tracks, std::vector< bool > &mask) const override
std::string name() const override
GlobalTrackingRegion(float ptMin, const GlobalPoint &origin, float originRadius, float originHalfLength, bool precise=false, bool useMS=false, const MultipleScatteringParametrisationMaker *msmaker=nullptr)
auto const & tracks
cannot be loose
std::unique_ptr< TrackingRegion > clone() const override
SeedingLayerSetsHits::Hits Hits
std::unique_ptr< HitRZCompatibility > checkRZ(const DetLayer *layer, const Hit &outerHit, const DetLayer *outerlayer=nullptr, float lr=0, float gz=0, float dr=0, float dz=0) const override
GlobalTrackingRegion(float ptMin=1., float originRadius=0.2, float originHalfLength=22.7, float originZPos=0., bool precise=false)
std::string print() const override
const MultipleScatteringParametrisationMaker * theMSMaker