00001 /* 00002 * $Id: EcalSRSettings.h,v 1.2 2010/06/14 10:45:15 pgras Exp $ 00003 * 00004 * Original author: Ph. Gras CEA/IRFU Saclay. June, 2010 00005 * 00006 */ 00007 00008 #ifndef ECALSRSETTINGS_H 00009 #define ECALSRSETTINGS_H 00010 00011 #include <vector> 00012 #include <string> 00013 #include <ostream> 00014 00015 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00016 00027 class EcalSRSettings { 00028 00029 //constructor(s) and destructor(s) 00030 public: 00033 EcalSRSettings(); 00034 00037 virtual ~EcalSRSettings(){}; 00038 00039 //method(s) 00040 public: 00041 00042 private: 00043 //attribute(s) 00044 protected: 00045 private: 00046 public: 00047 static const int nSrps_ = 12; 00048 static const int nDccs_ = 54; 00049 static const int nTccs_ = 108; 00050 00058 std::vector<int> deltaEta_; 00059 00071 std::vector<int> deltaPhi_; 00072 00080 std::vector<int> ecalDccZs1stSample_; 00081 00083 float ebDccAdcToGeV_; 00085 float eeDccAdcToGeV_; 00086 00099 std::vector<std::vector<float> > dccNormalizedWeights_; 00100 00111 std::vector<int> symetricZS_; 00112 00121 std::vector<float> srpLowInterestChannelZS_; 00122 00131 std::vector<float> srpHighInterestChannelZS_; 00132 00133 // ///switch to run w/o trigger primitive. For debug use only 00134 // ///having troubles for vector<bool> with coral (3.8.0pre1), using vector<int> instead 00135 // ///Parameter only relevant for emulation. For real data, must be contains 1 element with 00136 // ///value 0. 00137 // /// ... 1 element, then the weight set applies to whole ECAL 00138 // /// ... 2 elements, then element 0 applies to EB, element 1 to EE 00139 // /// ... 54 elements, then element i applied to DCC (i+1) (FED ID 651+i) 00140 // /// SRP emulation supports only the single-element mode. 00141 // std::vector<int> trigPrimBypass_; 00142 // 00143 // /// Mode selection for "Trig bypass" mode 00144 // /// 0: TT thresholds applied on sum of crystal Et's 00145 // /// 1: TT thresholds applies on compressed Et from Trigger primitive 00146 // /// @see trigPrimByPass switch 00147 // /// Parameter only relevant for 00148 // std::vector<int> trigPrimBypassMode_; 00149 // 00150 // ///for debug mode only: 00151 // std::vector<float> trigPrimBypassLTH_; 00152 // 00153 // ///for debug mode only: 00154 // std::vector<float> trigPrimBypassHTH_; 00155 // 00156 // ///for debug mode only 00157 // ///having troubles for vector<bool> with coral (3.8.0pre1), using vector<int> instead 00158 // std::vector<int> trigPrimBypassWithPeakFinder_; 00159 // 00160 // ///Trigger Tower Flag to use when a flag is not found from the input 00161 // ///Trigger Primitive collection. Must be one of the following values: 00162 // /// 0: low interest, 1: mid interest, 3: high interest 00163 // /// 4: forced low interest, 5: forced mid interest, 7: forced high interest 00164 // std::vector<int> defaultTtf_; 00165 00168 std::vector<int> actions_; 00169 00172 std::vector<short> tccMasksFromConfig_; 00173 00176 // indices: [iSrp][iCh] 00177 std::vector<std::vector<short> >srpMasksFromConfig_; 00178 00181 std::vector<short> dccMasks_; 00182 00185 std::vector<short> srfMasks_; 00186 00189 std::vector<std::vector<short> >substitutionSrfs_; 00190 00192 00193 00194 std::vector<int> testerTccEmuSrpIds_; 00195 std::vector<int> testerSrpEmuSrpIds_; 00196 std::vector<int> testerDccTestSrpIds_; 00197 std::vector<int> testerSrpTestSrpIds_; 00199 00203 std::vector<short> bxOffsets_; 00204 00207 //is added to this one. 00208 short bxGlobalOffset_; 00209 00213 int automaticMasks_; 00214 00218 int automaticSrpSelect_; 00219 }; 00220 00221 std::ostream& operator<< (std::ostream& o, const EcalSRSettings& val); 00222 00223 #endif //ECALSRSETTINGS_H not defined