Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-02-18 08:23:35

0001 #ifndef __L1Trigger_L1THGCal_HGCalHistoCluteringConfig_SA_h__
0002 #define __L1Trigger_L1THGCal_HGCalHistoCluteringConfig_SA_h__
0003 
0004 #include <vector>
0005 
0006 namespace l1thgcfirmware {
0007 
0008   class ClusterAlgoConfig {
0009   public:
0010     ClusterAlgoConfig(const double midRadius,
0011                       const double dr,
0012                       const std::vector<double>& dr_byLayer_coefficientA,
0013                       const std::vector<double>& dr_byLayer_coefficientB,
0014                       const float ptC3dThreshold)
0015         : midRadius_(midRadius),
0016           dr_(dr),
0017           dr_byLayer_coefficientA_(dr_byLayer_coefficientA),
0018           dr_byLayer_coefficientB_(dr_byLayer_coefficientB),
0019           ptC3dThreshold_(ptC3dThreshold) {}
0020 
0021     void setParameters(double midRadius,
0022                        double dr,
0023                        const std::vector<double>& dr_byLayer_coefficientA,
0024                        const std::vector<double>& dr_byLayer_coefficientB,
0025                        float ptC3dThreshold) {
0026       midRadius_ = midRadius;
0027       dr_ = dr;
0028       dr_byLayer_coefficientA_ = dr_byLayer_coefficientA;
0029       dr_byLayer_coefficientB_ = dr_byLayer_coefficientB;
0030       ptC3dThreshold_ = ptC3dThreshold;
0031     }
0032 
0033     void setParameters(const ClusterAlgoConfig& newConfig) {
0034       setParameters(newConfig.midRadius(),
0035                     newConfig.dr(),
0036                     newConfig.dr_byLayer_coefficientA(),
0037                     newConfig.dr_byLayer_coefficientB(),
0038                     newConfig.ptC3dThreshold());
0039     }
0040     double midRadius() const { return midRadius_; }
0041     double dr() const { return dr_; }
0042     const std::vector<double>& dr_byLayer_coefficientA() const { return dr_byLayer_coefficientA_; }
0043     const std::vector<double>& dr_byLayer_coefficientB() const { return dr_byLayer_coefficientB_; }
0044     float ptC3dThreshold() const { return ptC3dThreshold_; }
0045 
0046   private:
0047     double midRadius_;
0048     double dr_;
0049     std::vector<double> dr_byLayer_coefficientA_;
0050     std::vector<double> dr_byLayer_coefficientB_;
0051     float ptC3dThreshold_;
0052   };
0053 
0054 }  // namespace l1thgcfirmware
0055 
0056 #endif