CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/DQMOffline/Ecal/interface/EEClusterTaskExtras.h

Go to the documentation of this file.
00001 #ifndef EEClusterTaskExtras_H
00002 #define EEClusterTaskExtras_H
00003 
00004 /*
00005  * \file EEClusterTaskExtras.h
00006  *
00007  * $Date: 2009/12/14 21:14:06 $
00008  * $Revision: 1.5 $
00009  * \author G. Della Ricca
00010  *
00011  */
00012 
00013 #include "FWCore/Framework/interface/EDAnalyzer.h"
00014 #include "FWCore/Framework/interface/Event.h"
00015 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00016 
00017 #define EECLUSTERTASKEXTRAS_DQMOFFLINE
00018 
00019 class MonitorElement;
00020 class DQMStore;
00021 
00022 class EEClusterTaskExtras: public edm::EDAnalyzer{
00023 
00024  public:
00025 
00027 EEClusterTaskExtras(const edm::ParameterSet& ps);
00028 
00030 virtual ~EEClusterTaskExtras();
00031 
00032 protected:
00033 
00035 void analyze(const edm::Event& e, const edm::EventSetup& c);
00036 
00038 void beginJob(void);
00039 
00041 void endJob(void);
00042 
00044 void beginRun(const edm::Run & r, const edm::EventSetup & c);
00045 
00047 void endRun(const edm::Run & r, const edm::EventSetup & c);
00048 
00050 void reset(void);
00051 
00053 void setup(void);
00054 
00056 void cleanup(void);
00057 
00058 // Determine Trigger
00059 std::vector<bool> determineTriggers(const edm::Event&, const edm::EventSetup& eventSetup);
00060 bool isExclusiveTrigger(int l1Trigger, std::vector<bool>& l1Triggers);
00061 bool doMonitorElement(std::string meName);
00062 
00063 enum L1Triggers {
00064    CSC_TRIGGER  = 0,
00065    DT_TRIGGER   = 1,
00066    ECAL_TRIGGER = 2,
00067    HCAL_TRIGGER = 3,
00068    RPC_TRIGGER  = 4
00069 };
00070 
00071 private:
00072 
00073 int ievt_;
00074 
00075 DQMStore* dqmStore_;
00076 
00077 std::string prefixME_;
00078 
00079 bool enableCleanup_;
00080 
00081 bool mergeRuns_;
00082 
00083 edm::InputTag SuperClusterCollection_;
00084 edm::InputTag EcalRecHitCollection_;
00085 edm::InputTag l1GMTReadoutRecTag_;
00086 edm::InputTag l1GTReadoutRecTag_;
00087 std::vector<std::string> meList_;
00088 
00089 #ifndef EECLUSTERTASKEXTRAS_DQMOFFLINE
00090 MonitorElement* meSCSizCrystal_;
00091 MonitorElement* meSCSizBC_;
00092 
00093 MonitorElement* meSCSeedEne_;
00094 MonitorElement* meSCEne2_;
00095 MonitorElement* meSCEneLow_;
00096 MonitorElement* meSCEneHigh_;
00097 MonitorElement* meSCEneSingleCrystal_;
00098 
00099 MonitorElement* meSCSeedMapOccSC_[2];
00100 MonitorElement* meSCSeedMapOccHighEne_[2];
00101 MonitorElement* meSCSeedMapOccSingleCrystal_[2];
00102 MonitorElement* meSCSeedMapOccTrg_[2][5];
00103 MonitorElement* meSCSeedMapOccTrgExcl_[2][5];
00104 MonitorElement* meSCSeedTime_;
00105 MonitorElement* meSCSeedMapTimeSC_[2];
00106 MonitorElement* meSCSeedTimeVsAmp_;
00107 MonitorElement* meSCSeedTimeEEM_;
00108 MonitorElement* meSCSeedTimeEEP_;
00109 MonitorElement* meSCSeedTimePerFed_[18];
00110 MonitorElement* meSCSeedMapTimeSC_[2][5];
00111 #endif
00112 
00113 MonitorElement* meSCSizCrystalVsEne_;
00114 
00115 MonitorElement* meSCSeedMapOcc_[2];
00116 MonitorElement* meSCSeedMapOccHighEneSC_[2];
00117 MonitorElement* meSCSeedMapOccTrgSC_[2][5];
00118 MonitorElement* meSCSeedMapOccTrgExclSC_[2][5];
00119 
00120 MonitorElement* meSCSeedMapTimeTrgSC_[2][5];
00121 
00122 bool init_;
00123 
00124 };
00125 
00126 #endif