00001 #ifndef CosmicLayerPairs_H
00002 #define CosmicLayerPairs_H
00003
00007 #include "Geometry/TrackerGeometryBuilder/interface/TrackerLayerIdAccessor.h"
00008 #include "RecoTracker/TkHitPairs/interface/SeedLayerPairs.h"
00009 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2DCollection.h"
00010 #include "DataFormats/Common/interface/RangeMap.h"
00011 #include "FWCore/Framework/interface/EventSetup.h"
00012 #include "TrackingTools/DetLayers/interface/BarrelDetLayer.h"
00013 #include "TrackingTools/DetLayers/interface/ForwardDetLayer.h"
00014 #include "RecoTracker/TkHitPairs/interface/LayerWithHits.h"
00015
00016 #include "RecoTracker/TkDetLayers/interface/TOBLayer.h"
00017 #include "RecoTracker/TkDetLayers/interface/TIBLayer.h"
00018 #include <vector>
00019 class CosmicLayerPairs : public SeedLayerPairs{
00020 public:
00021 CosmicLayerPairs(std::string geometry):_geometry(geometry){};
00022 ~CosmicLayerPairs();
00023
00024
00025
00026
00027
00028 std::vector<SeedLayerPairs::LayerPair> operator()() ;
00029 void init(const SiStripRecHit2DCollection &collstereo,
00030 const SiStripRecHit2DCollection &collrphi,
00031 const SiStripMatchedRecHit2DCollection &collmatched,
00032
00033 const edm::EventSetup& iSetup);
00034
00035 private:
00036
00037
00038 std::string _geometry;
00039
00040 std::vector<BarrelDetLayer*> bl;
00041 std::vector<ForwardDetLayer*> fpos;
00042 std::vector<ForwardDetLayer*> fneg;
00043 edm::OwnVector<LayerWithHits> TECPlusLayerWithHits;
00044 edm::OwnVector<LayerWithHits> TECMinusLayerWithHits;
00045 edm::OwnVector<LayerWithHits> TIBLayerWithHits;
00046 edm::OwnVector<LayerWithHits> TOBLayerWithHits;
00047 edm::OwnVector<LayerWithHits> MTCCLayerWithHits;
00048 edm::OwnVector<LayerWithHits> CRACKLayerWithHits;
00049
00050 std::vector<const TrackingRecHit*> selectTECHit(const SiStripRecHit2DCollection &collrphi,
00051 int side,
00052 int disk);
00053 std::vector<const TrackingRecHit*> selectTIBHit(const SiStripRecHit2DCollection &collrphi,
00054 int layer);
00055 std::vector<const TrackingRecHit*> selectTOBHit(const SiStripRecHit2DCollection &collrphi,
00056 int layer);
00057 std::vector<const TrackingRecHit*> selectTECHit(const SiStripMatchedRecHit2DCollection &collmatch,
00058 int side,
00059 int disk);
00060 std::vector<const TrackingRecHit*> selectTIBHit(const SiStripMatchedRecHit2DCollection &collmatch,
00061 int layer);
00062 std::vector<const TrackingRecHit*> selectTOBHit(const SiStripMatchedRecHit2DCollection &collmatch,
00063 int layer);
00064 };
00065
00066
00067
00068
00069 #endif