43 produces<MTDTrackingDetSetVector>();
51 descriptions.
add(
"mtdTrackingRecHitProducer", desc);
65 std::array<edm::Handle<FTLClusterCollection>, 2> inputHandle{{inputBarrel, inputEndcap}};
67 auto outputhits = std::make_unique<MTDTrackingDetSetVector>();
68 auto& theoutputhits = *outputhits;
75 for (
auto const& theInput : inputHandle) {
78 LogDebug(
"MTDTrackingRecHitProducer") <<
"inputCollection " << input.
size();
79 for (
const auto& DSVit : input) {
80 unsigned int detid = DSVit.detId();
81 DetId detIdObject(detid);
82 const auto genericDet =
geom.idToDetUnit(detIdObject);
83 if (genericDet ==
nullptr) {
85 <<
"GeographicalID: " << std::hex << detid <<
" is invalid!" <<
std::dec << std::endl;
90 for (
const auto& clustIt : DSVit) {
91 LogDebug(
"MTDTrackingRcHitProducer") <<
"Cluster: size " << clustIt.size() <<
" " << clustIt.x() <<
","
92 << clustIt.y() <<
" " << clustIt.energy() <<
" " << clustIt.time();
101 LogDebug(
"MTDTrackingRcHitProducer")
109 LogDebug(
"MTDTrackingRcHitProducer") <<
"outputCollection " << theoutputhits.size();
edm::Ref< typename HandleT::element_type, typename HandleT::element_type::value_type::value_type > makeRefTo(const HandleT &iHandle, typename HandleT::element_type::value_type::const_iterator itIter)
void push_back(data_type const &d)
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
const edm::EDGetTokenT< FTLClusterCollection > ftlbClusters_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
const edm::EDGetTokenT< FTLClusterCollection > ftleClusters_
~MTDTrackingRecHitProducer() override=default
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
static std::string const input
bool getData(T &iHolder) const
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void produce(edm::StreamID, edm::Event &evt, const edm::EventSetup &es) const override
LocalError localPositionError() const override
MTDTrackingRecHitProducer(const edm::ParameterSet &ps)
A 2D TrackerRecHit with time and time error information.
void add(std::string const &label, ParameterSetDescription const &psetDescription)
LocalPoint localPosition() const override
const edm::ESGetToken< MTDGeometry, MTDDigiGeometryRecord > mtdgeoToken_
const edm::ESGetToken< MTDClusterParameterEstimator, MTDCPERecord > cpeToken_
std::tuple< LocalPoint, LocalError, TimeValue, TimeValueError > ReturnType