CMS 3D CMS Logo

MultiHitGeneratorFromChi2.h
Go to the documentation of this file.
1 #ifndef MultiHitGeneratorFromChi2_H
2 #define MultiHitGeneratorFromChi2_H
3 
17 
20 
22 
23 
24 #include <utility>
25 #include <vector>
26 
28 
30 
32 
33 public:
35 
36  virtual ~MultiHitGeneratorFromChi2();
37 
39  static const char *fillDescriptionsLabel() { return "multiHitFromChi2"; }
40 
41 
42  void initES(const edm::EventSetup& es) override;
43 
44  virtual void hitSets( const TrackingRegion& region, OrderedMultiHits & trs,
45  const edm::Event & ev, const edm::EventSetup& es,
47  std::vector<SeedingLayerSetsHits::SeedingLayer> thirdLayers) override;
48 
49  void hitSets(const TrackingRegion& region, OrderedMultiHits& trs,
50  const edm::Event& ev, const edm::EventSetup& es,
51  const HitDoublets& doublets,
52  const std::vector<SeedingLayerSetsHits::SeedingLayer>& thirdLayers,
53  LayerCacheType& layerCache,
54  cacheHits& refittedHitStorage);
55 
56  void hitTriplets(
57  const TrackingRegion& region,
59  const edm::EventSetup & es,
60  const HitDoublets & doublets,
61  const RecHitsSortedInPhi ** thirdHitMap,
62  const std::vector<const DetLayer *> & thirdLayerDetLayer,
63  const int nThirdLayers)override;
64 
65  void hitSets(const TrackingRegion& region, OrderedMultiHits& result,
66  const edm::EventSetup& es,
67  const HitDoublets& doublets,
68  const RecHitsSortedInPhi **thirdHitMap,
69  const std::vector<const DetLayer *>& thirdLayerDetLayer,
70  const int nThirdLayers,
71  cacheHits& refittedHitStorage);
72 private:
74 
75  void refit2Hits(HitOwnPtr & hit0,
76  HitOwnPtr & hit1,
79  const TrackingRegion& region, float nomField, bool isDebug);
80  /*
81  void refit3Hits(HitOwnPtr & hit0,
82  HitOwnPtr & hit1,
83  HitOwnPtr & hit2,
84  TrajectoryStateOnSurface& tsos0,
85  TrajectoryStateOnSurface& tsos1,
86  TrajectoryStateOnSurface& tsos2,
87  float nomField, bool isDebug);
88  */
89 private:
93 
97  float extraZKDBox;
98  float extraRKDBox;
100  float dphi;
102  UniformMagneticField ufield = 0.;
103  float nomField;
106  double maxChi2;
107  std::vector<double> pt_interv;
108  std::vector<double> chi2_cuts;
109  bool refitHits;
112 
115 
116  std::vector<int> detIdsToDebug;
117 
118 
119 
120 };
121 #endif
122 
123 
#define dso_hidden
TkTransientTrackingRecHitBuilder const * builder
const ClusterShapeHitFilter * filter
bool ev
virtual void initES(const edm::EventSetup &es)=0
CombinedMultiHitGenerator::LayerCacheType LayerCacheType
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()
virtual void hitTriplets(const TrackingRegion &region, OrderedMultiHits &result, const edm::EventSetup &es, const HitDoublets &doublets, const RecHitsSortedInPhi **thirdHitMap, const std::vector< const DetLayer * > &thirdLayerDetLayer, const int nThirdLayers)=0
static void fillDescriptions(edm::ParameterSetDescription &desc)