CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/DQM/DTMonitorModule/src/DTLocalTriggerSynchTask.h

Go to the documentation of this file.
00001 #ifndef DTLocalTriggerSynchTask_H
00002 #define DTLocalTriggerSynchTask_H
00003 
00004 /*
00005  * \file DTLocalTriggerSynchTask.h
00006  *
00007  * $Date: 2010/03/05 09:11:52 $
00008  * $Revision: 1.4 $
00009  * \author C. Battilana - CIEMAT
00010  *
00011 */
00012 
00013 #include "FWCore/Framework/interface/Frameworkfwd.h"
00014 #include "FWCore/Framework/interface/EDAnalyzer.h"
00015 #include "DataFormats/Common/interface/Handle.h"
00016 #include "FWCore/Framework/interface/ESHandle.h"
00017 #include <FWCore/Framework/interface/LuminosityBlock.h>
00018 
00019 #include "FWCore/Framework/interface/Event.h"
00020 #include "FWCore/Framework/interface/MakerMacros.h"
00021 
00022 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00023 
00024 #include "DQMServices/Core/interface/DQMStore.h"
00025 #include "DQMServices/Core/interface/MonitorElement.h"
00026 #include "FWCore/ServiceRegistry/interface/Service.h"
00027 
00028 #include "DataFormats/DTDigi/interface/DTLocalTriggerCollection.h"
00029 #include "DataFormats/DTRecHit/interface/DTRecSegment4DCollection.h"
00030 
00031 #include <vector>
00032 #include <string>
00033 #include <map>
00034 
00035 class DTGeometry;
00036 class DTChamberId;
00037 class DTRecSegment4D;
00038 class DTTTrigBaseSync;
00039 class DTLocalTrigger;
00040 class L1MuDTChambPhDigi;
00041 class L1MuDTChambThDigi;
00042 
00043 
00044 class DTLocalTriggerSynchTask: public edm::EDAnalyzer{
00045   
00046   friend class DTMonitorModule;
00047   
00048  public:
00049   
00051   DTLocalTriggerSynchTask(const edm::ParameterSet& ps );
00052   
00054   virtual ~DTLocalTriggerSynchTask();
00055   
00056  protected:
00057   
00058   // BeginJob
00059   void beginJob();
00060   
00062   void bookHistos(const DTChamberId& dtCh );
00063   
00065   void analyze(const edm::Event& event, const edm::EventSetup& context);
00066 
00068   void beginRun(const edm::Run& run, const edm::EventSetup& context);
00069   
00071   void endJob(void);
00072 
00073   std::string & baseDir() { return baseDirectory; }
00074     
00075  private:
00076   
00077   int nevents;
00078  
00079   int phCodeBestDCC[6][5][13];
00080   int phCodeBXDCC[6][5][13][3];
00081   int phCodeBestDDU[6][5][13];
00082   int thCodeBestDDU[6][5][13];
00083   int segHitBest[6][5][13];
00084 
00085   float bxTime;
00086   bool rangeInBX;
00087   int nBXLow;
00088   int nBXHigh;
00089   float angleRange;
00090   float minHitsPhi;
00091   int fineDelay;
00092   DTTTrigBaseSync *tTrigSync;
00093 
00094   std::string baseDirectory;
00095 
00096   DQMStore* dbe;
00097   edm::ParameterSet parameters;
00098   edm::ESHandle<DTGeometry> muonGeom;
00099   std::map<uint32_t, std::map<std::string, MonitorElement*> > triggerHistos;
00100   MonitorElement* dcc_IDDataErrorPlot;
00101 
00102 };
00103 
00104 #endif