//  
// Author: Ruth Herrberg <mailto: ruthh@physik.hu-berlin.de>
// Update: $Id: Atl_tChannelAnalysis.h,v 1.53 2013/08/15 11:41:59 stamm Exp $
// Copyright: 2009 (C) Oliver Maria Kind
//
#ifndef SINGLETOP_Atl_tChannelAnalysis
#define SINGLETOP_Atl_tChannelAnalysis
#ifndef ATLAS_AtlSelector
#include <AtlSelector.h>
#endif
#ifndef ATLAS_AtlTopPairFinder
#include <AtlTopPairFinder.h>
#endif
#ifndef ATLAS_AtlQCDMMTool
#include <AtlQCDMMTool.h>
#endif
#ifndef ATLAS_AtlSgTop_tChannelFinder
#include <AtlSgTop_tChannelFinder.h>
#endif
#ifndef ATLAS_AtlCutFlowTool
#include <AtlCutFlowTool.h>
#endif
#ifndef ATLAS_AtlObjectsToolD3PDSgTop
#include <AtlObjectsToolD3PDSgTop.h>
#endif

class Atl_tChannelAnalysis : public AtlSelector {

private:
    
  // Pile-up control histograms
  TH1F *fHist_AverageIntPerXing; // average interactions per bunch-crossing
  TH1F *fHist_NPrimaryVertices;  // number of primary vertices
    
  // Vertex histograms
  TH1F *fHist_PV_X; // Primary Vertex - X-Component
  TH1F *fHist_PV_Y; // Primary Vertex - Y-Component
  TH1F *fHist_PV_Z; // Primary Vertex - Z-Component
  TH2F *fHist_PV_XY; // Primary Vertex - XYvsZ-Component
  
  
  // Lepton candidates
  TList *fLeptons;   // Merged list of signal leptons (e, mu)
  TList *fElectrons; // Signal electron list 
  TList *fMuons;     // Signal muon list
  TList *fJets;      // list of jets
  TList *fBJets;     // list of b-jets

  // Pointer to tools in event loop
  AtlObjectsToolD3PDSgTop *fObjTool;
  AtlTopPairFinder        *fTopPair_tool;  
  AtlSgTop_tChannelFinder *ftChannel_tool;
  AtlCutFlowTool          *fCutflow_tool;
  AtlCutFlowTool          *fCutflow_tool_2;
  AtlQCDMMTool            *fQCD_tool;  
  
  public:
  
  Bool_t   fDoMatrixMethod; // Do QCD estimation with MM?
  Bool_t fSignalSampleMode; // Analyzing signal MC?
  
  // Etmiss
  TVector2 fMET;         // MissingEt of current event
  Float_t  fMET_Mag_min; // minimum missing Et        

  // Pileup-weight cut
  Float_t fPileupWeightMax; // Maximum value of pile-up weight allowed
  
public:
  Atl_tChannelAnalysis(const char* OutputFilename);
  virtual ~Atl_tChannelAnalysis();
  
  virtual void SetBranchStatus();
  virtual void Clear( Option_t *option = "");
  virtual void BookHistograms();
  virtual void FillHistograms();
  virtual Bool_t ProcessPreCut();
  virtual Bool_t ProcessCut();
  virtual void SetCutDefaults();
  virtual void Print() const;
  virtual void Terminate();
  
  void InitEvent();
  void BookVertexHistograms();
  void FillVertexHistograms();
    
  ClassDef(Atl_tChannelAnalysis,0) // Single-top t-Channel analysis
};
#endif







 Atl_tChannelAnalysis.h:1
 Atl_tChannelAnalysis.h:2
 Atl_tChannelAnalysis.h:3
 Atl_tChannelAnalysis.h:4
 Atl_tChannelAnalysis.h:5
 Atl_tChannelAnalysis.h:6
 Atl_tChannelAnalysis.h:7
 Atl_tChannelAnalysis.h:8
 Atl_tChannelAnalysis.h:9
 Atl_tChannelAnalysis.h:10
 Atl_tChannelAnalysis.h:11
 Atl_tChannelAnalysis.h:12
 Atl_tChannelAnalysis.h:13
 Atl_tChannelAnalysis.h:14
 Atl_tChannelAnalysis.h:15
 Atl_tChannelAnalysis.h:16
 Atl_tChannelAnalysis.h:17
 Atl_tChannelAnalysis.h:18
 Atl_tChannelAnalysis.h:19
 Atl_tChannelAnalysis.h:20
 Atl_tChannelAnalysis.h:21
 Atl_tChannelAnalysis.h:22
 Atl_tChannelAnalysis.h:23
 Atl_tChannelAnalysis.h:24
 Atl_tChannelAnalysis.h:25
 Atl_tChannelAnalysis.h:26
 Atl_tChannelAnalysis.h:27
 Atl_tChannelAnalysis.h:28
 Atl_tChannelAnalysis.h:29
 Atl_tChannelAnalysis.h:30
 Atl_tChannelAnalysis.h:31
 Atl_tChannelAnalysis.h:32
 Atl_tChannelAnalysis.h:33
 Atl_tChannelAnalysis.h:34
 Atl_tChannelAnalysis.h:35
 Atl_tChannelAnalysis.h:36
 Atl_tChannelAnalysis.h:37
 Atl_tChannelAnalysis.h:38
 Atl_tChannelAnalysis.h:39
 Atl_tChannelAnalysis.h:40
 Atl_tChannelAnalysis.h:41
 Atl_tChannelAnalysis.h:42
 Atl_tChannelAnalysis.h:43
 Atl_tChannelAnalysis.h:44
 Atl_tChannelAnalysis.h:45
 Atl_tChannelAnalysis.h:46
 Atl_tChannelAnalysis.h:47
 Atl_tChannelAnalysis.h:48
 Atl_tChannelAnalysis.h:49
 Atl_tChannelAnalysis.h:50
 Atl_tChannelAnalysis.h:51
 Atl_tChannelAnalysis.h:52
 Atl_tChannelAnalysis.h:53
 Atl_tChannelAnalysis.h:54
 Atl_tChannelAnalysis.h:55
 Atl_tChannelAnalysis.h:56
 Atl_tChannelAnalysis.h:57
 Atl_tChannelAnalysis.h:58
 Atl_tChannelAnalysis.h:59
 Atl_tChannelAnalysis.h:60
 Atl_tChannelAnalysis.h:61
 Atl_tChannelAnalysis.h:62
 Atl_tChannelAnalysis.h:63
 Atl_tChannelAnalysis.h:64
 Atl_tChannelAnalysis.h:65
 Atl_tChannelAnalysis.h:66
 Atl_tChannelAnalysis.h:67
 Atl_tChannelAnalysis.h:68
 Atl_tChannelAnalysis.h:69
 Atl_tChannelAnalysis.h:70
 Atl_tChannelAnalysis.h:71
 Atl_tChannelAnalysis.h:72
 Atl_tChannelAnalysis.h:73
 Atl_tChannelAnalysis.h:74
 Atl_tChannelAnalysis.h:75
 Atl_tChannelAnalysis.h:76
 Atl_tChannelAnalysis.h:77
 Atl_tChannelAnalysis.h:78
 Atl_tChannelAnalysis.h:79
 Atl_tChannelAnalysis.h:80
 Atl_tChannelAnalysis.h:81
 Atl_tChannelAnalysis.h:82
 Atl_tChannelAnalysis.h:83
 Atl_tChannelAnalysis.h:84
 Atl_tChannelAnalysis.h:85
 Atl_tChannelAnalysis.h:86
 Atl_tChannelAnalysis.h:87
 Atl_tChannelAnalysis.h:88
 Atl_tChannelAnalysis.h:89
 Atl_tChannelAnalysis.h:90
 Atl_tChannelAnalysis.h:91
 Atl_tChannelAnalysis.h:92
 Atl_tChannelAnalysis.h:93
 Atl_tChannelAnalysis.h:94
 Atl_tChannelAnalysis.h:95
 Atl_tChannelAnalysis.h:96