//
//    Author: Felix Thomas <mailto: Felix.Thomas@mailbox.tu-dresden.de>
//    Update: $$
//    Copyright: 2010 (C) Felix Thomas
//

#ifndef ATLAS_AtlObjectsDefinitionTool
#define ATLAS_AtlObjectsDefinitionTool
#ifndef ATLAS_AtlAnalysisTool
#include <AtlAnalysisTool.h>
#endif
#include <fstream>
#include <iostream>

class AtlEvent;
class TString;
class TROOT;

class AtlObjectsDefinitionTool : public AtlAnalysisTool {

 public:
    AtlObjectsDefinitionTool(const char* name, const char* title);
    virtual ~AtlObjectsDefinitionTool();

    //
    // Getters
    //

    // Objects of signal quality
    virtual TList*   GetLeptons() = 0;    
    virtual TList*   GetElectrons() = 0;
    virtual TList*   GetMuons() = 0;          
    virtual TList*   GetJets() = 0;           
    virtual TList*   GetBJets() = 0;

 protected:
    virtual void   BookHistograms();
    virtual void   FillHistograms();
    virtual void   SetBranchStatus();
    virtual void   SetCutDefaults();
    virtual void   Clear();
    virtual void   Terminate();
    virtual void   Print() const;
    virtual Bool_t AnalyzeEvent();
    
    ClassDef(AtlObjectsDefinitionTool, 0)  // Atlas Objects Definition Tool
};
#endif

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