Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:32:09

0001 // -*- C++ -*-
0002 //
0003 // Package:    TTbar_Kinematics
0004 // Class:      TTbar_Kinematics
0005 //
0006 /**\class TTbar_Kinematics 
0007 
0008  Description: [one line class summary]
0009 
0010  Implementation:
0011      [Notes on implementation]
0012 */
0013 //
0014 // Original Author:  Martijn Gosselink,,,
0015 //         Created:  Thu Jan 19 18:40:35 CET 2012
0016 //
0017 //
0018 // Added to: Validation/EventGenerator by Ian M. Nugent June 28, 2012
0019 
0020 #ifndef TTbar_Kinematics_H
0021 #define TTbar_Kinematics_H
0022 
0023 // system include files
0024 #include <memory>
0025 #include "DQMServices/Core/interface/DQMStore.h"
0026 #include "FWCore/ServiceRegistry/interface/Service.h"
0027 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0028 // user include files
0029 #include "FWCore/Framework/interface/Frameworkfwd.h"
0030 
0031 #include "FWCore/Framework/interface/Event.h"
0032 #include "FWCore/Framework/interface/MakerMacros.h"
0033 
0034 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0035 #include "FWCore/ServiceRegistry/interface/Service.h"
0036 #include "FWCore/Utilities/interface/InputTag.h"
0037 
0038 #include "CommonTools/UtilAlgos/interface/TFileService.h"
0039 
0040 #include "SimDataFormats/GeneratorProducts/interface/GenEventInfoProduct.h"
0041 
0042 #include "AnalysisDataFormats/TopObjects/interface/TtGenEvent.h"
0043 #include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h"
0044 //#include "Validation/EventGenerator/interface/WeightManager.h"
0045 
0046 #include "TTree.h"
0047 #include "TLorentzVector.h"
0048 
0049 //
0050 // class declaration
0051 //
0052 
0053 class TTbar_Kinematics : public DQMEDAnalyzer {
0054 public:
0055   explicit TTbar_Kinematics(const edm::ParameterSet&);
0056   ~TTbar_Kinematics() override;
0057 
0058   void bookHistograms(DQMStore::IBooker& i, edm::Run const&, edm::EventSetup const&) override;
0059   void analyze(const edm::Event&, const edm::EventSetup&) override;
0060 
0061 private:
0062   // ----------member data ---------------------------
0063 
0064   edm::InputTag hepmcCollection_;
0065   edm::InputTag genEventInfoProductTag_, genEvt_;
0066 
0067   double weight;
0068 
0069   TLorentzVector tlv_Top;
0070   TLorentzVector tlv_TopBar;
0071   TLorentzVector tlv_Bottom;
0072   TLorentzVector tlv_BottomBar;
0073   TLorentzVector tlv_Wplus;
0074   TLorentzVector tlv_Wmin;
0075 
0076   TLorentzVector tlv_TTbar;
0077 
0078   MonitorElement* nEvt;
0079   MonitorElement* hTopPt;
0080   MonitorElement* hTopY;
0081   MonitorElement* hTopMass;
0082 
0083   MonitorElement* hTTbarPt;
0084   MonitorElement* hTTbarY;
0085   MonitorElement* hTTbarMass;
0086 
0087   MonitorElement* hBottomPt;
0088   MonitorElement* hBottomEta;
0089   MonitorElement* hBottomY;
0090   MonitorElement* hBottomPz;
0091   MonitorElement* hBottomE;
0092   MonitorElement* hBottomMass;
0093 
0094   MonitorElement* hWplusPz;
0095   MonitorElement* hWminPz;
0096 
0097   MonitorElement* hBottomPtPz;
0098   MonitorElement* hBottomEtaPz;
0099   MonitorElement* hBottomEtaPt;
0100   MonitorElement* hBottomYPz;
0101   MonitorElement* hBottomMassPz;
0102   MonitorElement* hBottomMassEta;
0103   MonitorElement* hBottomMassY;
0104   MonitorElement* hBottomMassDeltaY;
0105 
0106   edm::EDGetTokenT<GenEventInfoProduct> genEventInfoProductTagToken_;
0107   edm::EDGetTokenT<edm::HepMCProduct> hepmcCollectionToken_;
0108 };
0109 
0110 #endif