//  
// Author: Oliver Maria Kind <mailto: kind@mail.desy.de>
// Update: $Id: AtlMemNtupleProduction.h,v 1.7 2013/11/21 07:55:27 kind Exp $
// Copyright: 2013 (C) Oliver Maria Kind
//
#ifndef SINGLETOP_AtlMemNtupleProduction
#define SINGLETOP_AtlMemNtupleProduction
#ifndef ATLAS_AtlSelector
#include <AtlSelector.h>
#endif
#ifndef ATLAS_AtlObjectsToolD3PDSgTop
#include <AtlObjectsToolD3PDSgTop.h>
#endif
#ifndef ATLAS_AtlObjRecoScaleFactorTool
#include <AtlObjRecoScaleFactorTool.h>
#endif
#ifndef ATLAS_AtlBTag
#include <AtlBTag.h>
#endif

class TList;

class AtlMemNtupleProduction : public AtlSelector {

public:
    Float_t fMET_min;             // Minimum missing Et (GeV)
    Float_t fMtW_min;             // Transverse W masss minimum (GeV)
    Int_t   fNBTags_min;          // Minimum no. of b-tagged jets
    Int_t   fNBTags_max;          // Maximum no. of b-tagged jets
    Bool_t  fLeadingJetIsBTagged; // Require the leading jet to be b-tagged
	
private:
    TList *fElectrons; // List of selected electron objects
    TList *fMuons;     // List of selected muon objects
    TList *fLeptons;   // List of selected leptons
    TList *fJets;      // List of selected jets
    TList *fBJets;     // List of selected b-jets
    AtlObjectsToolD3PDSgTop   *fObjTool; // Object selection
    AtlObjRecoScaleFactorTool *fSFTool;  // Scale factor calculation

public:
    AtlMemNtupleProduction(const char* OutputFilename);
    virtual ~AtlMemNtupleProduction();
    virtual void SetBranchStatus() {;}
    virtual void Clear( Option_t *option = "");
    virtual void BookHistograms();
    virtual void FillHistograms();
    virtual Bool_t ProcessCut();
    virtual void Print(Option_t *option = "") const;
    
    ClassDef(AtlMemNtupleProduction,0) // MEM Ntuple production
};
#endif

 AtlMemNtupleProduction.h:1
 AtlMemNtupleProduction.h:2
 AtlMemNtupleProduction.h:3
 AtlMemNtupleProduction.h:4
 AtlMemNtupleProduction.h:5
 AtlMemNtupleProduction.h:6
 AtlMemNtupleProduction.h:7
 AtlMemNtupleProduction.h:8
 AtlMemNtupleProduction.h:9
 AtlMemNtupleProduction.h:10
 AtlMemNtupleProduction.h:11
 AtlMemNtupleProduction.h:12
 AtlMemNtupleProduction.h:13
 AtlMemNtupleProduction.h:14
 AtlMemNtupleProduction.h:15
 AtlMemNtupleProduction.h:16
 AtlMemNtupleProduction.h:17
 AtlMemNtupleProduction.h:18
 AtlMemNtupleProduction.h:19
 AtlMemNtupleProduction.h:20
 AtlMemNtupleProduction.h:21
 AtlMemNtupleProduction.h:22
 AtlMemNtupleProduction.h:23
 AtlMemNtupleProduction.h:24
 AtlMemNtupleProduction.h:25
 AtlMemNtupleProduction.h:26
 AtlMemNtupleProduction.h:27
 AtlMemNtupleProduction.h:28
 AtlMemNtupleProduction.h:29
 AtlMemNtupleProduction.h:30
 AtlMemNtupleProduction.h:31
 AtlMemNtupleProduction.h:32
 AtlMemNtupleProduction.h:33
 AtlMemNtupleProduction.h:34
 AtlMemNtupleProduction.h:35
 AtlMemNtupleProduction.h:36
 AtlMemNtupleProduction.h:37
 AtlMemNtupleProduction.h:38
 AtlMemNtupleProduction.h:39
 AtlMemNtupleProduction.h:40
 AtlMemNtupleProduction.h:41
 AtlMemNtupleProduction.h:42
 AtlMemNtupleProduction.h:43
 AtlMemNtupleProduction.h:44
 AtlMemNtupleProduction.h:45
 AtlMemNtupleProduction.h:46
 AtlMemNtupleProduction.h:47
 AtlMemNtupleProduction.h:48
 AtlMemNtupleProduction.h:49
 AtlMemNtupleProduction.h:50
 AtlMemNtupleProduction.h:51
 AtlMemNtupleProduction.h:52
 AtlMemNtupleProduction.h:53
 AtlMemNtupleProduction.h:54