CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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  virtual ~CtfSpecialSeedGenerator();//{};
49 
50  virtual void beginRun(edm::Run const&, edm::EventSetup const&) override;
51  virtual void endRun(edm::Run const&, edm::EventSetup const&) override;
52 
53  virtual 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;
89  //TrajectoryStateTransform theTransformer;
95  int32_t theMaxSeeds;
97 };
98 #endif
99 
100 
SeedFromGenericPairOrTriplet * theSeedBuilder
BoundPlane::BoundPlanePointer lowerScintillator
TrackingRegionProducer * theRegionProducer
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)
bool postCheck(const TrajectorySeed &seed)
virtual void produce(edm::Event &e, const edm::EventSetup &c) override
virtual 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
virtual 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:43