//____________________________________________________________________
//
// AtlEvtReaderD3PD base class
// 
// Abstract base class for the D3PD event readers
// (TopPair, TopSlim, etc.)
//  
// Author: Oliver Maria Kind <mailto: kind@mail.desy.de>
// Update: $Id: AtlEvtReaderD3PDBase.cxx,v 1.3 2018/01/15 16:21:27 kaphle Exp $
// Copyright: 2012 (C) Oliver Maria Kind
//
#ifndef ATLAS_AtlEvtReaderD3PDBase
#include <AtlEvtReaderD3PDBase.h>
#endif

#ifndef __CINT__
ClassImp(AtlEvtReaderD3PDBase);
#endif

//____________________________________________________________________

AtlEvtReaderD3PDBase::AtlEvtReaderD3PDBase(AtlSelector *parent) :
    AtlEvtReaderBase(parent) {
    //
    // Default constructor
    //
    fRunLast = -999;
    fIsMC = kFALSE;
}

//____________________________________________________________________

AtlEvtReaderD3PDBase::~AtlEvtReaderD3PDBase() {
    //
    // Default denstructor
    //
}

//____________________________________________________________________

void AtlEvtReaderD3PDBase::InitBranches(TTree *t) {
    //
    // Helper function for SetBranchStatus()
    //
    t->SetMakeClass(1);
    t->SetBranchStatus("*", kFALSE);
    InitObjPointers();
}

//____________________________________________________________________

void AtlEvtReaderD3PDBase::SetupBranch(TTree *t, const char* branchname,
				       void* value, TBranch** branch) {
    //
    // Set branch assignment and set branch status to true
    //
    t->SetBranchStatus(branchname, kTRUE);
    t->SetBranchAddress(branchname, value, branch);
}

//____________________________________________________________________

Int_t AtlEvtReaderD3PDBase::GetEntry(TTree *t, Long64_t entry) {
    //
    // Get entry from current input tree. This (virtual) method can be
    // overloaded if needed (different type of input tree)
    //
    fEvent->Clear();

    Int_t evtsize = t->GetEntry(entry);

    // For empty trees, TSelector/TTreePlayer still calls GetEntry().
    // In this case, we should not build the event.
    if ( IsFirstEvent() && (evtsize == 0) ) {
        Warning(__FUNCTION__, "0 bytes read for entry %d, skip building event.",
                entry);
        return 0;
    }

    BuildEvent();

    fRunLast = fEvent->RunNr();

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