CMS 3D CMS Logo

HLTTauValidation.h

Go to the documentation of this file.
00001 /* HLTTau Path Validation Analyzer
00002 Michail Bachtis
00003 University of Wisconsin - Madison
00004 bachtis@hep.wisc.edu
00005 */
00006 
00007 
00008 #ifndef HLTTauValidation_h
00009 #define HLTTauValidation_h
00010 
00011 
00012 #include "FWCore/Framework/interface/Event.h"
00013 #include "FWCore/Framework/interface/EDAnalyzer.h"
00014 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00015 #include "DataFormats/Math/interface/LorentzVector.h"
00016 #include "FWCore/ServiceRegistry/interface/Service.h"
00017 #include "DataFormats/HLTReco/interface/TriggerEventWithRefs.h"
00018 #include "DataFormats/HLTReco/interface/TriggerRefsCollections.h"
00019 #include "DataFormats/L1Trigger/interface/L1JetParticle.h"
00020 #include "DataFormats/L1Trigger/interface/L1JetParticleFwd.h"
00021 #include "DataFormats/L1Trigger/interface/L1EmParticle.h"
00022 #include "DataFormats/L1Trigger/interface/L1EmParticleFwd.h"
00023 #include "DataFormats/L1Trigger/interface/L1MuonParticle.h"
00024 #include "DataFormats/L1Trigger/interface/L1MuonParticleFwd.h"
00025 #include "DataFormats/EgammaCandidates/interface/Electron.h"
00026 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidate.h"
00027 //Include DQM core
00028 #include "DQMServices/Core/interface/DQMStore.h"
00029 #include "DQMServices/Core/interface/MonitorElement.h"
00030 
00031 typedef math::XYZTLorentzVectorD   LV;
00032 typedef std::vector<LV>            LVColl;
00033 
00034 
00035 
00036 class HLTTauValidation : public edm::EDAnalyzer {
00037   
00038  public:
00039   explicit HLTTauValidation(const edm::ParameterSet&);
00040   ~HLTTauValidation();
00041   
00042  private:
00043   virtual void analyze(const edm::Event&, const edm::EventSetup&);
00044   virtual void endJob() ;
00045 
00046   LVColl getFilterCollection(size_t,int,const trigger::TriggerEventWithRefs&);
00047 
00048   //helper functions
00049   bool match(const LV&,const LVColl&,double);
00050 
00052   edm::InputTag triggerEventObject_;
00053 
00054   //reference Collection
00055   edm::InputTag refCollection_;
00056   edm::InputTag refLeptonCollection_;
00057     
00058   //Just a tag for better file organization
00059   std::string triggerTag_;
00060 
00061   //The  filters
00062   std::vector<edm::InputTag> filter_;
00063   std::vector<int> TauType_;
00064   std::vector<int> LeptonType_;
00065 
00066   //Parameters(Note that the first entry is for the reference events)
00067   std::vector<unsigned> nTriggeredTaus_;
00068   std::vector<unsigned> nTriggeredLeptons_;
00069 
00070   bool doRefAnalysis_;
00071   std::vector<double> matchDeltaR_;
00072 
00073 
00074 
00075   //MonitorElements
00076   MonitorElement *accepted_events;
00077   MonitorElement *accepted_events_matched;
00078 };
00079 #endif

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