00001 // -*- C++ -*- 00002 // 00003 // Package: TTbar_Kinematics 00004 // Class: TTbar_Kinematics 00005 // 00013 // 00014 // Original Author: Martijn Gosselink,,, 00015 // Created: Thu Jan 19 18:40:35 CET 2012 00016 // $Id: TTbar_Kinematics.h,v 1.2 2012/07/30 19:34:44 inugent Exp $ 00017 // 00018 // 00019 // Added to: Validation/EventGenerator by Ian M. Nugent June 28, 2012 00020 00021 00022 #ifndef TTbar_Kinematics_H 00023 #define TTbar_Kinematics_H 00024 00025 // system include files 00026 #include <memory> 00027 #include "DQMServices/Core/interface/DQMStore.h" 00028 #include "FWCore/ServiceRegistry/interface/Service.h" 00029 #include "DQMServices/Core/interface/MonitorElement.h" 00030 00031 // user include files 00032 #include "FWCore/Framework/interface/Frameworkfwd.h" 00033 #include "FWCore/Framework/interface/EDAnalyzer.h" 00034 00035 #include "FWCore/Framework/interface/Event.h" 00036 #include "FWCore/Framework/interface/MakerMacros.h" 00037 00038 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00039 #include "FWCore/ServiceRegistry/interface/Service.h" 00040 #include "FWCore/Utilities/interface/InputTag.h" 00041 00042 #include "CommonTools/UtilAlgos/interface/TFileService.h" 00043 00044 #include "SimDataFormats/GeneratorProducts/interface/GenEventInfoProduct.h" 00045 00046 #include "AnalysisDataFormats/TopObjects/interface/TtGenEvent.h" 00047 #include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h" 00048 //#include "Validation/EventGenerator/interface/WeightManager.h" 00049 00050 00051 00052 #include "TTree.h" 00053 #include "TLorentzVector.h" 00054 00055 // 00056 // class declaration 00057 // 00058 00059 class TTbar_Kinematics : public edm::EDAnalyzer { 00060 public: 00061 explicit TTbar_Kinematics(const edm::ParameterSet&); 00062 ~TTbar_Kinematics(); 00063 00064 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions); 00065 00066 00067 private: 00068 virtual void beginJob() ; 00069 virtual void analyze(const edm::Event&, const edm::EventSetup&); 00070 virtual void endJob() ; 00071 00072 virtual void beginRun(edm::Run const&, edm::EventSetup const&); 00073 virtual void endRun(edm::Run const&, edm::EventSetup const&); 00074 virtual void beginLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&); 00075 virtual void endLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&); 00076 00077 // ----------member data --------------------------- 00079 DQMStore *dbe; 00080 00081 edm::InputTag hepmcCollection_; 00082 edm::InputTag genEventInfoProductTag_; 00083 00084 00085 double weight ; 00086 00087 TLorentzVector tlv_Top ; 00088 TLorentzVector tlv_TopBar ; 00089 TLorentzVector tlv_Bottom ; 00090 TLorentzVector tlv_BottomBar ; 00091 TLorentzVector tlv_Wplus ; 00092 TLorentzVector tlv_Wmin ; 00093 00094 TLorentzVector tlv_TTbar ; 00095 00096 MonitorElement *nEvt; 00097 MonitorElement* hTopPt ; 00098 MonitorElement* hTopY ; 00099 MonitorElement* hTopMass ; 00100 00101 MonitorElement* hTTbarPt ; 00102 MonitorElement* hTTbarY ; 00103 MonitorElement* hTTbarMass ; 00104 00105 MonitorElement* hBottomPt ; 00106 MonitorElement* hBottomEta ; 00107 MonitorElement* hBottomY ; 00108 MonitorElement* hBottomPz ; 00109 MonitorElement* hBottomE ; 00110 MonitorElement* hBottomMass ; 00111 00112 MonitorElement* hWplusPz ; 00113 MonitorElement* hWminPz ; 00114 00115 MonitorElement* hBottomPtPz ; 00116 MonitorElement* hBottomEtaPz ; 00117 MonitorElement* hBottomEtaPt ; 00118 MonitorElement* hBottomYPz ; 00119 MonitorElement* hBottomMassPz ; 00120 MonitorElement* hBottomMassEta ; 00121 MonitorElement* hBottomMassY ; 00122 MonitorElement* hBottomMassDeltaY ; 00123 00124 }; 00125 00126 #endif