CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/DQMOffline/Trigger/interface/HLTTauDQMCaloPlotter.h

Go to the documentation of this file.
00001 // Original Author:  Michail Bachtis
00002 // Created:  Sun Jan 20 20:10:02 CST 2008
00003 // University of Wisconsin-Madison
00004 
00005 #ifndef HLTTauDQMCaloPlotter_h
00006 #define HLTTauDQMCaloPlotter_h
00007 
00008 #include "DQMOffline/Trigger/interface/HLTTauDQMPlotter.h"
00009 
00010 #include "DataFormats/TauReco/interface/L2TauInfoAssociation.h"
00011 
00012 class HLTTauDQMCaloPlotter : public HLTTauDQMPlotter {
00013 public:
00014     HLTTauDQMCaloPlotter( const edm::ParameterSet&, int, int, int, double, bool, double, std::string );
00015     ~HLTTauDQMCaloPlotter();
00016     const std::string name() { return name_; }
00017     void analyze( const edm::Event&, const edm::EventSetup&, const std::map<int,LVColl>& );
00018     
00019 private:
00020     //Parameters to read
00021     std::vector<edm::InputTag> l2preJets_;
00022     edm::InputTag l2TauInfoAssoc_; //Path to analyze
00023     edm::InputTag met_; //Handle to missing Et 
00024     bool doRef_; //DoReference Analysis
00025     
00026     //Select if you want match or not
00027     double matchDeltaRMC_;
00028     edm::InputTag l2Isolated_; //Path to analyze
00029     
00030     //Histogram Limits
00031     
00032     double EtMax_;
00033     int NPtBins_;
00034     int NEtaBins_;
00035     int NPhiBins_;
00036     
00037     //Monitor elements main
00038     MonitorElement* preJetEt;
00039     MonitorElement* preJetEta;
00040     MonitorElement* preJetPhi;
00041     
00042     MonitorElement* jetEt;
00043     MonitorElement* jetEta;
00044     MonitorElement* jetPhi;
00045     
00046     MonitorElement* isoJetEt;
00047     MonitorElement* isoJetEta;
00048     MonitorElement* isoJetPhi;
00049     
00050     MonitorElement* jetEtRes;
00051     
00052     MonitorElement* ecalIsolEt;
00053     MonitorElement* hcalIsolEt;
00054     
00055     MonitorElement* seedEcalEt;
00056     MonitorElement* seedHcalEt;
00057     
00058     MonitorElement* ecalClusterEtaRMS;
00059     MonitorElement* ecalClusterPhiRMS;
00060     MonitorElement* ecalClusterDeltaRRMS;
00061     MonitorElement* nEcalClusters;
00062     
00063     MonitorElement* hcalClusterEtaRMS;
00064     MonitorElement* hcalClusterPhiRMS;
00065     MonitorElement* hcalClusterDeltaRRMS;
00066     MonitorElement* nHcalClusters;
00067     
00068     MonitorElement* recoEtEffNum;
00069     MonitorElement* recoEtEffDenom;
00070     MonitorElement* recoEtaEffNum;
00071     MonitorElement* recoEtaEffDenom;
00072     MonitorElement* recoPhiEffNum;
00073     MonitorElement* recoPhiEffDenom;
00074     
00075     MonitorElement* isoEtEffNum;
00076     MonitorElement* isoEtEffDenom;
00077     MonitorElement* isoEtaEffNum;
00078     MonitorElement* isoEtaEffDenom;
00079     MonitorElement* isoPhiEffNum;
00080     MonitorElement* isoPhiEffDenom;
00081     
00082     bool matchJet( const reco::Jet&, const reco::CaloJetCollection& );//See if this Jet Is Matched
00083     std::pair<bool,reco::CaloJet> inverseMatch( const LV&, const reco::CaloJetCollection& );//See if this Jet Is Matched
00084     
00085     class SorterByPt {
00086     public:
00087         SorterByPt() {}
00088         ~SorterByPt() {}
00089         bool operator() (reco::CaloJet jet1 , reco::CaloJet jet2) {
00090             return jet1.pt() > jet2.pt();
00091         }
00092     };
00093 };
00094 #endif