CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/L1Trigger/RegionalCaloTrigger/interface/L1RCTTestAnalyzer.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // Package:    L1RCTTestAnalyzer
00004 // Class:      L1RCTTestAnalyzer
00005 //
00013 //
00014 // Original Author:  pts/47
00015 //         Created:  Thu Jul 13 21:38:08 CEST 2006
00016 // $Id: L1RCTTestAnalyzer.h,v 1.15 2012/04/10 13:30:58 ghete Exp $
00017 //
00018 //
00019 
00020 
00021 // system include files
00022 #include <memory>
00023 #include <iostream>
00024 // user include files
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 
00031 #include "FWCore/ServiceRegistry/interface/Service.h"
00032 #include "CommonTools/UtilAlgos/interface/TFileService.h"
00033 
00034 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00035 
00036 #include "DataFormats/L1CaloTrigger/interface/L1CaloCollections.h"
00037 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h"
00038 #include "DataFormats/HcalDigi/interface/HcalDigiCollections.h"
00039 
00040 #include "TH1F.h"
00041 #include "TH2F.h"
00042 #include "TTree.h"
00043 
00044 
00045 // // outside of class
00046 // bool compareEmCands(const L1CaloEmCand& cand1, const L1CaloEmCand& cand2)
00047 // {
00048 //   return (cand1.rank() < cand2.rank());
00049 // }
00050 
00051 
00052 //
00053 // class declaration
00054 //
00055 
00056 class L1RCTTestAnalyzer : public edm::EDAnalyzer {
00057 public:
00058   explicit L1RCTTestAnalyzer(const edm::ParameterSet&);
00059   ~L1RCTTestAnalyzer();
00060   
00061   
00062   virtual void analyze(const edm::Event&, const edm::EventSetup&);
00063 private:
00064   static bool compareEmCands(const L1CaloEmCand& cand1, const L1CaloEmCand& cand2);
00065 
00066   // ----------member data ---------------------------
00067   std::string m_HepMCProduct;
00068   bool showEmCands;
00069   bool showRegionSums;
00070   edm::InputTag ecalDigisLabel;
00071   edm::InputTag hcalDigisLabel;
00072   edm::InputTag rctDigisLabel;
00073 
00074   TTree * emTree;
00075 //   float emRank[8];
00076 //   float emIeta[8];
00077 //   float emIphi[8];
00078 //   float emIso[8];
00079   std::vector<int> emRank;
00080   std::vector<int> emIeta;
00081   std::vector<int> emIphi;
00082   std::vector<int> emIso;
00083 
00084   TH1F * h_emRank;
00085   TH1F * h_emRankOutOfTime;
00086   TH1F * h_emIeta;
00087   TH1F * h_emIphi;
00088   TH1F * h_emIso;
00089   TH2F * h_emRankInIetaIphi;
00090   // add isolated/non-iso?
00091   TH2F * h_emIsoInIetaIphi;
00092   TH2F * h_emNonIsoInIetaIphi;
00093   TH1F * h_emCandTimeSample;
00094 
00095   TH1F * h_regionSum;
00096   TH1F * h_regionIeta;
00097   TH1F * h_regionIphi;
00098   TH1F * h_regionMip;
00099   TH2F * h_regionSumInIetaIphi;
00100   // add bits in ieta/iphi?  tau, overflow, mip, quiet, finegrain? 
00101   // (is fine grain same thing as mip??)
00102   TH2F * h_regionFGInIetaIphi;
00103 
00104   TH1F * h_towerMip;
00105 
00106   TH1F * h_ecalTimeSample;
00107   TH1F * h_hcalTimeSample;
00108 
00109 };
00110 
00111 //
00112 // constants, enums and typedefs
00113 //
00114 
00115 //
00116 // static data member definitions
00117 //