Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 10:00:47

0001 #ifndef RecoSelectors_PixelClusterSelectorTopBottom_h
0002 #define RecoSelectors_PixelClusterSelectorTopBottom_h
0003 
0004 /* \class PixelClusterSelectorTopBottom
0005 *
0006 * \author Giuseppe Cerati, INFN
0007 *
0008 *
0009 */
0010 
0011 #include "DataFormats/SiPixelCluster/interface/SiPixelCluster.h"
0012 
0013 #include "FWCore/Framework/interface/global/EDProducer.h"
0014 #include "FWCore/Framework/interface/Event.h"
0015 #include "DataFormats/Common/interface/Handle.h"
0016 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0017 
0018 #include "DataFormats/SiPixelCluster/interface/SiPixelCluster.h"
0019 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
0020 #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
0021 #include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h"
0022 #include "Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h"
0023 #include "DataFormats/DetId/interface/DetId.h"
0024 #include "FWCore/Utilities/interface/InputTag.h"
0025 
0026 class PixelClusterSelectorTopBottom : public edm::global::EDProducer<> {
0027 public:
0028   explicit PixelClusterSelectorTopBottom(const edm::ParameterSet& cfg)
0029       : tTrackerGeom_(esConsumes<TrackerGeometry, TrackerDigiGeometryRecord>()),
0030         token_(consumes<SiPixelClusterCollectionNew>(cfg.getParameter<edm::InputTag>("label"))),
0031         y_(cfg.getParameter<double>("y")) {
0032     produces<SiPixelClusterCollectionNew>();
0033   }
0034 
0035   void produce(edm::StreamID, edm::Event& event, const edm::EventSetup& setup) const override;
0036 
0037 private:
0038   edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> const tTrackerGeom_;
0039   edm::EDGetTokenT<SiPixelClusterCollectionNew> token_;
0040   double y_;
0041 };
0042 
0043 #endif