CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/CondFormats/EcalObjects/interface/EcalSRSettings.h

Go to the documentation of this file.
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