CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/DQM/EcalBarrelMonitorTasks/interface/EBTriggerTowerTask.h

Go to the documentation of this file.
00001 #ifndef EBTriggerTowerTask_H
00002 #define EBTriggerTowerTask_H
00003 
00004 /*
00005  * \file EBTriggerTowerTask.h
00006  *
00007  * $Date: 2012/04/27 13:46:01 $
00008  * $Revision: 1.33 $
00009  *
00010 */
00011 
00012 #include "FWCore/Framework/interface/EDAnalyzer.h"
00013 #include "FWCore/Framework/interface/Event.h"
00014 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00015 
00016 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h"
00017 
00018 #include <vector>
00019 
00020 class MonitorElement;
00021 class DQMStore;
00022 
00023 class EBTriggerTowerTask : public edm::EDAnalyzer {
00024 
00025  public:
00026 
00028   EBTriggerTowerTask(const edm::ParameterSet& ps);
00029 
00031   virtual ~EBTriggerTowerTask();
00032 
00034   static const int nTTEta; 
00035 
00037   static const int nTTPhi; 
00038 
00040   static const int nSM; 
00041 
00042  protected:
00043 
00045   void analyze(const edm::Event& e, 
00046                const edm::EventSetup& c);
00047 
00049   void beginJob(void);
00050 
00052   void endJob(void);
00053 
00055   void beginRun(const edm::Run & r, const edm::EventSetup & c);
00056 
00058   void endRun(const edm::Run & r, const edm::EventSetup & c);
00059 
00061   void reset(void);
00062 
00064   void setup(void);
00065 
00067   void cleanup(void);
00068 
00069  private:
00070   
00072   typedef std::vector<MonitorElement*> array1;
00073 
00075   void reserveArray( array1& array );
00076 
00078   void processDigis( const edm::Event& e, 
00079                      const edm::Handle<EcalTrigPrimDigiCollection>& digis, 
00080                      array1& meEtMap,
00081                      array1& meVeto,
00082                      const edm::Handle<EcalTrigPrimDigiCollection>& compDigis
00083                      = edm::Handle<EcalTrigPrimDigiCollection>(),
00084                      const edm::Handle<edm::TriggerResults>& hltResults
00085                      = edm::Handle<edm::TriggerResults>());
00086 
00087 
00089   void setup( std::string const &nameext,
00090               std::string const  &folder, 
00091               bool emulated);
00092   
00093 
00095   int ievt_;
00096 
00098   array1 meEtMapReal_;
00099 
00101   array1 meVetoReal_;
00102 
00104   array1 meEtMapEmul_;
00105 
00107   array1 meVetoEmul_;
00108 
00112   array1 meEmulError_;
00113   array1 meEmulMatch_;
00114   array1 meVetoEmulError_;
00115 
00117   bool init_;
00118 
00120   DQMStore* dqmStore_;
00121 
00123   std::string prefixME_;
00124 
00126   bool enableCleanup_;
00127 
00129   bool mergeRuns_;
00130 
00132   edm::InputTag realCollection_;
00133 
00135   edm::InputTag emulCollection_;
00136 
00138   edm::InputTag EBDigiCollection_;
00139 
00141   edm::InputTag HLTResultsCollection_;
00142   std::string HLTCaloHLTBit_;
00143   std::string HLTMuonHLTBit_;
00144 
00146   std::string outputFile_;
00147 
00149   MonitorElement* meEmulMatchIndex1D_;
00150   MonitorElement* meEmulMatchMaxIndex1D_;
00151 
00153   MonitorElement* meEtSpectrumReal_;
00154   MonitorElement* meEtSpectrumEmul_;
00155   MonitorElement* meEtSpectrumEmulMax_;
00156 
00158   MonitorElement* meEtBxReal_;
00159   MonitorElement* meOccupancyBxReal_;
00160 
00162   MonitorElement* meTCCTimingCalo_;
00163   MonitorElement* meTCCTimingMuon_;
00164 
00165 };
00166 
00167 #endif