00001 #ifndef EBTriggerTowerTask_H
00002 #define EBTriggerTowerTask_H
00003
00004
00005
00006
00007
00008
00009
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 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h"
00018
00019 #include <vector>
00020
00021 class MonitorElement;
00022 class DQMStore;
00023
00024 class EBTriggerTowerTask : public edm::EDAnalyzer {
00025
00026 public:
00027
00029 EBTriggerTowerTask(const edm::ParameterSet& ps);
00030
00032 virtual ~EBTriggerTowerTask();
00033
00035 static const int nTTEta;
00036
00038 static const int nTTPhi;
00039
00041 static const int nSM;
00042
00043 protected:
00044
00046 void analyze(const edm::Event& e,
00047 const edm::EventSetup& c);
00048
00050 void beginJob(const edm::EventSetup& c);
00051
00053 void endJob(void);
00054
00056 void beginRun(const edm::Run & r, const edm::EventSetup & c);
00057
00059 void endRun(const edm::Run & r, const edm::EventSetup & c);
00060
00062 void reset(void);
00063
00065 void setup(void);
00066
00068 void cleanup(void);
00069
00070 private:
00071
00073 typedef std::vector<MonitorElement*> array1;
00074
00076 void reserveArray( array1& array );
00077
00079 void processDigis( const edm::Event& e,
00080 const edm::Handle<EcalTrigPrimDigiCollection>& digis,
00081 MonitorElement* meEtMap,
00082 array1& meVeto,
00083 array1& meFlags,
00084 const edm::Handle<EcalTrigPrimDigiCollection>& digis
00085 = edm::Handle<EcalTrigPrimDigiCollection>());
00086
00087
00089 void setup( const char* nameext,
00090 const char* folder,
00091 bool emulated);
00092
00093
00095 int ievt_;
00096
00098 MonitorElement* meEtMapReal_;
00099
00101 array1 meVetoReal_;
00102
00104 array1 meFlagsReal_;
00105
00107 MonitorElement* meEtMapEmul_;
00108
00110 array1 meVetoEmul_;
00111
00113 array1 meFlagsEmul_;
00114
00118 array1 meEmulError_;
00119 array1 meEmulMatch_;
00120 array1 meVetoEmulError_;
00121 array1 meFlagEmulError_;
00122
00124 bool init_;
00125
00127 DQMStore* dqmStore_;
00128
00130 std::string prefixME_;
00131
00133 bool enableCleanup_;
00134
00136 bool mergeRuns_;
00137
00139 edm::InputTag realCollection_;
00140
00142 edm::InputTag emulCollection_;
00143
00145 edm::InputTag EBDigiCollection_;
00146
00148 std::string outputFile_;
00149
00150 };
00151
00152 #endif