Go to the documentation of this file.00001
00002
00003
00004
00005
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include <memory>
00023
00024
00025 #include "FWCore/Framework/interface/Frameworkfwd.h"
00026 #include "FWCore/Framework/interface/EDAnalyzer.h"
00027
00028 #include "FWCore/Framework/interface/Event.h"
00029 #include "FWCore/Framework/interface/MakerMacros.h"
00030 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00031 #include "FWCore/ServiceRegistry/interface/Service.h"
00032 #include "CommonTools/UtilAlgos/interface/TFileService.h"
00033
00034
00035
00036 #include <DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerRecord.h>
00037 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutSetupFwd.h"
00038 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutSetup.h"
00039 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutRecord.h"
00040
00041 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTReadoutCollection.h"
00042 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuRegionalCand.h"
00043 #include <DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTExtendedCand.h>
00044
00045
00046 #include <DataFormats/L1GlobalTrigger/interface/L1GtTechnicalTrigger.h>
00047 #include <DataFormats/L1GlobalTrigger/interface/L1GtTechnicalTriggerRecord.h>
00048
00049
00050 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00051 #include "DataFormats/TrackReco/interface/Track.h"
00052 #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h"
00053
00054 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
00055 #include "Geometry/CommonDetUnit/interface/GeomDet.h"
00056 #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
00057
00058 #include "DataFormats/RecoCandidate/interface/RecoCandidate.h"
00059 #include "DataFormats/Math/interface/LorentzVector.h"
00060 #include "DataFormats/TrackReco/interface/Track.h"
00061 #include "DataFormats/MuonReco/interface/Muon.h"
00062 #include "DataFormats/MuonReco/interface/MuonFwd.h"
00063 #include "DataFormats/MuonReco/interface/MuonSelectors.h"
00064
00065 #include "DQMServices/Core/interface/DQMStore.h"
00066 #include "DQMServices/Core/interface/MonitorElement.h"
00067
00068
00069
00070
00071 class RPCTTUMonitor : public edm::EDAnalyzer {
00072 public:
00073 explicit RPCTTUMonitor(const edm::ParameterSet&);
00074 ~ RPCTTUMonitor();
00075
00076 int discriminateGMT( const edm::Event& iEvent, const edm::EventSetup& iSetup );
00077
00078 void discriminateDecision( bool , bool , int );
00079
00080 private:
00081 virtual void beginJob();
00082 virtual void beginRun(const edm::EventSetup&);
00083 virtual void analyze(const edm::Event&, const edm::EventSetup&);
00084 virtual void endJob() ;
00085
00086
00087 MonitorElement * m_ttBitsDecisionData;
00088 MonitorElement * m_ttBitsDecisionEmulator;
00089 MonitorElement * m_bxDistDiffPac[8];
00090 MonitorElement * m_bxDistDiffDt[8];
00091 MonitorElement * m_dataVsemulator[8];
00092
00093 DQMStore * dbe;
00094 std::string ttuFolder ;
00095 std::string outputFile ;
00096
00097 int m_maxttBits;
00098 std::vector<unsigned> m_ttBits;
00099
00100 bool m_dtTrigger;
00101 bool m_rpcTrigger;
00102
00103 std::vector<int> m_GMTcandidatesBx;
00104 std::vector<int> m_DTcandidatesBx;
00105 std::vector<int> m_RPCcandidatesBx;
00106
00107 edm::InputTag m_rpcDigiLabel;
00108 edm::InputTag m_gtReadoutLabel;
00109 edm::InputTag m_gmtReadoutLabel;
00110 edm::InputTag m_rpcTechTrigEmu;
00111
00112 };
00113