14 ts_to_ns_( iConfig.getParameter<double>(
"timeSliceNs" ) )
20 for (
const auto& vec : input ) {
23 if ( detid.channel() > 20 )
continue;
32 edm::LogWarning(
"CTPPSDiamondRecHitProducerAlgorithm") <<
"The geometry element for " << detid <<
" has no parents. Check the geometry hierarchy!";
34 z_pos = det->
parents()[det->
parents().size()-1].absTranslation().z();
36 const float x_width = 2.0 * det->
params().at( 0 ),
37 y_width = 2.0 * det->
params().at( 1 ),
38 z_width = 2.0 * det->
params().at( 2 );
42 for (
const auto& digi : vec ) {
43 if ( digi.getLeadingEdge() == 0 && digi.getTrailingEdge() == 0 )
continue;
45 const int t = digi.getLeadingEdge();
46 const int t0 = t % 1024;
50 if ( t != 0 && digi.getTrailingEdge() != 0 ) tot = ( (
int)digi.getTrailingEdge() ) - t;
57 digi.getHPTDCErrorFlags(),
58 digi.getMultipleHit() ) );
void push_back(const T &t)
Reconstructed hit in diamond detectors.
static std::string const input
reference find_or_insert(det_id_type id)
const DetGeomDesc * getSensor(unsigned int id) const
returns geometry of a detector performs necessary checks, returns NULL if fails
void build(const CTPPSGeometry *, const edm::DetSetVector< CTPPSDiamondDigi > &, edm::DetSetVector< CTPPSDiamondRecHit > &)
double ts_to_ns_
Conversion constant between HPTDC time slice and absolute time (in ns)
Geometrical description of a sensor.
virtual std::vector< DDExpandedNode > parents() const
returns all the components below
DDTranslation translation() const
The manager class for TOTEM RP geometry.
static constexpr int TIMESLICE_WITHOUT_LEADING
std::vector< double > params() const
CTPPSDiamondRecHitProducerAlgorithm(const edm::ParameterSet &conf)
Detector ID class for CTPPS Timing Diamond detectors. Bits [19:31] : Assigend in CTPPSDetId Calss Bit...