CMS 3D CMS Logo

PixelClusterSelectorTopBottom.cc
Go to the documentation of this file.
3 
5 
7  event.getByToken(token_, input);
8 
10  setup.get<TrackerDigiGeometryRecord>().get( geom );
11  const TrackerGeometry& theTracker( *geom );
12 
13  auto output = std::make_unique<SiPixelClusterCollectionNew>();
14 
15  for (SiPixelClusterCollectionNew::const_iterator clustSet = input->begin(); clustSet!=input->end(); ++clustSet) {
16  edmNew::DetSet<SiPixelCluster>::const_iterator clustIt = clustSet->begin();
18 
19  DetId detIdObject( clustSet->detId() );
21  const PixelGeomDetUnit* theGeomDet = dynamic_cast<const PixelGeomDetUnit*> (theTracker.idToDet(detIdObject) );
22  const PixelTopology * topol = (&(theGeomDet->specificTopology()));
23 
24  for(; clustIt!=end;++clustIt) {
25  LocalPoint lpclust = topol->localPosition(MeasurementPoint((*clustIt).x(),(*clustIt).y()));
26  GlobalPoint GPclust = theGeomDet->surface().toGlobal(Local3DPoint(lpclust.x(),lpclust.y(),lpclust.z()));
27  double clustY = GPclust.y();
28  if ((clustY * y_) > 0) {
29  spc.push_back(*clustIt);
30  }
31  }
32  }
33  event.put(std::move(output));
34 }
35 
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:106
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
const_iterator end(bool update=false) const
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:17
T y() const
Definition: PV3DBase.h:63
def setup(process, global_tag, zero_tesla=False)
Definition: GeneralSetup.py:1
data_type const * const_iterator
Definition: DetSetNew.h:30
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:42
static std::string const input
Definition: EdmProvDump.cc:44
edm::EDGetTokenT< SiPixelClusterCollectionNew > token_
Measurement2DPoint MeasurementPoint
Measurement points are two-dimensional by default.
void produce(edm::StreamID, edm::Event &event, const edm::EventSetup &setup) const override
T z() const
Definition: PV3DBase.h:64
#define end
Definition: vmac.h:37
Point3DBase< float, LocalTag > Local3DPoint
Definition: LocalPoint.h:9
Definition: DetId.h:18
const T & get() const
Definition: EventSetup.h:55
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
virtual LocalPoint localPosition(const MeasurementPoint &) const =0
const TrackerGeomDet * idToDet(DetId) const override
T x() const
Definition: PV3DBase.h:62
def move(src, dest)
Definition: eostools.py:510
const_iterator begin(bool update=false) const
Definition: event.py:1