00001 #ifndef CosmicLayerTriplets_H 00002 #define CosmicLayerTriplets_H 00003 00007 #include "Geometry/TrackerGeometryBuilder/interface/TrackerLayerIdAccessor.h" 00008 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2DCollection.h" 00009 #include "DataFormats/Common/interface/RangeMap.h" 00010 #include "FWCore/Framework/interface/EventSetup.h" 00011 #include "TrackingTools/DetLayers/interface/BarrelDetLayer.h" 00012 #include "TrackingTools/DetLayers/interface/ForwardDetLayer.h" 00013 #include "RecoTracker/TkHitPairs/interface/LayerWithHits.h" 00014 //#include "RecoTracker/TkDetLayers/interface/PixelForwardLayer.h" 00015 #include "RecoTracker/TkHitPairs/interface/SeedLayerPairs.h" 00016 00017 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2DCollection.h" 00018 #include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2DCollection.h" 00019 #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHitCollection.h" 00020 00021 00022 #include <vector> 00023 class CosmicLayerTriplets { 00024 public: 00025 CosmicLayerTriplets():isFirstCall(true){}; 00026 ~CosmicLayerTriplets(); 00027 // explicit PixelSeedLayerPairs(const edm::EventSetup& iSetup); 00028 typedef std::pair<SeedLayerPairs::LayerPair, std::vector<const LayerWithHits*> > LayerPairAndLayers; 00029 00030 00031 // virtual std::vector<LayerPair> operator()() const; 00032 // std::vector<LayerTriplet> operator()() ; 00033 std::vector<LayerPairAndLayers> layers(); 00034 00035 private: 00036 00037 //definition of the map 00038 00039 00040 TrackerLayerIdAccessor acc; 00041 00042 LayerWithHits *lh1; 00043 LayerWithHits *lh2; 00044 LayerWithHits *lh3; 00045 LayerWithHits *lh4; 00046 00047 std::vector<BarrelDetLayer*> bl; 00048 std::vector<ForwardDetLayer*> fpos; 00049 std::vector<ForwardDetLayer*> fneg; 00050 //MP 00051 std::vector<LayerWithHits*> allLayersWithHits; 00052 bool isFirstCall; 00053 public: 00054 00055 void init(const SiStripRecHit2DCollection &collstereo, 00056 const SiStripRecHit2DCollection &collrphi, 00057 const SiStripMatchedRecHit2DCollection &collmatched, 00058 std::string geometry, 00059 const edm::EventSetup& iSetup); 00060 00061 private: 00062 std::string _geometry; 00063 }; 00064 00065 00066 00067 00068 #endif