CMS 3D CMS Logo

TotemTimingRecHitProducerAlgorithm.h
Go to the documentation of this file.
1 /****************************************************************************
2  *
3  * This is a part of CTPPS offline software.
4  * Authors:
5  * Laurent Forthomme (laurent.forthomme@cern.ch)
6  * Nicola Minafra
7  *
8  ****************************************************************************/
9 
10 #ifndef RecoCTPPS_TotemRPLocal_TotemTimingRecHitProducerAlgorithm
11 #define RecoCTPPS_TotemRPLocal_TotemTimingRecHitProducerAlgorithm
12 
14 
16 
20 
23 
25 
26 #include <memory>
27 
29 {
30  public:
32 
34  void build(const CTPPSGeometry&,
37 
38  private:
40  {
41  float m, q, rms;
42  RegressionResults() : m(0.), q(0.), rms(0.) {}
43  };
44 
45  RegressionResults simplifiedLinearRegression(const std::vector<float>& time,
46  const std::vector<float>& data,
47  const unsigned int start_at,
48  const unsigned int points) const;
49 
50  int fastDiscriminator(const std::vector<float>& data, float threshold) const;
51 
52  float constantFractionDiscriminator(const std::vector<float>& time,
53  const std::vector<float>& data);
54 
55  static constexpr float SINC_COEFFICIENT = M_PI*2 / 7.8;
56 
57  std::unique_ptr<TotemTimingConversions> sampicConversions_;
58 
62  double cfdFraction_;
65  double hysteresis_;
67 };
68 
69 #endif
70 
float constantFractionDiscriminator(const std::vector< float > &time, const std::vector< float > &data)
int fastDiscriminator(const std::vector< float > &data, float threshold) const
TotemTimingRecHitProducerAlgorithm(const edm::ParameterSet &conf)
void build(const CTPPSGeometry &, const edm::DetSetVector< TotemTimingDigi > &, edm::DetSetVector< TotemTimingRecHit > &)
RegressionResults simplifiedLinearRegression(const std::vector< float > &time, const std::vector< float > &data, const unsigned int start_at, const unsigned int points) const
#define M_PI
The manager class for TOTEM RP geometry.
Definition: CTPPSGeometry.h:33
std::unique_ptr< TotemTimingConversions > sampicConversions_
void setCalibration(const PPSTimingCalibration &)
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
#define constexpr