CMS 3D CMS Logo

MultiHitGeneratorFromChi2.h
Go to the documentation of this file.
1 #ifndef MultiHitGeneratorFromChi2_H
2 #define MultiHitGeneratorFromChi2_H
3 
10 
23 
26 
30 
31 #include <utility>
32 #include <vector>
33 
35 
38 
39 public:
43 
44  ~MultiHitGeneratorFromChi2() override;
45 
47  static const char* fillDescriptionsLabel() { return "multiHitFromChi2"; }
48 
49  void initES(const edm::EventSetup& es) override;
50 
51  void hitSets(const TrackingRegion& region,
52  OrderedMultiHits& trs,
53  const edm::Event& ev,
54  const edm::EventSetup& es,
56  std::vector<SeedingLayerSetsHits::SeedingLayer> thirdLayers) override;
57 
58  void hitSets(const TrackingRegion& region,
59  OrderedMultiHits& trs,
60  const HitDoublets& doublets,
61  const std::vector<SeedingLayerSetsHits::SeedingLayer>& thirdLayers,
62  LayerCacheType& layerCache,
63  cacheHits& refittedHitStorage);
64 
65  void hitTriplets(const TrackingRegion& region,
67  const HitDoublets& doublets,
68  const RecHitsSortedInPhi** thirdHitMap,
69  const std::vector<const DetLayer*>& thirdLayerDetLayer,
70  const int nThirdLayers) override;
71 
72  void hitSets(const TrackingRegion& region,
74  const HitDoublets& doublets,
75  const RecHitsSortedInPhi** thirdHitMap,
76  const std::vector<const DetLayer*>& thirdLayerDetLayer,
77  const int nThirdLayers,
78  cacheHits& refittedHitStorage);
79 
80 private:
82 
83  void refit2Hits(HitOwnPtr& hit0,
84  HitOwnPtr& hit1,
87  const TrackingRegion& region,
88  float nomField,
89  bool isDebug);
90  /*
91  void refit3Hits(HitOwnPtr & hit0,
92  HitOwnPtr & hit1,
93  HitOwnPtr & hit2,
94  TrajectoryStateOnSurface& tsos0,
95  TrajectoryStateOnSurface& tsos1,
96  TrajectoryStateOnSurface& tsos2,
97  float nomField, bool isDebug);
98  */
99 private:
103 
107  float extraZKDBox;
108  float extraRKDBox;
110  float dphi;
112  UniformMagneticField ufield = 0.;
113  float nomField;
116  double maxChi2;
117  std::vector<double> pt_interv;
118  std::vector<double> chi2_cuts;
119  bool refitHits;
122 
125 
126  std::vector<int> detIdsToDebug;
127 
131 };
132 #endif
MultiHitGeneratorFromChi2(const edm::ParameterSet &cfg, edm::ConsumesCollector &&iC)
TkTransientTrackingRecHitBuilder const * builder
const ClusterShapeHitFilter * filter
edm::ESGetToken< TransientTrackingRecHitBuilder, TransientRecHitRecord > transientTrackingRecHitBuilderESToken_
constexpr float fnSigmaRZ
edm::ESGetToken< ClusterShapeHitFilter, CkfComponentsRecord > clusterShapeHitFilterESToken_
virtual void initES(const edm::EventSetup &es)=0
CombinedMultiHitGenerator::LayerCacheType LayerCacheType
constexpr float nSigmaPhi
#define dso_hidden
Definition: Visibility.h:12
virtual void hitTriplets(const TrackingRegion &region, OrderedMultiHits &result, const HitDoublets &doublets, const RecHitsSortedInPhi **thirdHitMap, const std::vector< const DetLayer *> &thirdLayerDetLayer, const int nThirdLayers)=0
virtual void hitSets(const TrackingRegion &region, OrderedMultiHits &trs, const edm::Event &ev, const edm::EventSetup &es, SeedingLayerSetsHits::SeedingLayerSet pairLayers, std::vector< SeedingLayerSetsHits::SeedingLayer > thirdLayers)=0
static const char * fillDescriptionsLabel()
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magneticFieldESToken_
static void fillDescriptions(edm::ParameterSetDescription &desc)