// // Author: Soeren Stamm <mailto: stamm@physik.hu-berlin.de> // Update: $Id: AtlQCDMMTool.h,v 1.12 2017/07/28 17:19:17 kaphle Exp $ // Copyright: 2013 (C) Soeren Stamm // #ifndef ATLAS_AtlQCDMMTool #define ATLAS_AtlQCDMMTool #ifndef ATLAS_AtlAnalysisTool #include <AtlAnalysisTool.h> #endif #ifndef ROOT_AtlSelector #include <AtlSelector.h> #endif #ifndef ATLAS_AtlObjectsToolD3PDSgTop #include <AtlObjectsToolD3PDSgTop.h> #endif #include <iostream> #include <fstream> #include <TopFakes/FakesWeights.h> class AtlEvent; class TString; class TROOT; class TH1F; class AtlMuon; class AtlElectron; class AtlQCDMMTool : public AtlAnalysisTool { private: Float_t fMMWeight; // Matrix-method weight TH1F* fHistMMWeight_nominal; // Histogram of matrix-method weights TH1F* fHistMMWeight_e_nominal; // same, only for electrons TH1F* fHistMMWeight_mu_nominal; // same, only for muons TH1F* fHistMMEff_fake; // fake efficiencies from TopFakes TH1F* fHistMMEff_e_fake; // fake efficiencies from TopFakes TH1F* fHistMMEff_mu_fake; // fake efficiencies from TopFakes TH1F* fHistMMEff_real; // real efficiencies from TopFakes TH1F* fHistMMEff_e_real; // real efficiencies from TopFakes TH1F* fHistMMEff_mu_real; // real efficiencies from TopFakes AtlObjectsToolD3PDSgTop *fObjTool;// Pointer to objects definition FakesWeights *fFakeWeightEJets; // TopFakes object to calculate weights (e+jets) FakesWeights *fFakeWeightMuJets; // TopFakes object to calculate weights (mu+jets) TString fYear; // Year used in eff. path and param. strings public: AtlQCDMMTool(const char* name, const char* title); virtual ~AtlQCDMMTool(); AtlBTag::ETagger fBTagger; // b-tagger to count b-jets TString fEfficiencyPath2015; // Path to the Fake efficiency files (2015) TString fEfficiencyPath2016; // Path to the Fake efficiency files (2016) TString fParamString_fake2015; // Parametrization for fake eff (2015) TString fParamString_fake2016; // Parametrization for fake eff (2016) TString fParamString_real2015; // Parametrization for real eff (2015) TString fParamString_real2016; // Parametrization for real eff (2016) virtual Bool_t Notify(); protected: virtual Bool_t AnalyzeEvent(); virtual void BookHistograms(); virtual void FillHistograms(); virtual void FillHistogramsNoEvtSel(); virtual void SetBranchStatus(); virtual void SetCutDefaults(); virtual void Print() const; virtual void Terminate(); private: void InitEvent(); ClassDef(AtlQCDMMTool,0) // Atlas QCD Estimation Tool }; #endif