CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/DQMOffline/Ecal/interface/EBClusterTaskExtras.h

Go to the documentation of this file.
00001 #ifndef EBClusterTaskExtras_H
00002 #define EBClusterTaskExtras_H
00003 
00004 /*
00005  * \file EBClusterTaskExtras.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 EBCLUSTERTASKEXTRAS_DQMOFFLINE
00018 
00019 class MonitorElement;
00020 class DQMStore;
00021 
00022 class EBClusterTaskExtras: public edm::EDAnalyzer{
00023 
00024  public:
00025 
00027 EBClusterTaskExtras(const edm::ParameterSet& ps);
00028 
00030 virtual ~EBClusterTaskExtras();
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 EBCLUSTERTASKEXTRAS_DQMOFFLINE
00090 MonitorElement* meSCSizCrystal_;
00091 MonitorElement* meSCSizBC_;
00092 MonitorElement* meSCSizPhi_;
00093 
00094 MonitorElement* meSCSeedEne_;
00095 MonitorElement* meSCEne2_;
00096 MonitorElement* meSCEneLow_;
00097 MonitorElement* meSCEneHigh_;
00098 MonitorElement* meSCEneSingleCrystal_;
00099 
00100 MonitorElement* meSCSeedMapOccTT_;
00101 MonitorElement* meSCSeedMapOccHighEne_;
00102 MonitorElement* meSCSeedMapOccSingleCrystal_;
00103 
00104 MonitorElement* meSCSeedTime_;
00105 MonitorElement* meSCSeedMapTimeTT_;
00106 MonitorElement* meSCSeedMapTimeMod_;
00107 MonitorElement* meSCSeedTimeVsPhi_;
00108 MonitorElement* meSCSeedTimeVsAmp_;
00109 MonitorElement* meSCSeedTimeEBM_;
00110 MonitorElement* meSCSeedTimeEBP_;
00111 MonitorElement* meSCSeedTimeEBMTop_;
00112 MonitorElement* meSCSeedTimeEBPTop_;
00113 MonitorElement* meSCSeedTimeEBMBot_;
00114 MonitorElement* meSCSeedTimeEBPBot_;
00115 MonitorElement* meSCSeedTimePerFed_[36];
00116 
00117 MonitorElement* meSCSeedMapOccTrg_[5];
00118 MonitorElement* meSCSeedMapOccTrgExcl_[5];
00119 MonitorElement* meSCSeedMapTimeTrgMod_[5];
00120 #endif
00121 
00122 MonitorElement* meSCSizCrystalVsEne_;
00123 
00124 MonitorElement* meSCSeedMapOcc_;
00125 MonitorElement* meSCSeedMapOccHighEneTT_;
00126 
00127 MonitorElement* meSCSeedMapOccTrgTT_[5];
00128 MonitorElement* meSCSeedMapOccTrgExclTT_[5];
00129 
00130 MonitorElement* meSCSeedMapTimeTrgTT_[5];
00131 MonitorElement* meSCSeedTimeTrg_[5];
00132 
00133 MonitorElement* meTrg_;
00134 MonitorElement* meTrgExcl_;
00135 
00136 bool init_;
00137 
00138 };
00139 
00140 #endif