12 #ifdef VERIFY_PH2_TK_CLUS 40 #ifdef VERIFY_PH2_TK_CLUS 41 std::unique_ptr< Phase2TrackerClusterizerAlgorithm > clusterizer_;
53 #ifdef VERIFY_PH2_TK_CLUS
57 produces< Phase2TrackerCluster1DCollectionNew >();
70 event.getByToken(
token_, digis);
72 #ifdef VERIFY_PH2_TK_CLUS 78 auto outputClustersOld = std::make_unique<Phase2TrackerCluster1DCollectionNew>();
80 auto outputClusters = std::make_unique<Phase2TrackerCluster1DCollectionNew>();
83 for (
auto DSViter : *digis) {
84 DetId detId(DSViter.detId());
88 algo.clusterizeDetUnit(DSViter,
clusters);
91 #ifdef VERIFY_PH2_TK_CLUS 95 if (!pixDet) assert(0);
101 clusterizer_->setup(pixDet);
105 clusterizer_->clusterizeDetUnit(DSViter, clustersOld);
106 if (clustersOld.empty()) clustersOld.
abort();
108 if (
clusters.size() != clustersOld.size()) {
109 std::cout <<
"SIZEs " <<
int(detId) <<
' ' <<
clusters.size() <<
' ' << clustersOld.size() << std::endl;
110 for (
auto const &
cl :
clusters)
std::cout <<
cl.size() <<
' ' <<
cl.threshold() <<
' ' <<
cl.firstRow() <<
' ' <<
cl.column() << std::endl;
112 for (
auto const &
cl : clustersOld)
std::cout <<
cl.size() <<
' ' <<
cl.threshold() <<
' ' <<
cl.firstRow() <<
' ' <<
cl.column() << std::endl;
118 #ifdef VERIFY_PH2_TK_CLUS 120 assert(outputClusters->dataSize()==outputClustersOld->dataSize());
121 for (
auto i=0
U;
i<outputClusters->dataSize(); ++
i) {
122 assert(outputClusters->data()[
i].size() == outputClustersOld->data()[
i].size());
123 assert(outputClusters->data()[
i].threshold() == outputClustersOld->data()[
i].threshold());
124 assert(outputClusters->data()[
i].firstRow() == outputClustersOld->data()[
i].firstRow());
125 assert(outputClusters->data()[
i].column() == outputClustersOld->data()[
i].column());
130 outputClusters->shrink_to_fit();
const TrackerGeomDet * idToDetUnit(DetId) const
Return the pointer to the GeomDetUnit corresponding to a given DetId.
#define DEFINE_FWK_MODULE(type)
virtual ~Phase2TrackerClusterizer()
edm::EDGetTokenT< edm::DetSetVector< Phase2TrackerDigi > > token_
Phase2TrackerClusterizer(const edm::ParameterSet &conf)
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
virtual void produce(edm::Event &event, const edm::EventSetup &eventSetup) override