CMS 3D CMS Logo

EmDQM.h

Go to the documentation of this file.
00001 #ifndef HLTriggerOffline_Egamma_EmDQM_H
00002 #define HLTriggerOffline_Egamma_EmDQM_H
00003 
00004 
00005 // Base Class Headers
00006 #include "DataFormats/Common/interface/Handle.h"
00007 #include "DataFormats/HLTReco/interface/TriggerEventWithRefs.h"
00008 #include "FWCore/Framework/interface/EDAnalyzer.h"
00009 #include "FWCore/Framework/interface/Frameworkfwd.h"
00010 #include "FWCore/Framework/interface/Event.h"
00011 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00012 #include "FWCore/ParameterSet/interface/InputTag.h"
00013 #include "DataFormats/Common/interface/RefToBase.h"
00014 #include "DQMServices/Core/interface/DQMStore.h"
00015 #include "DQMServices/Core/interface/MonitorElement.h"
00016 #include <vector>
00017 #include "TDirectory.h"
00018 #include "HepMC/GenParticle.h"
00019 
00020 class EmDQM : public edm::EDAnalyzer{
00021 public:
00023   explicit EmDQM(const edm::ParameterSet& pset);
00024 
00026   ~EmDQM();
00027 
00028   // Operations
00029 
00030   void analyze(const edm::Event & event, const edm::EventSetup&);
00031   void beginJob(const edm::EventSetup&);
00032   void endJob();
00033 
00034 private:
00035   // Input from cfg file
00036   std::vector<edm::InputTag> theHLTCollectionLabels;  
00037   edm::InputTag theL1Seed;
00038   std::vector<int> theHLTOutputTypes;
00039   std::vector<bool> plotiso;
00040   std::vector<std::vector<edm::InputTag> > isoNames; // there has to be a better solution
00041   std::vector<std::pair<double,double> > plotBounds; 
00042   std::string theHltName;
00043   unsigned int reqNum;
00044   double thePtMin ;
00045   double thePtMax ;
00046   unsigned int theNbins ;
00047 
00048   std::vector<MonitorElement*> etahist;
00049   std::vector<MonitorElement*> ethist;
00050   std::vector<MonitorElement*> etahistmatch;
00051   std::vector<MonitorElement*> ethistmatch;
00052   std::vector<MonitorElement*> etahistiso;
00053   std::vector<MonitorElement*> ethistiso;
00054   MonitorElement* total;
00055   MonitorElement* etgen;
00056   MonitorElement* etagen;
00057   int   pdgGen;
00058   double genEtaAcc;
00059   double genEtAcc;
00060 
00061   template <class T> void fillHistos(edm::Handle<trigger::TriggerEventWithRefs>& ,const edm::Event& ,unsigned int, std::vector<HepMC::GenParticle>& );
00062   
00063   DQMStore * dbe;
00064   std::string dirname_;
00065 
00066   edm::InputTag gencutCollection_;
00067   int gencut_;
00068 
00069 };
00070 #endif

Generated on Tue Jun 9 17:38:01 2009 for CMSSW by  doxygen 1.5.4