Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:01:59

0001 #ifndef CondFormats_CSCObjects_CSCL1TPLookupTableME21ILT_h
0002 #define CondFormats_CSCObjects_CSCL1TPLookupTableME21ILT_h
0003 
0004 #include "CondFormats/Serialization/interface/Serializable.h"
0005 #include <vector>
0006 
0007 class CSCL1TPLookupTableME21ILT {
0008 public:
0009   CSCL1TPLookupTableME21ILT();
0010 
0011   ~CSCL1TPLookupTableME21ILT() {}
0012 
0013   typedef std::vector<unsigned> t_lut;
0014 
0015   // setters
0016   void set_GEM_pad_CSC_es_ME21_even(t_lut lut);
0017   void set_GEM_pad_CSC_es_ME21_odd(t_lut lut);
0018 
0019   void set_GEM_roll_L1_CSC_min_wg_ME21_even(t_lut lut);
0020   void set_GEM_roll_L1_CSC_max_wg_ME21_even(t_lut lut);
0021   void set_GEM_roll_L1_CSC_min_wg_ME21_odd(t_lut lut);
0022   void set_GEM_roll_L1_CSC_max_wg_ME21_odd(t_lut lut);
0023 
0024   void set_GEM_roll_L2_CSC_min_wg_ME21_even(t_lut lut);
0025   void set_GEM_roll_L2_CSC_max_wg_ME21_even(t_lut lut);
0026   void set_GEM_roll_L2_CSC_min_wg_ME21_odd(t_lut lut);
0027   void set_GEM_roll_L2_CSC_max_wg_ME21_odd(t_lut lut);
0028 
0029   void set_es_diff_slope_L1_ME21_even(t_lut lut);
0030   void set_es_diff_slope_L1_ME21_odd(t_lut lut);
0031   void set_es_diff_slope_L2_ME21_even(t_lut lut);
0032   void set_es_diff_slope_L2_ME21_odd(t_lut lut);
0033 
0034   void set_CSC_slope_cosi_2to1_L1_ME21_even(t_lut lut);
0035   void set_CSC_slope_cosi_2to1_L1_ME21_odd(t_lut lut);
0036   void set_CSC_slope_cosi_3to1_L1_ME21_even(t_lut lut);
0037   void set_CSC_slope_cosi_3to1_L1_ME21_odd(t_lut lut);
0038 
0039   void set_CSC_slope_cosi_corr_L1_ME21_even(t_lut lut);
0040   void set_CSC_slope_cosi_corr_L1_ME21_odd(t_lut lut);
0041 
0042   void set_CSC_slope_corr_L1_ME21_even(t_lut lut);
0043   void set_CSC_slope_corr_L1_ME21_odd(t_lut lut);
0044   void set_CSC_slope_corr_L2_ME21_even(t_lut lut);
0045   void set_CSC_slope_corr_L2_ME21_odd(t_lut lut);
0046 
0047   // getters
0048   unsigned GEM_pad_CSC_es_ME21_even(unsigned pad) const;
0049   unsigned GEM_pad_CSC_es_ME21_odd(unsigned pad) const;
0050 
0051   unsigned GEM_roll_L1_CSC_min_wg_ME21_even(unsigned roll) const;
0052   unsigned GEM_roll_L1_CSC_max_wg_ME21_even(unsigned roll) const;
0053   unsigned GEM_roll_L1_CSC_min_wg_ME21_odd(unsigned roll) const;
0054   unsigned GEM_roll_L1_CSC_max_wg_ME21_odd(unsigned roll) const;
0055 
0056   unsigned GEM_roll_L2_CSC_min_wg_ME21_even(unsigned roll) const;
0057   unsigned GEM_roll_L2_CSC_max_wg_ME21_even(unsigned roll) const;
0058   unsigned GEM_roll_L2_CSC_min_wg_ME21_odd(unsigned roll) const;
0059   unsigned GEM_roll_L2_CSC_max_wg_ME21_odd(unsigned roll) const;
0060 
0061   unsigned CSC_slope_cosi_2to1_L1_ME21_even(unsigned slope) const;
0062   unsigned CSC_slope_cosi_2to1_L1_ME21_odd(unsigned slope) const;
0063   unsigned CSC_slope_cosi_3to1_L1_ME21_even(unsigned slope) const;
0064   unsigned CSC_slope_cosi_3to1_L1_ME21_odd(unsigned slope) const;
0065 
0066   unsigned CSC_slope_cosi_corr_L1_ME21_even(unsigned slope) const;
0067   unsigned CSC_slope_cosi_corr_L1_ME21_odd(unsigned slope) const;
0068 
0069   unsigned CSC_slope_corr_L1_ME21_even(unsigned slope) const;
0070   unsigned CSC_slope_corr_L1_ME21_odd(unsigned slope) const;
0071   unsigned CSC_slope_corr_L2_ME21_even(unsigned slope) const;
0072   unsigned CSC_slope_corr_L2_ME21_odd(unsigned slope) const;
0073 
0074   // GEM-CSC trigger: 1/8-strip difference to slope
0075   unsigned es_diff_slope_L1_ME21_even(unsigned es_diff) const;
0076   unsigned es_diff_slope_L1_ME21_odd(unsigned es_diff) const;
0077   unsigned es_diff_slope_L2_ME21_even(unsigned es_diff) const;
0078   unsigned es_diff_slope_L2_ME21_odd(unsigned es_diff) const;
0079 
0080 private:
0081   std::vector<unsigned> GEM_pad_CSC_es_ME21_even_;
0082   std::vector<unsigned> GEM_pad_CSC_es_ME21_odd_;
0083 
0084   std::vector<unsigned> GEM_roll_L1_CSC_min_wg_ME21_even_;
0085   std::vector<unsigned> GEM_roll_L1_CSC_max_wg_ME21_even_;
0086   std::vector<unsigned> GEM_roll_L1_CSC_min_wg_ME21_odd_;
0087   std::vector<unsigned> GEM_roll_L1_CSC_max_wg_ME21_odd_;
0088 
0089   std::vector<unsigned> GEM_roll_L2_CSC_min_wg_ME21_even_;
0090   std::vector<unsigned> GEM_roll_L2_CSC_max_wg_ME21_even_;
0091   std::vector<unsigned> GEM_roll_L2_CSC_min_wg_ME21_odd_;
0092   std::vector<unsigned> GEM_roll_L2_CSC_max_wg_ME21_odd_;
0093 
0094   std::vector<unsigned> CSC_slope_cosi_2to1_L1_ME21_even_;
0095   std::vector<unsigned> CSC_slope_cosi_2to1_L1_ME21_odd_;
0096   std::vector<unsigned> CSC_slope_cosi_3to1_L1_ME21_even_;
0097   std::vector<unsigned> CSC_slope_cosi_3to1_L1_ME21_odd_;
0098 
0099   std::vector<unsigned> CSC_slope_cosi_corr_L1_ME21_even_;
0100   std::vector<unsigned> CSC_slope_cosi_corr_L1_ME21_odd_;
0101 
0102   std::vector<unsigned> CSC_slope_corr_L1_ME21_even_;
0103   std::vector<unsigned> CSC_slope_corr_L1_ME21_odd_;
0104   std::vector<unsigned> CSC_slope_corr_L2_ME21_even_;
0105   std::vector<unsigned> CSC_slope_corr_L2_ME21_odd_;
0106 
0107   std::vector<unsigned> es_diff_slope_L1_ME21_even_;
0108   std::vector<unsigned> es_diff_slope_L1_ME21_odd_;
0109   std::vector<unsigned> es_diff_slope_L2_ME21_even_;
0110   std::vector<unsigned> es_diff_slope_L2_ME21_odd_;
0111 
0112   COND_SERIALIZABLE;
0113 };
0114 
0115 #endif