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 #include <utility>
24 #include <vector>
25 
27 
30 
31 public:
33 
34  ~MultiHitGeneratorFromChi2() override;
35 
37  static const char* fillDescriptionsLabel() { return "multiHitFromChi2"; }
38 
39  void initES(const edm::EventSetup& es) override;
40 
41  void hitSets(const TrackingRegion& region,
42  OrderedMultiHits& trs,
43  const edm::Event& ev,
44  const edm::EventSetup& es,
46  std::vector<SeedingLayerSetsHits::SeedingLayer> thirdLayers) override;
47 
48  void hitSets(const TrackingRegion& region,
49  OrderedMultiHits& trs,
50  const edm::Event& ev,
51  const edm::EventSetup& es,
52  const HitDoublets& doublets,
53  const std::vector<SeedingLayerSetsHits::SeedingLayer>& thirdLayers,
54  LayerCacheType& layerCache,
55  cacheHits& refittedHitStorage);
56 
57  void hitTriplets(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,
66  OrderedMultiHits& result,
67  const edm::EventSetup& es,
68  const HitDoublets& doublets,
69  const RecHitsSortedInPhi** thirdHitMap,
70  const std::vector<const DetLayer*>& thirdLayerDetLayer,
71  const int nThirdLayers,
72  cacheHits& refittedHitStorage);
73 
74 private:
76 
77  void refit2Hits(HitOwnPtr& hit0,
78  HitOwnPtr& hit1,
81  const TrackingRegion& region,
82  float nomField,
83  bool isDebug);
84  /*
85  void refit3Hits(HitOwnPtr & hit0,
86  HitOwnPtr & hit1,
87  HitOwnPtr & hit2,
88  TrajectoryStateOnSurface& tsos0,
89  TrajectoryStateOnSurface& tsos1,
90  TrajectoryStateOnSurface& tsos2,
91  float nomField, bool isDebug);
92  */
93 private:
97 
101  float extraZKDBox;
102  float extraRKDBox;
104  float dphi;
106  UniformMagneticField ufield = 0.;
107  float nomField;
110  double maxChi2;
111  std::vector<double> pt_interv;
112  std::vector<double> chi2_cuts;
113  bool refitHits;
116 
119 
120  std::vector<int> detIdsToDebug;
121 };
122 #endif
TkTransientTrackingRecHitBuilder const * builder
const ClusterShapeHitFilter * filter
bool ev
virtual void initES(const edm::EventSetup &es)=0
CombinedMultiHitGenerator::LayerCacheType LayerCacheType
#define dso_hidden
Definition: Visibility.h:12
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)