CMS 3D CMS Logo

SimpleCosmicBONSeeder.h
Go to the documentation of this file.
1 #ifndef SimpleCosmicBONSeeder_h
2 #define SimpleCosmicBONSeeder_h
3 
13 
19 
24 
30 
38 
40 
42 public:
43  explicit SimpleCosmicBONSeeder(const edm::ParameterSet &conf);
44 
45  ~SimpleCosmicBONSeeder() override {}
46 
47  void produce(edm::Event &e, const edm::EventSetup &c) override;
48 
49  void init(const edm::EventSetup &c);
50  bool triplets(const edm::Event &e);
52  void done();
53 
54  bool goodTriplet(const GlobalPoint &inner,
55  const GlobalPoint &middle,
56  const GlobalPoint &outer,
57  const double &minRho) const;
58 
59  std::pair<GlobalVector, int> pqFromHelixFit(const GlobalPoint &inner,
60  const GlobalPoint &middle,
61  const GlobalPoint &outer) const;
62 
63 private:
69  double pMin_;
71 
73  double rescaleError_;
74 
76 
79  TkClonerImpl cloner; // FIXME
83 
86 
88 
89  int goodHitsPerSeed_; // number of hits that must be good
90  bool checkCharge_; // check cluster charge
92  std::vector<int32_t> chargeThresholds_;
94  std::vector<int32_t> maxHitsPerModule_;
95  bool checkCharge(const TrackingRecHit *hit) const;
96  bool checkCharge(const SiStripRecHit2D &hit, int subdetid) const;
97  void checkNoisyModules(const std::vector<SeedingHitSet::ConstRecHitPointer> &hits, std::vector<bool> &oks) const;
98 
99  //***top-bottom
102  //***
103 };
104 
105 #endif
GlobalTrackingRegion region_
void init(const edm::EventSetup &c)
bool checkCharge(const TrackingRecHit *hit) const
const TrackerGeometry * tracker
const edm::EDGetTokenT< SeedingLayerSetsHits > seedingLayerToken_
OrderedHitTriplets hitTriplets
std::pair< GlobalVector, int > pqFromHelixFit(const GlobalPoint &inner, const GlobalPoint &middle, const GlobalPoint &outer) const
bool seeds(TrajectorySeedCollection &output)
SimpleCosmicBONSeeder(const edm::ParameterSet &conf)
std::vector< TrajectorySeed > TrajectorySeedCollection
bool triplets(const edm::Event &e)
PropagatorWithMaterial * thePropagatorOp
void checkNoisyModules(const std::vector< SeedingHitSet::ConstRecHitPointer > &hits, std::vector< bool > &oks) const
bool goodTriplet(const GlobalPoint &inner, const GlobalPoint &middle, const GlobalPoint &outer, const double &minRho) const
const MagneticField * magfield
PropagatorWithMaterial * thePropagatorAl
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerToken_
void produce(edm::Event &e, const edm::EventSetup &c) override
std::vector< int32_t > chargeThresholds_
std::vector< int32_t > maxHitsPerModule_
const edm::ESGetToken< TransientTrackingRecHitBuilder, TransientRecHitRecord > ttrhBuilderToken_
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magfieldToken_