CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/Validation/EventGenerator/interface/TTbar_Kinematics.h

Go to the documentation of this file.
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