Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-09-27 04:04:52

0001 #ifndef SeedGeneratorForCRack_H
0002 #define SeedGeneratorForCRack_H
0003 
0004 #include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
0005 #include "RecoTracker/TkTrackingRegions/interface/GlobalTrackingRegion.h"
0006 //#include "RecoTracker/SpecialSeedGenerators/interface/SeedGeneratorFromLayerPairs.h"
0007 #include "FWCore/Framework/interface/EventSetup.h"
0008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0009 #include "FWCore/Framework/interface/ConsumesCollector.h"
0010 #include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2DCollection.h"
0011 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2DCollection.h"
0012 #include "RecoTracker/TkHitPairs/interface/CosmicHitPairGenerator.h"
0013 #include "MagneticField/Engine/interface/MagneticField.h"
0014 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
0015 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateTransform.h"
0016 #include "TrackingTools/MaterialEffects/interface/PropagatorWithMaterial.h"
0017 #include "TrackingTools/KalmanUpdators/interface/KFUpdator.h"
0018 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h"
0019 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHitBuilder.h"
0020 class PixelSeedLayerPairs;
0021 class GeometricSearchTracker;
0022 class TrackerRecoGeometryRecord;
0023 class TransientRecHitRecord;
0024 
0025 class SeedGeneratorForCRack {
0026 public:
0027   typedef TrajectoryStateOnSurface TSOS;
0028   SeedGeneratorForCRack(const edm::ParameterSet &conf, edm::ConsumesCollector);
0029   virtual ~SeedGeneratorForCRack(){};
0030   void init(const SiStripRecHit2DCollection &collstereo,
0031             const SiStripRecHit2DCollection &collrphi,
0032             const SiStripMatchedRecHit2DCollection &collmatched,
0033             const edm::EventSetup &c);
0034 
0035   void run(TrajectorySeedCollection &, const edm::EventSetup &c);
0036   void seeds(TrajectorySeedCollection &output, const edm::EventSetup &c, const TrackingRegion &region);
0037 
0038 private:
0039   // es tokens
0040   const edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> theMagfieldToken;
0041   const edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> theTrackerToken;
0042   const edm::ESGetToken<GeometricSearchTracker, TrackerRecoGeometryRecord> theSearchTrackerToken;
0043   const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> theTTopoToken;
0044   const edm::ESGetToken<TransientTrackingRecHitBuilder, TransientRecHitRecord> theTTRHToken;
0045 
0046   GlobalTrackingRegion region;
0047   CosmicHitPairGenerator *thePairGenerator;
0048   edm::ESHandle<MagneticField> magfield;
0049   edm::ESHandle<TrackerGeometry> tracker;
0050 
0051   KFUpdator *theUpdator;
0052   PropagatorWithMaterial *thePropagatorAl;
0053   PropagatorWithMaterial *thePropagatorOp;
0054   const TransientTrackingRecHitBuilder *TTTRHBuilder;
0055   std::string geometry;
0056   float seedpt;
0057   OrderedHitPairs HitPairs;
0058   float multipleScatteringFactor;
0059   double seedMomentum;
0060 };
0061 #endif