Go to the documentation of this file.00001 #ifndef HaloTrigger_h
00002 #define HaloTrigger_h
00003
00004 #include "FWCore/Framework/interface/Frameworkfwd.h"
00005 #include "FWCore/Framework/interface/EDAnalyzer.h"
00006 #include "FWCore/Framework/interface/Event.h"
00007 #include "FWCore/Framework/interface/EventSetup.h"
00008 #include "FWCore/PluginManager/interface/ModuleDef.h"
00009 #include "FWCore/Framework/interface/MakerMacros.h"
00010 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00011 #include "FWCore/Utilities/interface/InputTag.h"
00012
00013 #include "DQMServices/Core/interface/DQMStore.h"
00014 #include "DQMServices/Core/interface/MonitorElement.h"
00015 #include "FWCore/ServiceRegistry/interface/Service.h"
00016 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00017 #include "L1Trigger/CSCTrackFinder/interface/CSCSectorReceiverLUT.h"
00018 #include "L1Trigger/CSCCommonTrigger/interface/CSCTriggerGeometry.h"
00019
00020 #include <iostream>
00021 #include <string>
00022 #include <vector>
00023 #include <TFile.h>
00024 #include <TTree.h>
00025 #include <TH1F.h>
00026 #include <TStyle.h>
00027
00028 class HaloTrigger : public edm::EDAnalyzer {
00029
00030 public:
00031 HaloTrigger(const edm::ParameterSet& ps);
00032 virtual ~HaloTrigger();
00033
00034 std::string SimVtxLabel;
00035
00036 bool first;
00037 std::vector<std::string> Namen;
00038 unsigned int hltHaloTriggers, hltHaloOver1, hltHaloOver2, hltHaloRing23, CscHalo_Gmt;
00039 unsigned int majikNumber0, majikNumber1, majikNumber2, majikNumber3;
00040
00041 protected:
00042 void analyze(const edm::Event& e, const edm::EventSetup& es);
00043 void beginJob();
00044 void endJob(void);
00045
00046 private:
00047 DQMStore * dbe;
00048 MonitorElement* PlusMe1BeamHaloOcc;
00049 MonitorElement* PlusMe1BeamHaloOccRing1;
00050 MonitorElement* PlusMe1BeamHaloOccRing2;
00051 MonitorElement* PlusMe1BeamHaloOccRing2or3;
00052 MonitorElement* PlusMe2BeamHaloOcc;
00053 MonitorElement* PlusMe2BeamHaloOccRing1;
00054 MonitorElement* PlusMe2BeamHaloOccRing2;
00055 MonitorElement* PlusMe2BeamHaloOccRing2or3;
00056 MonitorElement* PlusMe3BeamHaloOcc;
00057 MonitorElement* PlusMe3BeamHaloOccRing1;
00058 MonitorElement* PlusMe3BeamHaloOccRing2;
00059 MonitorElement* PlusMe3BeamHaloOccRing2or3;
00060 MonitorElement* PlusMe4BeamHaloOcc;
00061 MonitorElement* PlusMe4BeamHaloOccRing1;
00062 MonitorElement* PlusMe4BeamHaloOccRing2;
00063 MonitorElement* PlusMe4BeamHaloOccRing2or3;
00064 MonitorElement* PlusMe1BeamHaloOccRad;
00065
00066 MonitorElement* MinusMe1BeamHaloOcc;
00067 MonitorElement* MinusMe1BeamHaloOccRing1;
00068 MonitorElement* MinusMe1BeamHaloOccRing2;
00069 MonitorElement* MinusMe1BeamHaloOccRing2or3;
00070 MonitorElement* MinusMe2BeamHaloOcc;
00071 MonitorElement* MinusMe2BeamHaloOccRing1;
00072 MonitorElement* MinusMe2BeamHaloOccRing2;
00073 MonitorElement* MinusMe2BeamHaloOccRing2or3;
00074 MonitorElement* MinusMe3BeamHaloOcc;
00075 MonitorElement* MinusMe3BeamHaloOccRing1;
00076 MonitorElement* MinusMe3BeamHaloOccRing2;
00077 MonitorElement* MinusMe3BeamHaloOccRing2or3;
00078 MonitorElement* MinusMe4BeamHaloOcc;
00079 MonitorElement* MinusMe4BeamHaloOccRing1;
00080 MonitorElement* MinusMe4BeamHaloOccRing2;
00081 MonitorElement* MinusMe4BeamHaloOccRing2or3;
00082 MonitorElement* MinusMe1BeamHaloOccRad;
00083
00084 MonitorElement* MinusMe3BeamHaloOccRing2Unfold;
00085 MonitorElement* MinusMe2BeamHaloOccRing2Unfold;
00086 MonitorElement* PlusMe3BeamHaloOccRing2Unfold;
00087 MonitorElement* PlusMe2BeamHaloOccRing2Unfold;
00088 MonitorElement* MinusMe3BeamHaloOccRing1Unfold;
00089 MonitorElement* MinusMe2BeamHaloOccRing1Unfold;
00090 MonitorElement* PlusMe3BeamHaloOccRing1Unfold;
00091 MonitorElement* PlusMe2BeamHaloOccRing1Unfold;
00092
00093 MonitorElement* PlusEff;
00094 MonitorElement* MinusEff;
00095 MonitorElement* PlusEffProj3;
00096 MonitorElement* MinusEffProj3;
00097 MonitorElement* PlusEffNum;
00098 MonitorElement* PlusEffDen;
00099 MonitorElement* MinusEffNum;
00100 MonitorElement* MinusEffDen;
00101
00102 float numCountPlus[50];
00103 float denCountPlus[50];
00104 float numCountMinus[50];
00105 float denCountMinus[50];
00106
00107
00108 edm::ESHandle<CSCGeometry> m_cscGeometry;
00109 edm::InputTag lctProducer, HLTriggerTag, GMTInputTag, cscRecHitLabel;
00110
00111 std::string outFile;
00112 int gtHaloBit;
00113 };
00114
00115 #endif