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 {
42  public:
44 
45 
47 
48  ~CtfSpecialSeedGenerator() override;//{};
49 
50  void beginRun(edm::Run const&, edm::EventSetup const&) override;
51  void endRun(edm::Run const&, edm::EventSetup const&) override;
52 
53  void produce(edm::Event& e, const edm::EventSetup& c) override;
54 
55  private:
56 
57  bool run(const edm::EventSetup& c,
58  const edm::Event& e,
60 
61  bool buildSeeds(const edm::EventSetup& iSetup,
62  const edm::Event& e,
63  const OrderedSeedingHits& osh,
64  const NavigationDirection& navdir,
67  //checks that the hits used are at positive y and are on different layers
68  bool preliminaryCheck(const SeedingHitSet& shs, const edm::EventSetup& es);
69  //We can check if the seed points in a region covered by scintillators. To be used only in noB case
70  //because it uses StraightLinePropagation
71  bool postCheck(const TrajectorySeed& seed);
72 
73  private:
78  //edm::ESHandle<SeedCleaner> theCleaner;
79  //OrderedHitsGenerator* hitsGeneratorOutIn;
80  //OrderedHitsGenerator* hitsGeneratorInOut;
81  //PropagationDirection inOutPropagationDirection;
82  //PropagationDirection outInPropagationDirection;
83  //GenericPairOrTripletGenerator* hitsGeneratorOutIn;
84  //GenericPairOrTripletGenerator* hitsGeneratorInOut;
85  std::vector<std::unique_ptr<OrderedHitsGenerator> > theGenerators;
86  std::vector<PropagationDirection> thePropDirs;
87  std::vector<NavigationDirection> theNavDirs;
88  std::unique_ptr<TrackingRegionProducer> theRegionProducer;
89  //TrajectoryStateTransform theTransformer;
90  std::unique_ptr<SeedFromGenericPairOrTriplet> theSeedBuilder;
95  int32_t theMaxSeeds;
97 };
98 #endif
99 
100 
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
dbl *** dir
Definition: mlp_gen.cc:35
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