CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MultiHitGeneratorFromChi2.h
Go to the documentation of this file.
1 #ifndef MultiHitGeneratorFromChi2_H
2 #define MultiHitGeneratorFromChi2_H
3 
18 
21 
22 
23 #include <utility>
24 #include <vector>
25 
26 
28 
30 
31 public:
33 
34  virtual ~MultiHitGeneratorFromChi2() { delete thePairGenerator; }
35 
36  void init( const HitPairGenerator & pairs, LayerCacheType* layerCache) override;
37 
38  void initES(const edm::EventSetup& es) override;
39 
41  std::vector<SeedingLayerSetsHits::SeedingLayer> thirdLayers) override;
42 
43  virtual void hitSets( const TrackingRegion& region, OrderedMultiHits & trs,
44  const edm::Event & ev, const edm::EventSetup& es);
45 
46  const HitPairGenerator & pairGenerator() const { return *thePairGenerator; }
47 
48 private:
50 
51  bool checkPhiInRange(float phi, float phi1, float phi2) const;
52  std::pair<float,float> mergePhiRanges(
53  const std::pair<float,float> &r1, const std::pair<float,float> &r2) const;
54 
55  void refit2Hits(HitOwnPtr & hit0,
56  HitOwnPtr & hit1,
59  const TrackingRegion& region, float nomField, bool isDebug);
60  /*
61  void refit3Hits(HitOwnPtr & hit0,
62  HitOwnPtr & hit1,
63  HitOwnPtr & hit2,
64  TrajectoryStateOnSurface& tsos0,
65  TrajectoryStateOnSurface& tsos1,
66  TrajectoryStateOnSurface& tsos2,
67  float nomField, bool isDebug);
68  */
69 private:
71  std::vector<SeedingLayerSetsHits::SeedingLayer> theLayers;
76 
80  float extraZKDBox;
81  float extraRKDBox;
83  float dphi;
85  float nomField;
88  double maxChi2;
89  std::vector<double> pt_interv;
90  std::vector<double> chi2_cuts;
91  bool refitHits;
92  bool debug;
95 
98 
99  std::vector<int> detIdsToDebug;
100 
101 
102 
103 };
104 #endif
105 
106 
#define dso_hidden
virtual void setSeedingLayers(SeedingLayerSetsHits::SeedingLayerSet pairLayers, std::vector< SeedingLayerSetsHits::SeedingLayer > thirdLayers)=0
tuple cfg
Definition: looper.py:259
virtual void hitSets(const TrackingRegion &reg, OrderedMultiHits &prs, const edm::EventSetup &es)
TkTransientTrackingRecHitBuilder const * builder
const ClusterShapeHitFilter * filter
bool ev
virtual void init(const HitPairGenerator &pairs, LayerCacheType *layerCache)=0
std::vector< SeedingLayerSetsHits::SeedingLayer > theLayers
virtual void initES(const edm::EventSetup &es)=0
CombinedMultiHitGenerator::LayerCacheType LayerCacheType
const HitPairGenerator & pairGenerator() const
static const float fnSigmaRZ