CMS 3D CMS Logo

HcalLaserMonitor.h

Go to the documentation of this file.
00001 #ifndef DQM_HCALMONITORTASKS_HCALLASERMONITOR_H
00002 #define DQM_HCALMONITORTASKS_HCALLASERMONITOR_H
00003 
00004 #include "DQM/HcalMonitorTasks/interface/HcalBaseMonitor.h"
00005 #include "DataFormats/HcalDigi/interface/HcalUnpackerReport.h"
00006 #include "DQMServices/Core/interface/DQMStore.h"
00007 #include "DQMServices/Core/interface/MonitorElement.h"
00008 #include "DataFormats/HcalDigi/interface/HcalLaserDigi.h"
00009 
00016 static const float adc2fc_[128] = { -0.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5,
00017                                     8.5,  9.5, 10.5, 11.5, 12.5, 13.5, 15., 17., 
00018                                     19., 21., 23., 25., 27., 29.5,
00019                                     32.5, 35.5, 38.5, 42., 46., 50., 54.5, 59.5, 
00020                                     64.5, 59.5, 64.5, 69.5, 74.5,
00021                                     79.5, 84.5, 89.5, 94.5, 99.5, 104.5, 109.5, 
00022                                     114.5, 119.5, 124.5, 129.5, 137.,
00023                                     147., 157., 167., 177., 187., 197., 209.5, 224.5, 
00024                                     239.5, 254.5, 272., 292.,
00025                                     312., 334.5, 359.5, 384.5, 359.5, 384.5, 409.5, 
00026                                     434.5, 459.5, 484.5, 509.5,
00027                                     534.5, 559.5, 584.5, 609.5, 634.5, 659.5, 684.5, 709.5, 
00028                                     747., 797., 847.,
00029                                     897.,  947., 997., 1047., 1109.5, 1184.5, 1259.5, 
00030                                     1334.5, 1422., 1522., 1622.,
00031                                     1734.5, 1859.5, 1984.5, 1859.5, 1984.5, 2109.5, 
00032                                     2234.5, 2359.5, 2484.5,
00033                                     2609.5, 2734.5, 2859.5, 2984.5, 3109.5, 
00034                                     3234.5, 3359.5, 3484.5, 3609.5, 3797.,
00035                                     4047., 4297., 4547., 4797., 5047., 5297., 
00036                                     5609.5, 5984.5, 6359.5, 6734.5,
00037                                     7172., 7672., 8172., 8734.5, 9359.5, 9984.5 };
00038 
00039 
00040 
00041 
00042 class HcalLaserMonitor: public HcalBaseMonitor {
00043 
00044  public:
00045   HcalLaserMonitor(); 
00046   ~HcalLaserMonitor(); 
00047 
00048   void setup( const edm::ParameterSet&, DQMStore* );
00049   void processEvent( const HBHEDigiCollection&, const HODigiCollection&,
00050                      const HFDigiCollection&, const HcalLaserDigi&,
00051                      const HcalDbService& );
00052   void reset();
00053   void done();
00054 
00055  private:
00056   void perChanHists( const int, const HcalDetId, const float*, 
00057                      map<HcalDetId, MonitorElement*>&, 
00058                      map<HcalDetId, MonitorElement*>&, 
00059                      map<HcalDetId, MonitorElement*>&,
00060                      const string );
00061 
00062   map<HcalDetId, MonitorElement*>::iterator meIter_;
00063 
00064   bool doPerChannel_;
00065   
00066   int sigS0_, sigS1_;
00067   float adcThresh_;
00068 
00069   int ievt_;
00070   HcalCalibrations calibs_;
00071 
00072   MonitorElement* meEVT_;
00073 
00074   struct {
00075     map<HcalDetId,MonitorElement*> perChanShape_;
00076     map<HcalDetId,MonitorElement*> perChanTime_;
00077     map<HcalDetId,MonitorElement*> perChanEnergy_;
00078 
00079     MonitorElement* allShapePedSub_;
00080     //MonitorElement* allShape_;
00081     MonitorElement* allTime_;
00082     MonitorElement* allEnergy_;
00083 
00084     // These get filled in client...
00085     MonitorElement* rms_shape_;
00086     MonitorElement* mean_shape_;
00087 
00088     MonitorElement* rms_time_;
00089     MonitorElement* mean_time_;
00090 
00091     MonitorElement* rms_energy_;
00092     MonitorElement* mean_energy_;
00093   } hbHists, heHists, hfHists, hoHists;
00094 
00095   struct {
00096     MonitorElement* numChannels_;
00097 
00098     MonitorElement* trigger_;
00099     MonitorElement* rawOptosync_;
00100     MonitorElement* clockOptosync_;
00101 
00102     MonitorElement* rawOptosync_Trigger_;
00103   } TDCHists;
00104 
00105   MonitorElement* QADC_[32];
00106 
00107   // These get filled in client...
00108   MonitorElement* MEAN_MAP_TIME_L1_;
00109   MonitorElement* MEAN_MAP_TIME_L2_;
00110   MonitorElement* MEAN_MAP_TIME_L3_;
00111   MonitorElement* MEAN_MAP_TIME_L4_;
00112   MonitorElement*  RMS_MAP_TIME_L1_;
00113   MonitorElement*  RMS_MAP_TIME_L2_;
00114   MonitorElement*  RMS_MAP_TIME_L3_;
00115   MonitorElement*  RMS_MAP_TIME_L4_;
00116 
00117   MonitorElement* MEAN_MAP_SHAPE_L1_;
00118   MonitorElement* MEAN_MAP_SHAPE_L2_;
00119   MonitorElement* MEAN_MAP_SHAPE_L3_;
00120   MonitorElement* MEAN_MAP_SHAPE_L4_;
00121   MonitorElement*  RMS_MAP_SHAPE_L1_;
00122   MonitorElement*  RMS_MAP_SHAPE_L2_;
00123   MonitorElement*  RMS_MAP_SHAPE_L3_;
00124   MonitorElement*  RMS_MAP_SHAPE_L4_;
00125 
00126   MonitorElement* MEAN_MAP_ENERGY_L1_;
00127   MonitorElement* MEAN_MAP_ENERGY_L2_;
00128   MonitorElement* MEAN_MAP_ENERGY_L3_;
00129   MonitorElement* MEAN_MAP_ENERGY_L4_;
00130   MonitorElement*  RMS_MAP_ENERGY_L1_;
00131   MonitorElement*  RMS_MAP_ENERGY_L2_;
00132   MonitorElement*  RMS_MAP_ENERGY_L3_;
00133   MonitorElement*  RMS_MAP_ENERGY_L4_;
00134 };
00135 
00136 #endif

Generated on Tue Jun 9 17:32:57 2009 for CMSSW by  doxygen 1.5.4