CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_9/src/RecoTracker/SpecialSeedGenerators/interface/SeedGeneratorForCosmics.h

Go to the documentation of this file.
00001 #ifndef SeedGeneratorForCosmics_H
00002 #define SeedGeneratorForCosmics_H
00003 
00008 #include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"    
00009 #include "RecoTracker/TkTrackingRegions/interface/GlobalTrackingRegion.h"
00010 //#include "RecoTracker/SpecialSeedGenerators/interface/SeedGeneratorFromLayerPairs.h"
00011 #include "FWCore/Framework/interface/EventSetup.h"
00012 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00013 #include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2DCollection.h"
00014 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2DCollection.h"
00015 #include "RecoTracker/TkHitPairs/interface/CosmicHitPairGenerator.h"
00016 #include "MagneticField/Engine/interface/MagneticField.h"
00017 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
00018 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateTransform.h"
00019 #include "TrackingTools/MaterialEffects/interface/PropagatorWithMaterial.h"
00020 #include "TrackingTools/KalmanUpdators/interface/KFUpdator.h"
00021 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h"
00022 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHitBuilder.h"
00023 #include "RecoPixelVertexing/PixelTriplets/interface/CosmicHitTripletGenerator.h"
00024 class PixelSeedLayerPairs;
00025 
00026 class SeedGeneratorForCosmics{
00027  public:
00028   typedef TrajectoryStateOnSurface TSOS;
00029   SeedGeneratorForCosmics(const edm::ParameterSet& conf);
00030   virtual ~SeedGeneratorForCosmics(){};
00031   void init(const SiStripRecHit2DCollection &collstereo,
00032             const SiStripRecHit2DCollection &collrphi,
00033             const SiStripMatchedRecHit2DCollection &collmatched,
00034             const edm::EventSetup& c);
00035 
00036 
00037 
00038   void  run(TrajectorySeedCollection &,const edm::EventSetup& c);
00039   bool  seeds(TrajectorySeedCollection &output,
00040               const edm::EventSetup& c,
00041               const TrackingRegion& region);
00042  
00043  private:
00044   edm::ParameterSet conf_;
00045   int32_t           maxSeeds_;
00046   GlobalTrackingRegion region;
00047   CosmicHitPairGenerator* thePairGenerator;
00048   CosmicHitTripletGenerator* theTripletGenerator; 
00049   edm::ESHandle<MagneticField> magfield;
00050   edm::ESHandle<TrackerGeometry> tracker;
00051   
00052   KFUpdator *theUpdator;
00053   PropagatorWithMaterial  *thePropagatorAl;
00054   PropagatorWithMaterial  *thePropagatorOp;
00055   const TransientTrackingRecHitBuilder *TTTRHBuilder;
00056   std::string builderName;
00057   std::string geometry;
00058   std::string hitsforseeds;
00059   float seedpt;
00060   OrderedHitPairs HitPairs;
00061   OrderedHitTriplets HitTriplets;
00062 
00063   //***top-bottom
00064   bool positiveYOnly;
00065   bool negativeYOnly;
00066   //***
00067 };
00068 #endif
00069 
00070