CMS 3D CMS Logo

CtfSpecialSeedGenerator.h
Go to the documentation of this file.
1 #ifndef CtfSpecialSeedGenerator_H
2 #define CtfSpecialSeedGenerator_H
3 
8 //FWK
14 //DataFormats
18 //RecoTracker
26 //#include "RecoTracker/SpecialSeedGenerators/interface/GenericPairOrTripletGenerator.h"
27 //#include "RecoTracker/SpecialSeedGenerators/interface/SeedCleaner.h"
28 //MagneticField
30 //TrackingTools
34 //Geometry
37 
38 #include <map>
39 
41 public:
43 
45 
46  ~CtfSpecialSeedGenerator() override; //{};
47 
48  void beginRun(edm::Run const&, edm::EventSetup const&) override;
49  void endRun(edm::Run const&, edm::EventSetup const&) override;
50 
51  void produce(edm::Event& e, const edm::EventSetup& c) override;
52 
53 private:
55 
56  bool buildSeeds(const edm::EventSetup& iSetup,
57  const edm::Event& e,
58  const OrderedSeedingHits& osh,
59  const NavigationDirection& navdir,
62  //checks that the hits used are at positive y and are on different layers
63  bool preliminaryCheck(const SeedingHitSet& shs, const edm::EventSetup& es);
64  //We can check if the seed points in a region covered by scintillators. To be used only in noB case
65  //because it uses StraightLinePropagation
66  bool postCheck(const TrajectorySeed& seed);
67 
68 private:
73  //edm::ESHandle<SeedCleaner> theCleaner;
74  //OrderedHitsGenerator* hitsGeneratorOutIn;
75  //OrderedHitsGenerator* hitsGeneratorInOut;
76  //PropagationDirection inOutPropagationDirection;
77  //PropagationDirection outInPropagationDirection;
78  //GenericPairOrTripletGenerator* hitsGeneratorOutIn;
79  //GenericPairOrTripletGenerator* hitsGeneratorInOut;
80  std::vector<std::unique_ptr<OrderedHitsGenerator> > theGenerators;
81  std::vector<PropagationDirection> thePropDirs;
82  std::vector<NavigationDirection> theNavDirs;
83  std::unique_ptr<TrackingRegionProducer> theRegionProducer;
84  //TrajectoryStateTransform theTransformer;
85  std::unique_ptr<SeedFromGenericPairOrTriplet> theSeedBuilder;
90  int32_t theMaxSeeds;
92 };
93 #endif
std::unique_ptr< SeedFromGenericPairOrTriplet > theSeedBuilder
std::unique_ptr< TrackingRegionProducer > theRegionProducer
BoundPlane::BoundPlanePointer lowerScintillator
bool run(const edm::EventSetup &c, const edm::Event &e, TrajectorySeedCollection &output)
PropagationDirection
bool buildSeeds(const edm::EventSetup &iSetup, const edm::Event &e, const OrderedSeedingHits &osh, const NavigationDirection &navdir, const PropagationDirection &dir, TrajectorySeedCollection &output)
TrajectoryStateOnSurface TSOS
CtfSpecialSeedGenerator(const edm::ParameterSet &conf)
BoundPlane::BoundPlanePointer upperScintillator
std::vector< TrajectorySeed > TrajectorySeedCollection
bool preliminaryCheck(const SeedingHitSet &shs, const edm::EventSetup &es)
~CtfSpecialSeedGenerator() override
bool postCheck(const TrajectorySeed &seed)
void produce(edm::Event &e, const edm::EventSetup &c) override
void beginRun(edm::Run const &, edm::EventSetup const &) override
edm::ESHandle< MagneticField > theMagfield
edm::ESHandle< TrackerGeometry > theTracker
edm::ESHandle< TransientTrackingRecHitBuilder > theBuilder
void endRun(edm::Run const &, edm::EventSetup const &) override
std::vector< NavigationDirection > theNavDirs
std::vector< std::unique_ptr< OrderedHitsGenerator > > theGenerators
std::vector< PropagationDirection > thePropDirs
Definition: Run.h:45