CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/DQM/HcalMonitorTasks/interface/HcalDigiMonitor.h

Go to the documentation of this file.
00001 #ifndef DQM_HCALMONITORTASKS_HCALDIGIDQMONITOR_H
00002 #define DQM_HCALMONITORTASKS_HCALDIGIDQMONITOR_H
00003 
00004 #include "DQM/HcalMonitorTasks/interface/HcalBaseDQMonitor.h"
00005 #include "EventFilter/HcalRawToDigi/interface/HcalUnpacker.h"
00006 #include "DataFormats/HcalDigi/interface/HcalDigiCollections.h"
00007 #include "CalibFormats/HcalObjects/interface/HcalDbService.h"
00008 #include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h"
00009 #include "EventFilter/HcalRawToDigi/interface/HcalHTRData.h"
00010 #include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h"
00011 #include "DataFormats/FEDRawData/interface/FEDNumbering.h"
00012 #include "DataFormats/FEDRawData/interface/FEDNumbering.h"
00013 #include "DataFormats/FEDRawData/interface/FEDTrailer.h"
00014 #include "CalibFormats/HcalObjects/interface/HcalDbRecord.h"
00015 #include "DataFormats/Scalers/interface/DcsStatus.h"
00016 
00017 #define DIGI_BQ_FRAC_NBINS 101
00018 #define DIGI_NUM 9072
00019 #define DIGI_SUBDET_NUM 2593 
00020 
00021 #define ETABINS   85
00022 #define PHIBINS   72
00023 #define DEPTHBINS  4
00024 
00032 struct DigiHists
00033 {
00034   // structure of MonitorElements for each subdetector, along with their associated counters
00035 
00036   MonitorElement* shape;
00037   MonitorElement* shapeThresh;
00038   MonitorElement* ThreshCount;
00039   MonitorElement* presample;
00040   MonitorElement* BQ;
00041   MonitorElement* BQFrac;
00042   MonitorElement* DigiFirstCapID;
00043   MonitorElement* DVerr;
00044   MonitorElement* CapID;
00045   MonitorElement* ADC;
00046   MonitorElement* ADCsum;
00047   MonitorElement* fibBCNOff;
00048   std::vector<MonitorElement*> TS_sum_plus, TS_sum_minus;
00049 
00050   int count_shape[10];
00051   double count_shapeThresh[10];
00052   int count_presample[50];
00053   int count_bad;
00054   int count_good;
00055   int count_BQ[DIGI_SUBDET_NUM];
00056   int count_BQFrac[DIGI_BQ_FRAC_NBINS];
00057 
00058   int capIDdiff[8]; // only bins 0-7 used for expected real values of cap ID difference (since cap IDs run from 0-3); bin 8 is overflow
00059   int dverr[4];
00060   int capid[4];
00061   int adc[200];
00062   int adcsum[200];
00063   int fibbcnoff[15];
00064   int tssumplus[50][10];
00065   int tssumminus[50][10];
00066 };
00067 
00068 class HcalDigiMonitor: public HcalBaseDQMonitor {
00069 public:
00070   HcalDigiMonitor(const edm::ParameterSet& ps); 
00071   ~HcalDigiMonitor(); 
00072 
00073   void setup();
00074   void beginRun(const edm::Run& run, const edm::EventSetup& c);
00075   void cleanup();
00076 
00077   void analyze(const edm::Event& e, const edm::EventSetup& c);
00078 
00079   void processEvent(const HBHEDigiCollection& hbhe,
00080                     const HODigiCollection& ho,
00081                     const HFDigiCollection& hf,
00082                     const HcalDbService& cond,
00083                     const HcalUnpackerReport& report,
00084                     int orN, int bcN);          
00085 
00086   // Begin LumiBlock
00087   void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg,
00088                             const edm::EventSetup& c) ;
00089 
00090   // End LumiBlock
00091   void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg,
00092                           const edm::EventSetup& c);
00093 
00094 
00095   void endRun(const edm::Run& run, const edm::EventSetup& c);
00096   void endJob();
00097   void reset();
00098 
00099 private:  
00100   bool passedMinBiasHLT_;
00101   bool excludeHORing2_;
00102   bool excludeHO1P02_;
00103   bool excludeBadQPLLs_;
00104  
00105   void fill_Nevents();
00106   void zeroCounters();
00107   void setupSubdetHists(DigiHists& hist,  std::string subdet); // enable this feature at some point
00108 
00109   template<class T> int process_Digi(T& digi, DigiHists& hist, int& firstcap);
00110   void UpdateHists(DigiHists& h);
00111 
00112   bool doFCpeds_;
00113 
00114   int HO0bad, HO12bad, HFlumibad;
00115 
00116   int shapeThresh_;
00117   int shapeThreshHB_;
00118   int shapeThreshHE_;
00119   int shapeThreshHF_;
00120   int shapeThreshHO_;
00121 
00122   int alarmer_counter_;
00123   int knownbadQPLLs;
00124   bool hbhedcsON, hfdcsON;
00125 
00126   int mindigisizeHBHE_, maxdigisizeHBHE_;
00127   int mindigisizeHO_, maxdigisizeHO_;
00128   int mindigisizeHF_, maxdigisizeHF_;
00129 
00130   bool digi_checkoccupancy_;
00131   bool digi_checkcapid_;
00132   bool digi_checkdigisize_;
00133   bool digi_checkadcsum_;
00134   bool digi_checkdverr_;
00135 
00136   bool shutOffOrbitTest_;
00137 
00138   int DigiMonitor_ExpectedOrbitMessageTime_;
00139   int hbcount_, hecount_, hocount_, hfcount_;  // Counter # of good digis each event
00140   uint64_t uniqcounter[ETABINS][PHIBINS][DEPTHBINS]; // HFd1,2 at 'depths' 3,4 to avoid collision with HE
00141   uint64_t uniqcounter2[ETABINS][PHIBINS][DEPTHBINS]; // HFd1,2 at 'depths' 3,4 to avoid collision with HE
00142 
00143   // Monitoring elements
00144 
00145   EtaPhiHists DigiErrorsByDepth;
00146   EtaPhiHists DigiErrorsBadCapID;
00147   EtaPhiHists DigiErrorsDVErr;
00148   EtaPhiHists DigiErrorsBadDigiSize;
00149   EtaPhiHists DigiErrorsBadADCSum;
00150   EtaPhiHists DigiErrorsUnpacker;
00151   EtaPhiHists DigiErrorsBadFibBCNOff;
00152 
00153   MonitorElement* DigiSize;
00154   MonitorElement* DigiExpectedSize;
00155   int baddigis[85][72][4]; // sum of individual digi problems
00156   int badcapID[85][72][4];
00157   int baddigisize[85][72][4];
00158   int badFibBCNOff[85][72][4];
00159   int badunpackerreport[85][72][4];
00160   int digisize[20][4];
00161   int digierrorsdverr[85][72][4];
00162 
00163   // Count events with valid digis
00164   MonitorElement* h_valid_digis;
00165   MonitorElement* h_invalid_orbitnumMod103;
00166   MonitorElement* h_invalid_bcn;
00167 
00168   // Digi Occupancy Plots
00169   EtaPhiHists DigiOccupancyByDepth;
00170   MonitorElement* DigiOccupancyEta;
00171   MonitorElement* DigiOccupancyPhi;
00172   MonitorElement* DigiOccupancyVME;
00173   MonitorElement* DigiOccupancySpigot;
00174   MonitorElement *ProblemDigisInLastNLB_HBHEHF_alarm;
00175   
00176   // Counters for good and bad digis
00177   int occupancyEtaPhi[85][72][4];
00178   int occupancyEta[85];
00179   int occupancyPhi[72];
00180   int occupancyVME[40][18];
00181   int occupancySpigot[40][36];
00182 
00183   // Plots for Digis that are present, but with errors
00184   EtaPhiHists DigiErrorOccupancyByDepth;
00185  
00186   MonitorElement* DigiErrorVME;
00187   MonitorElement* DigiErrorSpigot;
00188   
00189   MonitorElement* DigiBQ;
00190   MonitorElement* DigiBQFrac;
00191   MonitorElement* DigiUnpackerErrorCount;
00192   MonitorElement* DigiUnpackerErrorFrac;
00193 
00194   int occupancyErrorEtaPhi[85][72][4];
00195   int occupancyErrorEta[85];
00196   int occupancyErrorPhi[72];
00197   int errorVME[40][18];
00198   int errorSpigot[15][36];// 15 is the value of SPIGOT_COUNT; may need to change this in the future?
00199 
00200   MonitorElement* HBocc_vs_LB;
00201   MonitorElement* HEocc_vs_LB;
00202   MonitorElement* HOocc_vs_LB;
00203   MonitorElement* HFocc_vs_LB;
00204 
00205   MonitorElement* DigiNum;
00206   int diginum[DIGI_NUM];
00207 
00208   //  Pawel's HF timing study plots
00209   MonitorElement* HFtiming_totaltime2D;
00210   MonitorElement* HFtiming_occupancy2D;
00211   MonitorElement* HFtiming_etaProfile;
00212   MonitorElement* HFP_shape;
00213   MonitorElement* HFM_shape;
00214 
00215   DigiHists hbHists, heHists, hfHists, hoHists;
00216 
00217   edm::InputTag digiLabel_;
00218   edm::InputTag FEDRawDataCollection_;
00219 
00220   edm::ESHandle<HcalDbService> conditions_;
00221 
00222   edm::InputTag hltresultsLabel_;
00223   std::vector <std::string> MinBiasHLTBits_;
00224 
00225   edm::InputTag hfRechitLabel_; // used for calculating HF total ET
00226   double HT_HFP_, HT_HFM_;
00227 
00228   // Should be able to make this a vector of ints, right?
00229   std::map<HcalDetId, std::vector<double> > PedestalsByCapId_;
00230 
00231   double pedSubtractedADC_[10]; // stores ped-subtracted ADCs for each digi time slice;  use this instead of a vector because of memory allocation issues
00232 };
00233 
00234 float bins_cellcount_new[]={-0.5, 0.5, 1.5, 2.5, 3.5, 4.5,
00235                         5.5, 6.5, 7.5, 8.5, 9.5, 10.5,
00236                         11.5, 12.5, 13.5, 14.5, 15.5, 
00237                         16.5, 17.5, 18.5, 19.5, 20.5,
00238                         21.5, 22.5, 23.5, 24.5, 25.5,
00239                         26.5, 27.5, 28.5, 29.5, 30.5,
00240                         31.5, 32.5, 33.5, 34.5, 35.5,
00241                         36.5, 37.5, 38.5, 39.5, 40.5,
00242                         41.5, 42.5, 43.5, 44.5, 45.5,
00243                         46.5, 47.5, 48.5, 49.5, 50.5,
00244                         60.5, 70.5, 80.5, 90.5, 100.5,
00245                         150.5, 200.5, 250.5, 300.5,
00246                         400.5, 500.5, 600.5, 700.5, 
00247                         800.5, 900.5, 1000.5, 1100.5,
00248                         1200.5, 1300.5, 1400.5, 1500.5, 
00249                         1600.5, 1700.5, 1800.5, 1900.5,
00250                         2000.5, 2100.5, 2200.5, 2300.5, 
00251                         2400.5, 2500.5, 2600.5, 2700.5,
00252                         2800.5, 2900.5, 3000.5, 3100.5, 
00253                         3200.5, 3300.5, 3400.5, 3500.5,
00254                         3600.5, 3700.5, 3800.5, 3900.5,
00255                         4000.5, 4100.5, 4200.5, 4300.5,
00256                         4400.5, 4500.5, 4600.5, 4700.5,
00257                         4800.5, 4900.5, 5000.5, 5100.5,
00258                         5200.5, 5300.5, 5400.5, 5500.5,
00259                         5600.5, 5700.5, 5800.5, 5900.5,
00260                         6000.5, 6100.5, 6200.5, 6300.5, 
00261                         6400.5, 6500.5, 6600.5, 6700.5,
00262                         6800.5, 6900.5, 7000.5, 7100.5,
00263                         7200.5, 7300.5, 7400.5, 7500.5,
00264                         7600.5, 7700.5, 7800.5, 7900.5, 
00265                         8000.5, 8100.5, 8200.5, 8300.5,
00266                         8400.5, 8500.5, 8600.5, 8700.5, 
00267                         8800.5, 8900.5, 9000.5, 9100.5};
00268 
00269 // binning is 1 part per 10k -- so one channel takes ~ 1 bin at low values
00270 float bins_fraccount_new[]={-0.00005,  0.00005, 0.0001,  0.0002,  
00271                         0.0003,  
00272                         0.0004,  0.0005,  0.0006,  0.0007,  0.0008, 
00273                         0.0009, 
00274                         0.001,  0.0011,  0.0012,  0.0013,  0.0014, 
00275                         0.0015,  0.0016,  0.0017,  0.0018,  0.0019, 
00276                         0.002, 0.0021,  0.0022,  0.0023,  0.0024, 
00277                         0.0025,  0.0026,  0.0027,  0.0028,  0.0029,  
00278                         0.003,  0.0031, 0.0032,  0.0033,  0.0034, 
00279                         0.0035,  0.0036,  0.0037,  0.0038,  0.0039,  
00280                         0.004,  0.0041,  0.0042,  0.0043,  0.0044, 
00281                         0.0045,  0.0046,  0.0047,  0.0048,  0.0049,  
00282                         0.005,  0.0051,  0.0052,  0.0053,  0.0054, 
00283                         0.0055,  0.0056,  0.0057,  0.0058,  0.0059,  
00284                         0.006,  0.0061,  0.0062,  0.0063,  0.0064, 
00285                         0.0065,  0.0066,  0.0067,  0.0068,  0.0069,  
00286                         0.007,  0.0071,  0.0072,  0.0073,  0.0074, 
00287                         0.0075,  0.0076,  0.0077, 0.0078,  0.0079,  
00288                         0.008,  0.0081,  0.0082,  0.0083,  0.0084, 
00289                         0.0085,  0.0086,  0.0087,  0.0088,  0.0089,  
00290                         0.009,  0.0091,  0.0092,  0.0093,  0.0094, 
00291                         0.0095,  0.0096,  0.0097,  0.0098,  0.0099,  
00292                         0.01,  0.0101,  0.0102,  0.0103,  0.0104,
00293                         0.0105,  0.0106,  0.0107,  0.0108,  0.0109,  
00294                         0.011,  0.0111,  0.0112,  0.0113,  0.0114, 
00295                         0.0115,  0.0116,  0.0117,  0.0118,  0.0119,  
00296                         0.012,  0.0121,  0.0122,  0.0123,  0.0124,
00297                         0.0125,  0.0126,  0.0127,  0.0128,  0.0129,  
00298                         0.013,  0.0131,  0.0132,  0.0133,  0.0134,
00299                         0.0135,  0.0136,  0.0137,  0.0138,  0.0139,  
00300                         0.014,  0.0141,  0.0142,  0.0143,  0.0144,
00301                         0.0145,  0.0146,  0.0147,  0.0148,  0.0149,  
00302                         0.015,  0.0151,  0.0152,  0.0153,  0.0154,
00303                         0.0155,  0.0156,  0.0157,  0.0158,  0.0159,  
00304                         0.016,  0.0161,  0.0162,  0.0163,  0.0164,
00305                         0.0165,  0.0166, 0.0167,  0.0168,  0.0169,  
00306                         0.017,  0.0171,  0.0172,  0.0173,  0.0174,
00307                         0.0175,  0.0176,  0.0177,  0.0178,  0.0179,  
00308                         0.018,  0.0181,  0.0182,  0.0183,  0.0184, 
00309                         0.0185,  0.0186,  0.0187,  0.0188,  0.0189,  
00310                         0.019,  0.0191,  0.0192,  0.0193,  0.0194,
00311                         0.0195,  0.0196,  0.0197,  0.0198,  0.0199,  
00312                         0.02,  0.0201,  0.0202,  0.0203,  0.0204, 
00313                         0.0205,  0.0206,  0.0207,  0.0208,  0.0209,  
00314                         0.021,  0.0211,  0.0212,  0.0213,  0.0214,
00315                         0.0215,  0.0216,  0.0217,  0.0218,  0.0219,  
00316                         0.022,  0.0221,  0.0222,  0.0223,  0.0224, 
00317                         0.0225,  0.0226,  0.0227,  0.0228,  0.0229,  
00318                         0.023,  0.0231,  0.0232,  0.0233,  0.0234,
00319                         0.0235,  0.0236,  0.0237,  0.0238,  0.0239,  
00320                         0.024,  0.0241,  0.0242,  0.0243,  0.0244,
00321                         0.0245,  0.0246,  0.0247,  0.0248,  0.0249,  
00322                         0.025,  0.0251,  0.0252,  0.0253,  0.0254,
00323                         0.0255, 0.0256,  0.0257,  0.0258,  0.0259,  
00324                         0.026,  0.0261,  0.0262,  0.0263,  0.0264,
00325                         0.0265,  0.0266,  0.0267,  0.0268,  0.0269,  
00326                         0.027,  0.0271,  0.0272,  0.0273,  0.0274,
00327                         0.0275,  0.0276,  0.0277,  0.0278,  0.0279,  
00328                         0.028,  0.0281,  0.0282,  0.0283,  0.0284,
00329                         0.0285,  0.0286,  0.0287,  0.0288,  0.0289,  
00330                         0.029,  0.0291,  0.0292,  0.0293,  0.0294, 
00331                         0.0295,  0.0296,  0.0297,  0.0298,  0.0299,  
00332                         0.03,  0.0301,  0.0302,  0.0303,  0.0304, 
00333                         0.0305,  0.0306,  0.0307,  0.0308,  0.0309,  
00334                         0.031,  0.0311,  0.0312,  0.0313,  0.0314, 
00335                         0.0315,  0.0316,  0.0317,  0.0318,  0.0319,  
00336                         0.032,  0.0321,  0.0322,  0.0323,  0.0324,
00337                         0.0325,  0.0326,  0.0327,  0.0328,  0.0329,  
00338                         0.033,  0.0331,  0.0332,  0.0333,  0.0334, 
00339                         0.0335,  0.0336,  0.0337,  0.0338,  0.0339,  
00340                         0.034,  0.0341,  0.0342,  0.0343,  0.0344,
00341                         0.0345,  0.0346,  0.0347,  0.0348,  0.0349,  
00342                         0.035,  0.0351,  0.0352,  0.0353,  0.0354,
00343                         0.0355,  0.0356,  0.0357,  0.0358,  0.0359,  
00344                         0.036,  0.0361,  0.0362,  0.0363,  0.0364, 
00345                         0.0365,  0.0366,  0.0367,  0.0368,  0.0369,  
00346                         0.037,  0.0371,  0.0372,  0.0373,  0.0374,
00347                         0.0375,  0.0376,  0.0377,  0.0378,  0.0379,  
00348                         0.038,  0.0381,  0.0382,  0.0383,  0.0384, 
00349                         0.0385,  0.0386,  0.0387,  0.0388,  0.0389,  
00350                         0.039,  0.0391,  0.0392,  0.0393,  0.0394, 
00351                         0.0395,  0.0396,  0.0397,  0.0398,  0.0399,  
00352                         0.04,  0.0401,  0.0402,  0.0403,  0.0404, 
00353                         0.0405,  0.0406,  0.0407,  0.0408,  0.0409,  
00354                         0.041,  0.0411,  0.0412,  0.0413,  0.0414, 
00355                         0.0415,  0.0416,  0.0417,  0.0418,  0.0419,  
00356                         0.042,  0.0421,  0.0422,  0.0423,  0.0424, 
00357                         0.0425,  0.0426,  0.0427,  0.0428,  0.0429,  
00358                         0.043,  0.0431,  0.0432,  0.0433, 0.0434, 
00359                         0.0435,  0.0436,  0.0437,  0.0438,  0.0439,  
00360                         0.044,  0.0441,  0.0442,  0.0443,  0.0444, 
00361                         0.0445,  0.0446,  0.0447,  0.0448,  0.0449,  
00362                         0.045,  0.0451,  0.0452,  0.0453,  0.0454,
00363                         0.0455,  0.0456,  0.0457,  0.0458,  0.0459,  
00364                         0.046,  0.0461,  0.0462,  0.0463,  0.0464,
00365                         0.0465,  0.0466,  0.0467,  0.0468,  0.0469,  
00366                         0.047,  0.0471,  0.0472,  0.0473,  0.0474, 
00367                         0.0475,  0.0476,  0.0477,  0.0478,  0.0479,  
00368                         0.048,  0.0481,  0.0482,  0.0483,  0.0484, 
00369                         0.0485,  0.0486,  0.0487,  0.0488,  0.0489,  
00370                         0.049,  0.0491,  0.0492,  0.0493,  0.0494,
00371                         0.0495,  0.0496,  0.0497,  0.0498,  0.0499,
00372                         0.05,  0.0501,  0.0502,  0.0503,  0.0504,
00373                         0.0505,  0.0506,  0.0507,  0.0508,  0.0509,  
00374                         0.051,  0.0511,  0.0512,  0.0513,  0.0514,
00375                         0.0515,  0.0516,  0.0517,  0.0518,  0.0519,  
00376                         0.052,  0.0521,  0.0522,  0.0523,  0.0524,
00377                         0.0525,  0.0526,  0.0527,  0.0528,  0.0529,  
00378                         0.053,  0.0531,  0.0532,  0.0533, 0.0534, 
00379                         0.0535,  0.0536,  0.0537,  0.0538,  0.0539,  
00380                         0.054,  0.0541,  0.0542,  0.0543,  0.0544,
00381                         0.0545,  0.0546,  0.0547,  0.0548,  0.0549,  
00382                         0.055,  0.0551,  0.0552,  0.0553,  0.0554, 
00383                         0.0555,  0.0556,  0.0557,  0.0558,  0.0559,  
00384                         0.056,  0.0561,  0.0562,  0.0563,  0.0564, 
00385                         0.0565,  0.0566,  0.0567,  0.0568,  0.0569,  
00386                         0.057,  0.0571,  0.0572,  0.0573,  0.0574,
00387                         0.0575,  0.0576,  0.0577,  0.0578,  0.0579,  
00388                         0.058,  0.0581,  0.0582,  0.0583,  0.0584, 
00389                         0.0585,  0.0586,  0.0587,  0.0588,  0.0589,  
00390                         0.059,  0.0591,  0.0592,  0.0593,  0.0594,
00391                         0.0595,  0.0596,  0.0597,  0.0598,  0.0599,
00392                         0.06,  0.0601,  0.0602,  0.0603,  0.0604,
00393                         0.0605,  0.0606,  0.0607,  0.0608,  0.0609,  
00394                         0.061,  0.0611,  0.0612,  0.0613,  0.0614, 
00395                         0.0615,  0.0616,  0.0617,  0.0618,  0.0619,  
00396                         0.062,  0.0621,  0.0622,  0.0623,  0.0624,
00397                         0.0625,  0.0626,  0.0627,  0.0628,  0.0629,  
00398                         0.063,  0.0631,  0.0632,  0.0633, 0.0634, 
00399                         0.0635,  0.0636,  0.0637,  0.0638,  0.0639,  
00400                         0.064,  0.0641,  0.0642,  0.0643,  0.0644, 
00401                         0.0645,  0.0646,  0.0647,  0.0648,  0.0649,  
00402                         0.065,  0.0651,  0.0652,  0.0653,  0.0654, 
00403                         0.0655,  0.0656,  0.0657,  0.0658,  0.0659,  
00404                         0.066,  0.0661,  0.0662,  0.0663,  0.0664,
00405                         0.0665,  0.0666,  0.0667,  0.0668,  0.0669,  
00406                         0.067,  0.0671,  0.0672,  0.0673,  0.0674,
00407                         0.0675,  0.0676,  0.0677,  0.0678,  0.0679,  
00408                         0.068,  0.0681,  0.0682,  0.0683,  0.0684, 
00409                         0.0685,  0.0686,  0.0687,  0.0688,  0.0689,  
00410                         0.069,  0.0691,  0.0692,  0.0693,  0.0694, 
00411                         0.0695,  0.0696,  0.0697,  0.0698,  0.0699,
00412                         0.07,  0.0701,  0.0702,  0.0703,  0.0704, 
00413                         0.0705,  0.0706,  0.0707,  0.0708,  0.0709,  
00414                         0.071,  0.0711,  0.0712,  0.0713,  0.0714,
00415                         0.0715,  0.0716,  0.0717,  0.0718,  0.0719,  
00416                         0.072,  0.0721,  0.0722,  0.0723,  0.0724, 
00417                         0.0725,  0.0726,  0.0727,  0.0728,  0.0729,  
00418                         0.073,  0.0731,  0.0732,  0.0733, 0.0734, 
00419                         0.0735,  0.0736,  0.0737,  0.0738,  0.0739,  
00420                         0.074,  0.0741,  0.0742,  0.0743,  0.0744, 
00421                         0.0745,  0.0746,  0.0747,  0.0748,  0.0749,  
00422                         0.075,  0.0751,  0.0752,  0.0753,  0.0754,
00423                         0.0755,  0.0756,  0.0757,  0.0758,  0.0759,  
00424                         0.076,  0.0761,  0.0762,  0.0763,  0.0764, 
00425                         0.0765,  0.0766,  0.0767,  0.0768,  0.0769,  
00426                         0.077,  0.0771,  0.0772,  0.0773,  0.0774, 
00427                         0.0775,  0.0776,  0.0777,  0.0778,  0.0779,  
00428                         0.078,  0.0781,  0.0782,  0.0783,  0.0784, 
00429                         0.0785,  0.0786,  0.0787,  0.0788,  0.0789,  
00430                         0.079,  0.0791,  0.0792,  0.0793,  0.0794, 
00431                         0.0795,  0.0796,  0.0797,  0.0798,  0.0799,
00432                         0.08,  0.0801,  0.0802,  0.0803,  0.0804, 
00433                         0.0805,  0.0806,  0.0807,  0.0808,  0.0809,  
00434                         0.081,  0.0811,  0.0812,  0.0813,  0.0814,
00435                         0.0815,  0.0816,  0.0817,  0.0818,  0.0819,  
00436                         0.082,  0.0821,  0.0822,  0.0823,  0.0824, 
00437                         0.0825,  0.0826,  0.0827,  0.0828,  0.0829,  
00438                         0.083,  0.0831,  0.0832,  0.0833, 0.0834,  
00439                         0.0835,  0.0836,  0.0837,  0.0838,  0.0839,  
00440                         0.084,  0.0841,  0.0842,  0.0843,  0.0844, 
00441                         0.0845,  0.0846,  0.0847,  0.0848,  0.0849,  
00442                         0.085,  0.0851,  0.0852,  0.0853,  0.0854, 
00443                         0.0855,  0.0856,  0.0857,  0.0858,  0.0859,  
00444                         0.086,  0.0861,  0.0862,  0.0863,  0.0864, 
00445                         0.0865,  0.0866,  0.0867,  0.0868,  0.0869,  
00446                         0.087,  0.0871,  0.0872,  0.0873,  0.0874,
00447                         0.0875,  0.0876,  0.0877,  0.0878,  0.0879,  
00448                         0.088,  0.0881,  0.0882,  0.0883,  0.0884, 
00449                         0.0885,  0.0886,  0.0887,  0.0888,  0.0889,  
00450                         0.089,  0.0891,  0.0892,  0.0893,  0.0894,
00451                         0.0895,  0.0896,  0.0897,  0.0898,  0.0899,
00452                         0.09,  0.0901,  0.0902,  0.0903,  0.0904, 
00453                         0.0905,  0.0906,  0.0907,  0.0908,  0.0909,  
00454                         0.091,  0.0911,  0.0912,  0.0913,  0.0914, 
00455                         0.0915,  0.0916,  0.0917,  0.0918,  0.0919,  
00456                         0.092,  0.0921,  0.0922,  0.0923,  0.0924,
00457                         0.0925,  0.0926,  0.0927,  0.0928,  0.0929,  
00458                         0.093,  0.0931,  0.0932,  0.0933, 0.0934, 
00459                         0.0935,  0.0936,  0.0937,  0.0938,  0.0939,  
00460                         0.094,  0.0941,  0.0942,  0.0943,  0.0944,
00461                         0.0945,  0.0946,  0.0947,  0.0948,  0.0949,  
00462                         0.095,  0.0951,  0.0952,  0.0953,  0.0954, 
00463                         0.0955,  0.0956,  0.0957,  0.0958,  0.0959,  
00464                         0.096,  0.0961,  0.0962,  0.0963,  0.0964, 
00465                         0.0965,  0.0966,  0.0967,  0.0968,  0.0969,  
00466                         0.097,  0.0971,  0.0972,  0.0973,  0.0974, 
00467                         0.0975,  0.0976,  0.0977,  0.0978,  0.0979,  
00468                         0.098,  0.0981,  0.0982,  0.0983,  0.0984, 
00469                         0.0985,  0.0986,  0.0987,  0.0988,  0.0989,  
00470                         0.099,  0.0991,  0.0992,  0.0993,  0.0994,  
00471                         0.0995,  0.0996,  0.0997,  0.0998,  0.0999,
00472                         //Above 10%, switch to 1% binning
00473                         0.10, 0.11, 0.12, 0.13,0.14,
00474                         0.15, 0.16, 0.17, 0.18, 0.19,
00475                         // Above 20%, switch to 5% binning
00476                         0.20, 0.25, 0.30, 0.35, 0.40, 0.45, 0.50, 
00477                         0.55, 0.60, 0.65, 0.70, 0.75, 0.80, 0.85, 0.90, 0.95, 
00478                         // Make special bin for 100% value,
00479                         0.9999, 1.01
00480 };
00481 
00482 #endif