00001 #ifndef DiJetAnalyzer_h 00002 #define DiJetAnalyzer_h 00003 00004 00005 // system include files 00006 #include <memory> 00007 00008 // user include files 00009 #include "FWCore/Framework/interface/Frameworkfwd.h" 00010 #include "FWCore/Framework/interface/EDAnalyzer.h" 00011 #include "FWCore/Framework/interface/ESHandle.h" 00012 00013 #include "FWCore/Framework/interface/Event.h" 00014 #include "FWCore/Framework/interface/EventSetup.h" 00015 #include "FWCore/Framework/interface/MakerMacros.h" 00016 00017 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00018 00019 #include "Geometry/CaloGeometry/interface/CaloGeometry.h" 00020 #include "DataFormats/DetId/interface/DetId.h" 00021 00022 #include "CondFormats/HcalObjects/interface/HcalRespCorrs.h" 00023 00024 /* 00025 #include "TFile.h" 00026 #include "TTree.h" 00027 */ 00028 00029 #include "TString.h" 00030 #include "TFile.h" 00031 #include "TTree.h" 00032 #include "TObject.h" 00033 #include "TObjArray.h" 00034 #include "TClonesArray.h" 00035 #include "TRefArray.h" 00036 #include "TLorentzVector.h" 00037 00038 #include "Calibration/HcalCalibAlgos/src/TCell.h" 00039 00040 00041 // 00042 // class decleration 00043 // 00044 namespace cms{ 00045 class DiJetAnalyzer : public edm::EDAnalyzer { 00046 public: 00047 explicit DiJetAnalyzer(const edm::ParameterSet&); 00048 ~DiJetAnalyzer(); 00049 00050 00051 private: 00052 virtual void beginJob() ; 00053 virtual void analyze(const edm::Event&, const edm::EventSetup&); 00054 virtual void endJob() ; 00055 00056 // ----------member data --------------------------- 00057 00058 00059 edm::InputTag jets_; 00060 edm::InputTag ec_; 00061 edm::InputTag hbhe_; 00062 edm::InputTag ho_; 00063 edm::InputTag hf_; 00064 00065 00066 00067 // output file name with histograms 00068 std::string fOutputFileName ; 00069 00070 00071 TFile* hOutputFile ; 00072 00073 TTree* tree; 00074 00075 UInt_t eventNumber; 00076 UInt_t runNumber; 00077 Int_t iEtaHit; 00078 UInt_t iPhiHit; 00079 00080 Float_t xTrkHcal; 00081 Float_t yTrkHcal; 00082 Float_t zTrkHcal; 00083 00084 Float_t PxTrkHcal; 00085 Float_t PyTrkHcal; 00086 Float_t PzTrkHcal; 00087 00088 TClonesArray* cells; 00089 00090 Float_t emEnergy; 00091 Float_t targetE; 00092 00093 Float_t etVetoJet; 00094 TLorentzVector* tagJetP4; 00095 TLorentzVector* probeJetP4; 00096 Float_t tagJetEmFrac; 00097 Float_t probeJetEmFrac; 00098 00099 00100 bool allowMissingInputs_; 00101 00102 HcalRespCorrs* oldRespCorrs; 00103 00104 }; 00105 } 00106 #endif