Go to the documentation of this file.00001 #ifndef EETriggerTowerTask_H
00002 #define EETriggerTowerTask_H
00003
00004
00005
00006
00007
00008
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 EETriggerTowerTask : public edm::EDAnalyzer {
00024
00025 public:
00026
00028 EETriggerTowerTask(const edm::ParameterSet& ps);
00029
00031 virtual ~EETriggerTowerTask();
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( const char* nameext,
00090 const char* 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 EEDigiCollection_;
00139
00141 edm::InputTag HLTResultsCollection_;
00142 std::string HLTCaloHLTBit_;
00143 std::string HLTMuonHLTBit_;
00144
00146 std::string outputFile_;
00147
00149 MonitorElement* meEmulMatchIndex1D_[2];
00150 MonitorElement* meEmulMatchMaxIndex1D_[2];
00151
00153 MonitorElement* meEtSpectrumReal_[2];
00154 MonitorElement* meEtSpectrumEmul_[2];
00155 MonitorElement* meEtSpectrumEmulMax_[2];
00156
00158 MonitorElement* meEtBxReal_[2];
00159 MonitorElement* meOccupancyBxReal_[2];
00160
00162 MonitorElement* meTCCTimingCalo_[2];
00163 MonitorElement* meTCCTimingMuon_[2];
00164
00165 };
00166
00167 #endif