//____________________________________________________________________
//
// DATA or MC sample used for an A++ analysis
// 
//
//  
// Author: Oliver Maria Kind <mailto: kind@mail.desy.de>
// Update: $Id: AtlSample.cxx,v 1.28 2017/07/11 19:03:26 kaphle Exp $
// Copyright: 2013 (C) Oliver Maria Kind
//
#ifndef ATLAS_AtlSample
#include <AtlSample.h>
#endif
#include <TString.h>
#include <TClass.h>
#include <TList.h>
#include <TSystem.h>
#include <iostream>

using namespace std;

static const char* fgTypeNames[AtlSample::kUndefined+1] = {
    	"DATA EGamma",
	"DATA Muon",
	"DATA TOPQ1",
	"DATA TOPQ2",
	"DATA TOPQ3",
	"single-top t-channel, e+nu",
	"single-top t-channel, mu+nu",
	"single-top t-channel, tau+nu",
	"single-top s-channel, e+nu",
	"single-top s-channel, mu+nu",
	"single-top s-channel, tau+nu",
	"single-top t-channel, inclusive",
	"single-top t-channel top, inclusive",
	"single-top t-channel antitop, inclusive",
	"single-top s-channel, inclusive",
	"single-top Wt",
	"single-top tZj",
	"ttbar",
	"ttbar+W",
	"ttbar+Z",
	"W+jetsLF Np0, e+nu",
	"W+jetsLF Np0 HFOR 0, e+nu",
	"W+jetsLF Np0 HFOR 1, e+nu",
	"W+jetsLF Np0 HFOR 2, e+nu",
	"W+jetsLF Np0 HFOR 3, e+nu",
	"W+jetsLF Np1, e+nu",
	"W+jetsLF Np1 HFOR 0, e+nu",
	"W+jetsLF Np1 HFOR 1, e+nu",
	"W+jetsLF Np1 HFOR 2, e+nu",
	"W+jetsLF Np1 HFOR 3, e+nu",
	"W+jetsLF Np2, e+nu",
	"W+jetsLF Np2 HFOR 0, e+nu",
	"W+jetsLF Np2 HFOR 1, e+nu",
	"W+jetsLF Np2 HFOR 2, e+nu",
	"W+jetsLF Np2 HFOR 3, e+nu",
	"W+jetsLF Np3, e+nu",
	"W+jetsLF Np3 HFOR 0, e+nu",
	"W+jetsLF Np3 HFOR 1, e+nu",
	"W+jetsLF Np3 HFOR 2, e+nu",
	"W+jetsLF Np3 HFOR 3, e+nu",
	"W+jetsLF Np4, e+nu",
	"W+jetsLF Np4 HFOR 0, e+nu",
	"W+jetsLF Np4 HFOR 1, e+nu",
	"W+jetsLF Np4 HFOR 2, e+nu",
	"W+jetsLF Np4 HFOR 3, e+nu",
	"W+jetsLF Np5, e+nu",
	"W+jetsLF Np5 HFOR 0, e+nu",
	"W+jetsLF Np5 HFOR 1, e+nu",
	"W+jetsLF Np5 HFOR 2, e+nu",
	"W+jetsLF Np5 HFOR 3, e+nu",
	"W+jetsLF Np0, mu+nu",
	"W+jetsLF Np0 HFOR 0, mu+nu",
	"W+jetsLF Np0 HFOR 1, mu+nu",
	"W+jetsLF Np0 HFOR 2, mu+nu",
	"W+jetsLF Np0 HFOR 3, mu+nu",
	"W+jetsLF Np1, mu+nu",
	"W+jetsLF Np1 HFOR 0, mu+nu",
	"W+jetsLF Np1 HFOR 1, mu+nu",
	"W+jetsLF Np1 HFOR 2, mu+nu",
	"W+jetsLF Np1 HFOR 3, mu+nu",
	"W+jetsLF Np2, mu+nu",
	"W+jetsLF Np2 HFOR 0, mu+nu",
	"W+jetsLF Np2 HFOR 1, mu+nu",
	"W+jetsLF Np2 HFOR 2, mu+nu",
	"W+jetsLF Np2 HFOR 3, mu+nu",
	"W+jetsLF Np3, mu+nu",
	"W+jetsLF Np3 HFOR 0, mu+nu",
	"W+jetsLF Np3 HFOR 1, mu+nu",
	"W+jetsLF Np3 HFOR 2, mu+nu",
	"W+jetsLF Np3 HFOR 3, mu+nu",
	"W+jetsLF Np4, mu+nu",
	"W+jetsLF Np4 HFOR 0, mu+nu",
	"W+jetsLF Np4 HFOR 1, mu+nu",
	"W+jetsLF Np4 HFOR 2, mu+nu",
	"W+jetsLF Np4 HFOR 3, mu+nu",
	"W+jetsLF Np5, mu+nu",
	"W+jetsLF Np5 HFOR 0, mu+nu",
	"W+jetsLF Np5 HFOR 1, mu+nu",
	"W+jetsLF Np5 HFOR 2, mu+nu",
	"W+jetsLF Np5 HFOR 3, mu+nu",
	"W+jetsLF Np0, tau+nu",
	"W+jetsLF Np0 HFOR 0, tau+nu",
	"W+jetsLF Np0 HFOR 1, tau+nu",
	"W+jetsLF Np0 HFOR 2, tau+nu",
	"W+jetsLF Np0 HFOR 3, tau+nu",
	"W+jetsLF Np1, tau+nu",
	"W+jetsLF Np1 HFOR 0, tau+nu",
	"W+jetsLF Np1 HFOR 1, tau+nu",
	"W+jetsLF Np1 HFOR 2, tau+nu",
	"W+jetsLF Np1 HFOR 3, tau+nu",
	"W+jetsLF Np2, tau+nu",
	"W+jetsLF Np2 HFOR 0, tau+nu",
	"W+jetsLF Np2 HFOR 1, tau+nu",
	"W+jetsLF Np2 HFOR 2, tau+nu",
	"W+jetsLF Np2 HFOR 3, tau+nu",
	"W+jetsLF Np3, tau+nu",
	"W+jetsLF Np3 HFOR 0, tau+nu",
	"W+jetsLF Np3 HFOR 1, tau+nu",
	"W+jetsLF Np3 HFOR 2, tau+nu",
	"W+jetsLF Np3 HFOR 3, tau+nu",
	"W+jetsLF Np4, tau+nu",
	"W+jetsLF Np4 HFOR 0, tau+nu",
	"W+jetsLF Np4 HFOR 1, tau+nu",
	"W+jetsLF Np4 HFOR 2, tau+nu",
	"W+jetsLF Np4 HFOR 3, tau+nu",
	"W+jetsLF Np5, tau+nu",
	"W+jetsLF Np5 HFOR 0, tau+nu",
	"W+jetsLF Np5 HFOR 1, tau+nu",
	"W+jetsLF Np5 HFOR 2, tau+nu",
	"W+jetsLF Np5 HFOR 3, tau+nu",
	"W+c Np0",
	"W+c Np0 HFOR 0",
	"W+c Np0 HFOR 1",
	"W+c Np0 HFOR 2",
	"W+c Np0 HFOR 3",
	"W+c Np1",
	"W+c Np1 HFOR 0",
	"W+c Np1 HFOR 1",
	"W+c Np1 HFOR 2",
	"W+c Np1 HFOR 3",
	"W+c Np2",
	"W+c Np2 HFOR 0",
	"W+c Np2 HFOR 1",
	"W+c Np2 HFOR 2",
	"W+c Np2 HFOR 3",
	"W+c Np3",
	"W+c Np3 HFOR 0",
	"W+c Np3 HFOR 1",
	"W+c Np3 HFOR 2",
	"W+c Np3 HFOR 3",
	"W+c Np4",
	"W+c Np4 HFOR 0",
	"W+c Np4 HFOR 1",
	"W+c Np4 HFOR 2",
	"W+c Np4 HFOR 3",
	"W+cc Np0",
	"W+cc Np0 HFOR 0",
	"W+cc Np0 HFOR 1",
	"W+cc Np0 HFOR 2",
	"W+cc Np0 HFOR 3",
	"W+cc Np1",
	"W+cc Np1 HFOR 0",
	"W+cc Np1 HFOR 1",
	"W+cc Np1 HFOR 2",
	"W+cc Np1 HFOR 3",
	"W+cc Np2",
	"W+cc Np2 HFOR 0",
	"W+cc Np2 HFOR 1",
	"W+cc Np2 HFOR 2",
	"W+cc Np2 HFOR 3",
	"W+cc Np3",
	"W+cc Np3 HFOR 0",
	"W+cc Np3 HFOR 1",
	"W+cc Np3 HFOR 2",
	"W+cc Np3 HFOR 3",
	"W+bb Np0",
	"W+bb Np0 HFOR 0",
	"W+bb Np0 HFOR 1",
	"W+bb Np0 HFOR 2",
	"W+bb Np0 HFOR 3",
	"W+bb Np1",
	"W+bb Np1 HFOR 0",
	"W+bb Np1 HFOR 1",
	"W+bb Np1 HFOR 2",
	"W+bb Np1 HFOR 3",
	"W+bb Np2",
	"W+bb Np2 HFOR 0",
	"W+bb Np2 HFOR 1",
	"W+bb Np2 HFOR 2",
	"W+bb Np2 HFOR 3",
	"W+bb Np3",
	"W+bb Np3 HFOR 0",
	"W+bb Np3 HFOR 1",
	"W+bb Np3 HFOR 2",
	"W+bb Np3 HFOR 3",
	"Wenu (incl.)",
	"Wenu+B-Hadron (incl.)",
	"Wenu+C-Hadron (incl.)",
	"Wenu+light hadrons (incl.)"
	"Wmunu (incl.)",
	"Wmunu+B-Hadron (incl.)",
	"Wmunu+C-Hadron (incl.)",
	"Wmunu+light hadrons (incl.)"
	"Wtaunu (incl.)",
	"Wtaunu+B-Hadron (incl.)",
	"Wtaunu+C-Hadron (incl.)",
	"Wtaunu+light hadrons (incl.)",
	"Z+jets Np0, ee",
	"Z+jets Np1, ee",
	"Z+jets Np2, ee",
	"Z+jets Np3, ee",
	"Z+jets Np4, ee",
	"Z+jets Np5, ee",
	"Z+jets Np0, mumu",
	"Z+jets Np1, mumu",
	"Z+jets Np2, mumu",
	"Z+jets Np3, mumu",
	"Z+jets Np4, mumu",
	"Z+jets Np5, mumu",
	"Z+jets Np0, tautau",
	"Z+jets Np1, tautau",
	"Z+jets Np2, tautau",
	"Z+jets Np3, tautau",
	"Z+jets Np4, tautau",
	"Z+jets Np5, tautau",
	"Z+cc Np0, ee",
	"Z+cc Np1, ee",
	"Z+cc Np2, ee",
	"Z+cc Np3incl, ee",
	"Z+cc Np0, mumu",
	"Z+cc Np1, mumu",
	"Z+cc Np2, mumu",
	"Z+cc Np3incl, mumu",
	"Z+cc Np0, tautau",
	"Z+cc Np1, tautau",
	"Z+cc Np2, tautau",
	"Z+cc Np3incl, tautau",
	"Z+bb Np0, ee",
	"Z+bb Np1, ee",
	"Z+bb Np2, ee",
	"Z+bb Np3incl, ee",
	"Z+bb Np0, mumu",
	"Z+bb Np1, mumu",
	"Z+bb Np2, mumu",
	"Z+bb Np3incl, mumu",
	"Z+bb Np0, tautau",
	"Z+bb Np1, tautau",
	"Z+bb Np2, tautau",
	"Z+bb Np3incl, tautau",
	"Z+jets incl, ee",
	"Z+jets incl B-Hadron, ee",
	"Z+jets incl C-Hadron, ee",
	"Z+jets incl light hadrons, ee",
	"Z+jets incl, mumu",
	"Z+jets incl B-Hadron, mumu",
	"Z+jets incl C-Hadron, mumu",
	"Z+jets incl light hadrons, mumu",
	"Z+jets incl, tautau",
	"Z+jets incl B-Hadron, tautau",
	"Z+jets incl C-Hadron, tautau",
	"Z+jets incl light hadrons, tautau",
	"Z+jets incl B-Hadron, nunu",
	"Z+jets incl C-Hadron, nunu",
	"Z+jets incl light hadrons, nunu",
	"DiBoson WW",
	"DiBoson WZ",
	"DiBoson ZZ",
	"WW > e nu qq",
	"WZ > e nu qq",
	"WW > mu nu qq",
	"WZ > mu nu qq",
	"WW > tau nu qq",
	"WZ > tau nu qq",
	"ZW > e e qq",
	"ZZ > e e qq",
	"ZW > mu mu qq",
	"ZZ > mu mu qq",
	"ZW > tau tau qq",
	"ZZ > tau tau qq",
	"W Higgs, lnubb",
	"QCD Matrix Method",
	"QCD Matrix Method Tight",
	"QCD Matrix Method Loose",
	"QCD Matrix Method EGamma",
	"QCD Matrix Method Muon",
	"QCD JetElectron Method EGamma",
	"QCD JetElectron Method Muon",
	"FCNC utZ K=0.01,LH",
	"FCNC ctZ K=0.01,LH",
	"Undefined"
};

static const char* fgCategoryNames[13] = {
    "SgTop", "Ttbar", "WjetsLight", "WjetsHeavy",
    "W_hfor0", "W_hfor1", "W_hfor2", "W_hfor3",
    "Zjets", "Diboson", "Other", "Wjets", "QCD"
};

#ifndef __CINT__
ClassImp(AtlSample);
#endif

//____________________________________________________________________

AtlSample::AtlSample(const char* Name, const char* Title,
		     const char* color, EType Type, Float_t xsection,
		     const char* PathName ) : 
    TNamed(Name, Title), fColor(color), fType(Type),
    fXsection(xsection) {
    //
    // Default constructor
    //
    fPaths.SetOwner();
    if ( PathName ) {
        fPaths.Add(new TObjString(PathName));
    }
    TString SampleName = Name;
    if ( SampleName.Contains("_syst_") ) {
	fIsSystematicSample = kTRUE;
    } else {
	fIsSystematicSample = kFALSE;
    }	 
}

//____________________________________________________________________

AtlSample::~AtlSample() {
    //
    // Default destructor
    //
}

//____________________________________________________________________

const char* AtlSample::GetTypeName() const {
    //
    // Return name of sample type
    //
    return fgTypeNames[fType];
}

//____________________________________________________________________

const char* AtlSample::GetCategoryName() const {
    //
    // Return name of category for MC samples
    //
    if ( IsSgTop() ) {
	return fgCategoryNames[0];
    } else if ( IsTtbar() ) {
	return fgCategoryNames[1];
    } else if ( IsWjetsLight() ) {
	return fgCategoryNames[2];
    } else if ( IsWjetsHeavy() ) {
	return fgCategoryNames[3];
    } else if ( IsHFOR0() ) {
	return fgCategoryNames[4];
    } else if ( IsHFOR1() ) {
	return fgCategoryNames[5];
    } else if ( IsHFOR2() ) {
	return fgCategoryNames[6];
    } else if ( IsHFOR3() ) {
	return fgCategoryNames[7];
    } else if ( IsZjets() ) {
	return fgCategoryNames[8];
    } else if ( IsDiboson() ) {
	return fgCategoryNames[9];
    } else if ( IsWjets() ) {
        return fgCategoryNames[11];
    } else if ( IsQCD() ) {
	return fgCategoryNames[12];
    } else {
	return fgCategoryNames[10];
    }
}

//____________________________________________________________________

Bool_t AtlSample::IsSgTop() const {
    //
    // Is single-top production ?
    //
    return ( fType == kSgTop_tChannel_e 
	     || fType == kSgTop_tChannel_mu
	     || fType == kSgTop_tChannel_tau
	     || fType == kSgTop_sChannel_e 
	     || fType == kSgTop_sChannel_mu
	     || fType == kSgTop_sChannel_tau
	     || fType == kSgTop_Wt
	     || fType == kSgTop_tChannel_incl
	     || fType == kSgTop_tChannel_top_incl
	     || fType == kSgTop_tChannel_antitop_incl
	     || fType == kSgTop_sChannel_incl
	) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsSgTopTChannel() const {
    //
    // Is single-top production ?
    //
    return ( fType == kSgTop_tChannel_e 
	     || fType == kSgTop_tChannel_mu
	     || fType == kSgTop_tChannel_tau
	     || fType == kSgTop_tChannel_incl
	     || fType == kSgTop_tChannel_top_incl
	     || fType == kSgTop_tChannel_antitop_incl) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsSgTopSChannel() const {
    //
    // Is single-top production ?
    //
    return ( fType == kSgTop_sChannel_e 
	     || fType == kSgTop_sChannel_mu
	     || fType == kSgTop_sChannel_tau
	     || fType == kSgTop_sChannel_incl ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsSgTopWt() const {
    //
    // Is single-top production ?
    //
    return ( fType == kSgTop_Wt ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IstZj() const {
    //
    // Is single-top tZ SM production ?
    //
    return ( fType == kSgTop_tZj ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsTtbar() const {
    //
    // Is ttbar production ?
    //
    return ( fType == kTtbar ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsTtbarV() const {
    //
    // Is ttbar+W|Z production ?
    //
    return ( fType == kTtbarPlusW
	     || fType == kTtbarPlusZ
	) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsWjetsLight() const {
    //
    // Is W+light jets production ?
    //
    return ( fType == kWenuNp0
	     || fType == kWenuNp1
	     || fType == kWenuNp2
	     || fType == kWenuNp3
	     || fType == kWenuNp4
	     || fType == kWenuNp5
	     || fType == kWmunuNp0
	     || fType == kWmunuNp1
	     || fType == kWmunuNp2
	     || fType == kWmunuNp3
	     || fType == kWmunuNp4
	     || fType == kWmunuNp5
	     || fType == kWtaunuNp0
	     || fType == kWtaunuNp1
	     || fType == kWtaunuNp2
	     || fType == kWtaunuNp3
	     || fType == kWtaunuNp4
	     || fType == kWtaunuNp5
	     || fType == kWenuInclLight
	     || fType == kWmunuInclLight
	     || fType == kWtaunuInclLight ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsWjetsHeavy() const {
    //
    // Is W+light jets production ?
    //
    return ( fType == kWcNp0
	     || fType == kWcNp1
	     || fType == kWcNp2
	     || fType == kWcNp3
	     || fType == kWcNp4
	     || fType == kWccNp0
	     || fType == kWccNp1
	     || fType == kWccNp2
	     || fType == kWccNp3
	     || fType == kWbbNp0
	     || fType == kWbbNp1
	     || fType == kWbbNp2
	     || fType == kWbbNp3 
	     || fType == kWenuInclB
	     || fType == kWenuInclC
	     || fType == kWmunuInclB
	     || fType == kWmunuInclC
	     || fType == kWtaunuInclB
	     || fType == kWtaunuInclC ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsWjetsC() const {
    //
    // Is W + c production ?
    //
    return ( fType == kWcNp0
	     || fType == kWcNp1
	     || fType == kWcNp2
	     || fType == kWcNp3
	     || fType == kWcNp4
	     || fType == kWccNp0
	     || fType == kWccNp1
	     || fType == kWccNp2
	     || fType == kWccNp3
	     || fType == kWenuInclC
	     || fType == kWmunuInclC
	     || fType == kWtaunuInclC ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsWjetsB() const {
    //
    // Is W + b production ?
    //
    return ( fType == kWbbNp0
	     || fType == kWbbNp1
	     || fType == kWbbNp2
	     || fType == kWbbNp3 
	     || fType == kWenuInclB
	     || fType == kWmunuInclB
	     || fType == kWtaunuInclB ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsWjets() const {
    //
    // Is W production ?
    //
    switch ( fType ) {
    case kWenuIncl:
    case kWmunuIncl:
    case kWtaunuIncl:
        return kTRUE;
    default:
        return (IsWjetsLight() || IsWjetsHeavy());
    }
}

//____________________________________________________________________

Bool_t AtlSample::IsHFOR0() const {
    //
    // Is HFOR type 0 ?
    //
    return ( fType == kWenuNp0_hfor0
	     || fType == kWenuNp1_hfor0
	     || fType == kWenuNp2_hfor0
	     || fType == kWenuNp3_hfor0
	     || fType == kWenuNp4_hfor0
	     || fType == kWenuNp5_hfor0
	     || fType == kWmunuNp0_hfor0
	     || fType == kWmunuNp1_hfor0
	     || fType == kWmunuNp2_hfor0
	     || fType == kWmunuNp3_hfor0
	     || fType == kWmunuNp4_hfor0
	     || fType == kWmunuNp5_hfor0
	     || fType == kWtaunuNp0_hfor0
	     || fType == kWtaunuNp1_hfor0
	     || fType == kWtaunuNp2_hfor0
	     || fType == kWtaunuNp3_hfor0
	     || fType == kWtaunuNp4_hfor0
	     || fType == kWtaunuNp5_hfor0
	     || fType == kWcNp0_hfor0
	     || fType == kWcNp1_hfor0
	     || fType == kWcNp2_hfor0
	     || fType == kWcNp3_hfor0
	     || fType == kWcNp4_hfor0
	     || fType == kWccNp0_hfor0
	     || fType == kWccNp1_hfor0
	     || fType == kWccNp2_hfor0
	     || fType == kWccNp3_hfor0
	     || fType == kWbbNp0_hfor0
	     || fType == kWbbNp1_hfor0
	     || fType == kWbbNp2_hfor0
	     || fType == kWbbNp3_hfor0 ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsHFOR1() const {
    //
    // Is HFOR type 1 ?
    //
    return ( fType == kWenuNp0_hfor1
	     || fType == kWenuNp1_hfor1
	     || fType == kWenuNp2_hfor1
	     || fType == kWenuNp3_hfor1
	     || fType == kWenuNp4_hfor1
	     || fType == kWenuNp5_hfor1
	     || fType == kWmunuNp0_hfor1
	     || fType == kWmunuNp1_hfor1
	     || fType == kWmunuNp2_hfor1
	     || fType == kWmunuNp3_hfor1
	     || fType == kWmunuNp4_hfor1
	     || fType == kWmunuNp5_hfor1
	     || fType == kWtaunuNp0_hfor1
	     || fType == kWtaunuNp1_hfor1
	     || fType == kWtaunuNp2_hfor1
	     || fType == kWtaunuNp3_hfor1
	     || fType == kWtaunuNp4_hfor1
	     || fType == kWtaunuNp5_hfor1
	     || fType == kWcNp0_hfor1
	     || fType == kWcNp1_hfor1
	     || fType == kWcNp2_hfor1
	     || fType == kWcNp3_hfor1
	     || fType == kWcNp4_hfor1
	     || fType == kWccNp0_hfor1
	     || fType == kWccNp1_hfor1
	     || fType == kWccNp2_hfor1
	     || fType == kWccNp3_hfor1
	     || fType == kWbbNp0_hfor1
	     || fType == kWbbNp1_hfor1
	     || fType == kWbbNp2_hfor1
	     || fType == kWbbNp3_hfor1 ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsHFOR2() const {
    //
    // Is HFOR type 2 ?
    //
    return ( fType == kWenuNp0_hfor2
	     || fType == kWenuNp1_hfor2
	     || fType == kWenuNp2_hfor2
	     || fType == kWenuNp3_hfor2
	     || fType == kWenuNp4_hfor2
	     || fType == kWenuNp5_hfor2
	     || fType == kWmunuNp0_hfor2
	     || fType == kWmunuNp1_hfor2
	     || fType == kWmunuNp2_hfor2
	     || fType == kWmunuNp3_hfor2
	     || fType == kWmunuNp4_hfor2
	     || fType == kWmunuNp5_hfor2
	     || fType == kWtaunuNp0_hfor2
	     || fType == kWtaunuNp1_hfor2
	     || fType == kWtaunuNp2_hfor2
	     || fType == kWtaunuNp3_hfor2
	     || fType == kWtaunuNp4_hfor2
	     || fType == kWtaunuNp5_hfor2
	     || fType == kWcNp0_hfor2
	     || fType == kWcNp1_hfor2
	     || fType == kWcNp2_hfor2
	     || fType == kWcNp3_hfor2
	     || fType == kWcNp4_hfor2
	     || fType == kWccNp0_hfor2
	     || fType == kWccNp1_hfor2
	     || fType == kWccNp2_hfor2
	     || fType == kWccNp3_hfor2
	     || fType == kWbbNp0_hfor2
	     || fType == kWbbNp1_hfor2
	     || fType == kWbbNp2_hfor2
	     || fType == kWbbNp3_hfor2 ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsHFOR3() const {
    //
    // Is HFOR type 3 ?
    //
    return ( fType == kWenuNp0_hfor3
	     || fType == kWenuNp1_hfor3
	     || fType == kWenuNp2_hfor3
	     || fType == kWenuNp3_hfor3
	     || fType == kWenuNp4_hfor3
	     || fType == kWenuNp5_hfor3
	     || fType == kWmunuNp0_hfor3
	     || fType == kWmunuNp1_hfor3
	     || fType == kWmunuNp2_hfor3
	     || fType == kWmunuNp3_hfor3
	     || fType == kWmunuNp4_hfor3
	     || fType == kWmunuNp5_hfor3
	     || fType == kWtaunuNp0_hfor3
	     || fType == kWtaunuNp1_hfor3
	     || fType == kWtaunuNp2_hfor3
	     || fType == kWtaunuNp3_hfor3
	     || fType == kWtaunuNp4_hfor3
	     || fType == kWtaunuNp5_hfor3
	     || fType == kWcNp0_hfor3
	     || fType == kWcNp1_hfor3
	     || fType == kWcNp2_hfor3
	     || fType == kWcNp3_hfor3
	     || fType == kWcNp4_hfor3
	     || fType == kWccNp0_hfor3
	     || fType == kWccNp1_hfor3
	     || fType == kWccNp2_hfor3
	     || fType == kWccNp3_hfor3
	     || fType == kWbbNp0_hfor3
	     || fType == kWbbNp1_hfor3
	     || fType == kWbbNp2_hfor3
	     || fType == kWbbNp3_hfor3 ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsZjets() const {
    //
    // Is Z+jets production ?
    //
    return ( fType == kZeeNp0
	     || fType == kZeeNp1
	     || fType == kZeeNp2
	     || fType == kZeeNp3
	     || fType == kZeeNp4
	     || fType == kZeeNp5
	     || fType == kZmumuNp0
	     || fType == kZmumuNp1
	     || fType == kZmumuNp2
	     || fType == kZmumuNp3
	     || fType == kZmumuNp4
	     || fType == kZmumuNp5
	     || fType == kZtautauNp0
	     || fType == kZtautauNp1
	     || fType == kZtautauNp2
	     || fType == kZtautauNp3
	     || fType == kZtautauNp4
	     || fType == kZtautauNp5
	     || fType == kZeeccNp0
	     || fType == kZeeccNp1
	     || fType == kZeeccNp2
	     || fType == kZeeccNp3incl
	     || fType == kZmumuccNp0
	     || fType == kZmumuccNp1
	     || fType == kZmumuccNp2
	     || fType == kZmumuccNp3incl
	     || fType == kZtautauccNp0
	     || fType == kZtautauccNp1
	     || fType == kZtautauccNp2
	     || fType == kZtautauccNp3incl
	     || fType == kZeebbNp0
	     || fType == kZeebbNp1
	     || fType == kZeebbNp2
	     || fType == kZeebbNp3incl
	     || fType == kZmumubbNp0
	     || fType == kZmumubbNp1
	     || fType == kZmumubbNp2
	     || fType == kZmumubbNp3incl
	     || fType == kZtautaubbNp0
	     || fType == kZtautaubbNp1
	     || fType == kZtautaubbNp2
	     || fType == kZtautaubbNp3incl
	     || fType == kZeeIncl
	     || fType == kZeeInclB
	     || fType == kZeeInclC
	     || fType == kZeeInclLight
	     || fType == kZmumuIncl
	     || fType == kZmumuInclB
	     || fType == kZmumuInclC
	     || fType == kZmumuInclLight
	     || fType == kZtautauIncl
	     || fType == kZtautauInclB
	     || fType == kZtautauInclC
	     || fType == kZtautauInclLight
	     || fType == kZnunuInclB
	     || fType == kZnunuInclC
	     || fType == kZnunuInclLight ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsZjetsLF() const {
    //
    // Is Z+jets production ?
    //
    return ( fType == kZeeNp0
	     || fType == kZeeNp1
	     || fType == kZeeNp2
	     || fType == kZeeNp3
	     || fType == kZeeNp4
	     || fType == kZeeNp5
	     || fType == kZmumuNp0
	     || fType == kZmumuNp1
	     || fType == kZmumuNp2
	     || fType == kZmumuNp3
	     || fType == kZmumuNp4
	     || fType == kZmumuNp5
	     || fType == kZtautauNp0
	     || fType == kZtautauNp1
	     || fType == kZtautauNp2
	     || fType == kZtautauNp3
	     || fType == kZtautauNp4
	     || fType == kZtautauNp5
	     || fType == kZeeInclLight
	     || fType == kZmumuInclLight
	     || fType == kZtautauInclLight
	     || fType == kZnunuInclLight ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsZjetsHF() const {
    //
    // Is Z+jets production ?
    //
    return ( fType == kZeeccNp0
	     || fType == kZeeccNp1
	     || fType == kZeeccNp2
	     || fType == kZeeccNp3incl
	     || fType == kZmumuccNp0
	     || fType == kZmumuccNp1
	     || fType == kZmumuccNp2
	     || fType == kZmumuccNp3incl
	     || fType == kZtautauccNp0
	     || fType == kZtautauccNp1
	     || fType == kZtautauccNp2
	     || fType == kZtautauccNp3incl
	     || fType == kZeebbNp0
	     || fType == kZeebbNp1
	     || fType == kZeebbNp2
	     || fType == kZeebbNp3incl
	     || fType == kZmumubbNp0
	     || fType == kZmumubbNp1
	     || fType == kZmumubbNp2
	     || fType == kZmumubbNp3incl
	     || fType == kZtautaubbNp0
	     || fType == kZtautaubbNp1
	     || fType == kZtautaubbNp2
	     || fType == kZtautaubbNp3incl
	     || fType == kZeeInclB
	     || fType == kZeeInclC
	     || fType == kZmumuInclB
	     || fType == kZmumuInclC
	     || fType == kZtautauInclB
	     || fType == kZtautauInclC
	     || fType == kZnunuInclB
	     || fType == kZnunuInclC ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsZjetsC() const {
    //
    // Is Z+jets production ?
    //
    return ( fType == kZeeccNp0
	     || fType == kZeeccNp1
	     || fType == kZeeccNp2
	     || fType == kZeeccNp3incl
	     || fType == kZmumuccNp0
	     || fType == kZmumuccNp1
	     || fType == kZmumuccNp2
	     || fType == kZmumuccNp3incl
	     || fType == kZtautauccNp0
	     || fType == kZtautauccNp1
	     || fType == kZtautauccNp2
	     || fType == kZtautauccNp3incl
	     || fType == kZeeInclC
	     || fType == kZmumuInclC
	     || fType == kZtautauInclC
	     || fType == kZnunuInclC ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsZjetsB() const {
    //
    // Is Z+jets production ?
    //
    return ( fType == kZeebbNp0
	     || fType == kZeebbNp1
	     || fType == kZeebbNp2
	     || fType == kZeebbNp3incl
	     || fType == kZmumubbNp0
	     || fType == kZmumubbNp1
	     || fType == kZmumubbNp2
	     || fType == kZmumubbNp3incl
	     || fType == kZtautaubbNp0
	     || fType == kZtautaubbNp1
	     || fType == kZtautaubbNp2
	     || fType == kZtautaubbNp3incl
	     || fType == kZeeInclB
	     || fType == kZmumuInclB
	     || fType == kZtautauInclB
	     || fType == kZnunuInclB ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsDiboson() const {
    //
    // Is Diboson production ?
    //
    return ( fType == kDibosonWW
	     || fType == kDibosonWZ
	     || fType == kDibosonZZ
	     || fType == kWWenuqq
	     || fType == kWZenuqq
	     || fType == kWWmunuqq
	     || fType == kWZmunuqq
	     || fType == kWWtaunuqq
	     || fType == kWZtaunuqq
	     || fType == kZWeeqq
	     || fType == kZZeeqq
	     || fType == kZWmumuqq
	     || fType == kZZmumuqq
	     || fType == kZWtautauqq
	     || fType == kZZtautauqq ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsFCNCtZ() const {
    //
    // Is FCNC tZ production ?
    //
    return ( fType == kFCNC_utZ_K01L || fType == kFCNC_ctZ_K01L )  ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsQCD() const {
    //
    // Is QCD Multijet production ?
    //
    return ( fType == kQCDMatrixMethod
	     || fType == kQCDMatrixMethod_Tight
	     || fType == kQCDMatrixMethod_Loose
	     || fType == kQCDMatrixMethod_EGamma
	     || fType == kQCDMatrixMethod_Muon
	     || fType == kQCDJetElectron_EGamma
	     || fType == kQCDJetElectron_Muon ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsDATA() const {
    //
    // Sample is real data ?
    //
    switch ( fType ) {
    case kDATA_EGamma:
    case kDATA_Muon:
    case kDATA_TOPQ1:
    case kDATA_TOPQ2:
    case kDATA_TOPQ3:
        return kTRUE;
    default:
        return kFALSE;
    }
}

//____________________________________________________________________

Bool_t AtlSample::IsDATAEGamma() const {
    //
    // Sample is Egamma stream (DATA) ?
    //
    return ( fType == kDATA_EGamma ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsDATAMuon() const {
    //
    // Sample is Muon stream (DATA) ?
    //
    return ( fType == kDATA_Muon ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsMC() const {
    //
    // Sample is MC ?
    //
    return (!IsDATA() && !IsQCD());
}

//____________________________________________________________________

Bool_t AtlSample::IsQCDTight() const {
    //
    // Is QCD Multijet (tight) ?
    //
    return ( fType == kQCDMatrixMethod_Tight ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsQCDLoose() const {
    //
    // Is QCD Multijet (loose) ?
    //
    return ( fType == kQCDMatrixMethod_Loose ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsQCDEGamma() const {
    //
    // Is QCD Multijet (EGamma) ?
    //
    return ( fType == kQCDMatrixMethod_EGamma
	     || fType == kQCDJetElectron_EGamma ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

Bool_t AtlSample::IsQCDMuon() const {
    //
    // Is QCD Multijet (Muon) ?
    //
    return ( fType == kQCDMatrixMethod_Muon
	     || fType == kQCDJetElectron_Muon ) ? kTRUE : kFALSE;
}

//____________________________________________________________________

void AtlSample::Print(Option_t *option) const {
    //
    // Print sample information
    //
    cout << endl
	 << "Sample " << GetName() << endl
	 << "Sample type     : " << GetTypeName() << endl
	 << "Sample Xsection : " << GetXsection() << endl
//	 << "Sample category : " << GetCategoryName() << endl
	 << "Paths           :";
    for ( TIter next(&fPaths); TObjString const * path = static_cast<TObjString const *>(next()); ) {
        cout << " " << path->GetName();
    }
    cout << "\n" << endl;
}

//____________________________________________________________________

Int_t AtlSample::ReadType(const char* Type) {
    //
    // Get sample type by string, eg "kDATA_EGamma".
    // Needed for reading from text files
    //
    TList *dm = Class()->GetListOfDataMembers();
    TObject *obj0 = dm->FindObject("kDATA_EGamma");
    TObject *obj1 = dm->FindObject(Type);
    if ( obj0 == 0 )  {
	cerr << "<AtlSample::ReadType> Could not find valid data"
	     << "member for enum \"kDATA_EGamma\". Abort!" << endl;
	gSystem->Abort(1);
    }
    if ( obj1 == 0 )  {
	cerr << "<AtlSample::ReadType> Could not find valid data member"
	     << "for enum \"" << Type << "\". Abort!" << endl;
	gSystem->Abort(1);
    }
    Int_t idx0 = dm->IndexOf(obj0);
    Int_t idx1 = dm->IndexOf(obj1);
    return idx1 - idx0;
}

//____________________________________________________________________

void AtlSample::AddPath(char const * path) {
    //
    // Add path names
    //
    fPaths.Add(new TObjString(path));
}
 AtlSample.cxx:1
 AtlSample.cxx:2
 AtlSample.cxx:3
 AtlSample.cxx:4
 AtlSample.cxx:5
 AtlSample.cxx:6
 AtlSample.cxx:7
 AtlSample.cxx:8
 AtlSample.cxx:9
 AtlSample.cxx:10
 AtlSample.cxx:11
 AtlSample.cxx:12
 AtlSample.cxx:13
 AtlSample.cxx:14
 AtlSample.cxx:15
 AtlSample.cxx:16
 AtlSample.cxx:17
 AtlSample.cxx:18
 AtlSample.cxx:19
 AtlSample.cxx:20
 AtlSample.cxx:21
 AtlSample.cxx:22
 AtlSample.cxx:23
 AtlSample.cxx:24
 AtlSample.cxx:25
 AtlSample.cxx:26
 AtlSample.cxx:27
 AtlSample.cxx:28
 AtlSample.cxx:29
 AtlSample.cxx:30
 AtlSample.cxx:31
 AtlSample.cxx:32
 AtlSample.cxx:33
 AtlSample.cxx:34
 AtlSample.cxx:35
 AtlSample.cxx:36
 AtlSample.cxx:37
 AtlSample.cxx:38
 AtlSample.cxx:39
 AtlSample.cxx:40
 AtlSample.cxx:41
 AtlSample.cxx:42
 AtlSample.cxx:43
 AtlSample.cxx:44
 AtlSample.cxx:45
 AtlSample.cxx:46
 AtlSample.cxx:47
 AtlSample.cxx:48
 AtlSample.cxx:49
 AtlSample.cxx:50
 AtlSample.cxx:51
 AtlSample.cxx:52
 AtlSample.cxx:53
 AtlSample.cxx:54
 AtlSample.cxx:55
 AtlSample.cxx:56
 AtlSample.cxx:57
 AtlSample.cxx:58
 AtlSample.cxx:59
 AtlSample.cxx:60
 AtlSample.cxx:61
 AtlSample.cxx:62
 AtlSample.cxx:63
 AtlSample.cxx:64
 AtlSample.cxx:65
 AtlSample.cxx:66
 AtlSample.cxx:67
 AtlSample.cxx:68
 AtlSample.cxx:69
 AtlSample.cxx:70
 AtlSample.cxx:71
 AtlSample.cxx:72
 AtlSample.cxx:73
 AtlSample.cxx:74
 AtlSample.cxx:75
 AtlSample.cxx:76
 AtlSample.cxx:77
 AtlSample.cxx:78
 AtlSample.cxx:79
 AtlSample.cxx:80
 AtlSample.cxx:81
 AtlSample.cxx:82
 AtlSample.cxx:83
 AtlSample.cxx:84
 AtlSample.cxx:85
 AtlSample.cxx:86
 AtlSample.cxx:87
 AtlSample.cxx:88
 AtlSample.cxx:89
 AtlSample.cxx:90
 AtlSample.cxx:91
 AtlSample.cxx:92
 AtlSample.cxx:93
 AtlSample.cxx:94
 AtlSample.cxx:95
 AtlSample.cxx:96
 AtlSample.cxx:97
 AtlSample.cxx:98
 AtlSample.cxx:99
 AtlSample.cxx:100
 AtlSample.cxx:101
 AtlSample.cxx:102
 AtlSample.cxx:103
 AtlSample.cxx:104
 AtlSample.cxx:105
 AtlSample.cxx:106
 AtlSample.cxx:107
 AtlSample.cxx:108
 AtlSample.cxx:109
 AtlSample.cxx:110
 AtlSample.cxx:111
 AtlSample.cxx:112
 AtlSample.cxx:113
 AtlSample.cxx:114
 AtlSample.cxx:115
 AtlSample.cxx:116
 AtlSample.cxx:117
 AtlSample.cxx:118
 AtlSample.cxx:119
 AtlSample.cxx:120
 AtlSample.cxx:121
 AtlSample.cxx:122
 AtlSample.cxx:123
 AtlSample.cxx:124
 AtlSample.cxx:125
 AtlSample.cxx:126
 AtlSample.cxx:127
 AtlSample.cxx:128
 AtlSample.cxx:129
 AtlSample.cxx:130
 AtlSample.cxx:131
 AtlSample.cxx:132
 AtlSample.cxx:133
 AtlSample.cxx:134
 AtlSample.cxx:135
 AtlSample.cxx:136
 AtlSample.cxx:137
 AtlSample.cxx:138
 AtlSample.cxx:139
 AtlSample.cxx:140
 AtlSample.cxx:141
 AtlSample.cxx:142
 AtlSample.cxx:143
 AtlSample.cxx:144
 AtlSample.cxx:145
 AtlSample.cxx:146
 AtlSample.cxx:147
 AtlSample.cxx:148
 AtlSample.cxx:149
 AtlSample.cxx:150
 AtlSample.cxx:151
 AtlSample.cxx:152
 AtlSample.cxx:153
 AtlSample.cxx:154
 AtlSample.cxx:155
 AtlSample.cxx:156
 AtlSample.cxx:157
 AtlSample.cxx:158
 AtlSample.cxx:159
 AtlSample.cxx:160
 AtlSample.cxx:161
 AtlSample.cxx:162
 AtlSample.cxx:163
 AtlSample.cxx:164
 AtlSample.cxx:165
 AtlSample.cxx:166
 AtlSample.cxx:167
 AtlSample.cxx:168
 AtlSample.cxx:169
 AtlSample.cxx:170
 AtlSample.cxx:171
 AtlSample.cxx:172
 AtlSample.cxx:173
 AtlSample.cxx:174
 AtlSample.cxx:175
 AtlSample.cxx:176
 AtlSample.cxx:177
 AtlSample.cxx:178
 AtlSample.cxx:179
 AtlSample.cxx:180
 AtlSample.cxx:181
 AtlSample.cxx:182
 AtlSample.cxx:183
 AtlSample.cxx:184
 AtlSample.cxx:185
 AtlSample.cxx:186
 AtlSample.cxx:187
 AtlSample.cxx:188
 AtlSample.cxx:189
 AtlSample.cxx:190
 AtlSample.cxx:191
 AtlSample.cxx:192
 AtlSample.cxx:193
 AtlSample.cxx:194
 AtlSample.cxx:195
 AtlSample.cxx:196
 AtlSample.cxx:197
 AtlSample.cxx:198
 AtlSample.cxx:199
 AtlSample.cxx:200
 AtlSample.cxx:201
 AtlSample.cxx:202
 AtlSample.cxx:203
 AtlSample.cxx:204
 AtlSample.cxx:205
 AtlSample.cxx:206
 AtlSample.cxx:207
 AtlSample.cxx:208
 AtlSample.cxx:209
 AtlSample.cxx:210
 AtlSample.cxx:211
 AtlSample.cxx:212
 AtlSample.cxx:213
 AtlSample.cxx:214
 AtlSample.cxx:215
 AtlSample.cxx:216
 AtlSample.cxx:217
 AtlSample.cxx:218
 AtlSample.cxx:219
 AtlSample.cxx:220
 AtlSample.cxx:221
 AtlSample.cxx:222
 AtlSample.cxx:223
 AtlSample.cxx:224
 AtlSample.cxx:225
 AtlSample.cxx:226
 AtlSample.cxx:227
 AtlSample.cxx:228
 AtlSample.cxx:229
 AtlSample.cxx:230
 AtlSample.cxx:231
 AtlSample.cxx:232
 AtlSample.cxx:233
 AtlSample.cxx:234
 AtlSample.cxx:235
 AtlSample.cxx:236
 AtlSample.cxx:237
 AtlSample.cxx:238
 AtlSample.cxx:239
 AtlSample.cxx:240
 AtlSample.cxx:241
 AtlSample.cxx:242
 AtlSample.cxx:243
 AtlSample.cxx:244
 AtlSample.cxx:245
 AtlSample.cxx:246
 AtlSample.cxx:247
 AtlSample.cxx:248
 AtlSample.cxx:249
 AtlSample.cxx:250
 AtlSample.cxx:251
 AtlSample.cxx:252
 AtlSample.cxx:253
 AtlSample.cxx:254
 AtlSample.cxx:255
 AtlSample.cxx:256
 AtlSample.cxx:257
 AtlSample.cxx:258
 AtlSample.cxx:259
 AtlSample.cxx:260
 AtlSample.cxx:261
 AtlSample.cxx:262
 AtlSample.cxx:263
 AtlSample.cxx:264
 AtlSample.cxx:265
 AtlSample.cxx:266
 AtlSample.cxx:267
 AtlSample.cxx:268
 AtlSample.cxx:269
 AtlSample.cxx:270
 AtlSample.cxx:271
 AtlSample.cxx:272
 AtlSample.cxx:273
 AtlSample.cxx:274
 AtlSample.cxx:275
 AtlSample.cxx:276
 AtlSample.cxx:277
 AtlSample.cxx:278
 AtlSample.cxx:279
 AtlSample.cxx:280
 AtlSample.cxx:281
 AtlSample.cxx:282
 AtlSample.cxx:283
 AtlSample.cxx:284
 AtlSample.cxx:285
 AtlSample.cxx:286
 AtlSample.cxx:287
 AtlSample.cxx:288
 AtlSample.cxx:289
 AtlSample.cxx:290
 AtlSample.cxx:291
 AtlSample.cxx:292
 AtlSample.cxx:293
 AtlSample.cxx:294
 AtlSample.cxx:295
 AtlSample.cxx:296
 AtlSample.cxx:297
 AtlSample.cxx:298
 AtlSample.cxx:299
 AtlSample.cxx:300
 AtlSample.cxx:301
 AtlSample.cxx:302
 AtlSample.cxx:303
 AtlSample.cxx:304
 AtlSample.cxx:305
 AtlSample.cxx:306
 AtlSample.cxx:307
 AtlSample.cxx:308
 AtlSample.cxx:309
 AtlSample.cxx:310
 AtlSample.cxx:311
 AtlSample.cxx:312
 AtlSample.cxx:313
 AtlSample.cxx:314
 AtlSample.cxx:315
 AtlSample.cxx:316
 AtlSample.cxx:317
 AtlSample.cxx:318
 AtlSample.cxx:319
 AtlSample.cxx:320
 AtlSample.cxx:321
 AtlSample.cxx:322
 AtlSample.cxx:323
 AtlSample.cxx:324
 AtlSample.cxx:325
 AtlSample.cxx:326
 AtlSample.cxx:327
 AtlSample.cxx:328
 AtlSample.cxx:329
 AtlSample.cxx:330
 AtlSample.cxx:331
 AtlSample.cxx:332
 AtlSample.cxx:333
 AtlSample.cxx:334
 AtlSample.cxx:335
 AtlSample.cxx:336
 AtlSample.cxx:337
 AtlSample.cxx:338
 AtlSample.cxx:339
 AtlSample.cxx:340
 AtlSample.cxx:341
 AtlSample.cxx:342
 AtlSample.cxx:343
 AtlSample.cxx:344
 AtlSample.cxx:345
 AtlSample.cxx:346
 AtlSample.cxx:347
 AtlSample.cxx:348
 AtlSample.cxx:349
 AtlSample.cxx:350
 AtlSample.cxx:351
 AtlSample.cxx:352
 AtlSample.cxx:353
 AtlSample.cxx:354
 AtlSample.cxx:355
 AtlSample.cxx:356
 AtlSample.cxx:357
 AtlSample.cxx:358
 AtlSample.cxx:359
 AtlSample.cxx:360
 AtlSample.cxx:361
 AtlSample.cxx:362
 AtlSample.cxx:363
 AtlSample.cxx:364
 AtlSample.cxx:365
 AtlSample.cxx:366
 AtlSample.cxx:367
 AtlSample.cxx:368
 AtlSample.cxx:369
 AtlSample.cxx:370
 AtlSample.cxx:371
 AtlSample.cxx:372
 AtlSample.cxx:373
 AtlSample.cxx:374
 AtlSample.cxx:375
 AtlSample.cxx:376
 AtlSample.cxx:377
 AtlSample.cxx:378
 AtlSample.cxx:379
 AtlSample.cxx:380
 AtlSample.cxx:381
 AtlSample.cxx:382
 AtlSample.cxx:383
 AtlSample.cxx:384
 AtlSample.cxx:385
 AtlSample.cxx:386
 AtlSample.cxx:387
 AtlSample.cxx:388
 AtlSample.cxx:389
 AtlSample.cxx:390
 AtlSample.cxx:391
 AtlSample.cxx:392
 AtlSample.cxx:393
 AtlSample.cxx:394
 AtlSample.cxx:395
 AtlSample.cxx:396
 AtlSample.cxx:397
 AtlSample.cxx:398
 AtlSample.cxx:399
 AtlSample.cxx:400
 AtlSample.cxx:401
 AtlSample.cxx:402
 AtlSample.cxx:403
 AtlSample.cxx:404
 AtlSample.cxx:405
 AtlSample.cxx:406
 AtlSample.cxx:407
 AtlSample.cxx:408
 AtlSample.cxx:409
 AtlSample.cxx:410
 AtlSample.cxx:411
 AtlSample.cxx:412
 AtlSample.cxx:413
 AtlSample.cxx:414
 AtlSample.cxx:415
 AtlSample.cxx:416
 AtlSample.cxx:417
 AtlSample.cxx:418
 AtlSample.cxx:419
 AtlSample.cxx:420
 AtlSample.cxx:421
 AtlSample.cxx:422
 AtlSample.cxx:423
 AtlSample.cxx:424
 AtlSample.cxx:425
 AtlSample.cxx:426
 AtlSample.cxx:427
 AtlSample.cxx:428
 AtlSample.cxx:429
 AtlSample.cxx:430
 AtlSample.cxx:431
 AtlSample.cxx:432
 AtlSample.cxx:433
 AtlSample.cxx:434
 AtlSample.cxx:435
 AtlSample.cxx:436
 AtlSample.cxx:437
 AtlSample.cxx:438
 AtlSample.cxx:439
 AtlSample.cxx:440
 AtlSample.cxx:441
 AtlSample.cxx:442
 AtlSample.cxx:443
 AtlSample.cxx:444
 AtlSample.cxx:445
 AtlSample.cxx:446
 AtlSample.cxx:447
 AtlSample.cxx:448
 AtlSample.cxx:449
 AtlSample.cxx:450
 AtlSample.cxx:451
 AtlSample.cxx:452
 AtlSample.cxx:453
 AtlSample.cxx:454
 AtlSample.cxx:455
 AtlSample.cxx:456
 AtlSample.cxx:457
 AtlSample.cxx:458
 AtlSample.cxx:459
 AtlSample.cxx:460
 AtlSample.cxx:461
 AtlSample.cxx:462
 AtlSample.cxx:463
 AtlSample.cxx:464
 AtlSample.cxx:465
 AtlSample.cxx:466
 AtlSample.cxx:467
 AtlSample.cxx:468
 AtlSample.cxx:469
 AtlSample.cxx:470
 AtlSample.cxx:471
 AtlSample.cxx:472
 AtlSample.cxx:473
 AtlSample.cxx:474
 AtlSample.cxx:475
 AtlSample.cxx:476
 AtlSample.cxx:477
 AtlSample.cxx:478
 AtlSample.cxx:479
 AtlSample.cxx:480
 AtlSample.cxx:481
 AtlSample.cxx:482
 AtlSample.cxx:483
 AtlSample.cxx:484
 AtlSample.cxx:485
 AtlSample.cxx:486
 AtlSample.cxx:487
 AtlSample.cxx:488
 AtlSample.cxx:489
 AtlSample.cxx:490
 AtlSample.cxx:491
 AtlSample.cxx:492
 AtlSample.cxx:493
 AtlSample.cxx:494
 AtlSample.cxx:495
 AtlSample.cxx:496
 AtlSample.cxx:497
 AtlSample.cxx:498
 AtlSample.cxx:499
 AtlSample.cxx:500
 AtlSample.cxx:501
 AtlSample.cxx:502
 AtlSample.cxx:503
 AtlSample.cxx:504
 AtlSample.cxx:505
 AtlSample.cxx:506
 AtlSample.cxx:507
 AtlSample.cxx:508
 AtlSample.cxx:509
 AtlSample.cxx:510
 AtlSample.cxx:511
 AtlSample.cxx:512
 AtlSample.cxx:513
 AtlSample.cxx:514
 AtlSample.cxx:515
 AtlSample.cxx:516
 AtlSample.cxx:517
 AtlSample.cxx:518
 AtlSample.cxx:519
 AtlSample.cxx:520
 AtlSample.cxx:521
 AtlSample.cxx:522
 AtlSample.cxx:523
 AtlSample.cxx:524
 AtlSample.cxx:525
 AtlSample.cxx:526
 AtlSample.cxx:527
 AtlSample.cxx:528
 AtlSample.cxx:529
 AtlSample.cxx:530
 AtlSample.cxx:531
 AtlSample.cxx:532
 AtlSample.cxx:533
 AtlSample.cxx:534
 AtlSample.cxx:535
 AtlSample.cxx:536
 AtlSample.cxx:537
 AtlSample.cxx:538
 AtlSample.cxx:539
 AtlSample.cxx:540
 AtlSample.cxx:541
 AtlSample.cxx:542
 AtlSample.cxx:543
 AtlSample.cxx:544
 AtlSample.cxx:545
 AtlSample.cxx:546
 AtlSample.cxx:547
 AtlSample.cxx:548
 AtlSample.cxx:549
 AtlSample.cxx:550
 AtlSample.cxx:551
 AtlSample.cxx:552
 AtlSample.cxx:553
 AtlSample.cxx:554
 AtlSample.cxx:555
 AtlSample.cxx:556
 AtlSample.cxx:557
 AtlSample.cxx:558
 AtlSample.cxx:559
 AtlSample.cxx:560
 AtlSample.cxx:561
 AtlSample.cxx:562
 AtlSample.cxx:563
 AtlSample.cxx:564
 AtlSample.cxx:565
 AtlSample.cxx:566
 AtlSample.cxx:567
 AtlSample.cxx:568
 AtlSample.cxx:569
 AtlSample.cxx:570
 AtlSample.cxx:571
 AtlSample.cxx:572
 AtlSample.cxx:573
 AtlSample.cxx:574
 AtlSample.cxx:575
 AtlSample.cxx:576
 AtlSample.cxx:577
 AtlSample.cxx:578
 AtlSample.cxx:579
 AtlSample.cxx:580
 AtlSample.cxx:581
 AtlSample.cxx:582
 AtlSample.cxx:583
 AtlSample.cxx:584
 AtlSample.cxx:585
 AtlSample.cxx:586
 AtlSample.cxx:587
 AtlSample.cxx:588
 AtlSample.cxx:589
 AtlSample.cxx:590
 AtlSample.cxx:591
 AtlSample.cxx:592
 AtlSample.cxx:593
 AtlSample.cxx:594
 AtlSample.cxx:595
 AtlSample.cxx:596
 AtlSample.cxx:597
 AtlSample.cxx:598
 AtlSample.cxx:599
 AtlSample.cxx:600
 AtlSample.cxx:601
 AtlSample.cxx:602
 AtlSample.cxx:603
 AtlSample.cxx:604
 AtlSample.cxx:605
 AtlSample.cxx:606
 AtlSample.cxx:607
 AtlSample.cxx:608
 AtlSample.cxx:609
 AtlSample.cxx:610
 AtlSample.cxx:611
 AtlSample.cxx:612
 AtlSample.cxx:613
 AtlSample.cxx:614
 AtlSample.cxx:615
 AtlSample.cxx:616
 AtlSample.cxx:617
 AtlSample.cxx:618
 AtlSample.cxx:619
 AtlSample.cxx:620
 AtlSample.cxx:621
 AtlSample.cxx:622
 AtlSample.cxx:623
 AtlSample.cxx:624
 AtlSample.cxx:625
 AtlSample.cxx:626
 AtlSample.cxx:627
 AtlSample.cxx:628
 AtlSample.cxx:629
 AtlSample.cxx:630
 AtlSample.cxx:631
 AtlSample.cxx:632
 AtlSample.cxx:633
 AtlSample.cxx:634
 AtlSample.cxx:635
 AtlSample.cxx:636
 AtlSample.cxx:637
 AtlSample.cxx:638
 AtlSample.cxx:639
 AtlSample.cxx:640
 AtlSample.cxx:641
 AtlSample.cxx:642
 AtlSample.cxx:643
 AtlSample.cxx:644
 AtlSample.cxx:645
 AtlSample.cxx:646
 AtlSample.cxx:647
 AtlSample.cxx:648
 AtlSample.cxx:649
 AtlSample.cxx:650
 AtlSample.cxx:651
 AtlSample.cxx:652
 AtlSample.cxx:653
 AtlSample.cxx:654
 AtlSample.cxx:655
 AtlSample.cxx:656
 AtlSample.cxx:657
 AtlSample.cxx:658
 AtlSample.cxx:659
 AtlSample.cxx:660
 AtlSample.cxx:661
 AtlSample.cxx:662
 AtlSample.cxx:663
 AtlSample.cxx:664
 AtlSample.cxx:665
 AtlSample.cxx:666
 AtlSample.cxx:667
 AtlSample.cxx:668
 AtlSample.cxx:669
 AtlSample.cxx:670
 AtlSample.cxx:671
 AtlSample.cxx:672
 AtlSample.cxx:673
 AtlSample.cxx:674
 AtlSample.cxx:675
 AtlSample.cxx:676
 AtlSample.cxx:677
 AtlSample.cxx:678
 AtlSample.cxx:679
 AtlSample.cxx:680
 AtlSample.cxx:681
 AtlSample.cxx:682
 AtlSample.cxx:683
 AtlSample.cxx:684
 AtlSample.cxx:685
 AtlSample.cxx:686
 AtlSample.cxx:687
 AtlSample.cxx:688
 AtlSample.cxx:689
 AtlSample.cxx:690
 AtlSample.cxx:691
 AtlSample.cxx:692
 AtlSample.cxx:693
 AtlSample.cxx:694
 AtlSample.cxx:695
 AtlSample.cxx:696
 AtlSample.cxx:697
 AtlSample.cxx:698
 AtlSample.cxx:699
 AtlSample.cxx:700
 AtlSample.cxx:701
 AtlSample.cxx:702
 AtlSample.cxx:703
 AtlSample.cxx:704
 AtlSample.cxx:705
 AtlSample.cxx:706
 AtlSample.cxx:707
 AtlSample.cxx:708
 AtlSample.cxx:709
 AtlSample.cxx:710
 AtlSample.cxx:711
 AtlSample.cxx:712
 AtlSample.cxx:713
 AtlSample.cxx:714
 AtlSample.cxx:715
 AtlSample.cxx:716
 AtlSample.cxx:717
 AtlSample.cxx:718
 AtlSample.cxx:719
 AtlSample.cxx:720
 AtlSample.cxx:721
 AtlSample.cxx:722
 AtlSample.cxx:723
 AtlSample.cxx:724
 AtlSample.cxx:725
 AtlSample.cxx:726
 AtlSample.cxx:727
 AtlSample.cxx:728
 AtlSample.cxx:729
 AtlSample.cxx:730
 AtlSample.cxx:731
 AtlSample.cxx:732
 AtlSample.cxx:733
 AtlSample.cxx:734
 AtlSample.cxx:735
 AtlSample.cxx:736
 AtlSample.cxx:737
 AtlSample.cxx:738
 AtlSample.cxx:739
 AtlSample.cxx:740
 AtlSample.cxx:741
 AtlSample.cxx:742
 AtlSample.cxx:743
 AtlSample.cxx:744
 AtlSample.cxx:745
 AtlSample.cxx:746
 AtlSample.cxx:747
 AtlSample.cxx:748
 AtlSample.cxx:749
 AtlSample.cxx:750
 AtlSample.cxx:751
 AtlSample.cxx:752
 AtlSample.cxx:753
 AtlSample.cxx:754
 AtlSample.cxx:755
 AtlSample.cxx:756
 AtlSample.cxx:757
 AtlSample.cxx:758
 AtlSample.cxx:759
 AtlSample.cxx:760
 AtlSample.cxx:761
 AtlSample.cxx:762
 AtlSample.cxx:763
 AtlSample.cxx:764
 AtlSample.cxx:765
 AtlSample.cxx:766
 AtlSample.cxx:767
 AtlSample.cxx:768
 AtlSample.cxx:769
 AtlSample.cxx:770
 AtlSample.cxx:771
 AtlSample.cxx:772
 AtlSample.cxx:773
 AtlSample.cxx:774
 AtlSample.cxx:775
 AtlSample.cxx:776
 AtlSample.cxx:777
 AtlSample.cxx:778
 AtlSample.cxx:779
 AtlSample.cxx:780
 AtlSample.cxx:781
 AtlSample.cxx:782
 AtlSample.cxx:783
 AtlSample.cxx:784
 AtlSample.cxx:785
 AtlSample.cxx:786
 AtlSample.cxx:787
 AtlSample.cxx:788
 AtlSample.cxx:789
 AtlSample.cxx:790
 AtlSample.cxx:791
 AtlSample.cxx:792
 AtlSample.cxx:793
 AtlSample.cxx:794
 AtlSample.cxx:795
 AtlSample.cxx:796
 AtlSample.cxx:797
 AtlSample.cxx:798
 AtlSample.cxx:799
 AtlSample.cxx:800
 AtlSample.cxx:801
 AtlSample.cxx:802
 AtlSample.cxx:803
 AtlSample.cxx:804
 AtlSample.cxx:805
 AtlSample.cxx:806
 AtlSample.cxx:807
 AtlSample.cxx:808
 AtlSample.cxx:809
 AtlSample.cxx:810
 AtlSample.cxx:811
 AtlSample.cxx:812
 AtlSample.cxx:813
 AtlSample.cxx:814
 AtlSample.cxx:815
 AtlSample.cxx:816
 AtlSample.cxx:817
 AtlSample.cxx:818
 AtlSample.cxx:819
 AtlSample.cxx:820
 AtlSample.cxx:821
 AtlSample.cxx:822
 AtlSample.cxx:823
 AtlSample.cxx:824
 AtlSample.cxx:825
 AtlSample.cxx:826
 AtlSample.cxx:827
 AtlSample.cxx:828
 AtlSample.cxx:829
 AtlSample.cxx:830
 AtlSample.cxx:831
 AtlSample.cxx:832
 AtlSample.cxx:833
 AtlSample.cxx:834
 AtlSample.cxx:835
 AtlSample.cxx:836
 AtlSample.cxx:837
 AtlSample.cxx:838
 AtlSample.cxx:839
 AtlSample.cxx:840
 AtlSample.cxx:841
 AtlSample.cxx:842
 AtlSample.cxx:843
 AtlSample.cxx:844
 AtlSample.cxx:845
 AtlSample.cxx:846
 AtlSample.cxx:847
 AtlSample.cxx:848
 AtlSample.cxx:849
 AtlSample.cxx:850
 AtlSample.cxx:851
 AtlSample.cxx:852
 AtlSample.cxx:853
 AtlSample.cxx:854
 AtlSample.cxx:855
 AtlSample.cxx:856
 AtlSample.cxx:857
 AtlSample.cxx:858
 AtlSample.cxx:859
 AtlSample.cxx:860
 AtlSample.cxx:861
 AtlSample.cxx:862
 AtlSample.cxx:863
 AtlSample.cxx:864
 AtlSample.cxx:865
 AtlSample.cxx:866
 AtlSample.cxx:867
 AtlSample.cxx:868
 AtlSample.cxx:869
 AtlSample.cxx:870
 AtlSample.cxx:871
 AtlSample.cxx:872
 AtlSample.cxx:873
 AtlSample.cxx:874
 AtlSample.cxx:875
 AtlSample.cxx:876
 AtlSample.cxx:877
 AtlSample.cxx:878
 AtlSample.cxx:879
 AtlSample.cxx:880
 AtlSample.cxx:881
 AtlSample.cxx:882
 AtlSample.cxx:883
 AtlSample.cxx:884
 AtlSample.cxx:885
 AtlSample.cxx:886
 AtlSample.cxx:887
 AtlSample.cxx:888
 AtlSample.cxx:889
 AtlSample.cxx:890
 AtlSample.cxx:891
 AtlSample.cxx:892
 AtlSample.cxx:893
 AtlSample.cxx:894
 AtlSample.cxx:895
 AtlSample.cxx:896
 AtlSample.cxx:897
 AtlSample.cxx:898
 AtlSample.cxx:899
 AtlSample.cxx:900
 AtlSample.cxx:901
 AtlSample.cxx:902
 AtlSample.cxx:903
 AtlSample.cxx:904
 AtlSample.cxx:905
 AtlSample.cxx:906
 AtlSample.cxx:907
 AtlSample.cxx:908
 AtlSample.cxx:909
 AtlSample.cxx:910
 AtlSample.cxx:911
 AtlSample.cxx:912
 AtlSample.cxx:913
 AtlSample.cxx:914
 AtlSample.cxx:915
 AtlSample.cxx:916
 AtlSample.cxx:917
 AtlSample.cxx:918
 AtlSample.cxx:919
 AtlSample.cxx:920
 AtlSample.cxx:921
 AtlSample.cxx:922
 AtlSample.cxx:923
 AtlSample.cxx:924
 AtlSample.cxx:925
 AtlSample.cxx:926
 AtlSample.cxx:927
 AtlSample.cxx:928
 AtlSample.cxx:929
 AtlSample.cxx:930
 AtlSample.cxx:931
 AtlSample.cxx:932
 AtlSample.cxx:933
 AtlSample.cxx:934
 AtlSample.cxx:935
 AtlSample.cxx:936
 AtlSample.cxx:937
 AtlSample.cxx:938
 AtlSample.cxx:939
 AtlSample.cxx:940
 AtlSample.cxx:941
 AtlSample.cxx:942
 AtlSample.cxx:943
 AtlSample.cxx:944
 AtlSample.cxx:945
 AtlSample.cxx:946
 AtlSample.cxx:947
 AtlSample.cxx:948
 AtlSample.cxx:949
 AtlSample.cxx:950
 AtlSample.cxx:951
 AtlSample.cxx:952
 AtlSample.cxx:953
 AtlSample.cxx:954
 AtlSample.cxx:955
 AtlSample.cxx:956
 AtlSample.cxx:957
 AtlSample.cxx:958
 AtlSample.cxx:959
 AtlSample.cxx:960
 AtlSample.cxx:961
 AtlSample.cxx:962
 AtlSample.cxx:963
 AtlSample.cxx:964
 AtlSample.cxx:965
 AtlSample.cxx:966
 AtlSample.cxx:967
 AtlSample.cxx:968
 AtlSample.cxx:969
 AtlSample.cxx:970
 AtlSample.cxx:971
 AtlSample.cxx:972
 AtlSample.cxx:973
 AtlSample.cxx:974
 AtlSample.cxx:975
 AtlSample.cxx:976
 AtlSample.cxx:977
 AtlSample.cxx:978
 AtlSample.cxx:979
 AtlSample.cxx:980
 AtlSample.cxx:981
 AtlSample.cxx:982
 AtlSample.cxx:983
 AtlSample.cxx:984
 AtlSample.cxx:985
 AtlSample.cxx:986
 AtlSample.cxx:987
 AtlSample.cxx:988
 AtlSample.cxx:989
 AtlSample.cxx:990
 AtlSample.cxx:991
 AtlSample.cxx:992
 AtlSample.cxx:993
 AtlSample.cxx:994
 AtlSample.cxx:995
 AtlSample.cxx:996
 AtlSample.cxx:997
 AtlSample.cxx:998
 AtlSample.cxx:999
 AtlSample.cxx:1000
 AtlSample.cxx:1001
 AtlSample.cxx:1002
 AtlSample.cxx:1003
 AtlSample.cxx:1004
 AtlSample.cxx:1005
 AtlSample.cxx:1006
 AtlSample.cxx:1007
 AtlSample.cxx:1008
 AtlSample.cxx:1009
 AtlSample.cxx:1010
 AtlSample.cxx:1011
 AtlSample.cxx:1012
 AtlSample.cxx:1013
 AtlSample.cxx:1014
 AtlSample.cxx:1015
 AtlSample.cxx:1016
 AtlSample.cxx:1017
 AtlSample.cxx:1018
 AtlSample.cxx:1019
 AtlSample.cxx:1020
 AtlSample.cxx:1021
 AtlSample.cxx:1022
 AtlSample.cxx:1023
 AtlSample.cxx:1024
 AtlSample.cxx:1025
 AtlSample.cxx:1026
 AtlSample.cxx:1027
 AtlSample.cxx:1028
 AtlSample.cxx:1029
 AtlSample.cxx:1030
 AtlSample.cxx:1031
 AtlSample.cxx:1032
 AtlSample.cxx:1033
 AtlSample.cxx:1034
 AtlSample.cxx:1035
 AtlSample.cxx:1036
 AtlSample.cxx:1037
 AtlSample.cxx:1038
 AtlSample.cxx:1039
 AtlSample.cxx:1040
 AtlSample.cxx:1041
 AtlSample.cxx:1042
 AtlSample.cxx:1043
 AtlSample.cxx:1044
 AtlSample.cxx:1045
 AtlSample.cxx:1046
 AtlSample.cxx:1047
 AtlSample.cxx:1048
 AtlSample.cxx:1049
 AtlSample.cxx:1050
 AtlSample.cxx:1051
 AtlSample.cxx:1052
 AtlSample.cxx:1053
 AtlSample.cxx:1054
 AtlSample.cxx:1055
 AtlSample.cxx:1056
 AtlSample.cxx:1057
 AtlSample.cxx:1058
 AtlSample.cxx:1059
 AtlSample.cxx:1060
 AtlSample.cxx:1061
 AtlSample.cxx:1062
 AtlSample.cxx:1063
 AtlSample.cxx:1064
 AtlSample.cxx:1065
 AtlSample.cxx:1066
 AtlSample.cxx:1067
 AtlSample.cxx:1068
 AtlSample.cxx:1069
 AtlSample.cxx:1070
 AtlSample.cxx:1071
 AtlSample.cxx:1072
 AtlSample.cxx:1073
 AtlSample.cxx:1074
 AtlSample.cxx:1075
 AtlSample.cxx:1076
 AtlSample.cxx:1077
 AtlSample.cxx:1078
 AtlSample.cxx:1079
 AtlSample.cxx:1080
 AtlSample.cxx:1081
 AtlSample.cxx:1082
 AtlSample.cxx:1083
 AtlSample.cxx:1084
 AtlSample.cxx:1085
 AtlSample.cxx:1086
 AtlSample.cxx:1087
 AtlSample.cxx:1088
 AtlSample.cxx:1089