CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/HLTrigger/HLTanalyzers/interface/HLTAnalyzer.h

Go to the documentation of this file.
00001 #include <iostream>
00002 
00003 #include "HLTrigger/HLTanalyzers/interface/HLTEgamma.h"
00004 #include "HLTrigger/HLTanalyzers/interface/HLTInfo.h"
00005 #include "HLTrigger/HLTanalyzers/interface/HLTJets.h"
00006 #include "HLTrigger/HLTanalyzers/interface/HLTBJet.h"
00007 #include "HLTrigger/HLTanalyzers/interface/HLTMCtruth.h"
00008 #include "HLTrigger/HLTanalyzers/interface/HLTMuon.h"
00009 #include "HLTrigger/HLTanalyzers/interface/HLTAlCa.h"  
00010 #include "HLTrigger/HLTanalyzers/interface/HLTTrack.h"
00011 #include "HLTrigger/HLTanalyzers/interface/EventHeader.h"
00012 #include "HLTrigger/HLTanalyzers/interface/RECOVertex.h"
00013 
00014 #include "FWCore/Framework/interface/Frameworkfwd.h"
00015 #include "FWCore/Framework/interface/MakerMacros.h"
00016 #include "FWCore/Framework/interface/EDAnalyzer.h"
00017 #include "FWCore/Framework/interface/Event.h"
00018 #include "FWCore/Framework/interface/EventSetup.h"
00019 #include "FWCore/Framework/interface/ESHandle.h"
00020 
00021 #include "FWCore/ParameterSet/interface/Registry.h"
00022 
00023 #include "Geometry/Records/interface/IdealGeometryRecord.h"
00024 #include "Geometry/CaloEventSetup/interface/CaloTopologyRecord.h"  
00025 
00026 #include "CondFormats/DataRecord/interface/L1CaloGeometryRecord.h"  
00027 
00028 #include "DataFormats/Common/interface/Handle.h"
00029 
00030 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutRecord.h"
00031 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutSetupFwd.h"
00032 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerObjectMapRecord.h"
00033 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerObjectMapFwd.h"
00034 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerObjectMap.h"
00035 
00036 #include "SimDataFormats/GeneratorProducts/interface/GenEventInfoProduct.h"
00037 
00038 #include "DataFormats/TauReco/interface/PFTauDiscriminator.h"
00039 
00047 class HLTAnalyzer : public edm::EDAnalyzer {
00048 public:
00049   explicit HLTAnalyzer(edm::ParameterSet const& conf);
00050   virtual void analyze(edm::Event const& e, edm::EventSetup const& iSetup);
00051   virtual void beginRun(const edm::Run& , const edm::EventSetup& );
00052   virtual void endJob();
00053 
00054   //  static void fillDescriptions(edm::ConfigurationDescriptions & descriptions); 
00055 
00056   // Analysis tree to be filled
00057   TTree *HltTree;
00058 
00059 private:
00060   // variables persistent across events should be declared here.
00061   //
00063 
00064   EventHeader evt_header_;
00065   HLTJets     jet_analysis_;
00066   HLTBJet     bjet_analysis_;
00067   HLTMuon     muon_analysis_;
00068   HLTEgamma   elm_analysis_;
00069   HLTMCtruth  mct_analysis_;
00070   /*
00071   HLTAlCa     alca_analysis_; 
00072   */
00073   HLTTrack    track_analysis_;
00074   HLTInfo     hlt_analysis_;
00075   RECOVertex  vrt_analysisHLT_;
00076   RECOVertex  vrt_analysisOffline0_;
00077 
00078   int firstLumi_, lastLumi_, towerThreshold_;
00079   double xSection_, filterEff_, treeWeight;
00080 
00081   edm::InputTag recjets_,reccorjets_,genjets_,recmet_,recoPFMet_,genmet_,ht_,recoPFJets_,calotowers_,hltresults_,genEventInfo_;
00082   edm::InputTag calotowersUpperR45_, calotowersLowerR45_, calotowersNoR45_;
00083   edm::InputTag hltjets_, hltcorjets_, hltcorL1L2L3jets_, rho_;
00084   edm::InputTag muon_;
00085   edm::InputTag pfmuon_;
00086   std::string l1extramc_, l1extramu_;
00087   edm::InputTag m_l1extramu;
00088   edm::InputTag m_l1extraemi;
00089   edm::InputTag m_l1extraemn;
00090   edm::InputTag m_l1extrajetc;
00091   edm::InputTag m_l1extrajetf;
00092   edm::InputTag m_l1extrajet;
00093   edm::InputTag m_l1extrataujet;
00094   edm::InputTag m_l1extramet;
00095   edm::InputTag m_l1extramht;
00096 
00097   edm::InputTag particleMapSource_,mctruth_,simhits_; 
00098   edm::InputTag gtReadoutRecord_,gtObjectMap_; 
00099   edm::InputTag gctBitCounts_,gctRingSums_;
00100 
00101   edm::InputTag MuCandTag2_,MuIsolTag2_,MuNoVtxCandTag2_,MuCandTag3_,MuIsolTag3_,MuTrkIsolTag3_;
00102   edm::InputTag oniaPixelTag_,oniaTrackTag_,DiMuVtx_,TrackerMuonTag_;
00103   edm::InputTag L2Tau_, HLTTau_, PFTau_, PFTauTightCone_;
00104   edm::InputTag PFJets_;
00105   
00106   //offline reco tau collection and discriminators
00107   edm::InputTag RecoPFTau_;
00108   edm::InputTag RecoPFTauDiscrByTanCOnePercent_;
00109   edm::InputTag RecoPFTauDiscrByTanCHalfPercent_;
00110   edm::InputTag RecoPFTauDiscrByTanCQuarterPercent_;
00111   edm::InputTag RecoPFTauDiscrByTanCTenthPercent_;
00112   edm::InputTag RecoPFTauDiscrByIso_;
00113   edm::InputTag RecoPFTauAgainstMuon_;
00114   edm::InputTag RecoPFTauAgainstElec_;
00115   
00116  
00117   // btag OpenHLT input collections
00118   edm::InputTag m_rawBJets;
00119   edm::InputTag m_correctedBJets;
00120   edm::InputTag m_correctedBJetsL1FastJet;
00121   edm::InputTag m_pfBJets;
00122   edm::InputTag m_lifetimeBJetsL25;
00123   edm::InputTag m_lifetimeBJetsL3;
00124   edm::InputTag m_lifetimeBJetsL25L1FastJet;
00125   edm::InputTag m_lifetimeBJetsL3L1FastJet;
00126   edm::InputTag m_lifetimePFBJetsL3;
00127   edm::InputTag m_lifetimeBJetsL25SingleTrack;
00128   edm::InputTag m_lifetimeBJetsL3SingleTrack;
00129   edm::InputTag m_lifetimeBJetsL25SingleTrackL1FastJet;
00130   edm::InputTag m_lifetimeBJetsL3SingleTrackL1FastJet;
00131   edm::InputTag m_performanceBJetsL25;
00132   edm::InputTag m_performanceBJetsL3;
00133   edm::InputTag m_performanceBJetsL25L1FastJet;
00134   edm::InputTag m_performanceBJetsL3L1FastJet;
00135 
00136   // egamma OpenHLT input collections
00137   edm::InputTag Electron_;
00138   edm::InputTag Photon_;
00139   edm::InputTag CandIso_;
00140   edm::InputTag CandNonIso_;
00141   edm::InputTag EcalIso_;
00142   edm::InputTag EcalNonIso_;
00143   edm::InputTag HcalIsoPho_;
00144   edm::InputTag HcalNonIsoPho_;
00145   edm::InputTag IsoPhoTrackIsol_;
00146   edm::InputTag NonIsoPhoTrackIsol_;
00147   edm::InputTag IsoElectron_;
00148   edm::InputTag NonIsoElectron_;
00149   edm::InputTag IsoEleHcal_;
00150   edm::InputTag NonIsoEleHcal_;
00151   edm::InputTag IsoEleTrackIsol_;
00152   edm::InputTag NonIsoEleTrackIsol_;
00153   edm::InputTag L1IsoPixelSeeds_;
00154   edm::InputTag L1NonIsoPixelSeeds_;
00155   edm::InputTag NonIsoR9_; 
00156   edm::InputTag IsoR9_;  
00157   edm::InputTag NonIsoR9ID_;
00158   edm::InputTag IsoR9ID_;
00159   edm::InputTag IsoHoverEH_;
00160   edm::InputTag NonIsoHoverEH_; 
00161   edm::InputTag HFECALClusters_; 
00162   edm::InputTag HFElectrons_; 
00163   // add ECAL Activity
00164   edm::InputTag ECALActivity_;
00165   edm::InputTag ActivityEcalIso_;
00166   edm::InputTag ActivityHcalIso_;
00167   edm::InputTag ActivityTrackIso_;
00168   edm::InputTag ActivityR9_;
00169   edm::InputTag ActivityR9ID_;
00170   edm::InputTag ActivityHoverEH_;
00171 
00172   // AlCa OpenHLT input collections  
00173   /*
00174   edm::InputTag EERecHitTag_; 
00175   edm::InputTag EBRecHitTag_;  
00176   edm::InputTag pi0EERecHitTag_;  
00177   edm::InputTag pi0EBRecHitTag_;   
00178   edm::InputTag HBHERecHitTag_;   
00179   edm::InputTag HORecHitTag_;   
00180   edm::InputTag HFRecHitTag_;
00181   */   
00182   edm::InputTag IsoPixelTrackTagL3_;
00183   edm::InputTag IsoPixelTrackTagL2_; 
00184   edm::InputTag IsoPixelTrackVerticesTag_;
00185 
00186 
00187   // Track OpenHLT input collections
00188 
00189   edm::InputTag PixelTracksTagL3_; 
00190   edm::InputTag PixelFEDSizeTag_;
00191   edm::InputTag PixelClustersTag_;
00192 
00193   // Reco vertex collection
00194   edm::InputTag VertexTagHLT_;
00195   edm::InputTag VertexTagOffline0_;
00196 
00197   int errCnt;
00198   static int errMax() { return 5; }
00199 
00200   std::string _HistName; // Name of histogram file
00201   double _EtaMin,_EtaMax;
00202     double _MinPtChargedHadrons, _MinPtGammas;
00203   TFile* m_file; // pointer to Histogram file
00204 
00205 };