00001 #ifndef SeedGeneratorForCRack_H 00002 #define SeedGeneratorForCRack_H 00003 00004 #include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h" 00005 #include "RecoTracker/TkTrackingRegions/interface/GlobalTrackingRegion.h" 00006 //#include "RecoTracker/SpecialSeedGenerators/interface/SeedGeneratorFromLayerPairs.h" 00007 #include "FWCore/Framework/interface/EventSetup.h" 00008 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00009 #include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2DCollection.h" 00010 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2DCollection.h" 00011 #include "RecoTracker/TkHitPairs/interface/CosmicHitPairGenerator.h" 00012 #include "MagneticField/Engine/interface/MagneticField.h" 00013 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h" 00014 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateTransform.h" 00015 #include "TrackingTools/MaterialEffects/interface/PropagatorWithMaterial.h" 00016 #include "TrackingTools/KalmanUpdators/interface/KFUpdator.h" 00017 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h" 00018 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHitBuilder.h" 00019 class PixelSeedLayerPairs; 00020 00021 class SeedGeneratorForCRack{ 00022 public: 00023 typedef TrajectoryStateOnSurface TSOS; 00024 SeedGeneratorForCRack(const edm::ParameterSet& conf); 00025 virtual ~SeedGeneratorForCRack(){}; 00026 void init(const SiStripRecHit2DCollection &collstereo, 00027 const SiStripRecHit2DCollection &collrphi, 00028 const SiStripMatchedRecHit2DCollection &collmatched, 00029 const edm::EventSetup& c); 00030 00031 00032 00033 void run(TrajectorySeedCollection &,const edm::EventSetup& c); 00034 void seeds(TrajectorySeedCollection &output, 00035 const edm::EventSetup& c, 00036 const TrackingRegion& region); 00037 00038 private: 00039 edm::ParameterSet conf_; 00040 GlobalTrackingRegion region; 00041 CosmicHitPairGenerator* thePairGenerator; 00042 edm::ESHandle<MagneticField> magfield; 00043 edm::ESHandle<TrackerGeometry> tracker; 00044 TrajectoryStateTransform transformer; 00045 KFUpdator *theUpdator; 00046 PropagatorWithMaterial *thePropagatorAl; 00047 PropagatorWithMaterial *thePropagatorOp; 00048 const TransientTrackingRecHitBuilder *TTTRHBuilder; 00049 std::string builderName; 00050 std::string geometry; 00051 float seedpt; 00052 OrderedHitPairs HitPairs; 00053 float multipleScatteringFactor; 00054 double seedMomentum; 00055 }; 00056 #endif 00057 00058